@droppii-org/chat-sdk 0.6.56 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (435) hide show
  1. package/dist/components/canned-response/CannedResponseBody.d.ts.map +1 -1
  2. package/dist/components/canned-response/CannedResponseBody.js +4 -3
  3. package/dist/components/canned-response/CannedResponsePanel.d.ts +9 -0
  4. package/dist/components/canned-response/CannedResponsePanel.d.ts.map +1 -0
  5. package/dist/components/canned-response/CannedResponsePanel.js +72 -0
  6. package/dist/components/canned-response/CannedResponseRow.d.ts +10 -0
  7. package/dist/components/canned-response/CannedResponseRow.d.ts.map +1 -0
  8. package/dist/components/canned-response/CannedResponseRow.js +6 -0
  9. package/dist/components/canned-response/CannedScopeChips.d.ts +10 -0
  10. package/dist/components/canned-response/CannedScopeChips.d.ts.map +1 -0
  11. package/dist/components/canned-response/CannedScopeChips.js +34 -0
  12. package/dist/components/canned-response/cannedScopes.d.ts +16 -0
  13. package/dist/components/canned-response/cannedScopes.d.ts.map +1 -0
  14. package/dist/components/canned-response/cannedScopes.js +39 -0
  15. package/dist/components/canned-response/index.d.ts.map +1 -1
  16. package/dist/components/canned-response/index.js +11 -10
  17. package/dist/components/canned-response/insertCannedContent.d.ts +7 -0
  18. package/dist/components/canned-response/insertCannedContent.d.ts.map +1 -0
  19. package/dist/components/canned-response/insertCannedContent.js +39 -0
  20. package/dist/components/canned-response/team/TeamItem.d.ts.map +1 -1
  21. package/dist/components/canned-response/team/TeamItem.js +5 -4
  22. package/dist/components/common/ConfirmModal.d.ts +13 -1
  23. package/dist/components/common/ConfirmModal.d.ts.map +1 -1
  24. package/dist/components/common/ConfirmModal.js +24 -6
  25. package/dist/components/common/DeskPanelDrawer.d.ts +17 -0
  26. package/dist/components/common/DeskPanelDrawer.d.ts.map +1 -0
  27. package/dist/components/common/DeskPanelDrawer.js +21 -0
  28. package/dist/components/common/DeskSidePanel.d.ts +17 -0
  29. package/dist/components/common/DeskSidePanel.d.ts.map +1 -0
  30. package/dist/components/common/DeskSidePanel.js +23 -0
  31. package/dist/components/common/TintedAvatar.d.ts +11 -0
  32. package/dist/components/common/TintedAvatar.d.ts.map +1 -0
  33. package/dist/components/common/TintedAvatar.js +17 -0
  34. package/dist/components/compose/ComposeNewMessageModal.d.ts.map +1 -1
  35. package/dist/components/compose/ComposeNewMessageModal.js +11 -1
  36. package/dist/components/conversation/ConversationByGroupItem.d.ts.map +1 -1
  37. package/dist/components/conversation/ConversationByGroupItem.js +10 -6
  38. package/dist/components/conversation/ConversationBySessionItem.d.ts +4 -1
  39. package/dist/components/conversation/ConversationBySessionItem.d.ts.map +1 -1
  40. package/dist/components/conversation/ConversationBySessionItem.js +36 -10
  41. package/dist/components/conversation/DeskConversationList.d.ts.map +1 -1
  42. package/dist/components/conversation/DeskConversationList.js +44 -29
  43. package/dist/components/conversation/DeskConversationRow.d.ts +19 -0
  44. package/dist/components/conversation/DeskConversationRow.d.ts.map +1 -0
  45. package/dist/components/conversation/DeskConversationRow.js +18 -0
  46. package/dist/components/conversation/DeskListEmptyState.d.ts +6 -0
  47. package/dist/components/conversation/DeskListEmptyState.d.ts.map +1 -0
  48. package/dist/components/conversation/DeskListEmptyState.js +11 -0
  49. package/dist/components/conversation/DeskListHeader.d.ts +14 -0
  50. package/dist/components/conversation/DeskListHeader.d.ts.map +1 -0
  51. package/dist/components/conversation/DeskListHeader.js +39 -0
  52. package/dist/components/conversation/DeskListSkeleton.d.ts +6 -0
  53. package/dist/components/conversation/DeskListSkeleton.d.ts.map +1 -0
  54. package/dist/components/conversation/DeskListSkeleton.js +9 -0
  55. package/dist/components/conversation/DeskRowAvatar.d.ts +8 -0
  56. package/dist/components/conversation/DeskRowAvatar.d.ts.map +1 -0
  57. package/dist/components/conversation/DeskRowAvatar.js +6 -0
  58. package/dist/components/conversation/RowChip.d.ts +14 -0
  59. package/dist/components/conversation/RowChip.d.ts.map +1 -0
  60. package/dist/components/conversation/RowChip.js +11 -0
  61. package/dist/components/conversation/avatarTint.d.ts +6 -0
  62. package/dist/components/conversation/avatarTint.d.ts.map +1 -0
  63. package/dist/components/conversation/avatarTint.js +27 -0
  64. package/dist/components/conversation/folderEmptyState.d.ts +2 -0
  65. package/dist/components/conversation/folderEmptyState.d.ts.map +1 -0
  66. package/dist/components/conversation/folderEmptyState.js +14 -0
  67. package/dist/components/conversation/internalNotePreview.d.ts +6 -0
  68. package/dist/components/conversation/internalNotePreview.d.ts.map +1 -0
  69. package/dist/components/conversation/internalNotePreview.js +11 -0
  70. package/dist/components/conversation/listHeading.d.ts +19 -0
  71. package/dist/components/conversation/listHeading.d.ts.map +1 -0
  72. package/dist/components/conversation/listHeading.js +24 -0
  73. package/dist/components/conversation/rowDisplayName.d.ts +7 -0
  74. package/dist/components/conversation/rowDisplayName.d.ts.map +1 -0
  75. package/dist/components/conversation/rowDisplayName.js +8 -0
  76. package/dist/components/conversation/rowTime.d.ts +4 -0
  77. package/dist/components/conversation/rowTime.d.ts.map +1 -0
  78. package/dist/components/conversation/rowTime.js +10 -0
  79. package/dist/components/conversation-detail/PinLimitModal.d.ts.map +1 -1
  80. package/dist/components/conversation-detail/PinLimitModal.js +3 -1
  81. package/dist/components/group/AddMemberModal.d.ts.map +1 -1
  82. package/dist/components/group/AddMemberModal.js +15 -4
  83. package/dist/components/group/AdminPermissionModal.d.ts +1 -0
  84. package/dist/components/group/AdminPermissionModal.d.ts.map +1 -1
  85. package/dist/components/group/AdminPermissionModal.js +38 -3
  86. package/dist/components/group/CreateGroupForm.d.ts +3 -1
  87. package/dist/components/group/CreateGroupForm.d.ts.map +1 -1
  88. package/dist/components/group/CreateGroupForm.js +7 -1
  89. package/dist/components/group/CreateGroupFormCrmView.d.ts +23 -0
  90. package/dist/components/group/CreateGroupFormCrmView.d.ts.map +1 -0
  91. package/dist/components/group/CreateGroupFormCrmView.js +25 -0
  92. package/dist/components/group/DisableSendPermissionConfirm.d.ts +11 -0
  93. package/dist/components/group/DisableSendPermissionConfirm.d.ts.map +1 -0
  94. package/dist/components/group/DisableSendPermissionConfirm.js +10 -0
  95. package/dist/components/group/GroupCompositeAvatar.d.ts.map +1 -1
  96. package/dist/components/group/GroupCompositeAvatar.js +39 -4
  97. package/dist/components/group/GroupMemberPicker.d.ts +5 -2
  98. package/dist/components/group/GroupMemberPicker.d.ts.map +1 -1
  99. package/dist/components/group/GroupMemberPicker.js +8 -42
  100. package/dist/components/group/GroupMemberPickerCrm.d.ts +4 -0
  101. package/dist/components/group/GroupMemberPickerCrm.d.ts.map +1 -0
  102. package/dist/components/group/GroupMemberPickerCrm.js +48 -0
  103. package/dist/components/group/GroupMemberPickerLegacy.d.ts +8 -0
  104. package/dist/components/group/GroupMemberPickerLegacy.d.ts.map +1 -0
  105. package/dist/components/group/GroupMemberPickerLegacy.js +46 -0
  106. package/dist/components/group/GroupPanelHeader.d.ts +10 -0
  107. package/dist/components/group/GroupPanelHeader.d.ts.map +1 -0
  108. package/dist/components/group/GroupPanelHeader.js +11 -0
  109. package/dist/components/group/MemberPermissionPanel.d.ts.map +1 -1
  110. package/dist/components/group/MemberPermissionPanel.js +31 -2
  111. package/dist/components/group/PermissionPanelCrm.d.ts +24 -0
  112. package/dist/components/group/PermissionPanelCrm.d.ts.map +1 -0
  113. package/dist/components/group/PermissionPanelCrm.js +16 -0
  114. package/dist/components/group/PersonAvatar.d.ts +11 -0
  115. package/dist/components/group/PersonAvatar.d.ts.map +1 -0
  116. package/dist/components/group/PersonAvatar.js +21 -0
  117. package/dist/components/group/crmIcon.d.ts +9 -0
  118. package/dist/components/group/crmIcon.d.ts.map +1 -0
  119. package/dist/components/group/crmIcon.js +38 -0
  120. package/dist/components/icon/AdaptiveIcon.d.ts +15 -0
  121. package/dist/components/icon/AdaptiveIcon.d.ts.map +1 -0
  122. package/dist/components/icon/AdaptiveIcon.js +10 -0
  123. package/dist/components/icon/StrokeIcon.d.ts +14 -0
  124. package/dist/components/icon/StrokeIcon.d.ts.map +1 -0
  125. package/dist/components/icon/StrokeIcon.js +5 -0
  126. package/dist/components/icon/strokeIconNodes.d.ts +431 -0
  127. package/dist/components/icon/strokeIconNodes.d.ts.map +1 -0
  128. package/dist/components/icon/strokeIconNodes.js +269 -0
  129. package/dist/components/media-collection/index.d.ts.map +1 -1
  130. package/dist/components/media-collection/index.js +21 -5
  131. package/dist/components/message/GroupMembersDrawer.d.ts.map +1 -1
  132. package/dist/components/message/GroupMembersDrawer.js +60 -13
  133. package/dist/components/message/GroupMembersPanelCrm.d.ts +23 -0
  134. package/dist/components/message/GroupMembersPanelCrm.d.ts.map +1 -0
  135. package/dist/components/message/GroupMembersPanelCrm.js +55 -0
  136. package/dist/components/message/MessageHeader.d.ts.map +1 -1
  137. package/dist/components/message/MessageHeader.js +76 -27
  138. package/dist/components/message/MessageInfiniteScroll.d.ts +4 -2
  139. package/dist/components/message/MessageInfiniteScroll.d.ts.map +1 -1
  140. package/dist/components/message/MessageInfiniteScroll.js +1 -1
  141. package/dist/components/message/MessageList.d.ts +2 -1
  142. package/dist/components/message/MessageList.d.ts.map +1 -1
  143. package/dist/components/message/MessageList.js +12 -1
  144. package/dist/components/message/SelectSession.d.ts +4 -1
  145. package/dist/components/message/SelectSession.d.ts.map +1 -1
  146. package/dist/components/message/SelectSession.js +13 -4
  147. package/dist/components/message/UnassignedSessionFooter.js +2 -2
  148. package/dist/components/message/footer/ActionBar.d.ts +5 -1
  149. package/dist/components/message/footer/ActionBar.d.ts.map +1 -1
  150. package/dist/components/message/footer/ActionBar.js +14 -1
  151. package/dist/components/message/footer/CannedResponsePlugin.d.ts.map +1 -1
  152. package/dist/components/message/footer/CannedResponsePlugin.js +18 -3
  153. package/dist/components/message/footer/ClosedSessionBanner.d.ts +9 -0
  154. package/dist/components/message/footer/ClosedSessionBanner.d.ts.map +1 -0
  155. package/dist/components/message/footer/ClosedSessionBanner.js +13 -0
  156. package/dist/components/message/footer/ComposerEditor.d.ts.map +1 -1
  157. package/dist/components/message/footer/ComposerEditor.js +9 -4
  158. package/dist/components/message/footer/ComposerTabs.d.ts +1 -2
  159. package/dist/components/message/footer/ComposerTabs.d.ts.map +1 -1
  160. package/dist/components/message/footer/ComposerTabs.js +14 -35
  161. package/dist/components/message/footer/CrmComposerCard.d.ts +11 -0
  162. package/dist/components/message/footer/CrmComposerCard.d.ts.map +1 -0
  163. package/dist/components/message/footer/CrmComposerCard.js +30 -0
  164. package/dist/components/message/footer/EnterHandler.d.ts.map +1 -1
  165. package/dist/components/message/footer/EnterHandler.js +3 -0
  166. package/dist/components/message/footer/FilePreview.js +2 -2
  167. package/dist/components/message/footer/LinkInputPreview.js +2 -2
  168. package/dist/components/message/footer/MediaActions.d.ts +2 -1
  169. package/dist/components/message/footer/MediaActions.d.ts.map +1 -1
  170. package/dist/components/message/footer/MediaActions.js +21 -4
  171. package/dist/components/message/footer/SessionClosedModal.d.ts +3 -1
  172. package/dist/components/message/footer/SessionClosedModal.d.ts.map +1 -1
  173. package/dist/components/message/footer/SessionClosedModal.js +6 -2
  174. package/dist/components/message/footer/ToolbarPlugin.d.ts +3 -1
  175. package/dist/components/message/footer/ToolbarPlugin.d.ts.map +1 -1
  176. package/dist/components/message/footer/ToolbarPlugin.js +2 -2
  177. package/dist/components/message/footer/clearComposerHistory.d.ts +3 -0
  178. package/dist/components/message/footer/clearComposerHistory.d.ts.map +1 -0
  179. package/dist/components/message/footer/clearComposerHistory.js +11 -0
  180. package/dist/components/message/footer/index.d.ts +2 -2
  181. package/dist/components/message/footer/index.d.ts.map +1 -1
  182. package/dist/components/message/footer/index.js +15 -5
  183. package/dist/components/message/footer/mention/MentionMenu.d.ts.map +1 -1
  184. package/dist/components/message/footer/mention/MentionMenu.js +4 -1
  185. package/dist/components/message/footer/useComposerFocusRequest.d.ts +10 -0
  186. package/dist/components/message/footer/useComposerFocusRequest.d.ts.map +1 -0
  187. package/dist/components/message/footer/useComposerFocusRequest.js +28 -0
  188. package/dist/components/message/groupMemberMenuCrm.d.ts +32 -0
  189. package/dist/components/message/groupMemberMenuCrm.d.ts.map +1 -0
  190. package/dist/components/message/groupMemberMenuCrm.js +83 -0
  191. package/dist/components/message/groupMemberTypes.d.ts +13 -0
  192. package/dist/components/message/groupMemberTypes.d.ts.map +1 -0
  193. package/dist/components/message/groupMemberTypes.js +1 -0
  194. package/dist/components/message/headerIconButton.d.ts +10 -0
  195. package/dist/components/message/headerIconButton.d.ts.map +1 -0
  196. package/dist/components/message/headerIconButton.js +9 -0
  197. package/dist/components/message/item/CrmSystemLine.d.ts +10 -0
  198. package/dist/components/message/item/CrmSystemLine.d.ts.map +1 -0
  199. package/dist/components/message/item/CrmSystemLine.js +6 -0
  200. package/dist/components/message/item/DateDivider.d.ts +5 -0
  201. package/dist/components/message/item/DateDivider.d.ts.map +1 -0
  202. package/dist/components/message/item/DateDivider.js +5 -0
  203. package/dist/components/message/item/GroupNotificationMessage.d.ts.map +1 -1
  204. package/dist/components/message/item/GroupNotificationMessage.js +9 -0
  205. package/dist/components/message/item/MemberEventSummary.d.ts +8 -0
  206. package/dist/components/message/item/MemberEventSummary.d.ts.map +1 -0
  207. package/dist/components/message/item/MemberEventSummary.js +18 -0
  208. package/dist/components/message/item/MessageBubble.d.ts +3 -1
  209. package/dist/components/message/item/MessageBubble.d.ts.map +1 -1
  210. package/dist/components/message/item/MessageBubble.js +27 -13
  211. package/dist/components/message/item/MessageMoreButton.d.ts +13 -0
  212. package/dist/components/message/item/MessageMoreButton.d.ts.map +1 -0
  213. package/dist/components/message/item/MessageMoreButton.js +42 -0
  214. package/dist/components/message/item/RevokeMessage.js +1 -1
  215. package/dist/components/message/item/SessionEventMessage.d.ts.map +1 -1
  216. package/dist/components/message/item/SessionEventMessage.js +13 -1
  217. package/dist/components/message/item/SystemLogMessage.d.ts.map +1 -1
  218. package/dist/components/message/item/SystemLogMessage.js +7 -0
  219. package/dist/components/message/item/index.d.ts.map +1 -1
  220. package/dist/components/message/item/index.js +64 -15
  221. package/dist/components/message/item/otherSenders.d.ts +7 -0
  222. package/dist/components/message/item/otherSenders.d.ts.map +1 -0
  223. package/dist/components/message/item/otherSenders.js +29 -0
  224. package/dist/components/message/item/textStyle.d.ts +1 -1
  225. package/dist/components/message/item/textStyle.d.ts.map +1 -1
  226. package/dist/components/message/item/textStyle.js +2 -2
  227. package/dist/components/message/messageKeyboardNav.d.ts +8 -0
  228. package/dist/components/message/messageKeyboardNav.d.ts.map +1 -0
  229. package/dist/components/message/messageKeyboardNav.js +24 -0
  230. package/dist/components/message/reply/ReplyPreviewBar.js +2 -2
  231. package/dist/components/message/toolbox/MessageToolboxMenu.d.ts.map +1 -1
  232. package/dist/components/message/toolbox/MessageToolboxMenu.js +16 -1
  233. package/dist/components/search-conversation/SearchAll.d.ts.map +1 -1
  234. package/dist/components/search-conversation/SearchAll.js +12 -1
  235. package/dist/components/search-conversation/SearchDrawer.d.ts.map +1 -1
  236. package/dist/components/search-conversation/SearchDrawer.js +31 -15
  237. package/dist/components/search-conversation/SearchMessageOnCurrentConversation.d.ts.map +1 -1
  238. package/dist/components/search-conversation/SearchMessageOnCurrentConversation.js +5 -2
  239. package/dist/components/search-conversation/index.d.ts.map +1 -1
  240. package/dist/components/search-conversation/index.js +3 -1
  241. package/dist/components/search-conversation/item/SearchItemAsGroup.d.ts.map +1 -1
  242. package/dist/components/search-conversation/item/SearchItemAsGroup.js +14 -4
  243. package/dist/components/search-conversation/item/SearchItemAsMessage.d.ts.map +1 -1
  244. package/dist/components/search-conversation/item/SearchItemAsMessage.js +18 -7
  245. package/dist/components/search-conversation/item/SearchItemAsUser.d.ts.map +1 -1
  246. package/dist/components/search-conversation/item/SearchItemAsUser.js +23 -5
  247. package/dist/components/search-conversation/item/searchRowClass.d.ts +3 -0
  248. package/dist/components/search-conversation/item/searchRowClass.d.ts.map +1 -0
  249. package/dist/components/search-conversation/item/searchRowClass.js +5 -0
  250. package/dist/components/session/DeskAssignedSession.d.ts +5 -1
  251. package/dist/components/session/DeskAssignedSession.d.ts.map +1 -1
  252. package/dist/components/session/DeskAssignedSession.js +40 -12
  253. package/dist/components/session/DeskTeamInbox.d.ts.map +1 -1
  254. package/dist/components/session/DeskTeamInbox.js +15 -22
  255. package/dist/components/session/FolderRow.d.ts +21 -0
  256. package/dist/components/session/FolderRow.d.ts.map +1 -0
  257. package/dist/components/session/FolderRow.js +16 -0
  258. package/dist/components/session/SessionFolderList.d.ts +23 -0
  259. package/dist/components/session/SessionFolderList.d.ts.map +1 -0
  260. package/dist/components/session/SessionFolderList.js +27 -0
  261. package/dist/components/session/sessionFilters.d.ts +24 -0
  262. package/dist/components/session/sessionFilters.d.ts.map +1 -0
  263. package/dist/components/session/sessionFilters.js +80 -0
  264. package/dist/components/shortcut-help/ShortcutHelpModal.d.ts +8 -0
  265. package/dist/components/shortcut-help/ShortcutHelpModal.d.ts.map +1 -0
  266. package/dist/components/shortcut-help/ShortcutHelpModal.js +23 -0
  267. package/dist/components/thread/AssignConfirmModal.d.ts.map +1 -1
  268. package/dist/components/thread/AssignConfirmModal.js +4 -3
  269. package/dist/components/thread/EndSessionConfirm.d.ts +11 -0
  270. package/dist/components/thread/EndSessionConfirm.d.ts.map +1 -0
  271. package/dist/components/thread/EndSessionConfirm.js +31 -0
  272. package/dist/components/thread/EndSessionToast.d.ts +6 -0
  273. package/dist/components/thread/EndSessionToast.d.ts.map +1 -0
  274. package/dist/components/thread/EndSessionToast.js +18 -0
  275. package/dist/components/thread/GroupInfoBodyCrm.d.ts +46 -0
  276. package/dist/components/thread/GroupInfoBodyCrm.d.ts.map +1 -0
  277. package/dist/components/thread/GroupInfoBodyCrm.js +41 -0
  278. package/dist/components/thread/GroupInfoRows.d.ts +33 -0
  279. package/dist/components/thread/GroupInfoRows.d.ts.map +1 -0
  280. package/dist/components/thread/GroupInfoRows.js +18 -0
  281. package/dist/components/thread/GroupThreadInfo.d.ts.map +1 -1
  282. package/dist/components/thread/GroupThreadInfo.js +23 -6
  283. package/dist/components/thread/ManualAssignPopover.d.ts +3 -1
  284. package/dist/components/thread/ManualAssignPopover.d.ts.map +1 -1
  285. package/dist/components/thread/ManualAssignPopover.js +21 -9
  286. package/dist/components/thread/SessionDetailCard.d.ts +6 -0
  287. package/dist/components/thread/SessionDetailCard.d.ts.map +1 -0
  288. package/dist/components/thread/SessionDetailCard.js +103 -0
  289. package/dist/components/thread/SessionSection.d.ts +2 -4
  290. package/dist/components/thread/SessionSection.d.ts.map +1 -1
  291. package/dist/components/thread/SessionSection.js +19 -122
  292. package/dist/components/thread/SessionTagPicker.d.ts +11 -0
  293. package/dist/components/thread/SessionTagPicker.d.ts.map +1 -0
  294. package/dist/components/thread/SessionTagPicker.js +27 -0
  295. package/dist/components/thread/SingleThreadInfo.d.ts.map +1 -1
  296. package/dist/components/thread/SingleThreadInfo.js +16 -6
  297. package/dist/components/thread/SupportSessionPanel.d.ts +18 -0
  298. package/dist/components/thread/SupportSessionPanel.d.ts.map +1 -0
  299. package/dist/components/thread/SupportSessionPanel.js +46 -0
  300. package/dist/components/thread/ThreadInfo.d.ts +8 -1
  301. package/dist/components/thread/ThreadInfo.d.ts.map +1 -1
  302. package/dist/components/thread/ThreadInfo.js +27 -29
  303. package/dist/components/thread/ThreadInfoHeader.d.ts +13 -0
  304. package/dist/components/thread/ThreadInfoHeader.d.ts.map +1 -0
  305. package/dist/components/thread/ThreadInfoHeader.js +11 -0
  306. package/dist/components/thread/UserSection.d.ts.map +1 -1
  307. package/dist/components/thread/UserSection.js +35 -22
  308. package/dist/components/thread/sessionDateFormat.d.ts +3 -0
  309. package/dist/components/thread/sessionDateFormat.d.ts.map +1 -0
  310. package/dist/components/thread/sessionDateFormat.js +13 -0
  311. package/dist/components/thread/sessionDuration.d.ts +5 -0
  312. package/dist/components/thread/sessionDuration.d.ts.map +1 -0
  313. package/dist/components/thread/sessionDuration.js +24 -0
  314. package/dist/constants/index.d.ts +1 -0
  315. package/dist/constants/index.d.ts.map +1 -1
  316. package/dist/constants/index.js +2 -0
  317. package/dist/constants/layout.d.ts +24 -0
  318. package/dist/constants/layout.d.ts.map +1 -0
  319. package/dist/constants/layout.js +23 -0
  320. package/dist/context/ChatContext.d.ts.map +1 -1
  321. package/dist/context/ChatContext.js +27 -1
  322. package/dist/hooks/canned-response/useSearchCannedAcrossScopes.d.ts +7 -0
  323. package/dist/hooks/canned-response/useSearchCannedAcrossScopes.d.ts.map +1 -0
  324. package/dist/hooks/canned-response/useSearchCannedAcrossScopes.js +46 -0
  325. package/dist/hooks/common/useCloseOnSidePanelOpen.d.ts +3 -0
  326. package/dist/hooks/common/useCloseOnSidePanelOpen.d.ts.map +1 -0
  327. package/dist/hooks/common/useCloseOnSidePanelOpen.js +15 -0
  328. package/dist/hooks/common/useDeskShortcuts.d.ts +11 -0
  329. package/dist/hooks/common/useDeskShortcuts.d.ts.map +1 -0
  330. package/dist/hooks/common/useDeskShortcuts.js +94 -0
  331. package/dist/hooks/common/useEscapeLayer.d.ts +3 -0
  332. package/dist/hooks/common/useEscapeLayer.d.ts.map +1 -0
  333. package/dist/hooks/common/useEscapeLayer.js +18 -0
  334. package/dist/hooks/common/useMediaQuery.d.ts +3 -0
  335. package/dist/hooks/common/useMediaQuery.d.ts.map +1 -0
  336. package/dist/hooks/common/useMediaQuery.js +12 -0
  337. package/dist/hooks/common/useSidePanel.d.ts +12 -0
  338. package/dist/hooks/common/useSidePanel.d.ts.map +1 -0
  339. package/dist/hooks/common/useSidePanel.js +32 -0
  340. package/dist/hooks/group/useConversationGroups.d.ts.map +1 -1
  341. package/dist/hooks/group/useConversationGroups.js +3 -0
  342. package/dist/hooks/message/useNewMessageAnnouncement.d.ts +3 -0
  343. package/dist/hooks/message/useNewMessageAnnouncement.d.ts.map +1 -0
  344. package/dist/hooks/message/useNewMessageAnnouncement.js +30 -0
  345. package/dist/hooks/search/useSearchGroups.js +2 -1
  346. package/dist/hooks/search/useSearchMessage.d.ts +3 -1
  347. package/dist/hooks/search/useSearchMessage.d.ts.map +1 -1
  348. package/dist/hooks/search/useSearchMessage.js +2 -2
  349. package/dist/hooks/session/useBotSessionOwnerIdentity.d.ts +12 -0
  350. package/dist/hooks/session/useBotSessionOwnerIdentity.d.ts.map +1 -0
  351. package/dist/hooks/session/useBotSessionOwnerIdentity.js +22 -0
  352. package/dist/hooks/session/useCloseSession.d.ts +1 -0
  353. package/dist/hooks/session/useCloseSession.d.ts.map +1 -1
  354. package/dist/hooks/session/useCloseSession.js +9 -8
  355. package/dist/hooks/session/useEndSession.d.ts +11 -0
  356. package/dist/hooks/session/useEndSession.d.ts.map +1 -0
  357. package/dist/hooks/session/useEndSession.js +45 -0
  358. package/dist/hooks/session/useGetSession.d.ts.map +1 -1
  359. package/dist/hooks/session/useGetSession.js +27 -6
  360. package/dist/hooks/session/usePendingSessionClose.d.ts +5 -0
  361. package/dist/hooks/session/usePendingSessionClose.d.ts.map +1 -0
  362. package/dist/hooks/session/usePendingSessionClose.js +12 -0
  363. package/dist/hooks/session/useSessionCustomerName.d.ts +3 -0
  364. package/dist/hooks/session/useSessionCustomerName.d.ts.map +1 -0
  365. package/dist/hooks/session/useSessionCustomerName.js +19 -0
  366. package/dist/hooks/session/useSessionFieldAutosave.d.ts +19 -0
  367. package/dist/hooks/session/useSessionFieldAutosave.d.ts.map +1 -0
  368. package/dist/hooks/session/useSessionFieldAutosave.js +52 -0
  369. package/dist/index.d.ts +8 -2
  370. package/dist/index.d.ts.map +1 -1
  371. package/dist/index.js +5 -1
  372. package/dist/locales/vi/common.json +201 -21
  373. package/dist/locales/vi/conversation-inbox.json +21 -2
  374. package/dist/screens/desk-message/DeskWorkspace.d.ts +12 -0
  375. package/dist/screens/desk-message/DeskWorkspace.d.ts.map +1 -0
  376. package/dist/screens/desk-message/DeskWorkspace.js +57 -0
  377. package/dist/screens/desk-message/FolderOverlay.d.ts +4 -0
  378. package/dist/screens/desk-message/FolderOverlay.d.ts.map +1 -0
  379. package/dist/screens/desk-message/FolderOverlay.js +32 -0
  380. package/dist/screens/desk-message/SkipLinks.d.ts +4 -0
  381. package/dist/screens/desk-message/SkipLinks.d.ts.map +1 -0
  382. package/dist/screens/desk-message/SkipLinks.js +19 -0
  383. package/dist/screens/desk-message/ViewportNotice.d.ts +4 -0
  384. package/dist/screens/desk-message/ViewportNotice.d.ts.map +1 -0
  385. package/dist/screens/desk-message/ViewportNotice.js +9 -0
  386. package/dist/screens/desk-message/index.d.ts +3 -2
  387. package/dist/screens/desk-message/index.d.ts.map +1 -1
  388. package/dist/screens/desk-message/index.js +4 -12
  389. package/dist/store/deskPanelHost.d.ts +13 -0
  390. package/dist/store/deskPanelHost.d.ts.map +1 -0
  391. package/dist/store/deskPanelHost.js +9 -0
  392. package/dist/store/escapeLayers.d.ts +15 -0
  393. package/dist/store/escapeLayers.d.ts.map +1 -0
  394. package/dist/store/escapeLayers.js +15 -0
  395. package/dist/store/pendingSessionClose.d.ts +19 -0
  396. package/dist/store/pendingSessionClose.d.ts.map +1 -0
  397. package/dist/store/pendingSessionClose.js +74 -0
  398. package/dist/store/session.d.ts +2 -1
  399. package/dist/store/session.d.ts.map +1 -1
  400. package/dist/store/session.js +4 -1
  401. package/dist/store/sessionFolder.d.ts +15 -0
  402. package/dist/store/sessionFolder.d.ts.map +1 -0
  403. package/dist/store/sessionFolder.js +18 -0
  404. package/dist/store/shortcutPrefs.d.ts +9 -0
  405. package/dist/store/shortcutPrefs.d.ts.map +1 -0
  406. package/dist/store/shortcutPrefs.js +23 -0
  407. package/dist/store/sidePanel.d.ts +12 -0
  408. package/dist/store/sidePanel.d.ts.map +1 -0
  409. package/dist/store/sidePanel.js +9 -0
  410. package/dist/store/workspaceLayout.d.ts +12 -0
  411. package/dist/store/workspaceLayout.d.ts.map +1 -0
  412. package/dist/store/workspaceLayout.js +9 -0
  413. package/dist/styles/global.css +1 -1
  414. package/dist/types/chat.d.ts +18 -0
  415. package/dist/types/chat.d.ts.map +1 -1
  416. package/dist/types/dto.d.ts +2 -1
  417. package/dist/types/dto.d.ts.map +1 -1
  418. package/dist/utils/a11yClickable.d.ts +10 -0
  419. package/dist/utils/a11yClickable.d.ts.map +1 -0
  420. package/dist/utils/a11yClickable.js +15 -0
  421. package/dist/utils/events.d.ts +4 -0
  422. package/dist/utils/events.d.ts.map +1 -1
  423. package/dist/utils/headerMemberCount.d.ts +10 -0
  424. package/dist/utils/headerMemberCount.d.ts.map +1 -0
  425. package/dist/utils/headerMemberCount.js +3 -0
  426. package/dist/utils/memberEventRun.d.ts +16 -0
  427. package/dist/utils/memberEventRun.d.ts.map +1 -0
  428. package/dist/utils/memberEventRun.js +40 -0
  429. package/package.json +1 -1
  430. package/dist/components/session/SessionFilterMenu.d.ts +0 -15
  431. package/dist/components/session/SessionFilterMenu.d.ts.map +0 -1
  432. package/dist/components/session/SessionFilterMenu.js +0 -30
  433. package/dist/components/session/sessionMenuItems.d.ts +0 -28
  434. package/dist/components/session/sessionMenuItems.d.ts.map +0 -1
  435. package/dist/components/session/sessionMenuItems.js +0 -119
