@droppii-org/chat-sdk 0.1.72 → 0.1.74

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 (343) hide show
  1. package/dist/components/conversation-detail/ConversationDetailInput.d.ts.map +1 -1
  2. package/dist/components/conversation-detail/ConversationDetailInput.js +6 -2
  3. package/dist/components/conversation-detail/PinnedMessageBar.d.ts.map +1 -1
  4. package/dist/components/conversation-detail/PinnedMessageBar.js +23 -20
  5. package/dist/components/conversation-detail/PinnedMessageItem.d.ts.map +1 -1
  6. package/dist/components/conversation-detail/PinnedMessageItem.js +1 -5
  7. package/dist/hooks/conversation/useBotMainMenu.d.ts +0 -1
  8. package/dist/hooks/conversation/useBotMainMenu.d.ts.map +1 -1
  9. package/dist/hooks/conversation/useBotMainMenu.js +0 -10
  10. package/dist/hooks/conversation/useSwitchToCsTeam.d.ts +6 -1
  11. package/dist/hooks/conversation/useSwitchToCsTeam.d.ts.map +1 -1
  12. package/dist/hooks/conversation/useSwitchToCsTeam.js +9 -4
  13. package/dist/hooks/message/useMessage.d.ts.map +1 -1
  14. package/dist/hooks/message/useMessage.js +21 -5
  15. package/dist/index.d.ts +5 -6
  16. package/dist/index.d.ts.map +1 -1
  17. package/dist/index.js +5 -5
  18. package/dist/services/query.d.ts +0 -1
  19. package/dist/services/query.d.ts.map +1 -1
  20. package/dist/services/query.js +0 -1
  21. package/dist/styles/global.css +1 -1
  22. package/dist/tsconfig.tsbuildinfo +1 -1
  23. package/package.json +127 -126
  24. package/dist/assets/svg/cannedResponse.d.ts +0 -7
  25. package/dist/assets/svg/cannedResponse.d.ts.map +0 -1
  26. package/dist/assets/svg/cannedResponse.js +0 -3
  27. package/dist/assets/svg/cannedResponse.tsx +0 -48
  28. package/dist/assets/svg/expand.d.ts +0 -7
  29. package/dist/assets/svg/expand.d.ts.map +0 -1
  30. package/dist/assets/svg/expand.js +0 -2
  31. package/dist/assets/svg/expand.tsx +0 -44
  32. package/dist/components/biz-inbox/BizInboxHeader.d.ts +0 -3
  33. package/dist/components/biz-inbox/BizInboxHeader.d.ts.map +0 -1
  34. package/dist/components/biz-inbox/BizInboxHeader.js +0 -8
  35. package/dist/components/biz-inbox/BizThreadAvatar.d.ts +0 -11
  36. package/dist/components/biz-inbox/BizThreadAvatar.d.ts.map +0 -1
  37. package/dist/components/biz-inbox/BizThreadAvatar.js +0 -12
  38. package/dist/components/biz-inbox/BizThreadCard.d.ts +0 -8
  39. package/dist/components/biz-inbox/BizThreadCard.d.ts.map +0 -1
  40. package/dist/components/biz-inbox/BizThreadCard.js +0 -30
  41. package/dist/components/biz-inbox/BizThreadList.d.ts +0 -12
  42. package/dist/components/biz-inbox/BizThreadList.d.ts.map +0 -1
  43. package/dist/components/biz-inbox/BizThreadList.js +0 -36
  44. package/dist/components/biz-inbox/BizThreadTitle.d.ts +0 -10
  45. package/dist/components/biz-inbox/BizThreadTitle.d.ts.map +0 -1
  46. package/dist/components/biz-inbox/BizThreadTitle.js +0 -10
  47. package/dist/components/biz-inbox/index.d.ts +0 -10
  48. package/dist/components/biz-inbox/index.d.ts.map +0 -1
  49. package/dist/components/biz-inbox/index.js +0 -5
  50. package/dist/components/biz-thread-detail/BizAttachmentPreview.d.ts +0 -9
  51. package/dist/components/biz-thread-detail/BizAttachmentPreview.d.ts.map +0 -1
  52. package/dist/components/biz-thread-detail/BizAttachmentPreview.js +0 -70
  53. package/dist/components/biz-thread-detail/BizImagePreview.d.ts +0 -9
  54. package/dist/components/biz-thread-detail/BizImagePreview.d.ts.map +0 -1
  55. package/dist/components/biz-thread-detail/BizImagePreview.js +0 -39
  56. package/dist/components/biz-thread-detail/BizImageViewer.d.ts +0 -8
  57. package/dist/components/biz-thread-detail/BizImageViewer.d.ts.map +0 -1
  58. package/dist/components/biz-thread-detail/BizImageViewer.js +0 -35
  59. package/dist/components/biz-thread-detail/BizLinkInputPreview.d.ts +0 -7
  60. package/dist/components/biz-thread-detail/BizLinkInputPreview.d.ts.map +0 -1
  61. package/dist/components/biz-thread-detail/BizLinkInputPreview.js +0 -16
  62. package/dist/components/biz-thread-detail/BizLinkMessageCard.d.ts +0 -7
  63. package/dist/components/biz-thread-detail/BizLinkMessageCard.d.ts.map +0 -1
  64. package/dist/components/biz-thread-detail/BizLinkMessageCard.js +0 -17
  65. package/dist/components/biz-thread-detail/BizLinkTextContent.d.ts +0 -6
  66. package/dist/components/biz-thread-detail/BizLinkTextContent.d.ts.map +0 -1
  67. package/dist/components/biz-thread-detail/BizLinkTextContent.js +0 -11
  68. package/dist/components/biz-thread-detail/BizMessageBubble.d.ts +0 -11
  69. package/dist/components/biz-thread-detail/BizMessageBubble.d.ts.map +0 -1
  70. package/dist/components/biz-thread-detail/BizMessageBubble.js +0 -15
  71. package/dist/components/biz-thread-detail/BizMessageContent.d.ts +0 -7
  72. package/dist/components/biz-thread-detail/BizMessageContent.d.ts.map +0 -1
  73. package/dist/components/biz-thread-detail/BizMessageContent.js +0 -125
  74. package/dist/components/biz-thread-detail/BizMessageList.d.ts +0 -7
  75. package/dist/components/biz-thread-detail/BizMessageList.d.ts.map +0 -1
  76. package/dist/components/biz-thread-detail/BizMessageList.js +0 -35
  77. package/dist/components/biz-thread-detail/BizMoreOptionItem.d.ts +0 -8
  78. package/dist/components/biz-thread-detail/BizMoreOptionItem.d.ts.map +0 -1
  79. package/dist/components/biz-thread-detail/BizMoreOptionItem.js +0 -19
  80. package/dist/components/biz-thread-detail/BizMoreOptionPanel.d.ts +0 -10
  81. package/dist/components/biz-thread-detail/BizMoreOptionPanel.d.ts.map +0 -1
  82. package/dist/components/biz-thread-detail/BizMoreOptionPanel.js +0 -20
  83. package/dist/components/biz-thread-detail/BizThreadDetailHeader.d.ts +0 -8
  84. package/dist/components/biz-thread-detail/BizThreadDetailHeader.d.ts.map +0 -1
  85. package/dist/components/biz-thread-detail/BizThreadDetailHeader.js +0 -19
  86. package/dist/components/biz-thread-detail/BizThreadDetailInput.d.ts +0 -8
  87. package/dist/components/biz-thread-detail/BizThreadDetailInput.d.ts.map +0 -1
  88. package/dist/components/biz-thread-detail/BizThreadDetailInput.js +0 -251
  89. package/dist/components/biz-thread-detail/BizVideoViewer.d.ts +0 -8
  90. package/dist/components/biz-thread-detail/BizVideoViewer.d.ts.map +0 -1
  91. package/dist/components/biz-thread-detail/BizVideoViewer.js +0 -103
  92. package/dist/components/biz-thread-detail/bot/BotButtonMessage.d.ts +0 -10
  93. package/dist/components/biz-thread-detail/bot/BotButtonMessage.d.ts.map +0 -1
  94. package/dist/components/biz-thread-detail/bot/BotButtonMessage.js +0 -30
  95. package/dist/components/biz-thread-detail/bot/BotFlowContext.d.ts +0 -10
  96. package/dist/components/biz-thread-detail/bot/BotFlowContext.d.ts.map +0 -1
  97. package/dist/components/biz-thread-detail/bot/BotFlowContext.js +0 -11
  98. package/dist/components/biz-thread-detail/bot/BotStartButton.d.ts +0 -8
  99. package/dist/components/biz-thread-detail/bot/BotStartButton.d.ts.map +0 -1
  100. package/dist/components/biz-thread-detail/bot/BotStartButton.js +0 -11
  101. package/dist/components/biz-thread-detail/bot/index.d.ts +0 -5
  102. package/dist/components/biz-thread-detail/bot/index.d.ts.map +0 -1
  103. package/dist/components/biz-thread-detail/bot/index.js +0 -2
  104. package/dist/components/biz-thread-detail/index.d.ts +0 -10
  105. package/dist/components/biz-thread-detail/index.d.ts.map +0 -1
  106. package/dist/components/biz-thread-detail/index.js +0 -5
  107. package/dist/components/biz-thread-detail/item/BizMessageItem.d.ts +0 -9
  108. package/dist/components/biz-thread-detail/item/BizMessageItem.d.ts.map +0 -1
  109. package/dist/components/biz-thread-detail/item/BizMessageItem.js +0 -27
  110. package/dist/components/bizInbox/BizCommunityTabPlaceholder.d.ts +0 -3
  111. package/dist/components/bizInbox/BizCommunityTabPlaceholder.d.ts.map +0 -1
  112. package/dist/components/bizInbox/BizCommunityTabPlaceholder.js +0 -10
  113. package/dist/components/bizInbox/BizContactListSkeleton.d.ts +0 -6
  114. package/dist/components/bizInbox/BizContactListSkeleton.d.ts.map +0 -1
  115. package/dist/components/bizInbox/BizContactListSkeleton.js +0 -8
  116. package/dist/components/bizInbox/BizCreateGroupButton.d.ts +0 -7
  117. package/dist/components/bizInbox/BizCreateGroupButton.d.ts.map +0 -1
  118. package/dist/components/bizInbox/BizCreateGroupButton.js +0 -11
  119. package/dist/components/bizInbox/BizInboxHeader.d.ts +0 -3
  120. package/dist/components/bizInbox/BizInboxHeader.d.ts.map +0 -1
  121. package/dist/components/bizInbox/BizInboxHeader.js +0 -8
  122. package/dist/components/bizInbox/BizInboxTabs.d.ts +0 -8
  123. package/dist/components/bizInbox/BizInboxTabs.d.ts.map +0 -1
  124. package/dist/components/bizInbox/BizInboxTabs.js +0 -27
  125. package/dist/components/bizInbox/BizSearchInput.d.ts +0 -9
  126. package/dist/components/bizInbox/BizSearchInput.d.ts.map +0 -1
  127. package/dist/components/bizInbox/BizSearchInput.js +0 -24
  128. package/dist/components/bizInbox/BizThreadAvatar.d.ts +0 -10
  129. package/dist/components/bizInbox/BizThreadAvatar.d.ts.map +0 -1
  130. package/dist/components/bizInbox/BizThreadAvatar.js +0 -8
  131. package/dist/components/bizInbox/BizThreadCard.d.ts +0 -8
  132. package/dist/components/bizInbox/BizThreadCard.d.ts.map +0 -1
  133. package/dist/components/bizInbox/BizThreadCard.js +0 -25
  134. package/dist/components/bizInbox/BizThreadList.d.ts +0 -11
  135. package/dist/components/bizInbox/BizThreadList.d.ts.map +0 -1
  136. package/dist/components/bizInbox/BizThreadList.js +0 -35
  137. package/dist/components/bizInbox/BizThreadTitle.d.ts +0 -8
  138. package/dist/components/bizInbox/BizThreadTitle.d.ts.map +0 -1
  139. package/dist/components/bizInbox/BizThreadTitle.js +0 -6
  140. package/dist/components/bizInbox/index.d.ts +0 -10
  141. package/dist/components/bizInbox/index.d.ts.map +0 -1
  142. package/dist/components/bizInbox/index.js +0 -5
  143. package/dist/components/bizInbox/states/BizThreadListEmpty.d.ts +0 -7
  144. package/dist/components/bizInbox/states/BizThreadListEmpty.d.ts.map +0 -1
  145. package/dist/components/bizInbox/states/BizThreadListEmpty.js +0 -15
  146. package/dist/components/bizInbox/states/BizThreadListError.d.ts +0 -6
  147. package/dist/components/bizInbox/states/BizThreadListError.d.ts.map +0 -1
  148. package/dist/components/bizInbox/states/BizThreadListError.js +0 -11
  149. package/dist/components/bizInbox/states/BizThreadListLoading.d.ts +0 -6
  150. package/dist/components/bizInbox/states/BizThreadListLoading.d.ts.map +0 -1
  151. package/dist/components/bizInbox/states/BizThreadListLoading.js +0 -8
  152. package/dist/components/bizThreadDetail/BizMessageBubble.d.ts +0 -10
  153. package/dist/components/bizThreadDetail/BizMessageBubble.d.ts.map +0 -1
  154. package/dist/components/bizThreadDetail/BizMessageBubble.js +0 -15
  155. package/dist/components/bizThreadDetail/BizMessageList.d.ts +0 -3
  156. package/dist/components/bizThreadDetail/BizMessageList.d.ts.map +0 -1
  157. package/dist/components/bizThreadDetail/BizMessageList.js +0 -28
  158. package/dist/components/bizThreadDetail/BizThreadDetailHeader.d.ts +0 -8
  159. package/dist/components/bizThreadDetail/BizThreadDetailHeader.d.ts.map +0 -1
  160. package/dist/components/bizThreadDetail/BizThreadDetailHeader.js +0 -18
  161. package/dist/components/bizThreadDetail/BizThreadDetailInput.d.ts +0 -8
  162. package/dist/components/bizThreadDetail/BizThreadDetailInput.d.ts.map +0 -1
  163. package/dist/components/bizThreadDetail/BizThreadDetailInput.js +0 -147
  164. package/dist/components/bizThreadDetail/index.d.ts +0 -8
  165. package/dist/components/bizThreadDetail/index.d.ts.map +0 -1
  166. package/dist/components/bizThreadDetail/index.js +0 -4
  167. package/dist/components/bizThreadDetail/item/BizMessageItem.d.ts +0 -8
  168. package/dist/components/bizThreadDetail/item/BizMessageItem.d.ts.map +0 -1
  169. package/dist/components/bizThreadDetail/item/BizMessageItem.js +0 -20
  170. package/dist/components/cannedResponse/CannedResponseBody.d.ts +0 -8
  171. package/dist/components/cannedResponse/CannedResponseBody.d.ts.map +0 -1
  172. package/dist/components/cannedResponse/CannedResponseBody.js +0 -109
  173. package/dist/components/cannedResponse/CannedResponseFooter.d.ts +0 -6
  174. package/dist/components/cannedResponse/CannedResponseFooter.d.ts.map +0 -1
  175. package/dist/components/cannedResponse/CannedResponseFooter.js +0 -8
  176. package/dist/components/cannedResponse/CannedResponseHeader.d.ts +0 -8
  177. package/dist/components/cannedResponse/CannedResponseHeader.d.ts.map +0 -1
  178. package/dist/components/cannedResponse/CannedResponseHeader.js +0 -11
  179. package/dist/components/cannedResponse/index.d.ts +0 -8
  180. package/dist/components/cannedResponse/index.d.ts.map +0 -1
  181. package/dist/components/cannedResponse/index.js +0 -34
  182. package/dist/components/cannedResponse/team/TeamItem.d.ts +0 -11
  183. package/dist/components/cannedResponse/team/TeamItem.d.ts.map +0 -1
  184. package/dist/components/cannedResponse/team/TeamItem.js +0 -31
  185. package/dist/components/chatBubble/ChatBubble.d.ts +0 -6
  186. package/dist/components/chatBubble/ChatBubble.d.ts.map +0 -1
  187. package/dist/components/chatBubble/ChatBubble.js +0 -35
  188. package/dist/components/mediaCollection/FileCollection.d.ts +0 -3
  189. package/dist/components/mediaCollection/FileCollection.d.ts.map +0 -1
  190. package/dist/components/mediaCollection/FileCollection.js +0 -53
  191. package/dist/components/mediaCollection/ImageCollection.d.ts +0 -3
  192. package/dist/components/mediaCollection/ImageCollection.d.ts.map +0 -1
  193. package/dist/components/mediaCollection/ImageCollection.js +0 -52
  194. package/dist/components/mediaCollection/LinkCollection.d.ts +0 -5
  195. package/dist/components/mediaCollection/LinkCollection.d.ts.map +0 -1
  196. package/dist/components/mediaCollection/LinkCollection.js +0 -92
  197. package/dist/components/mediaCollection/VideoCollection.d.ts +0 -3
  198. package/dist/components/mediaCollection/VideoCollection.d.ts.map +0 -1
  199. package/dist/components/mediaCollection/VideoCollection.js +0 -51
  200. package/dist/components/mediaCollection/index.d.ts +0 -9
  201. package/dist/components/mediaCollection/index.d.ts.map +0 -1
  202. package/dist/components/mediaCollection/index.js +0 -57
  203. package/dist/components/message/footer/QuotedMessage.d.ts +0 -2
  204. package/dist/components/message/footer/QuotedMessage.d.ts.map +0 -1
  205. package/dist/components/message/footer/QuotedMessage.js +0 -24
  206. package/dist/components/richTextEditor/RichTextEditor.d.ts +0 -12
  207. package/dist/components/richTextEditor/RichTextEditor.d.ts.map +0 -1
  208. package/dist/components/richTextEditor/RichTextEditor.js +0 -62
  209. package/dist/components/searchConversation/SearchAll.d.ts +0 -8
  210. package/dist/components/searchConversation/SearchAll.d.ts.map +0 -1
  211. package/dist/components/searchConversation/SearchAll.js +0 -37
  212. package/dist/components/searchConversation/SearchConversationAsMessages.d.ts +0 -6
  213. package/dist/components/searchConversation/SearchConversationAsMessages.d.ts.map +0 -1
  214. package/dist/components/searchConversation/SearchConversationAsMessages.js +0 -23
  215. package/dist/components/searchConversation/SearchConversationAsUsers.d.ts +0 -6
  216. package/dist/components/searchConversation/SearchConversationAsUsers.d.ts.map +0 -1
  217. package/dist/components/searchConversation/SearchConversationAsUsers.js +0 -21
  218. package/dist/components/searchConversation/SearchConversationMyInbox.d.ts +0 -6
  219. package/dist/components/searchConversation/SearchConversationMyInbox.d.ts.map +0 -1
  220. package/dist/components/searchConversation/SearchConversationMyInbox.js +0 -24
  221. package/dist/components/searchConversation/SearchDrawer.d.ts +0 -3
  222. package/dist/components/searchConversation/SearchDrawer.d.ts.map +0 -1
  223. package/dist/components/searchConversation/SearchDrawer.js +0 -33
  224. package/dist/components/searchConversation/SearchMessageOnCurrentConversation.d.ts +0 -7
  225. package/dist/components/searchConversation/SearchMessageOnCurrentConversation.d.ts.map +0 -1
  226. package/dist/components/searchConversation/SearchMessageOnCurrentConversation.js +0 -28
  227. package/dist/components/searchConversation/index.d.ts +0 -12
  228. package/dist/components/searchConversation/index.d.ts.map +0 -1
  229. package/dist/components/searchConversation/index.js +0 -46
  230. package/dist/components/searchConversation/item/SearchItemAsMessage.d.ts +0 -12
  231. package/dist/components/searchConversation/item/SearchItemAsMessage.d.ts.map +0 -1
  232. package/dist/components/searchConversation/item/SearchItemAsMessage.js +0 -72
  233. package/dist/components/searchConversation/item/SearchItemAsUser.d.ts +0 -8
  234. package/dist/components/searchConversation/item/SearchItemAsUser.d.ts.map +0 -1
  235. package/dist/components/searchConversation/item/SearchItemAsUser.js +0 -25
  236. package/dist/constants/bizInbox.d.ts +0 -37
  237. package/dist/constants/bizInbox.d.ts.map +0 -1
  238. package/dist/constants/bizInbox.js +0 -35
  239. package/dist/constants/bizMoreOption.d.ts +0 -9
  240. package/dist/constants/bizMoreOption.d.ts.map +0 -1
  241. package/dist/constants/bizMoreOption.js +0 -37
  242. package/dist/hooks/biz/index.d.ts +0 -8
  243. package/dist/hooks/biz/index.d.ts.map +0 -1
  244. package/dist/hooks/biz/index.js +0 -5
  245. package/dist/hooks/biz/useBizActiveConversation.d.ts +0 -3
  246. package/dist/hooks/biz/useBizActiveConversation.d.ts.map +0 -1
  247. package/dist/hooks/biz/useBizActiveConversation.js +0 -38
  248. package/dist/hooks/biz/useBizConversationList.d.ts +0 -15
  249. package/dist/hooks/biz/useBizConversationList.d.ts.map +0 -1
  250. package/dist/hooks/biz/useBizConversationList.js +0 -48
  251. package/dist/hooks/biz/useBizConversationListItems.d.ts +0 -8
  252. package/dist/hooks/biz/useBizConversationListItems.d.ts.map +0 -1
  253. package/dist/hooks/biz/useBizConversationListItems.js +0 -14
  254. package/dist/hooks/biz/useBizGlobalEvent.d.ts +0 -2
  255. package/dist/hooks/biz/useBizGlobalEvent.d.ts.map +0 -1
  256. package/dist/hooks/biz/useBizGlobalEvent.js +0 -72
  257. package/dist/hooks/biz/useBizSendMessage.d.ts +0 -4
  258. package/dist/hooks/biz/useBizSendMessage.d.ts.map +0 -1
  259. package/dist/hooks/biz/useBizSendMessage.js +0 -70
  260. package/dist/hooks/biz/useBotFlow.d.ts +0 -17
  261. package/dist/hooks/biz/useBotFlow.d.ts.map +0 -1
  262. package/dist/hooks/biz/useBotFlow.js +0 -127
  263. package/dist/hooks/biz/useConversationDetail.d.ts +0 -3
  264. package/dist/hooks/biz/useConversationDetail.d.ts.map +0 -1
  265. package/dist/hooks/biz/useConversationDetail.js +0 -18
  266. package/dist/hooks/biz/useCreateBizConversation.d.ts +0 -8
  267. package/dist/hooks/biz/useCreateBizConversation.d.ts.map +0 -1
  268. package/dist/hooks/biz/useCreateBizConversation.js +0 -15
  269. package/dist/hooks/biz/useResetBotFlow.d.ts +0 -3
  270. package/dist/hooks/biz/useResetBotFlow.d.ts.map +0 -1
  271. package/dist/hooks/biz/useResetBotFlow.js +0 -14
  272. package/dist/hooks/biz/useRunBotFlow.d.ts +0 -7
  273. package/dist/hooks/biz/useRunBotFlow.d.ts.map +0 -1
  274. package/dist/hooks/biz/useRunBotFlow.js +0 -14
  275. package/dist/hooks/cannedResponse/useFetchCannedCategories.d.ts +0 -3
  276. package/dist/hooks/cannedResponse/useFetchCannedCategories.d.ts.map +0 -1
  277. package/dist/hooks/cannedResponse/useFetchCannedCategories.js +0 -13
  278. package/dist/hooks/cannedResponse/useFetchCannedResponse.d.ts +0 -219
  279. package/dist/hooks/cannedResponse/useFetchCannedResponse.d.ts.map +0 -1
  280. package/dist/hooks/cannedResponse/useFetchCannedResponse.js +0 -55
  281. package/dist/hooks/common/useFetchExternalLink.d.ts +0 -2
  282. package/dist/hooks/common/useFetchExternalLink.d.ts.map +0 -1
  283. package/dist/hooks/common/useFetchExternalLink.js +0 -18
  284. package/dist/hooks/common/useIsSdkMessageReady.d.ts +0 -2
  285. package/dist/hooks/common/useIsSdkMessageReady.d.ts.map +0 -1
  286. package/dist/hooks/common/useIsSdkMessageReady.js +0 -7
  287. package/dist/hooks/conversation/useConversationPreview.d.ts +0 -12
  288. package/dist/hooks/conversation/useConversationPreview.d.ts.map +0 -1
  289. package/dist/hooks/conversation/useConversationPreview.js +0 -22
  290. package/dist/hooks/message/useSendCustomMessage.d.ts +0 -7
  291. package/dist/hooks/message/useSendCustomMessage.d.ts.map +0 -1
  292. package/dist/hooks/message/useSendCustomMessage.js +0 -5
  293. package/dist/locales/en/bizInbox.json +0 -41
  294. package/dist/locales/vi/biz-inbox.json +0 -39
  295. package/dist/locales/vi/bizInbox.json +0 -19
  296. package/dist/screens/biz-message/index.d.ts +0 -8
  297. package/dist/screens/biz-message/index.d.ts.map +0 -1
  298. package/dist/screens/biz-message/index.js +0 -30
  299. package/dist/screens/biz-thread-detail/index.d.ts +0 -9
  300. package/dist/screens/biz-thread-detail/index.d.ts.map +0 -1
  301. package/dist/screens/biz-thread-detail/index.js +0 -50
  302. package/dist/screens/bizMessage/index.d.ts +0 -9
  303. package/dist/screens/bizMessage/index.d.ts.map +0 -1
  304. package/dist/screens/bizMessage/index.js +0 -55
  305. package/dist/screens/bizThreadDetail/index.d.ts +0 -9
  306. package/dist/screens/bizThreadDetail/index.d.ts.map +0 -1
  307. package/dist/screens/bizThreadDetail/index.js +0 -36
  308. package/dist/screens/chatBubble/index.d.ts +0 -7
  309. package/dist/screens/chatBubble/index.d.ts.map +0 -1
  310. package/dist/screens/chatBubble/index.js +0 -41
  311. package/dist/screens/deskMessage/index.d.ts +0 -6
  312. package/dist/screens/deskMessage/index.d.ts.map +0 -1
  313. package/dist/screens/deskMessage/index.js +0 -17
  314. package/dist/services/biz/conversationService.d.ts +0 -3
  315. package/dist/services/biz/conversationService.d.ts.map +0 -1
  316. package/dist/services/biz/conversationService.js +0 -10
  317. package/dist/store/bizConversation.d.ts +0 -18
  318. package/dist/store/bizConversation.d.ts.map +0 -1
  319. package/dist/store/bizConversation.js +0 -35
  320. package/dist/store/bizMessageDraft.d.ts +0 -9
  321. package/dist/store/bizMessageDraft.d.ts.map +0 -1
  322. package/dist/store/bizMessageDraft.js +0 -35
  323. package/dist/store/pinnedMessage.d.ts +0 -4
  324. package/dist/store/pinnedMessage.d.ts.map +0 -1
  325. package/dist/store/pinnedMessage.js +0 -17
  326. package/dist/types/biz.d.ts +0 -128
  327. package/dist/types/biz.d.ts.map +0 -1
  328. package/dist/types/biz.js +0 -34
  329. package/dist/utils/bizConversation.d.ts +0 -15
  330. package/dist/utils/bizConversation.d.ts.map +0 -1
  331. package/dist/utils/bizConversation.js +0 -96
  332. package/dist/utils/bizLink.d.ts +0 -13
  333. package/dist/utils/bizLink.d.ts.map +0 -1
  334. package/dist/utils/bizLink.js +0 -77
  335. package/dist/utils/bizMessage.d.ts +0 -15
  336. package/dist/utils/bizMessage.d.ts.map +0 -1
  337. package/dist/utils/bizMessage.js +0 -93
  338. package/dist/utils/messageEx.d.ts +0 -5
  339. package/dist/utils/messageEx.d.ts.map +0 -1
  340. package/dist/utils/messageEx.js +0 -11
  341. package/dist/utils/openBizLink.d.ts +0 -3
  342. package/dist/utils/openBizLink.d.ts.map +0 -1
  343. package/dist/utils/openBizLink.js +0 -19