@@ -0,0 +1,12 @@
1
+ import { useEffect } from "react";
2
+ import usePendingSessionCloseStore from "../../store/pendingSessionClose";
3
+ /** True while a session's close is waiting out its undo period. */
4
+ export const useIsSessionClosePending = (sessionId) => usePendingSessionCloseStore((state) => sessionId ? Boolean(state.pendingIds[sessionId]) : false);
5
+ /** Sends any pending close for the conversation as soon as it is left or unmounted. */
6
+ export const useFlushPendingCloseOnLeave = (conversationId, enabled = true) => {
7
+ useEffect(() => {
8
+ if (!enabled || !conversationId)
9
+ return;
10
+ return () => usePendingSessionCloseStore.getState().flushConversation(conversationId);
11
+ }, [conversationId, enabled]);
12
+ };
@@ -0,0 +1,3 @@
1
+ /** Name of the customer the open support thread belongs to, as the header shows it. */
2
+ export declare const useSessionCustomerName: () => string;
3
+ //# sourceMappingURL=useSessionCustomerName.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSessionCustomerName.d.ts","sourceRoot":"","sources":["../../../src/hooks/session/useSessionCustomerName.ts"],"names":[],"mappings":"AAWA,uFAAuF;AACvF,eAAO,MAAM,sBAAsB,cAmBlC,CAAC"}
@@ -0,0 +1,19 @@
1
+ import useAuthStore from "../../store/auth";
2
+ import useConversationStore from "../../store/conversation";
3
+ import { useConversationDisplayData } from "../../hooks/conversation/useConversation";
4
+ import { PeerType } from "../../types/conversation";
5
+ import { isSupportSessionAgentView, resolveBotSessionOwnerIdentity, resolveSupportSessionOwnerId, } from "../../utils/conversation";
6
+ import { useGetUserSideInfo } from "./useGetUserSideInfo";
7
+ /** Name of the customer the open support thread belongs to, as the header shows it. */
8
+ export const useSessionCustomerName = () => {
9
+ var _a, _b, _c, _d;
10
+ const selfUserID = useAuthStore((state) => state.userID);
11
+ const conversationData = useConversationStore((state) => state.conversationData);
12
+ const { displayName } = useConversationDisplayData(conversationData);
13
+ const ownerId = (conversationData === null || conversationData === void 0 ? void 0 : conversationData.peerType) === PeerType.BOT &&
14
+ isSupportSessionAgentView(conversationData, selfUserID)
15
+ ? resolveSupportSessionOwnerId(conversationData)
16
+ : "";
17
+ const { data: owner } = useGetUserSideInfo((_a = conversationData === null || conversationData === void 0 ? void 0 : conversationData.conversationID) !== null && _a !== void 0 ? _a : "", ownerId);
18
+ return ((_d = (_c = (_b = resolveBotSessionOwnerIdentity(conversationData, owner, selfUserID)) === null || _b === void 0 ? void 0 : _b.displayName) !== null && _c !== void 0 ? _c : displayName) !== null && _d !== void 0 ? _d : "");
19
+ };
@@ -0,0 +1,19 @@
1
+ export type AutosaveStatus = "idle" | "saving" | "saved" | "error";
2
+ interface Options {
3
+ /** Value currently stored on the server; edits equal to it are not saved. */
4
+ serverValue: string;
5
+ save: (value: string) => Promise<unknown>;
6
+ waitMs?: number;
7
+ }
8
+ /**
9
+ * Debounced field autosave. A pending edit is flushed on unmount (while still
10
+ * authenticated) so switching sessions never drops text; failures keep the text.
11
+ */
12
+ export declare const useSessionFieldAutosave: ({ serverValue, save, waitMs, }: Options) => {
13
+ value: string;
14
+ setValue: (next: string) => void;
15
+ status: AutosaveStatus;
16
+ retry: () => Promise<void>;
17
+ };
18
+ export {};
19
+ //# sourceMappingURL=useSessionFieldAutosave.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSessionFieldAutosave.d.ts","sourceRoot":"","sources":["../../../src/hooks/session/useSessionFieldAutosave.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,CAAC;AAEnE,UAAU,OAAO;IACf,6EAA6E;IAC7E,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1C,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,eAAO,MAAM,uBAAuB,GAAI,gCAIrC,OAAO;;qBA0BC,MAAM;;;CAoBhB,CAAC"}
@@ -0,0 +1,52 @@
1
+ import { useCallback, useEffect, useRef, useState } from "react";
2
+ import useAuthStore from "../../store/auth";
3
+ /**
4
+ * Debounced field autosave. A pending edit is flushed on unmount (while still
5
+ * authenticated) so switching sessions never drops text; failures keep the text.
6
+ */
7
+ export const useSessionFieldAutosave = ({ serverValue, save, waitMs = 500, }) => {
8
+ const [value, setValueState] = useState(serverValue);
9
+ const [status, setStatus] = useState("idle");
10
+ const valueRef = useRef(serverValue);
11
+ const savedRef = useRef(serverValue);
12
+ const timerRef = useRef();
13
+ const mountedRef = useRef(true);
14
+ const saveRef = useRef(save);
15
+ saveRef.current = save;
16
+ const persist = useCallback(async () => {
17
+ const next = valueRef.current;
18
+ if (next === savedRef.current)
19
+ return;
20
+ if (mountedRef.current)
21
+ setStatus("saving");
22
+ try {
23
+ await saveRef.current(next);
24
+ savedRef.current = next;
25
+ if (mountedRef.current) {
26
+ setStatus(valueRef.current === next ? "saved" : "saving");
27
+ }
28
+ }
29
+ catch (_a) {
30
+ if (mountedRef.current)
31
+ setStatus("error");
32
+ }
33
+ }, []);
34
+ const setValue = useCallback((next) => {
35
+ valueRef.current = next;
36
+ setValueState(next);
37
+ clearTimeout(timerRef.current);
38
+ timerRef.current = setTimeout(persist, waitMs);
39
+ }, [persist, waitMs]);
40
+ useEffect(() => {
41
+ mountedRef.current = true;
42
+ return () => {
43
+ mountedRef.current = false;
44
+ if (timerRef.current === undefined)
45
+ return;
46
+ clearTimeout(timerRef.current);
47
+ if (useAuthStore.getState().accessToken)
48
+ void persist();
49
+ };
50
+ }, [persist]);
51
+ return { value, setValue, status, retry: persist };
52
+ };
package/dist/index.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import "./locales/i18n";
2
2
  import DChatDeskMessage from "./screens/desk-message";
3
+ import SkipLinks from "./screens/desk-message/SkipLinks";
3
4
  import DChatBubble from "./screens/chat-bubble";
4
5
  import { Platform, LogLevel, SessionType } from "@droppii-org/wasm-client-sdk";
5
6
  import { Icon } from "./components/icon";
@@ -12,9 +13,12 @@ export { default as qs } from "query-string";
12
13
  export * from "antd/es/table";
13
14
  export { ChatProvider, useChatContext } from "./context/ChatContext";
14
15
  export { ConnectStatus, SyncStatus } from "./types/chat";
15
- export type { DChatTheme, ChatProviderProps } from "./types/chat";
16
+ export type { DChatTheme, ChatProviderProps, CannedCreateRequest, } from "./types/chat";
16
17
  export { openLink } from "./utils/openLink";
17
- export { DChatDeskMessage, DChatBubble, Icon };
18
+ export { DChatDeskMessage, DChatBubble, Icon, SkipLinks };
19
+ export { StrokeIcon } from "./components/icon/StrokeIcon";
20
+ export type { StrokeIconProps } from "./components/icon/StrokeIcon";
21
+ export type { StrokeIconName } from "./components/icon/strokeIconNodes";
18
22
  export { default as RichTextEditor } from "./components/rich-text-editor/RichTextEditor";