@@ -1,8 +0,0 @@
1
- export interface BizThreadDetailInputProps {
2
- placeholder?: string;
3
- onSendMessage?: (text: string) => void;
4
- onInputChange?: (value: string) => void;
5
- }
6
- declare const BizThreadDetailInput: ({ placeholder, onSendMessage, onInputChange, }: BizThreadDetailInputProps) => import("react/jsx-runtime").JSX.Element;
7
- export default BizThreadDetailInput;
8
- //# sourceMappingURL=BizThreadDetailInput.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BizThreadDetailInput.d.ts","sourceRoot":"","sources":["../../../src/components/biz-thread-detail/BizThreadDetailInput.tsx"],"names":[],"mappings":"AA8BA,MAAM,WAAW,yBAAyB;IACxC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACzC;AAED,QAAA,MAAM,oBAAoB,GAAI,gDAI3B,yBAAyB,4CAmY3B,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
@@ -1,251 +0,0 @@
1
- "use client";
2
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import { useCallback, useEffect, useMemo, useRef, useState } from "react";
4
- import { useTranslation } from "react-i18next";
5
- import { useBoolean } from "ahooks";
6
- import clsx from "clsx";
7
- import { Icon } from "../../components/icon";
8
- import { useSendMessage } from "../../hooks/message/useSendMessage";
9
- import useAuthStore from "../../store/auth";
10
- import useConversationStore from "../../store/conversation";
11
- import useBizMessageDraftStore from "../../store/bizMessageDraft";
12
- import { resolveConversationAvatarUrl, resolveConversationDisplayName, } from "../../utils/conversation";
13
- import { emit } from "../../utils/events";
14
- import { extractLinkUrls } from "../../utils/link";
15
- import { useFetchUrlMetadata } from "../../hooks/common/useFetchUrlMetadata";
16
- import { processAndValidateDocuments, processAndValidateFiles, } from "../../utils/fileValidation";
17
- import { FilePreviewList } from "../../components/message/footer/FilePreview";
18
- import LinkInputPreview from "../../components/message/footer/LinkInputPreview";
19
- import BizMoreOptionPanel from "./BizMoreOptionPanel";
20
- const MAX_LINES = 5;
21
- const CONTAINER_MIN_HEIGHT = 48;
22
- const BizThreadDetailInput = ({ placeholder, onSendMessage, onInputChange, }) => {
23
- const { t } = useTranslation("biz-inbox");
24
- const { t: tCommon } = useTranslation("common");
25
- const conversationData = useConversationStore((state) => state.conversationData);
26
- const selectedConversationId = useConversationStore((state) => state.selectedConversationId);
27
- const conversationId = selectedConversationId || (conversationData === null || conversationData === void 0 ? void 0 : conversationData.conversationID) || "";
28
- const isConversationReady = !!conversationData && (!!conversationData.userID || !!conversationData.groupID);
29
- const sendMessageOptions = useMemo(() => ({
30
- scrollEvent: "BIZ_CHAT_SCROLL_TO_BOTTOM_IF_AT_BOTTOM",
31
- resolveOfflinePushMeta: () => ({
32
- title: conversationData
33
- ? resolveConversationDisplayName(conversationData, t)
34
- : "Droppii Chat",
35
- icon: (conversationData && resolveConversationAvatarUrl(conversationData)) ||
36
- "",
37
- conversationId: (conversationData === null || conversationData === void 0 ? void 0 : conversationData.conversationID) || "",
38
- }),
39
- }), [conversationData, t]);
40
- const { sendMergeMessage } = useSendMessage(sendMessageOptions);
41
- const userID = useAuthStore((state) => state.userID);
42
- const setDraft = useBizMessageDraftStore((state) => state.setDraft);
43
- const clearDraft = useBizMessageDraftStore((state) => state.clearDraft);
44
- const containerRef = useRef(null);
45
- const textareaRef = useRef(null);
46
- const mediaInputRef = useRef(null);
47
- const documentInputRef = useRef(null);
48
- const [value, setValue] = useState("");
49
- const [listUploadFiles, setListUploadFiles] = useState([]);
50
- const [isVideoLoading, setIsVideoLoading] = useState(false);
51
- const [isFocused, setIsFocused] = useState(false);
52
- const [isSending, setIsSending] = useState(false);
53
- const [previewDismissed, setPreviewDismissed] = useState(false);
54
- const [isMoreOptionOpen, { setFalse: closeMoreOption, toggle: toggleMoreOption },] = useBoolean(false);
55
- const previewUrl = useMemo(() => {
56
- const urls = extractLinkUrls(value);
57
- return urls.length === 1 ? urls[0] : null;
58
- }, [value]);
59
- const showLinkPreview = !!previewUrl && !previewDismissed;
60
- const { data: previewMetadata } = useFetchUrlMetadata(previewUrl !== null && previewUrl !== void 0 ? previewUrl : "", showLinkPreview);
61
- useEffect(() => {
62
- setPreviewDismissed(false);
63
- }, [previewUrl]);
64
- const hasFiles = listUploadFiles.length > 0;
65
- const canSend = (value.trim().length > 0 || hasFiles) &&
66
- !isSending &&
67
- isConversationReady &&
68
- !isVideoLoading;
69
- const getTextareaHeights = useCallback(() => {
70
- const textarea = textareaRef.current;
71
- if (!textarea)
72
- return null;
73
- const lineHeight = parseFloat(window.getComputedStyle(textarea).lineHeight);
74
- return {
75
- lineHeight,
76
- maxHeight: lineHeight * MAX_LINES,
77
- };
78
- }, []);
79
- const adjustTextareaHeight = useCallback(() => {
80
- const textarea = textareaRef.current;
81
- const heights = getTextareaHeights();
82
- if (!textarea || !heights)
83
- return;
84
- textarea.style.height = `${heights.lineHeight}px`;
85
- const scrollHeight = textarea.scrollHeight;
86
- const nextHeight = Math.min(Math.max(scrollHeight, heights.lineHeight), heights.maxHeight);
87
- textarea.style.height = `${nextHeight}px`;
88
- textarea.style.overflowY =
89
- scrollHeight > heights.maxHeight ? "auto" : "hidden";
90
- }, [getTextareaHeights]);
91
- useEffect(() => {
92
- closeMoreOption();
93
- setListUploadFiles([]);
94
- setIsVideoLoading(false);
95
- }, [conversationId, userID, closeMoreOption]);
96
- useEffect(() => {
97
- var _a;
98
- if (!conversationId || !userID) {
99
- setValue("");
100
- return;
101
- }
102
- const draft = (_a = useBizMessageDraftStore.getState().drafts[`${userID}:${conversationId}`]) !== null && _a !== void 0 ? _a : "";
103
- setValue(draft);
104
- requestAnimationFrame(adjustTextareaHeight);
105
- }, [conversationId, userID, adjustTextareaHeight]);
106
- useEffect(() => {
107
- adjustTextareaHeight();
108
- }, [value, adjustTextareaHeight]);
109
- useEffect(() => {
110
- if (!isFocused)
111
- return;
112
- const handlePointerDown = (event) => {
113
- var _a, _b;
114
- if ((_a = containerRef.current) === null || _a === void 0 ? void 0 : _a.contains(event.target))
115
- return;
116
- (_b = textareaRef.current) === null || _b === void 0 ? void 0 : _b.blur();
117
- };
118
- document.addEventListener("pointerdown", handlePointerDown);
119
- return () => document.removeEventListener("pointerdown", handlePointerDown);
120
- }, [isFocused]);
121
- useEffect(() => {
122
- const viewport = window.visualViewport;
123
- if (!viewport)
124
- return;
125
- const handleViewportChange = () => {
126
- if (document.activeElement === textareaRef.current) {
127
- emit("BIZ_CHAT_SCROLL_TO_BOTTOM_IF_AT_BOTTOM");
128
- }
129
- };
130
- viewport.addEventListener("resize", handleViewportChange);
131
- return () => viewport.removeEventListener("resize", handleViewportChange);
132
- }, []);
133
- const handleMediaInputChange = useCallback((event) => {
134
- var _a;
135
- const files = Array.from((_a = event.target.files) !== null && _a !== void 0 ? _a : []);
136
- if (files.length === 0)
137
- return;
138
- const validFiles = processAndValidateFiles(files, {
139
- t: tCommon,
140
- currentUploadedFiles: listUploadFiles,
141
- });
142
- if (validFiles.length > 0) {
143
- setListUploadFiles((prev) => [...prev, ...validFiles]);
144
- const hasVideo = validFiles.some((f) => { var _a; return (_a = f.originFileObj) === null || _a === void 0 ? void 0 : _a.type.startsWith("video/"); });
145
- if (hasVideo)
146
- setIsVideoLoading(true);
147
- }
148
- event.target.value = "";
149
- }, [tCommon, listUploadFiles]);
150
- const handleDocumentInputChange = useCallback((event) => {
151
- var _a;
152
- const files = Array.from((_a = event.target.files) !== null && _a !== void 0 ? _a : []);
153
- if (files.length === 0)
154
- return;
155
- const validFiles = processAndValidateDocuments(files, tCommon);
156
- if (validFiles.length > 0) {
157
- setListUploadFiles((prev) => [...prev, ...validFiles]);
158
- }
159
- event.target.value = "";
160
- }, [tCommon]);
161
- const handleRemoveFile = useCallback((uid) => {
162
- setListUploadFiles((prev) => prev.filter((f) => f.uid !== uid));
163
- setIsVideoLoading(false);
164
- }, []);
165
- const handleChange = (nextValue) => {
166
- setValue(nextValue);
167
- if (conversationId && userID) {
168
- setDraft(userID, conversationId, nextValue);
169
- }
170
- onInputChange === null || onInputChange === void 0 ? void 0 : onInputChange(nextValue);
171
- };
172
- const handleSend = async () => {
173
- const text = value.trim();
174
- if ((!text && !hasFiles) || isSending)
175
- return;
176
- setIsSending(true);
177
- try {
178
- if (onSendMessage) {
179
- onSendMessage(text);
180
- }
181
- else {
182
- const urlMetadata = showLinkPreview && previewUrl && previewMetadata
183
- ? {
184
- url: previewUrl,
185
- title: previewMetadata.title,
186
- description: previewMetadata.description,
187
- image: previewMetadata.image,
188
- }
189
- : undefined;
190
- const sent = await sendMergeMessage({
191
- plainText: text,
192
- richText: "",
193
- files: listUploadFiles,
194
- isInternal: false,
195
- urlMetadata,
196
- });
197
- if (!sent)
198
- return;
199
- setListUploadFiles([]);
200
- }
201
- setValue("");
202
- if (conversationId && userID) {
203
- clearDraft(userID, conversationId);
204
- }
205
- requestAnimationFrame(adjustTextareaHeight);
206
- }
207
- finally {
208
- setIsSending(false);
209
- }
210
- };
211
- const handleFocus = () => {
212
- setIsFocused(true);
213
- closeMoreOption();
214
- emit("BIZ_CHAT_SCROLL_TO_BOTTOM_IF_AT_BOTTOM");
215
- };
216
- const handleBlur = () => {
217
- setIsFocused(false);
218
- };
219
- const handleToggleMoreOption = () => {
220
- var _a;
221
- if (!isMoreOptionOpen) {
222
- (_a = textareaRef.current) === null || _a === void 0 ? void 0 : _a.blur();
223
- }
224
- toggleMoreOption();
225
- };
226
- const insertNewline = (textarea) => {
227
- const { selectionStart, selectionEnd } = textarea;
228
- const nextValue = value.slice(0, selectionStart) + "\n" + value.slice(selectionEnd);
229
- handleChange(nextValue);
230
- requestAnimationFrame(() => {
231
- textarea.selectionStart = selectionStart + 1;
232
- textarea.selectionEnd = selectionStart + 1;
233
- adjustTextareaHeight();
234
- });
235
- };
236
- const handleKeyDown = (event) => {
237
- if (event.key !== "Enter")
238
- return;
239
- if (event.shiftKey) {
240
- event.preventDefault();
241
- insertNewline(event.currentTarget);
242
- return;
243
- }
244
- event.preventDefault();
245
- void handleSend();
246
- };
247
- return (_jsxs("div", { ref: containerRef, "data-testid": "biz-thread-detail-input", className: "flex w-full shrink-0 flex-col bg-chat-bubble-neutral/[0.05]", children: [_jsx("input", { ref: mediaInputRef, type: "file", accept: "image/jpeg,image/png,image/jpg,video/*", multiple: true, className: "hidden", onChange: handleMediaInputChange }), _jsx("input", { ref: documentInputRef, type: "file", accept: ".pdf,.doc,.docx", multiple: true, className: "hidden", onChange: handleDocumentInputChange }), listUploadFiles.length > 0 && (_jsx(FilePreviewList, { files: listUploadFiles, onRemove: (file) => handleRemoveFile(file.uid), onVideoReady: () => setIsVideoLoading(false) })), showLinkPreview && previewUrl && (_jsx(LinkInputPreview, { url: previewUrl, onRemove: () => setPreviewDismissed(true) })), _jsxs("div", { className: "flex items-end gap-3 px-3 py-2", children: [_jsx("div", { className: "flex shrink-0 items-center", children: _jsx("button", { type: "button", onClick: handleToggleMoreOption, "aria-label": t("thread_detail.more_option.toggle"), "aria-expanded": isMoreOptionOpen, "data-testid": "biz-thread-detail-more-option-toggle", className: "flex py-3 items-center justify-center rounded-full", children: isMoreOptionOpen ? (_jsx(Icon, { icon: "close-circle-o", size: 24, className: "text-primary-400" })) : (_jsx(Icon, { icon: "plus-circle-o", size: 24, className: "text-gray-900" })) }) }), _jsx("div", { className: clsx("flex min-w-0 flex-1 overflow-hidden rounded-xl border bg-white transition-shadow", isFocused
248
- ? "border-primary-200 shadow-primary-focus"
249
- : "border-gray-50"), style: { minHeight: CONTAINER_MIN_HEIGHT }, children: _jsx("div", { className: "flex min-w-0 flex-[1_0_0] items-center gap-2 self-stretch px-3 py-1", children: _jsx("textarea", { ref: textareaRef, value: value, rows: 1, onChange: (event) => handleChange(event.target.value), onFocus: handleFocus, onBlur: handleBlur, onKeyDown: handleKeyDown, placeholder: placeholder !== null && placeholder !== void 0 ? placeholder : t("thread_detail.input_placeholder"), "data-testid": "biz-thread-detail-message-input", className: "biz-message-input-scrollbar min-h-0 min-w-0 flex-1 resize-none appearance-none border-0 bg-transparent p-0 text-[16px] leading-[1.6] tracking-[0.16px] text-black outline-none ring-0 placeholder:text-gray-400 focus:border-0 focus:outline-none focus:ring-0" }) }) }), _jsx("div", { className: "flex shrink-0 items-center pb-1", children: _jsx("button", { type: "button", onClick: () => void handleSend(), disabled: !canSend, "data-testid": "biz-thread-detail-send", className: clsx("flex h-10 w-10 items-center justify-center rounded-full", canSend ? "bg-chat-send" : "bg-chat-send opacity-25"), children: _jsx(Icon, { icon: "send-b", size: 20, className: "text-white" }) }) })] }), isMoreOptionOpen && (_jsx(BizMoreOptionPanel, { disabled: !isConversationReady, onTriggerMediaInput: () => { var _a; return (_a = mediaInputRef.current) === null || _a === void 0 ? void 0 : _a.click(); }, onTriggerDocumentInput: () => { var _a; return (_a = documentInputRef.current) === null || _a === void 0 ? void 0 : _a.click(); } }))] }));
250
- };
251
- export default BizThreadDetailInput;
@@ -1,8 +0,0 @@
1
- interface BizVideoViewerProps {
2
- videoUrl: string;
3
- posterUrl?: string;
4
- onClose: () => void;
5
- }
6
- declare const BizVideoViewer: ({ videoUrl, posterUrl, onClose }: BizVideoViewerProps) => import("react").ReactPortal;
7
- export default BizVideoViewer;
8
- //# sourceMappingURL=BizVideoViewer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BizVideoViewer.d.ts","sourceRoot":"","sources":["../../../src/components/biz-thread-detail/BizVideoViewer.tsx"],"names":[],"mappings":"AAQA,UAAU,mBAAmB;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAID,QAAA,MAAM,cAAc,GAAI,kCAAkC,mBAAmB,gCAyM5E,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -1,103 +0,0 @@
1
- "use client";
2
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import { useEffect, useRef, useState } from "react";
4
- import { createPortal } from "react-dom";
5
- import { Icon } from "../../components/icon";
6
- import { ExpandIcon } from "../../assets/svg";
7
- import { formatDuration } from "../../utils/common";
8
- const SKIP_SECONDS = 10;
9
- const BizVideoViewer = ({ videoUrl, posterUrl, onClose }) => {
10
- var _a;
11
- const containerRef = useRef(null);
12
- const videoRef = useRef(null);
13
- const [isPlaying, setIsPlaying] = useState(false);
14
- const [isMuted, setIsMuted] = useState(false);
15
- const [isFullscreen, setIsFullscreen] = useState(false);
16
- const [currentTime, setCurrentTime] = useState(0);
17
- const [duration, setDuration] = useState(0);
18
- const togglePlay = () => {
19
- const video = videoRef.current;
20
- if (!video)
21
- return;
22
- if (video.paused) {
23
- void video.play();
24
- }
25
- else {
26
- video.pause();
27
- }
28
- };
29
- const skip = (seconds) => {
30
- const video = videoRef.current;
31
- if (!video)
32
- return;
33
- const max = video.duration || Infinity;
34
- video.currentTime = Math.min(Math.max(video.currentTime + seconds, 0), max);
35
- setCurrentTime(video.currentTime);
36
- };
37
- const toggleFullscreen = () => {
38
- var _a, _b;
39
- const el = containerRef.current;
40
- if (!el)
41
- return;
42
- if (!document.fullscreenElement) {
43
- void ((_a = el.requestFullscreen) === null || _a === void 0 ? void 0 : _a.call(el));
44
- }
45
- else {
46
- void ((_b = document.exitFullscreen) === null || _b === void 0 ? void 0 : _b.call(document));
47
- }
48
- };
49
- useEffect(() => {
50
- const handleKeyDown = (event) => {
51
- if (event.key === "Escape")
52
- onClose();
53
- if (event.key === " ") {
54
- event.preventDefault();
55
- togglePlay();
56
- }
57
- if (event.key === "ArrowLeft")
58
- skip(-SKIP_SECONDS);
59
- if (event.key === "ArrowRight")
60
- skip(SKIP_SECONDS);
61
- };
62
- document.addEventListener("keydown", handleKeyDown);
63
- return () => document.removeEventListener("keydown", handleKeyDown);
64
- // eslint-disable-next-line react-hooks/exhaustive-deps
65
- }, [onClose]);
66
- useEffect(() => {
67
- const handleFullscreenChange = () => setIsFullscreen(document.fullscreenElement === containerRef.current);
68
- document.addEventListener("fullscreenchange", handleFullscreenChange);
69
- return () => document.removeEventListener("fullscreenchange", handleFullscreenChange);
70
- }, []);
71
- useEffect(() => {
72
- var _a;
73
- (_a = videoRef.current) === null || _a === void 0 ? void 0 : _a.play().catch(() => { });
74
- }, []);
75
- const toggleMute = () => {
76
- const video = videoRef.current;
77
- if (!video)
78
- return;
79
- video.muted = !video.muted;
80
- setIsMuted(video.muted);
81
- };
82
- const handleSeek = (event) => {
83
- const video = videoRef.current;
84
- if (!video)
85
- return;
86
- const value = Number(event.target.value);
87
- video.currentTime = value;
88
- setCurrentTime(value);
89
- };
90
- const handleDownload = () => {
91
- const filename = videoUrl.substring(videoUrl.lastIndexOf("/") + 1) || "video";
92
- const link = document.createElement("a");
93
- link.href = videoUrl;
94
- link.download = filename;
95
- document.body.appendChild(link);
96
- link.click();
97
- document.body.removeChild(link);
98
- };
99
- const remainingTime = Math.max(duration - currentTime, 0);
100
- const container = (_a = document.querySelector('[data-testid="biz-thread-detail-root"]')) !== null && _a !== void 0 ? _a : document.body;
101
- return createPortal(_jsxs("div", { ref: containerRef, className: "absolute inset-0 z-[999] flex flex-col bg-black", children: [_jsxs("div", { className: "flex items-center justify-between px-4 pt-12 pb-4", children: [_jsxs("div", { className: "flex items-center gap-4", children: [_jsx("button", { type: "button", className: "flex h-10 w-10 items-center justify-center text-white", onClick: onClose, "aria-label": "\u0110\u00F3ng", children: _jsx(Icon, { icon: "close-b", size: 24 }) }), _jsx("button", { type: "button", className: "flex h-10 w-10 items-center justify-center text-white", onClick: toggleFullscreen, "aria-label": isFullscreen ? "Thu nhỏ" : "Toàn màn hình", children: _jsx(ExpandIcon, { size: 20 }) })] }), _jsx("button", { type: "button", className: "flex h-10 w-10 items-center justify-center text-white", onClick: handleDownload, "aria-label": "T\u1EA3i xu\u1ED1ng", children: _jsx(Icon, { icon: "download-o", size: 24 }) })] }), _jsxs("div", { className: "relative flex min-h-0 flex-1 items-center justify-center overflow-hidden px-4", children: [_jsx("video", { ref: videoRef, src: videoUrl, poster: posterUrl, className: "max-h-full max-w-full rounded-[24px] object-contain", onPlay: () => setIsPlaying(true), onPause: () => setIsPlaying(false), onTimeUpdate: (event) => setCurrentTime(event.currentTarget.currentTime), onLoadedMetadata: (event) => setDuration(event.currentTarget.duration), onClick: togglePlay }), _jsxs("div", { className: "pointer-events-none absolute inset-0 flex items-center justify-between px-8", children: [_jsx("button", { type: "button", className: "pointer-events-auto relative flex h-9 w-9 items-center justify-center text-white", onClick: () => skip(-SKIP_SECONDS), "aria-label": "L\u00F9i 10 gi\u00E2y", children: _jsx(Icon, { icon: "arrow-reload-o", size: 30 }) }), !isPlaying && (_jsx("button", { type: "button", className: "pointer-events-auto flex h-[50px] w-[50px] shrink-0 items-center justify-center rounded-2xl bg-black/60", onClick: togglePlay, "aria-label": "Ph\u00E1t", children: _jsx(Icon, { icon: "play-b", size: 24, className: "text-white" }) })), _jsx("button", { type: "button", className: "pointer-events-auto relative flex h-9 w-9 items-center justify-center text-white", onClick: () => skip(SKIP_SECONDS), "aria-label": "Ti\u1EBFn 10 gi\u00E2y", children: _jsx(Icon, { icon: "arrow-reload-o", size: 30, className: "-scale-x-100" }) })] })] }), _jsx("div", { className: "flex flex-col gap-2 px-4 pb-8 pt-4", children: _jsxs("div", { className: "flex items-center gap-2", children: [_jsx("span", { className: "w-9 shrink-0 text-xs text-white", children: formatDuration(currentTime) }), _jsx("input", { type: "range", min: 0, max: duration || 0, step: 0.1, value: currentTime, onChange: handleSeek, className: "h-1 flex-1 cursor-pointer appearance-none rounded-full bg-white/30 accent-white" }), _jsxs("span", { className: "w-9 shrink-0 text-right text-xs text-white", children: ["-", formatDuration(remainingTime)] }), _jsx("button", { type: "button", onClick: toggleMute, className: "flex h-6 w-6 shrink-0 items-center justify-center text-white", "aria-label": "\u00C2m l\u01B0\u1EE3ng", children: _jsx(Icon, { icon: isMuted ? "volume-off-o" : "volume-up-o", size: 20 }) })] }) })] }), container);
102
- };
103
- export default BizVideoViewer;
@@ -1,10 +0,0 @@
1
- import type { BotButtonOption } from "../../../types/conversation";
2
- export interface BotButtonMessageProps {
3
- buttons: BotButtonOption[];
4
- disabled?: boolean;
5
- onSelect: (actionId: string) => void;
6
- onRestart: () => void;
7
- }
8
- declare const BotButtonMessage: ({ buttons, disabled, onSelect, onRestart, }: BotButtonMessageProps) => import("react/jsx-runtime").JSX.Element | null;
9
- export default BotButtonMessage;
10
- //# sourceMappingURL=BotButtonMessage.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BotButtonMessage.d.ts","sourceRoot":"","sources":["../../../../src/components/biz-thread-detail/bot/BotButtonMessage.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAI5D,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,SAAS,EAAE,MAAM,IAAI,CAAC;CACvB;AAED,QAAA,MAAM,gBAAgB,GAAI,6CAKvB,qBAAqB,mDA4EvB,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
@@ -1,30 +0,0 @@
1
- "use client";
2
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import clsx from "clsx";
4
- import { useTranslation } from "react-i18next";
5
- import { Icon } from "../../../components/icon";
6
- import MessageBubble from "../../../components/message/item/MessageBubble";
7
- import { BOT_BUTTON_MENU_THRESHOLD, BOT_DEFAULT_BUTTON_ID, } from "../../../constants/botFlow";
8
- const CHEVRON_SIZE = 20;
9
- const BotButtonMessage = ({ buttons, disabled, onSelect, onRestart, }) => {
10
- const { t } = useTranslation("biz-inbox");
11
- if (buttons.length === 0)
12
- return null;
13
- const isMenuStyle = buttons.length > BOT_BUTTON_MENU_THRESHOLD;
14
- const handleSelect = (actionId) => {
15
- if (disabled)
16
- return;
17
- if (actionId === BOT_DEFAULT_BUTTON_ID) {
18
- onRestart();
19
- return;
20
- }
21
- onSelect(actionId);
22
- };
23
- const optionsNode = isMenuStyle ? (_jsx("div", { className: "flex flex-col overflow-hidden rounded-xl bg-white", children: buttons.map((option, index) => (_jsxs("button", { type: "button", disabled: disabled, onClick: () => handleSelect(option.id), className: clsx("flex items-center gap-4 px-3 py-2 text-left transition-colors", index !== buttons.length - 1 && "border-b border-gray-25", disabled && "cursor-not-allowed opacity-60"), children: [_jsx("span", { className: "flex-1 text-[16px] font-medium leading-[1.6] text-gray-900", children: option.id === BOT_DEFAULT_BUTTON_ID
24
- ? t("thread_detail.bot.restart")
25
- : option.label }), _jsx(Icon, { icon: "angle-right-o", size: CHEVRON_SIZE, className: "text-gray-900" })] }, option.id))) })) : (_jsx("div", { className: "flex flex-col gap-2", children: buttons.map((option) => (_jsx("button", { type: "button", disabled: disabled, onClick: () => handleSelect(option.id), className: clsx("flex flex-1 items-center justify-center gap-2 rounded-lg border border-primary-400 bg-primary-25 px-3 py-2", "text-center text-[14px] font-[510] leading-[160%] text-primary-400 transition-colors", disabled && "cursor-not-allowed opacity-60"), children: _jsx("span", { children: option.id === BOT_DEFAULT_BUTTON_ID
26
- ? t("thread_detail.bot.restart")
27
- : option.label }) }, option.id))) }));
28
- return (_jsx("div", { className: "flex min-w-0 flex-col gap-2 px-3 py-1 sm:px-4", children: _jsx("div", { className: "flex min-w-0 items-end justify-start pl-3 pr-12", children: _jsx("div", { className: "flex min-w-0 max-w-[75%] flex-col items-start", children: _jsx(MessageBubble, { isMine: false, content: optionsNode }) }) }) }));
29
- };
30
- export default BotButtonMessage;
@@ -1,10 +0,0 @@
1
- import type { BotButtonOption } from "../../../types/biz";
2
- export interface BotFlowContextValue {
3
- buttons: BotButtonOption[];
4
- disabled: boolean;
5
- onSelect: (actionId: string) => void;
6
- onRestart: () => void;
7
- }
8
- export declare const BotFlowProvider: import("react").Provider<BotFlowContextValue>;
9
- export declare const useBotFlowContext: () => BotFlowContextValue;
10
- //# sourceMappingURL=BotFlowContext.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BotFlowContext.d.ts","sourceRoot":"","sources":["../../../../src/components/biz-thread-detail/bot/BotFlowContext.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,SAAS,EAAE,MAAM,IAAI,CAAC;CACvB;AAWD,eAAO,MAAM,eAAe,+CAA0B,CAAC;AAEvD,eAAO,MAAM,iBAAiB,2BAAmC,CAAC"}
@@ -1,11 +0,0 @@
1
- "use client";
2
- import { createContext, useContext } from "react";
3
- const noop = () => { };
4
- const BotFlowContext = createContext({
5
- buttons: [],
6
- disabled: false,
7
- onSelect: noop,
8
- onRestart: noop,
9
- });
10
- export const BotFlowProvider = BotFlowContext.Provider;
11
- export const useBotFlowContext = () => useContext(BotFlowContext);
@@ -1,8 +0,0 @@
1
- export interface BotStartButtonProps {
2
- label: string;
3
- onClick: () => void;
4
- disabled?: boolean;
5
- }
6
- declare const BotStartButton: ({ label, onClick, disabled }: BotStartButtonProps) => import("react/jsx-runtime").JSX.Element;
7
- export default BotStartButton;
8
- //# sourceMappingURL=BotStartButton.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BotStartButton.d.ts","sourceRoot":"","sources":["../../../../src/components/biz-thread-detail/bot/BotStartButton.tsx"],"names":[],"mappings":"AAOA,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,QAAA,MAAM,cAAc,GAAI,8BAA8B,mBAAmB,4CAkBxE,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -1,11 +0,0 @@
1
- "use client";
2
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import clsx from "clsx";
4
- import { Icon } from "../../../components/icon";
5
- const ICON_SIZE = 20;
6
- const BotStartButton = ({ label, onClick, disabled }) => {
7
- return (_jsxs("button", { type: "button", onClick: onClick, disabled: disabled, className: clsx("flex h-12 w-full items-center justify-center gap-2 rounded-lg", "text-[16px] font-medium leading-[1.6] text-white transition-colors", disabled
8
- ? "cursor-not-allowed bg-primary-400/60"
9
- : "bg-primary-400 active:bg-primary-400/90"), children: [_jsx(Icon, { icon: "chat-square-o", size: ICON_SIZE, className: "text-white" }), _jsx("span", { children: label })] }));
10
- };
11
- export default BotStartButton;
@@ -1,5 +0,0 @@
1
- export { default as BotStartButton } from "./BotStartButton";
2
- export type { BotStartButtonProps } from "./BotStartButton";
3
- export { default as BotButtonMessage } from "./BotButtonMessage";
4
- export type { BotButtonMessageProps } from "./BotButtonMessage";
5
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/biz-thread-detail/bot/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC7D,YAAY,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAE5D,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACjE,YAAY,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC"}
@@ -1,2 +0,0 @@
1
- export { default as BotStartButton } from "./BotStartButton";
2
- export { default as BotButtonMessage } from "./BotButtonMessage";
@@ -1,10 +0,0 @@
1
- export { default as BizThreadDetailHeader } from "./BizThreadDetailHeader";
2
- export type { BizThreadDetailHeaderProps } from "./BizThreadDetailHeader";
3
- export { default as BizThreadDetailInput } from "./BizThreadDetailInput";
4
- export type { BizThreadDetailInputProps } from "./BizThreadDetailInput";
5
- export { default as BizMessageList } from "./BizMessageList";
6
- export { default as BizMoreOptionPanel } from "./BizMoreOptionPanel";
7
- export type { BizMoreOptionPanelProps } from "./BizMoreOptionPanel";
8
- export { default as BizMoreOptionItem } from "./BizMoreOptionItem";
9
- export type { BizMoreOptionItemProps } from "./BizMoreOptionItem";
10
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/biz-thread-detail/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAC3E,YAAY,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AAE1E,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACzE,YAAY,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAExE,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAE7D,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrE,YAAY,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACnE,YAAY,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC"}
@@ -1,5 +0,0 @@
1
- export { default as BizThreadDetailHeader } from "./BizThreadDetailHeader";
2
- export { default as BizThreadDetailInput } from "./BizThreadDetailInput";
3
- export { default as BizMessageList } from "./BizMessageList";
4
- export { default as BizMoreOptionPanel } from "./BizMoreOptionPanel";
5
- export { default as BizMoreOptionItem } from "./BizMoreOptionItem";
@@ -1,9 +0,0 @@
1
- import { MessageItem } from "@openim/wasm-client-sdk";
2
- export interface BizMessageItemProps {
3
- message: MessageItem;
4
- allMessages: MessageItem[];
5
- isGroupChat?: boolean;
6
- }
7
- declare const BizMessageItem: ({ message, allMessages, isGroupChat, }: BizMessageItemProps) => import("react/jsx-runtime").JSX.Element | null;
8
- export default BizMessageItem;
9
- //# sourceMappingURL=BizMessageItem.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BizMessageItem.d.ts","sourceRoot":"","sources":["../../../../src/components/biz-thread-detail/item/BizMessageItem.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAStD,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,WAAW,CAAC;IACrB,WAAW,EAAE,WAAW,EAAE,CAAC;IAC3B,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAyBD,QAAA,MAAM,cAAc,GAAI,wCAIrB,mBAAmB,mDA0DrB,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -1,27 +0,0 @@
1
- "use client";
2
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import { Icon } from "../../../components/icon";
4
- import useAuthStore from "../../../store/auth";
5
- import { visibleTypeMessage } from "../../../hooks/message/useMessage";
6
- import { formatTimestamp } from "../../../utils/common";
7
- import { getBizMessageDisplay, shouldHideBizMessage } from "../../../utils/bizMessage";
8
- import BizMessageBubble from "../BizMessageBubble";
9
- import BizMessageContent from "../BizMessageContent";
10
- const BizMessageAvatar = ({ avatarUrl }) => avatarUrl ? (_jsx("img", { src: avatarUrl, alt: "", className: "h-6 w-6 shrink-0 self-end rounded-full object-cover" })) : (_jsx("div", { className: "flex h-6 w-6 shrink-0 items-center justify-center self-end rounded-full bg-[#0C5CFF]", children: _jsx(Icon, { icon: "droppii-o-1", size: 14, className: "text-white" }) }));
11
- const BizMessageTime = ({ sendTime }) => (_jsx("div", { className: "flex w-full items-center px-4 py-1", children: _jsx("div", { className: "flex min-w-0 flex-1 flex-col items-start", children: _jsx("p", { className: "w-full break-words text-center text-[12px] font-normal leading-[160%] tracking-normal text-[#747B7E]", children: formatTimestamp(sendTime, { hasTime: true }) }) }) }));
12
- const BizMessageItem = ({ message, allMessages, isGroupChat = false, }) => {
13
- const userID = useAuthStore((state) => state.userID);
14
- if (!userID)
15
- return null;
16
- if (shouldHideBizMessage(message) ||
17
- !visibleTypeMessage.includes(message.contentType)) {
18
- return null;
19
- }
20
- const display = getBizMessageDisplay(message, allMessages, userID, isGroupChat);
21
- if (!display.isMine) {
22
- return (_jsxs("div", { className: "flex w-full flex-col pb-1", "data-testid": "biz-message-item", children: [display.showTimeBreak && _jsx(BizMessageTime, { sendTime: display.sendTime }), _jsxs("div", { className: "flex w-full items-end gap-1 pl-3 pr-12", children: [isGroupChat &&
23
- (display.showAvatar ? (_jsx(BizMessageAvatar, { avatarUrl: display.senderFaceUrl })) : (_jsx("div", { className: "h-6 w-6 shrink-0 self-end" }))), _jsx("div", { className: "flex min-w-0 flex-1 flex-col gap-1", children: _jsx(BizMessageBubble, { isMine: display.isMine, content: _jsx(BizMessageContent, { message: message }), senderName: display.senderName, showSenderName: display.showSenderName, showTip: display.showTip }) })] })] }));
24
- }
25
- return (_jsxs("div", { className: "flex w-full flex-col pb-1", "data-testid": "biz-message-item", children: [display.showTimeBreak && _jsx(BizMessageTime, { sendTime: display.sendTime }), _jsx("div", { className: "flex w-full justify-end pl-12 pr-3", children: _jsx("div", { className: "flex min-w-0 max-w-[calc(100%-48px)] flex-col items-end gap-1", children: _jsx(BizMessageBubble, { isMine: display.isMine, content: _jsx(BizMessageContent, { message: message }), showTip: display.showTip }) }) })] }));
26
- };
27
- export default BizMessageItem;
@@ -1,3 +0,0 @@
1
- declare const BizCommunityTabPlaceholder: () => import("react/jsx-runtime").JSX.Element;
2
- export default BizCommunityTabPlaceholder;
3
- //# sourceMappingURL=BizCommunityTabPlaceholder.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BizCommunityTabPlaceholder.d.ts","sourceRoot":"","sources":["../../../src/components/bizInbox/BizCommunityTabPlaceholder.tsx"],"names":[],"mappings":"AAMA,QAAA,MAAM,0BAA0B,+CAkB/B,CAAC;AAEF,eAAe,0BAA0B,CAAC"}
@@ -1,10 +0,0 @@
1
- "use client";
2
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import { useTranslation } from "react-i18next";
4
- import { TeamOutlined } from "@ant-design/icons";
5
- import { BIZ_INBOX_TEST_IDS } from "../../constants/bizInbox";
6
- const BizCommunityTabPlaceholder = () => {
7
- const { t } = useTranslation("bizInbox");
8
- return (_jsxs("div", { role: "status", "data-testid": BIZ_INBOX_TEST_IDS.COMMUNITY_PLACEHOLDER, className: "flex flex-1 flex-col items-center justify-center gap-3 p-8 text-center", children: [_jsx(TeamOutlined, { "aria-hidden": true, className: "text-5xl text-primary-500" }), _jsx("div", { className: "text-lg font-semibold text-neutral-900", children: t("community_tab.coming_soon.title") }), _jsx("div", { className: "max-w-md text-sm text-neutral-500", children: t("community_tab.coming_soon.description") })] }));
9
- };
10
- export default BizCommunityTabPlaceholder;
@@ -1,6 +0,0 @@
1
- export interface BizContactListSkeletonProps {
2
- itemCount?: number;
3
- }
4
- declare const BizContactListSkeleton: ({ itemCount, }: BizContactListSkeletonProps) => import("react/jsx-runtime").JSX.Element;
5
- export default BizContactListSkeleton;
6
- //# sourceMappingURL=BizContactListSkeleton.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BizContactListSkeleton.d.ts","sourceRoot":"","sources":["../../../src/components/bizInbox/BizContactListSkeleton.tsx"],"names":[],"mappings":"AAOA,MAAM,WAAW,2BAA2B;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,QAAA,MAAM,sBAAsB,GAAI,gBAE7B,2BAA2B,4CAsB7B,CAAC;AAEF,eAAe,sBAAsB,CAAC"}
@@ -1,8 +0,0 @@
1
- "use client";
2
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import { BIZ_INBOX_DEFAULTS, BIZ_INBOX_TEST_IDS, } from "../../constants/bizInbox";
4
- const BizContactListSkeleton = ({ itemCount = BIZ_INBOX_DEFAULTS.CONTACT_LIST_SKELETON_COUNT, }) => {
5
- const items = Array.from({ length: itemCount }, (_, index) => index);
6
- return (_jsx("div", { "data-testid": BIZ_INBOX_TEST_IDS.CONTACT_LIST_SKELETON, className: "flex h-full w-72 flex-col gap-3 border-r border-neutral-200 bg-neutral-50 p-4", children: items.map((index) => (_jsxs("div", { className: "flex items-center gap-3 rounded-lg bg-white p-3 shadow-sm", children: [_jsx("div", { className: "h-10 w-10 animate-pulse rounded-full bg-neutral-200" }), _jsxs("div", { className: "flex flex-1 flex-col gap-2", children: [_jsx("div", { className: "h-3 w-1/2 animate-pulse rounded bg-neutral-200" }), _jsx("div", { className: "h-2.5 w-1/3 animate-pulse rounded bg-neutral-200" })] })] }, index))) }));
7
- };
8
- export default BizContactListSkeleton;
@@ -1,7 +0,0 @@
1
- export interface BizCreateGroupButtonProps {
2
- onClick: () => void;
3
- disabled?: boolean;
4
- }
5
- declare const BizCreateGroupButton: ({ onClick, disabled }: BizCreateGroupButtonProps) => import("react/jsx-runtime").JSX.Element;
6
- export default BizCreateGroupButton;
7
- //# sourceMappingURL=BizCreateGroupButton.d.ts.map