19
23
  export { default as ShadowStyleBoundary } from "./components/shadow-style-boundary/ShadowStyleBoundary";
20
24
  export type { ShadowStyleBoundaryProps } from "./components/shadow-style-boundary/ShadowStyleBoundary";
@@ -69,4 +73,6 @@ export { MediaEntryCard, MediaResourcePanel, MediaResourceTabs, MediaResourceTab
69
73
  export type { MediaResourceTabsProps } from "./components/media-resources/MediaResourceTabs";
70
74
  export { useMessageResources } from "./hooks/message/useMessageResources";
71
75
  export { PAGE_SIZE } from "./constants";
76
+ export { LAYOUT_BREAKPOINTS, LAYOUT_WIDTHS } from "./constants/layout";
77
+ export { useMediaQuery } from "./hooks/common/useMediaQuery";
72
78
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,gBAAgB,CAAC;AAExB,OAAO,gBAAgB,MAAM,wBAAwB,CAAC;AACtD,OAAO,SAAS,MAAM,kCAAkC,CAAC;AACzD,OAAO,WAAW,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC/E,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,YAAY,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAC7E,OAAO,YAAY,MAAM,cAAc,CAAC;AACxC,cAAc,QAAQ,CAAC;AACvB,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAC/B,OAAO,EAAE,OAAO,IAAI,EAAE,EAAE,MAAM,cAAc,CAAC;AAC7C,cAAc,eAAe,CAAC;AAG9B,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACzD,YAAY,EACV,UAAU,EACV,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAG5C,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,YAAY,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACpE,YAAY,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,8CAA8C,CAAC;AACzF,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,wDAAwD,CAAC;AACxG,YAAY,EAAE,wBAAwB,EAAE,MAAM,wDAAwD,CAAC;AAEvG,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AACjF,YAAY,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAC;AAEhF,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,uDAAuD,CAAC;AACzG,YAAY,EAAE,0BAA0B,EAAE,MAAM,uDAAuD,CAAC;AAMxG,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,sCAAsC,CAAC;AAC7E,YAAY,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAE5E,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,wDAAwD,CAAC;AAC3G,YAAY,EAAE,2BAA2B,EAAE,MAAM,wDAAwD,CAAC;AAM1G,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,wDAAwD,CAAC;AAC3G,YAAY,EAAE,2BAA2B,EAAE,MAAM,wDAAwD,CAAC;AAE1G,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AAChG,YAAY,EAAE,2BAA2B,EAAE,MAAM,6CAA6C,CAAC;AAE/F,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AACnF,YAAY,EAAE,4BAA4B,EAAE,MAAM,+BAA+B,CAAC;AAIlF,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AACtF,YAAY,EAAE,uBAAuB,IAAI,4BAA4B,EAAE,MAAM,kCAAkC,CAAC;AAChH,YAAY,EAAE,WAAW,IAAI,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEtE,OAAO,EACL,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,kCAAkC,CAAC;AAC1C,YAAY,EACV,6BAA6B,EAC7B,4BAA4B,GAC7B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACrE,YAAY,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EACL,YAAY,EACZ,QAAQ,EACR,QAAQ,GACT,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EACV,oBAAoB,EACpB,sBAAsB,EACtB,kBAAkB,EAClB,qBAAqB,EACrB,eAAe,GAChB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,SAAS,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EACL,0BAA0B,GAC3B,MAAM,+CAA+C,CAAC;AACvD,OAAO,EACL,wBAAwB,GACzB,MAAM,6CAA6C,CAAC;AACrD,OAAO,EACL,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,wCAAwC,CAAC;AAGhD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,YAAY,EACV,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,YAAY,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,UAAU,GACX,MAAM,gBAAgB,CAAC;AACxB,YAAY,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAC/E,OAAO,EAAE,qBAAqB,EAAE,MAAM,4CAA4C,CAAC;AACnF,YAAY,EAAE,uBAAuB,EAAE,MAAM,4CAA4C,CAAC;AAC1F,OAAO,EACL,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,iCAAiC,EAAE,MAAM,mDAAmD,CAAC;AAGtG,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,YAAY,EAAE,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAIvE,OAAO,EACL,QAAQ,IAAI,aAAa,EACzB,QAAQ,IAAI,aAAa,EACzB,WAAW,IAAI,gBAAgB,GAChC,CAAC;AAEF,YAAY,EAAE,uBAAuB,EAAE,CAAC;AAExC,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,8BAA8B,CAAC;AACtC,YAAY,EAAE,sBAAsB,EAAE,MAAM,gDAAgD,CAAC;AAC7F,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC"}
package/dist/index.js CHANGED
@@ -1,5 +1,6 @@
1
1
  import "./locales/i18n";
2
2
  import DChatDeskMessage from "./screens/desk-message";
3
+ import SkipLinks from "./screens/desk-message/SkipLinks";
3
4
  import DChatBubble from "./screens/chat-bubble";
4
5
  import { Platform, LogLevel, SessionType } from "@droppii-org/wasm-client-sdk";
5
6
  import { Icon } from "./components/icon";
@@ -15,7 +16,8 @@ export { ChatProvider, useChatContext } from "./context/ChatContext";
15
16
  export { ConnectStatus, SyncStatus } from "./types/chat";
16
17
  export { openLink } from "./utils/openLink";
17
18
  //Components
18
- export { DChatDeskMessage, DChatBubble, Icon };
19
+ export { DChatDeskMessage, DChatBubble, Icon, SkipLinks };
20
+ export { StrokeIcon } from "./components/icon/StrokeIcon";
19
21
  export { default as RichTextEditor } from "./components/rich-text-editor/RichTextEditor";
20
22
  export { default as ShadowStyleBoundary } from "./components/shadow-style-boundary/ShadowStyleBoundary";
21
23
  export { default as DChatConversationInbox } from "./screens/conversation-inbox";
@@ -66,3 +68,5 @@ export { getDChatSDK } from "./constants/sdk";
66
68
  export { MediaEntryCard, MediaResourcePanel, MediaResourceTabs, MediaResourceTabKey, } from "./components/media-resources";
67
69
  export { useMessageResources } from "./hooks/message/useMessageResources";
68
70
  export { PAGE_SIZE } from "./constants";
71
+ export { LAYOUT_BREAKPOINTS, LAYOUT_WIDTHS } from "./constants/layout";
72
+ export { useMediaQuery } from "./hooks/common/useMediaQuery";
@@ -23,7 +23,7 @@
23
23
  "no_conversation": "Không tìm thấy cuộc trò chuyện",
24
24
  "download": "Tải xuống",
25
25
  "active_sessions": "Đang mở",
26
- "closed_sessions": "Đã đóng",
26
+ "closed_sessions": "Đã hoàn thành",
27
27
  "all_groups": "Toàn bộ",
28
28
  "unassigned": "Chưa phân công",
29
29
  "waiting_process": "Chờ xử lý",
@@ -36,8 +36,8 @@
36
36
  "err_get_conversation": "Lỗi khi lấy thông tin cuộc trò chuyện",
37
37
  "enter_message": "Nhập tin nhắn",
38
38
  "enter_internal_message": "Tin nhắn nội bộ chỉ hiển thị với bạn và các thành viên trong nhóm.",
39
- "reply": "Reply",
40
- "internal": "Internal",
39
+ "reply": "Trả lời",
40
+ "internal": "Tin nhắn nội bộ",
41
41
  "canned_response_hint": "Gõ # và nhấn Enter để chèn câu trả lời nhanh",
42
42
  "mention": {
43
43
  "all_members": "Tất cả",
@@ -46,17 +46,17 @@
46
46
  "menu_title": "Nhắc đến",
47
47
  "limit_reached": "Chỉ được nhắc đến tối đa {{max}} thành viên trong một tin nhắn"
48
48
  },
49
- "update_session_status_title": "Cập nhật status",
50
- "update_session_tag_title": "Cập nhật tag",
49
+ "update_session_status_title": "Cập nhật trạng thái",
50
+ "update_session_tag_title": "Cập nhật thẻ",
51
51
  "cancel": "Hủy",
52
52
  "update": "Cập nhật",
53
- "update_session_status_failed": "Cập nhật status không thành công",
54
- "update_session_tag_failed": "Cập nhật tag không thành công",
53
+ "update_session_status_failed": "Cập nhật trạng thái không thành công",
54
+ "update_session_tag_failed": "Cập nhật thẻ không thành công",
55
55
  "customer": "Khách hàng",
56
56
  "you": "Bạn",
57
57
  "current_account": "(tôi)",
58
58
  "message_sender_unnamed": "Thành viên",
59
- "select_tag": "Chọn tag",
59
+ "select_tag": "Chọn thẻ",
60
60
  "search_message": "Tìm kiếm tin nhắn",
61
61
  "no_result": "Không có kết quả",
62
62
  "no_search_text": "Nhập từ khoá tìm kiếm",
@@ -104,7 +104,7 @@
104
104
  "manual_assign_no_results": "Không có kết quả phù hợp",
105
105
  "manual_assign_confirm_question": "Phân công lại cho <bold>{{name}}</bold>?",
106
106
  "manual_assign_button_reassign": "Phân công lại",
107
- "manual_assign_button_auto_reassign": "Auto reassign",
107
+ "manual_assign_button_auto_reassign": "Tự động phân công lại",
108
108
  "manual_assign_success": "Phân công thành công",
109
109
  "auto_assign_success": "Tự động phân công thành công",
110
110
  "auto_assign_failed": "Không có nhân viên phù hợp để phân công",
@@ -115,7 +115,7 @@
115
115
  "select_status": "Chọn trạng thái",
116
116
  "invalid_file_format": "{{fileName}} không đúng định dạng JPG, JPEG, PNG hoặc VIDEO",
117
117
  "file_size_exceeded": "{{fileName}} có kích thước tập tin vượt quá {{maxSize}}MB",
118
- "avatar_invalid_format": "Vui lòng dùng file PNG, JPG, JPEG, WEBP",
118
+ "avatar_invalid_format": "Vui lòng dùng tệp PNG, JPG, JPEG, WEBP",
119
119
  "avatar_size_exceeded": "Vui lòng dùng ảnh dưới {{maxSize}}MB",
120
120
  "file_processing_error": "Đã xảy ra lỗi khi xử lý tệp",
121
121
  "invalid_document_format": "{{fileName}} không đúng định dạng (chỉ hỗ trợ PDF, DOC, DOCX)",
@@ -123,7 +123,7 @@
123
123
  "search_message_title": "Tìm kiếm tin nhắn",
124
124
  "msg_type_image": "[Hình ảnh]",
125
125
  "msg_type_voice": "[Tin nhắn thoại]",
126
- "msg_type_file": "[File]",
126
+ "msg_type_file": "[Tập tin]",
127
127
  "msg_type_video": "[Video]",
128
128
  "msg_type_sticker": "[Nhãn dán]",
129
129
  "msg_type_unsupported": "Tin nhắn không khả dụng",
@@ -156,7 +156,7 @@
156
156
  "session_add_tag_placeholder": "Thêm thẻ...",
157
157
  "session_issue_detail_placeholder": "Vấn đề cụ thể...",
158
158
  "session_note_placeholder": "Ghi chú...",
159
- "session_close_button": "Đóng",
159
+ "session_close_button": "Kết thúc phiên",
160
160
  "member_count": "{{count}} thành viên",
161
161
  "members": "Thành viên",
162
162
  "search_member_placeholder": "Tìm kiếm thành viên",
@@ -180,7 +180,7 @@
180
180
  "assign_as_admin": "Chỉ định làm quản trị viên",
181
181
  "assign_as_admin_success": "Đã chỉ định làm quản trị viên",
182
182
  "assign_admin_confirm_title": "Cấp quyền quản trị viên",
183
- "assign_admin_confirm_message": "Bạn chắc chắn muốn cấp quyền quản trị viên cho \"{{name}}\" ?",
183
+ "assign_admin_confirm_message": "Bạn chắc chắn muốn cấp quyền quản trị viên cho \"{{name}}\"?",
184
184
  "agree": "Đồng ý",
185
185
  "remove_from_admin": "Xoá khỏi quản trị viên",
186
186
  "remove_from_admin_success": "Đã xoá khỏi quản trị viên",
@@ -188,7 +188,7 @@
188
188
  "remove_member_success": "Đã xoá thành viên khỏi nhóm",
189
189
  "remove_member_failed": "Xoá thành viên không thành công, vui lòng thử lại!",
190
190
  "remove_member_confirm_title": "Xóa khỏi nhóm",
191
- "remove_member_confirm_message": "Bạn chắc chắn muốn xóa \"{{name}}\" khỏi nhóm ?",
191
+ "remove_member_confirm_message": "Bạn chắc chắn muốn xóa \"{{name}}\" khỏi nhóm?",
192
192
  "remove_and_block": "Xoá và chặn",
193
193
  "choose_emoji": "Chọn biểu tượng cảm xúc",
194
194
  "emoji_smileys": "Mặt cười",
@@ -209,7 +209,7 @@
209
209
  "replied_you": "đã trả lời bạn",
210
210
  "replied": "đã trả lời",
211
211
  "my_messages": "Tin nhắn của tôi",
212
- "my_inbox_tab": "My inbox",
212
+ "my_inbox_tab": "Của tôi",
213
213
  "team_messages": "Tin nhắn nhóm",
214
214
  "pdp_team_inbox_tag": "Tin nhắn chung",
215
215
  "join_group_required": "Bạn cần tham gia nhóm để gửi tin nhắn",
@@ -229,8 +229,8 @@
229
229
  "leave_group_success": "Rời khỏi nhóm thành công",
230
230
  "leave_group_failed": "Rời khỏi nhóm thất bại",
231
231
  "leave_group_assignee_error": "Bạn đang là người được phân công cho phiên chat đang xử lý, không thể rời nhóm",
232
- "session_closed_modal_title": "Session đã đóng!",
233
- "session_closed_modal_description": "Hãy tạo mới hoặc mở lại session để tiếp tục gửi tin nhắn!",
232
+ "session_closed_modal_title": "Phiên đã kết thúc",
233
+ "session_closed_modal_description": "Hãy tạo mới hoặc mở lại phiên để tiếp tục gửi tin nhắn.",
234
234
  "session_closed_modal_reopen": "Mở lại",
235
235
  "session_closed_modal_create_new": "Tạo mới",
236
236
  "session_action_error": "Không thể thực hiện tác vụ này",
@@ -261,13 +261,13 @@
261
261
  "invite_link_create_button": "Tạo link mới",
262
262
  "invite_link_empty_member_title": "Chưa có link tham gia nhóm",
263
263
  "invite_link_empty_member_subtitle": "Liên hệ quản trị viên để yêu cầu tạo link mới.",
264
- "invite_link_box_label": "Invite Link",
264
+ "invite_link_box_label": "Liên kết mời",
265
265
  "invite_link_load_failed": "Không thể tải thông tin link. Vui lòng thử lại.",
266
266
  "invite_link_action_copy": "Sao chép",
267
267
  "invite_link_action_regenerate": "Tạo mới",
268
268
  "invite_link_action_revoke": "Thu hồi",
269
269
  "invite_link_confirm_title": "Xác nhận",
270
- "invite_link_regenerate_confirm_message": "Sau khi tạo lại, mọi người không thể sử dụng link này để tham gia nhóm nữa. Bạn có chắc chắn muốn hủy?",
270
+ "invite_link_regenerate_confirm_message": "Sau khi tạo lại, mọi người không thể sử dụng link này để tham gia nhóm nữa. Bạn có chắc chắn muốn tạo lại?",
271
271
  "invite_link_revoke_confirm_message": "Sau khi hủy, mọi người không thể sử dụng link này để tham gia nhóm nữa. Bạn có chắc chắn muốn hủy?",
272
272
  "invite_link_create_success": "Đã tạo link tham gia nhóm",
273
273
  "invite_link_create_failed": "Tạo link tham gia nhóm thất bại",
@@ -289,10 +289,190 @@
289
289
  "delete_conversation_confirm_title": "Xóa trò chuyện?",
290
290
  "delete_conversation_confirm_message": "Bạn có chắc chắn muốn xóa trò chuyện này không? Hành động này không thể hoàn tác.",
291
291
  "feature_coming_soon": "Tính năng đang được phát triển",
292
- "bot_tag": "Bot",
293
292
  "block_user": "Chặn người dùng",
294
293
  "unblock_user": "Bỏ chặn người dùng",
295
294
  "block_user_success": "Đã chặn người dùng",
296
295
  "unblock_user_success": "Đã bỏ chặn người dùng",
297
- "block_user_failed": "Thao tác chặn/bỏ chặn thất bại"
296
+ "block_user_failed": "Thao tác chặn/bỏ chặn thất bại",
297
+ "folder_panel_title": "Thư mục hội thoại",
298
+ "folder_panel_collapse": "Thu gọn thư mục",
299
+ "folder_panel_expand": "Mở rộng thư mục",
300
+ "folder_panel_open": "Mở thư mục",
301
+ "folder_panel_close": "Đóng thư mục",
302
+ "folder_empty_slow_processing": "Không có phiên quá hạn",
303
+ "folder_empty_waiting_process": "Không có phiên đang chờ",
304
+ "folder_empty_awaiting_reply": "Không có phiên chưa trả lời",
305
+ "folder_empty_in_process": "Không có phiên đang xử lý",
306
+ "folder_empty_temporarily_paused": "Không có phiên tạm chờ",
307
+ "folder_empty_completed": "Chưa có phiên hoàn thành",
308
+ "folder_empty_unassigned": "Không có phiên chưa phân công",
309
+ "folder_empty_all_groups": "Chưa có nhóm nào",
310
+ "folder_empty_default": "Chưa có hội thoại nào",
311
+ "desk_search_placeholder": "Tìm khách hàng, tin nhắn",
312
+ "compose_new_message": "Tin nhắn mới",
313
+ "no_message_yet": "Chưa có tin nhắn",
314
+ "folder_group_collapse": "Thu gọn {{name}}",
315
+ "folder_group_expand": "Mở rộng {{name}}",
316
+ "viewport_too_narrow": "Vui lòng dùng màn hình rộng từ 1024px",
317
+ "thread_info_open": "Thông tin hội thoại",
318
+ "thread_info_close": "Đóng thông tin (Esc)",
319
+ "search_in_conversation": "Tìm trong hội thoại",
320
+ "media_library_open": "Ảnh, tệp và liên kết",
321
+ "members_open": "Thành viên",
322
+ "action_cancel": "Huỷ",
323
+ "undo": "Hoàn tác",
324
+ "update_session_failed": "Cập nhật phiên không thành công",
325
+ "save_status_saving": "Đang lưu…",
326
+ "save_status_saved": "Đã lưu",
327
+ "save_status_failed": "Lưu không được",
328
+ "end_session_title": "Kết thúc phiên với {{name}}?",
329
+ "end_session_button": "Kết thúc phiên",
330
+ "end_session_ending": "Đang kết thúc…",
331
+ "end_session_done": "Đã kết thúc phiên",
332
+ "end_session_seconds_left": "{{count}} giây",
333
+ "end_session_undo_hint": "Có {{count}} giây để hoàn tác",
334
+ "end_session_row_session": "Phiên",
335
+ "end_session_row_tags": "Thẻ",
336
+ "end_session_row_owner": "Phụ trách",
337
+ "end_session_session_value": "Phiên {{order}} · bắt đầu {{time}}",
338
+ "end_session_no_tags": "Chưa gắn thẻ",
339
+ "end_session_no_owner": "Chưa phân công",
340
+ "session_ended_banner": "Phiên đã kết thúc lúc {{time}}",
341
+ "session_ended_banner_no_time": "Phiên đã kết thúc",
342
+ "session_banner_reopen": "Mở lại phiên",
343
+ "session_banner_create": "Tạo phiên mới",
344
+ "session_closed_crm_title": "Phiên đã kết thúc",
345
+ "session_closed_crm_description": "Mở lại phiên cũ hoặc tạo phiên mới để gửi tin nhắn.",
346
+ "session_closed_crm_reopen": "Mở lại phiên",
347
+ "session_closed_crm_reopen_hint": "Giữ lịch sử phiên {{order}}",
348
+ "session_closed_crm_create": "Tạo phiên mới",
349
+ "session_closed_crm_create_hint": "Bắt đầu một phiên mới cho khách",
350
+ "block_user_confirm_title": "Chặn {{name}}?",
351
+ "block_user_confirm_body": "Người này sẽ không thể nhắn tin cho bạn cho đến khi bạn bỏ chặn.",
352
+ "block_user_confirm_ok": "Chặn",
353
+ "unblock_user_confirm_title": "Bỏ chặn {{name}}?",
354
+ "unblock_user_confirm_body": "Người này sẽ có thể nhắn tin cho bạn trở lại.",
355
+ "unblock_user_confirm_ok": "Bỏ chặn",
356
+ "disable_send_permission_title_all_members": "Tắt quyền gửi tin nhắn của tất cả thành viên?",
357
+ "disable_send_permission_title_all_admins": "Tắt quyền gửi tin nhắn của tất cả quản trị viên?",
358
+ "disable_send_permission_title_member": "Tắt quyền gửi tin nhắn của {{name}}?",
359
+ "disable_send_permission_body": "Họ sẽ không thể gửi tin nhắn trong nhóm cho đến khi bạn bật lại quyền này.",
360
+ "disable_send_permission_ok": "Tắt quyền gửi",
361
+ "session_closed_crm_reopen_hint_no_order": "Giữ lịch sử phiên cũ",
362
+ "composer_mode_label": "Chế độ soạn",
363
+ "composer_placeholder_crm": "Nhập tin nhắn · gõ # để chèn câu trả lời nhanh",
364
+ "composer_closed_placeholder": "Mở lại phiên để tiếp tục trả lời",
365
+ "composer_internal_placeholder": "Viết tin nhắn cho đồng nghiệp",
366
+ "composer_internal_notice": "Khách không thấy tin nhắn này",
367
+ "composer_send": "Gửi",
368
+ "composer_send_note": "Gửi nội bộ",
369
+ "composer_format": "Định dạng chữ",
370
+ "composer_hint_enter": "gửi",
371
+ "composer_hint_newline": "xuống dòng",
372
+ "composer_quick_reply": "Câu trả lời nhanh",
373
+ "composer_emoji": "Biểu tượng cảm xúc",
374
+ "composer_attach_image": "Gửi ảnh",
375
+ "composer_attach_file": "Đính kèm tệp",
376
+ "internal_label": "Tin nhắn nội bộ",
377
+ "internal_preview_prefix": "Tin nhắn nội bộ",
378
+ "canned_search_prompt": "Gõ để tìm câu trả lời nhanh",
379
+ "canned_search_empty": "Không có câu trả lời nào khớp «{{query}}»",
380
+ "canned_create_new": "Tạo mới",
381
+ "canned_create_quick": "Tạo câu trả lời nhanh",
382
+ "canned_hint_select": "chọn",
383
+ "canned_hint_insert": "chèn",
384
+ "canned_hint_close": "đóng",
385
+ "canned_scope_filter": "Phạm vi",
386
+ "canned_loading_failed": "Không tải được câu trả lời nhanh",
387
+ "session_ended_banner_title": "Phiên đã kết thúc",
388
+ "session_ended_banner_at": "lúc {{time}}",
389
+ "reply_status_placeholder": "Trạng thái trả lời",
390
+ "member_events_collapsed": "+{{count}} thay đổi thành viên",
391
+ "member_events_show": "Xem",
392
+ "member_events_hide": "Thu gọn",
393
+ "session_started_at": "bắt đầu {{time}}",
394
+ "session_tags_label": "Thẻ",
395
+ "session_issue_detail_label": "Vấn đề",
396
+ "session_note_label": "Ghi chú phiên",
397
+ "session_owner_label": "Phụ trách",
398
+ "session_add_tag": "Thêm thẻ",
399
+ "session_remove_tag": "Bỏ thẻ {{name}}",
400
+ "session_no_tags": "Chưa có thẻ nào",
401
+ "session_collapse": "Thu gọn",
402
+ "sessions_previous_heading": "Phiên trước",
403
+ "sessions_previous_empty": "Chưa có phiên trước",
404
+ "duration_under_minute": "dưới 1 phút",
405
+ "duration_minutes": "{{count}} phút",
406
+ "duration_hours_minutes": "{{hours}} giờ {{minutes}} phút",
407
+ "duration_hours": "{{count}} giờ",
408
+ "duration_days": "{{count}} ngày",
409
+ "manual_assign_open_sessions": "Đang xử lý {{count}} phiên",
410
+ "user_username_label": "Tên đăng nhập",
411
+ "user_id_label": "Mã người dùng",
412
+ "user_note_label": "Ghi chú khách",
413
+ "user_copy_username": "Sao chép tên đăng nhập",
414
+ "user_copy_id": "Sao chép mã người dùng",
415
+ "shortcut_help_title": "Phím tắt",
416
+ "shortcut_next_prev": "Hội thoại tiếp theo / trước",
417
+ "shortcut_reply": "Trả lời khách",
418
+ "shortcut_internal": "Viết tin nhắn nội bộ",
419
+ "shortcut_search": "Tìm hội thoại",
420
+ "shortcut_escape": "Đóng bảng bên hoặc hộp thoại",
421
+ "shortcut_help": "Mở bảng phím tắt",
422
+ "shortcut_switch_label": "Dùng phím tắt một ký tự",
423
+ "shortcut_switch_hint": "Tắt nếu bạn dùng trình đọc màn hình",
424
+ "close_with_esc": "Đóng (Esc)",
425
+ "skip_to_conversation_list": "Tới danh sách hội thoại",
426
+ "skip_to_composer": "Tới ô soạn tin",
427
+ "search_conversation_label": "Tìm hội thoại",
428
+ "message_actions": "Thao tác với tin nhắn",
429
+ "message_log_label": "Tin nhắn",
430
+ "new_message_from": "Tin nhắn mới từ {{name}}",
431
+ "composer_input_label": "Soạn tin nhắn",
432
+ "clear": "Xoá",
433
+ "member_actions": "Thao tác với thành viên",
434
+ "skip_navigation": "Bỏ qua điều hướng",
435
+ "conversation_list_label": "Danh sách hội thoại",
436
+ "group_info_title": "Thông tin nhóm",
437
+ "group_info_edit_avatar": "Đổi ảnh nhóm",
438
+ "group_info_edit_name": "Đổi tên nhóm",
439
+ "group_info_no_description": "Chưa có mô tả",
440
+ "group_info_add_description": "Thêm mô tả",
441
+ "group_info_edit_description": "Sửa mô tả",
442
+ "group_settings_section": "Cài đặt nhóm",
443
+ "group_admin_section": "Quản trị",
444
+ "allow_send_message_hint": "Tắt thì chỉ chủ nhóm và quản trị viên gửi được",
445
+ "group_owner_only": "Chỉ chủ nhóm",
446
+ "group_delete_conversation": "Xoá trò chuyện",
447
+ "invite_via_link_short": "Mời bằng link",
448
+ "member_permission_row": "Quyền của thành viên",
449
+ "admin_permission_row": "Quyền của quản trị viên",
450
+ "members_panel_title": "Thành viên · {{count}}",
451
+ "members_search_label": "Tìm thành viên",
452
+ "members_add": "Thêm",
453
+ "members_owner_admin_section": "Chủ nhóm và quản trị viên",
454
+ "members_regular_section": "Thành viên · {{count}}",
455
+ "group_owner_chip": "Chủ nhóm",
456
+ "send_disabled_chip": "Đã tắt gửi tin",
457
+ "member_actions_for": "Thao tác với {{name}}",
458
+ "transfer_owner_hint": "Bạn sẽ trở thành thành viên thường",
459
+ "need_remove_member_permission": "Cần quyền xoá thành viên",
460
+ "cannot_remove_group_owner": "Không thể xoá chủ nhóm",
461
+ "leave_group_assignee_reason": "Bạn đang được phân công phiên chat đang xử lý",
462
+ "permission_desc_send_message": "Được gửi tin nhắn trong nhóm",
463
+ "permission_desc_add_member": "Được thêm người vào nhóm",
464
+ "permission_desc_pin_message": "Được ghim và bỏ ghim tin nhắn",
465
+ "permission_desc_view_member_info": "Được xem thông tin của các thành viên",
466
+ "permission_desc_remove_member": "Được xoá thành viên khỏi nhóm",
467
+ "permission_desc_update_group_info": "Được đổi tên, ảnh và mô tả nhóm",
468
+ "members_can_send_message": "Thành viên được gửi tin nhắn",
469
+ "back": "Quay lại",
470
+ "yesterday": "Hôm qua",
471
+ "thread_delete_action": "Xoá trò chuyện",
472
+ "thread_delete_confirm_title": "Xoá trò chuyện?",
473
+ "thread_delete_confirm_message": "Bạn có chắc chắn muốn xoá trò chuyện này không?",
474
+ "thread_delete_irreversible": "Không thể hoàn tác.",
475
+ "desk_brand": "Droppii Livechat",
476
+ "support_session_panel_title": "Phiên hỗ trợ",
477
+ "desk_list_loading": "Đang tải danh sách hội thoại"
298
478
  }
@@ -29,13 +29,32 @@
29
29
  "submit": "Tạo nhóm",
30
30
  "create_group_success": "Tạo nhóm thành công",
31
31
  "create_group_failed": "Không thể tạo nhóm. Vui lòng thử lại",
32
- "avatar_upload_failed": "Không thể tải ảnh lên. Vui lòng thử lại"
32
+ "avatar_upload_failed": "Không thể tải ảnh lên. Vui lòng thử lại",
33
+ "back_to_compose": "Tin nhắn mới",
34
+ "back_to_compose_label": "Quay lại Tin nhắn mới",
35
+ "name_label": "Tên nhóm",
36
+ "add_avatar": "Thêm ảnh nhóm",
37
+ "privacy_private_hint": "Chỉ thành viên mới truy cập và tìm thấy nhóm.",
38
+ "privacy_public_hint": "Mọi người đều tìm thấy và tham gia được.",
39
+ "members_label": "Thành viên",
40
+ "members_owner_note": "· bạn là chủ nhóm",
41
+ "search_label": "Tìm người",
42
+ "search_by_name": "Tìm theo tên hoặc tên đăng nhập",
43
+ "selected_title": "Đã chọn · {{count}}",
44
+ "remove_selected": "Bỏ chọn {{name}}",
45
+ "selected_footer": "{{count}} thành viên được chọn",
46
+ "cancel_crm": "Huỷ",
47
+ "already_in_group": "Đã trong nhóm"
33
48
  },
34
49
  "add_member": {
35
50
  "title": "Thêm người vào nhóm",
36
51
  "confirm": "Xác nhận",
37
52
  "add_member_success": "Thêm thành viên thành công",
38
- "add_member_failed": "Không thể thêm thành viên. Vui lòng thử lại"
53
+ "add_member_failed": "Không thể thêm thành viên. Vui lòng thử lại",
54
+ "title_crm": "Thêm thành viên",
55
+ "selected_footer": "{{count}} người được chọn",
56
+ "submit": "Thêm {{count}} thành viên",
57
+ "submit_empty": "Thêm thành viên"
39
58
  },
40
59
  "empty": {
41
60
  "no_conversations": "Chưa có cuộc trò chuyện",
@@ -0,0 +1,12 @@
1
+ import { GroupThreadInfoConfig } from "../../components/thread/GroupThreadInfo";
2
+ import type { CannedCreateRequest } from "../../types/chat";
3
+ interface DeskWorkspaceProps {
4
+ openCreateCannedModal?: (request?: CannedCreateRequest) => void;
5
+ groupThreadInfoConfig?: GroupThreadInfoConfig;
6
+ onCopyMessageLink?: (conversationId: string, clientMsgID: string) => void;
7
+ onSearchMessageRevoked?: () => void;
8
+ }
9
+ /** Bright Workspace: folder, list, chat and info as separate white panels on the page canvas. */
10
+ declare const DeskWorkspace: ({ openCreateCannedModal, groupThreadInfoConfig, onCopyMessageLink, onSearchMessageRevoked, }: DeskWorkspaceProps) => import("react/jsx-runtime").JSX.Element;
11
+ export default DeskWorkspace;
12
+ //# sourceMappingURL=DeskWorkspace.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeskWorkspace.d.ts","sourceRoot":"","sources":["../../../src/screens/desk-message/DeskWorkspace.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAY5E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAGxD,UAAU,kBAAkB;IAC1B,qBAAqB,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAChE,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;IAC9C,iBAAiB,CAAC,EAAE,CAAC,cAAc,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1E,sBAAsB,CAAC,EAAE,MAAM,IAAI,CAAC;CACrC;AAID,iGAAiG;AACjG,QAAA,MAAM,aAAa,GAAI,8FAKpB,kBAAkB,4CA4FpB,CAAC;AAEF,eAAe,aAAa,CAAC"}
@@ -0,0 +1,57 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { useCallback, useEffect, useState } from "react";
4
+ import MessageList from "../../components/message/MessageList";
5
+ import DeskConversationList from "../../components/conversation/DeskConversationList";
6
+ import DeskAssignedSession from "../../components/session/DeskAssignedSession";
7
+ import ThreadInfo from "../../components/thread/ThreadInfo";
8
+ import { useMediaQuery } from "../../hooks/common/useMediaQuery";
9
+ import { useSidePanel } from "../../hooks/common/useSidePanel";
10
+ import useConversationStore from "../../store/conversation";
11
+ import useDeskPanelHostStore from "../../store/deskPanelHost";
12
+ import useWorkspaceLayoutStore from "../../store/workspaceLayout";
13
+ import { LAYOUT_BREAKPOINTS, LAYOUT_WIDTHS } from "../../constants/layout";
14
+ import { useDeskShortcuts } from "../../hooks/common/useDeskShortcuts";
15
+ import { useNewMessageAnnouncement } from "../../hooks/message/useNewMessageAnnouncement";
16
+ import ShortcutHelpModal from "../../components/shortcut-help/ShortcutHelpModal";
17
+ import FolderOverlay from "./FolderOverlay";
18
+ import ViewportNotice from "./ViewportNotice";
19
+ import { PeerType } from "../../types/conversation";
20
+ const minWidth = (px) => `(min-width: ${px}px)`;
21
+ /** Bright Workspace: folder, list, chat and info as separate white panels on the page canvas. */
22
+ const DeskWorkspace = ({ openCreateCannedModal, groupThreadInfoConfig, onCopyMessageLink, onSearchMessageRevoked, }) => {
23
+ const selectedConversationId = useConversationStore((state) => state.selectedConversationId);
24
+ const searchClientMsgID = useConversationStore((state) => state.searchClientMsgID);
25
+ const { isOpen: isInfoOpen, toggle: toggleInfo, close: closeInfo } = useSidePanel("info");
26
+ const isSupported = useMediaQuery(minWidth(LAYOUT_BREAKPOINTS.minWorkspace));
27
+ const isFolderInline = useMediaQuery(minWidth(LAYOUT_BREAKPOINTS.folderInline));
28
+ const isInfoInline = useMediaQuery(minWidth(LAYOUT_BREAKPOINTS.infoInline));
29
+ const isSupportPanelInline = useMediaQuery(minWidth(LAYOUT_BREAKPOINTS.supportPanelInline));
30
+ // A bot thread's "Phiên hỗ trợ" already holds the right column, so other panels overlay it.
31
+ const isBotThread = useConversationStore((state) => { var _a; return ((_a = state.conversationData) === null || _a === void 0 ? void 0 : _a.peerType) === PeerType.BOT; });
32
+ const sidePanelsInline = isInfoInline && !(isBotThread && isSupportPanelInline);
33
+ const [workspaceEl, setWorkspaceEl] = useState(null);
34
+ const [panelSlotEl, setPanelSlotEl] = useState(null);
35
+ useEffect(() => {
36
+ useDeskPanelHostStore
37
+ .getState()
38
+ .setHost({ workspace: workspaceEl, slot: panelSlotEl, isInline: sidePanelsInline });
39
+ }, [workspaceEl, panelSlotEl, sidePanelsInline]);
40
+ useEffect(() => () => useDeskPanelHostStore.getState().setHost({ workspace: null, slot: null }), []);
41
+ const setFolderOverlayOpen = useWorkspaceLayoutStore((state) => state.setFolderOverlayOpen);
42
+ const [isHelpOpen, setIsHelpOpen] = useState(false);
43
+ const openHelp = useCallback(() => setIsHelpOpen(true), []);
44
+ useDeskShortcuts({ onOpenHelp: openHelp });
45
+ const announcement = useNewMessageAnnouncement();
46
+ // The overlay only exists below the inline breakpoint.
47
+ useEffect(() => {
48
+ if (isFolderInline)
49
+ setFolderOverlayOpen(false);
50
+ }, [isFolderInline, setFolderOverlayOpen]);
51
+ if (!isSupported)
52
+ return _jsx(ViewportNotice, {});
53
+ return (_jsxs("div", { ref: setWorkspaceEl, className: "relative flex flex-1 flex-row h-screen gap-2 p-2 overflow-hidden bg-gray-5", "data-cp-name": "DeskWorkspace", children: [_jsx("div", { "aria-live": "polite", role: "status", className: "sr-only", children: announcement }), isFolderInline && _jsx(DeskAssignedSession, {}), _jsxs("div", { className: "relative h-full shrink-0 overflow-hidden rounded-xl bg-white shadow-sm", style: {
54
+ width: isFolderInline ? LAYOUT_WIDTHS.list : LAYOUT_WIDTHS.listCompact,
55
+ }, children: [_jsx(DeskConversationList, {}), !isFolderInline && _jsx(FolderOverlay, {})] }), _jsx("div", { className: "flex h-full flex-1 overflow-hidden rounded-xl bg-white shadow-sm", style: { minWidth: LAYOUT_WIDTHS.chatMin }, children: _jsx(MessageList, { conversationId: selectedConversationId, searchClientMsgID: searchClientMsgID, openCreateCannedModal: openCreateCannedModal, onOpenThreadInfo: toggleInfo, onCopyMessageLink: onCopyMessageLink, onSearchMessageRevoked: onSearchMessageRevoked, showPinnedMessageBar: true }) }), _jsx(ThreadInfo, { isOpen: isInfoOpen, onClose: closeInfo, groupConfig: groupThreadInfoConfig, supportPanelInline: isSupportPanelInline, drawerContainer: workspaceEl }), _jsx("div", { ref: setPanelSlotEl, className: "contents" }), _jsx(ShortcutHelpModal, { open: isHelpOpen, onClose: () => setIsHelpOpen(false) })] }));
56
+ };
57
+ export default DeskWorkspace;