agx-chat-web 1.2.2 → 1.2.4

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 (203) hide show
  1. package/README.md +49 -49
  2. package/dist/agx-chat.esm.js +2 -0
  3. package/dist/agx-chat.esm.js.map +1 -0
  4. package/dist/agx-chat.umd.js +2 -0
  5. package/dist/agx-chat.umd.js.map +1 -0
  6. package/dist/esm/__tests__/app/Messenger/classes/slaCalculations.spec.d.ts +1 -0
  7. package/dist/esm/__tests__/app/Messenger/classes/slaCalculations.spec.js +46 -0
  8. package/dist/esm/__tests__/app/Messenger/classes/slaCalculations.spec.js.map +1 -0
  9. package/dist/esm/app/ChatProvider/ChatProvider.d.ts +7 -0
  10. package/dist/esm/app/ChatProvider/ChatProvider.js +14 -0
  11. package/dist/esm/app/ChatProvider/ChatProvider.js.map +1 -0
  12. package/dist/esm/app/Messenger/classes/slaCalculations.d.ts +30 -0
  13. package/dist/esm/app/Messenger/classes/slaCalculations.js +144 -0
  14. package/dist/esm/app/Messenger/classes/slaCalculations.js.map +1 -0
  15. package/dist/esm/app/Messenger/components/ChatButton/ChatButton.d.ts +14 -0
  16. package/dist/esm/app/Messenger/components/ChatButton/ChatButton.js +31 -0
  17. package/dist/esm/app/Messenger/components/ChatButton/ChatButton.js.map +1 -0
  18. package/dist/esm/app/Messenger/components/ChatTabs/ChatTabs.d.ts +10 -0
  19. package/dist/esm/app/Messenger/components/ChatTabs/ChatTabs.js +15 -0
  20. package/dist/esm/app/Messenger/components/ChatTabs/ChatTabs.js.map +1 -0
  21. package/dist/esm/app/Messenger/components/DocMessage/DocMessage.d.ts +5 -0
  22. package/dist/esm/app/Messenger/components/DocMessage/DocMessage.js +35 -0
  23. package/dist/esm/app/Messenger/components/DocMessage/DocMessage.js.map +1 -0
  24. package/dist/esm/app/Messenger/components/ImagesContainer/ImagesContainer.d.ts +4 -0
  25. package/dist/esm/app/Messenger/components/ImagesContainer/ImagesContainer.js +39 -0
  26. package/dist/esm/app/Messenger/components/ImagesContainer/ImagesContainer.js.map +1 -0
  27. package/dist/esm/app/Messenger/components/IncomingMessage/IncomingMessage.d.ts +7 -0
  28. package/dist/esm/app/Messenger/components/IncomingMessage/IncomingMessage.js +53 -0
  29. package/dist/esm/app/Messenger/components/IncomingMessage/IncomingMessage.js.map +1 -0
  30. package/dist/esm/app/Messenger/components/InfiniteScroll/InfiniteScroll.d.ts +13 -0
  31. package/dist/esm/app/Messenger/components/InfiniteScroll/InfiniteScroll.js +43 -0
  32. package/dist/esm/app/Messenger/components/InfiniteScroll/InfiniteScroll.js.map +1 -0
  33. package/dist/esm/app/Messenger/components/InputFile/InputFile.d.ts +11 -0
  34. package/dist/esm/app/Messenger/components/InputFile/InputFile.js +74 -0
  35. package/dist/esm/app/Messenger/components/InputFile/InputFile.js.map +1 -0
  36. package/dist/esm/app/Messenger/components/MessageBallon/MessageBalloon.d.ts +9 -0
  37. package/dist/esm/app/Messenger/components/MessageBallon/MessageBalloon.js +34 -0
  38. package/dist/esm/app/Messenger/components/MessageBallon/MessageBalloon.js.map +1 -0
  39. package/dist/esm/app/Messenger/components/MessengerAvatar/MessengerAvatar.d.ts +4 -0
  40. package/dist/esm/app/Messenger/components/MessengerAvatar/MessengerAvatar.js +13 -0
  41. package/dist/esm/app/Messenger/components/MessengerAvatar/MessengerAvatar.js.map +1 -0
  42. package/dist/esm/app/Messenger/components/MessengerThemeWrapper/MessengerThemeWrapper.d.ts +41 -0
  43. package/dist/esm/app/Messenger/components/MessengerThemeWrapper/MessengerThemeWrapper.js +40 -0
  44. package/dist/esm/app/Messenger/components/MessengerThemeWrapper/MessengerThemeWrapper.js.map +1 -0
  45. package/dist/esm/app/Messenger/components/RenderFileIcon/RenderFileIcon.d.ts +6 -0
  46. package/dist/esm/app/Messenger/components/RenderFileIcon/RenderFileIcon.js +29 -0
  47. package/dist/esm/app/Messenger/components/RenderFileIcon/RenderFileIcon.js.map +1 -0
  48. package/dist/esm/app/Messenger/components/SearchInput/SearchInput.d.ts +11 -0
  49. package/dist/esm/app/Messenger/components/SearchInput/SearchInput.js +33 -0
  50. package/dist/esm/app/Messenger/components/SearchInput/SearchInput.js.map +1 -0
  51. package/dist/esm/app/Messenger/components/Select/Select.d.ts +14 -0
  52. package/dist/esm/app/Messenger/components/Select/Select.js +16 -0
  53. package/dist/esm/app/Messenger/components/Select/Select.js.map +1 -0
  54. package/dist/esm/app/Messenger/components/SendMessageForm/SendMessageForm.d.ts +13 -0
  55. package/dist/esm/app/Messenger/components/SendMessageForm/SendMessageForm.js +143 -0
  56. package/dist/esm/app/Messenger/components/SendMessageForm/SendMessageForm.js.map +1 -0
  57. package/dist/esm/app/Messenger/components/SenderMessages/SenderMessages.d.ts +4 -0
  58. package/dist/esm/app/Messenger/components/SenderMessages/SenderMessages.js +43 -0
  59. package/dist/esm/app/Messenger/components/SenderMessages/SenderMessages.js.map +1 -0
  60. package/dist/esm/app/Messenger/components/SystemMessage/SystemMessage.d.ts +4 -0
  61. package/dist/esm/app/Messenger/components/SystemMessage/SystemMessage.js +14 -0
  62. package/dist/esm/app/Messenger/components/SystemMessage/SystemMessage.js.map +1 -0
  63. package/dist/esm/app/Messenger/components/TextArea/TextArea.d.ts +9 -0
  64. package/dist/esm/app/Messenger/components/TextArea/TextArea.js +14 -0
  65. package/dist/esm/app/Messenger/components/TextArea/TextArea.js.map +1 -0
  66. package/dist/esm/app/Messenger/components/Tooltip/Tooltip.d.ts +7 -0
  67. package/dist/esm/app/Messenger/components/Tooltip/Tooltip.js +9 -0
  68. package/dist/esm/app/Messenger/components/Tooltip/Tooltip.js.map +1 -0
  69. package/dist/esm/app/Messenger/hooks/useConversations.d.ts +21 -0
  70. package/dist/esm/app/Messenger/hooks/useConversations.js +105 -0
  71. package/dist/esm/app/Messenger/hooks/useConversations.js.map +1 -0
  72. package/dist/esm/app/Messenger/hooks/useMessages.d.ts +9 -0
  73. package/dist/esm/app/Messenger/hooks/useMessages.js +37 -0
  74. package/dist/esm/app/Messenger/hooks/useMessages.js.map +1 -0
  75. package/dist/esm/app/Messenger/hooks/useThemes.d.ts +32 -0
  76. package/dist/esm/app/Messenger/hooks/useThemes.js +11 -0
  77. package/dist/esm/app/Messenger/hooks/useThemes.js.map +1 -0
  78. package/dist/esm/app/Messenger/icons/AttachFileIcon.d.ts +4 -0
  79. package/dist/esm/app/Messenger/icons/AttachFileIcon.js +10 -0
  80. package/dist/esm/app/Messenger/icons/AttachFileIcon.js.map +1 -0
  81. package/dist/esm/app/Messenger/icons/CSVFileIcon.d.ts +4 -0
  82. package/dist/esm/app/Messenger/icons/CSVFileIcon.js +7 -0
  83. package/dist/esm/app/Messenger/icons/CSVFileIcon.js.map +1 -0
  84. package/dist/esm/app/Messenger/icons/CloseIcon.d.ts +2 -0
  85. package/dist/esm/app/Messenger/icons/CloseIcon.js +9 -0
  86. package/dist/esm/app/Messenger/icons/CloseIcon.js.map +1 -0
  87. package/dist/esm/app/Messenger/icons/DOCFileIcon.d.ts +4 -0
  88. package/dist/esm/app/Messenger/icons/DOCFileIcon.js +18 -0
  89. package/dist/esm/app/Messenger/icons/DOCFileIcon.js.map +1 -0
  90. package/dist/esm/app/Messenger/icons/DownloadMinimalistIcon.d.ts +7 -0
  91. package/dist/esm/app/Messenger/icons/DownloadMinimalistIcon.js +12 -0
  92. package/dist/esm/app/Messenger/icons/DownloadMinimalistIcon.js.map +1 -0
  93. package/dist/esm/app/Messenger/icons/EmptyIcon.d.ts +2 -0
  94. package/dist/esm/app/Messenger/icons/EmptyIcon.js +8 -0
  95. package/dist/esm/app/Messenger/icons/EmptyIcon.js.map +1 -0
  96. package/dist/esm/app/Messenger/icons/MP4FileIcon.d.ts +4 -0
  97. package/dist/esm/app/Messenger/icons/MP4FileIcon.js +7 -0
  98. package/dist/esm/app/Messenger/icons/MP4FileIcon.js.map +1 -0
  99. package/dist/esm/app/Messenger/icons/MessageIcon.d.ts +6 -0
  100. package/dist/esm/app/Messenger/icons/MessageIcon.js +12 -0
  101. package/dist/esm/app/Messenger/icons/MessageIcon.js.map +1 -0
  102. package/dist/esm/app/Messenger/icons/PDFFileIcon.d.ts +4 -0
  103. package/dist/esm/app/Messenger/icons/PDFFileIcon.js +18 -0
  104. package/dist/esm/app/Messenger/icons/PDFFileIcon.js.map +1 -0
  105. package/dist/esm/app/Messenger/icons/ReadIcon.d.ts +4 -0
  106. package/dist/esm/app/Messenger/icons/ReadIcon.js +7 -0
  107. package/dist/esm/app/Messenger/icons/ReadIcon.js.map +1 -0
  108. package/dist/esm/app/Messenger/icons/SearchIcon.d.ts +2 -0
  109. package/dist/esm/app/Messenger/icons/SearchIcon.js +8 -0
  110. package/dist/esm/app/Messenger/icons/SearchIcon.js.map +1 -0
  111. package/dist/esm/app/Messenger/icons/TimerIcon.d.ts +4 -0
  112. package/dist/esm/app/Messenger/icons/TimerIcon.js +7 -0
  113. package/dist/esm/app/Messenger/icons/TimerIcon.js.map +1 -0
  114. package/dist/esm/app/Messenger/icons/TrashIcon.d.ts +6 -0
  115. package/dist/esm/app/Messenger/icons/TrashIcon.js +7 -0
  116. package/dist/esm/app/Messenger/icons/TrashIcon.js.map +1 -0
  117. package/dist/esm/app/Messenger/views/MessengerList.d.ts +40 -0
  118. package/dist/esm/app/Messenger/views/MessengerList.js +46 -0
  119. package/dist/esm/app/Messenger/views/MessengerList.js.map +1 -0
  120. package/dist/esm/app/Messenger/views/MessengerListItem.d.ts +12 -0
  121. package/dist/esm/app/Messenger/views/MessengerListItem.js +99 -0
  122. package/dist/esm/app/Messenger/views/MessengerListItem.js.map +1 -0
  123. package/dist/esm/app/Messenger/views/MessengerMessages.d.ts +35 -0
  124. package/dist/esm/app/Messenger/views/MessengerMessages.js +181 -0
  125. package/dist/esm/app/Messenger/views/MessengerMessages.js.map +1 -0
  126. package/dist/esm/app/Messenger/views/NewFormChat.d.ts +13 -0
  127. package/dist/esm/app/Messenger/views/NewFormChat.js +68 -0
  128. package/dist/esm/app/Messenger/views/NewFormChat.js.map +1 -0
  129. package/dist/esm/app/i18n/index.d.ts +3 -0
  130. package/dist/esm/app/i18n/index.js +32 -0
  131. package/dist/esm/app/i18n/index.js.map +1 -0
  132. package/dist/esm/index.d.ts +11 -0
  133. package/dist/esm/index.js +12 -0
  134. package/dist/esm/index.js.map +1 -0
  135. package/dist/esm/setupTests.d.ts +1 -0
  136. package/{src/setupTests.ts → dist/esm/setupTests.js} +2 -1
  137. package/dist/esm/setupTests.js.map +1 -0
  138. package/dist/esm/types.d.ts +140 -0
  139. package/dist/esm/types.js +2 -0
  140. package/dist/esm/types.js.map +1 -0
  141. package/package.json +90 -91
  142. package/src/__tests__/app/Messenger/classes/slaCalculations.spec.ts +0 -122
  143. package/src/app/ChatProvider/ChatProvider.tsx +0 -20
  144. package/src/app/Messenger/classes/slaCalculations.ts +0 -197
  145. package/src/app/Messenger/components/ChatButton/ChatButton.tsx +0 -64
  146. package/src/app/Messenger/components/ChatTabs/ChatTabs.less +0 -18
  147. package/src/app/Messenger/components/ChatTabs/ChatTabs.tsx +0 -32
  148. package/src/app/Messenger/components/DocMessage/DocMessage.less +0 -71
  149. package/src/app/Messenger/components/DocMessage/DocMessage.tsx +0 -50
  150. package/src/app/Messenger/components/ImagesContainer/ImagesContainer.less +0 -79
  151. package/src/app/Messenger/components/ImagesContainer/ImagesContainer.tsx +0 -51
  152. package/src/app/Messenger/components/IncomingMessage/IncomingMessage.tsx +0 -170
  153. package/src/app/Messenger/components/InfiniteScroll/InfiniteScroll.tsx +0 -80
  154. package/src/app/Messenger/components/InputFile/InputFile.tsx +0 -147
  155. package/src/app/Messenger/components/InputFile/inputFile.less +0 -59
  156. package/src/app/Messenger/components/MessageBallon/MessageBalloon.tsx +0 -100
  157. package/src/app/Messenger/components/MessengerAvatar/MessengerAvatar.tsx +0 -29
  158. package/src/app/Messenger/components/MessengerThemeWrapper/MessengerThemeWrapper.tsx +0 -62
  159. package/src/app/Messenger/components/RenderFileIcon/RenderFileIcon.tsx +0 -40
  160. package/src/app/Messenger/components/SearchInput/SearchInput.less +0 -45
  161. package/src/app/Messenger/components/SearchInput/SearchInput.tsx +0 -77
  162. package/src/app/Messenger/components/Select/Select.less +0 -22
  163. package/src/app/Messenger/components/Select/Select.tsx +0 -56
  164. package/src/app/Messenger/components/SendMessageForm/SendMessageForm.tsx +0 -254
  165. package/src/app/Messenger/components/SenderMessages/SenderMessages.tsx +0 -91
  166. package/src/app/Messenger/components/SystemMessage/SystemMessage.tsx +0 -25
  167. package/src/app/Messenger/components/TextArea/TextArea.tsx +0 -35
  168. package/src/app/Messenger/components/TextArea/Textarea.less +0 -22
  169. package/src/app/Messenger/components/Tooltip/Tooltip.less +0 -27
  170. package/src/app/Messenger/components/Tooltip/Tooltip.tsx +0 -17
  171. package/src/app/Messenger/hooks/useConversations.tsx +0 -143
  172. package/src/app/Messenger/hooks/useMessages.tsx +0 -49
  173. package/src/app/Messenger/hooks/useThemes.tsx +0 -14
  174. package/src/app/Messenger/icons/AttachFileIcon.tsx +0 -20
  175. package/src/app/Messenger/icons/CSVFileIcon.tsx +0 -26
  176. package/src/app/Messenger/icons/CloseIcon.tsx +0 -20
  177. package/src/app/Messenger/icons/DOCFileIcon.tsx +0 -54
  178. package/src/app/Messenger/icons/DownloadMinimalistIcon.tsx +0 -37
  179. package/src/app/Messenger/icons/EmptyIcon.tsx +0 -20
  180. package/src/app/Messenger/icons/MP4FileIcon.tsx +0 -26
  181. package/src/app/Messenger/icons/MessageIcon.tsx +0 -27
  182. package/src/app/Messenger/icons/PDFFileIcon.tsx +0 -54
  183. package/src/app/Messenger/icons/ReadIcon.tsx +0 -18
  184. package/src/app/Messenger/icons/SearchIcon.tsx +0 -20
  185. package/src/app/Messenger/icons/TimerIcon.tsx +0 -18
  186. package/src/app/Messenger/icons/TrashIcon.tsx +0 -21
  187. package/src/app/Messenger/views/Messenger.less +0 -623
  188. package/src/app/Messenger/views/MessengerList.tsx +0 -170
  189. package/src/app/Messenger/views/MessengerListItem.tsx +0 -178
  190. package/src/app/Messenger/views/MessengerMessages.tsx +0 -414
  191. package/src/app/Messenger/views/NewFormChat.tsx +0 -145
  192. package/src/app/i18n/index.ts +0 -36
  193. package/src/app/i18n/locales/en.json +0 -64
  194. package/src/app/i18n/locales/pt.json +0 -64
  195. package/src/assets/right-arrow.svg +0 -10
  196. package/src/index.ts +0 -23
  197. package/src/react-app-env.d.ts +0 -19
  198. package/src/styles/abstracts/animations.less +0 -8
  199. package/src/styles/abstracts/mixins.less +0 -5
  200. package/src/styles/abstracts/variables.less +0 -31
  201. package/src/styles/base/base.less +0 -6
  202. package/src/styles/index.less +0 -5
  203. package/src/types.ts +0 -174
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TimerIcon.js","sourceRoot":"","sources":["../../../../../src/app/Messenger/icons/TimerIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,MAAM,CAAC,OAAO,UAAU,SAAS,CAAE,EAA4B;QAA1B,KAAK,WAAA;IACxC,OAAO,CACL,6BACE,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,OAAO,EAAC,WAAW,EACnB,IAAI,EAAE,KAAK,EACX,KAAK,EAAC,4BAA4B;QAElC,8BACE,CAAC,EAAC,0tDAA0tD,EAC5tD,IAAI,EAAE,KAAK,GACX,CACE,CACP,CAAA;AACH,CAAC"}
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ interface IProps {
3
+ color: string;
4
+ }
5
+ export default function TrashIcon({ color }: IProps): React.JSX.Element;
6
+ export {};
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ export default function TrashIcon(_a) {
3
+ var color = _a.color;
4
+ return (React.createElement("svg", { width: '13', height: '17', viewBox: '0 0 13 17', fill: 'none', xmlns: 'http://www.w3.org/2000/svg' },
5
+ React.createElement("path", { d: 'M13 0.928571H9.75L8.82143 0H4.17857L3.25 0.928571H0V2.78571H13M0.928571 14.8571C0.928571 15.3497 1.12423 15.8221 1.47252 16.1703C1.8208 16.5186 2.29317 16.7143 2.78571 16.7143H10.2143C10.7068 16.7143 11.1792 16.5186 11.5275 16.1703C11.8758 15.8221 12.0714 15.3497 12.0714 14.8571V3.71429H0.928571V14.8571Z', fill: color })));
6
+ }
7
+ //# sourceMappingURL=TrashIcon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TrashIcon.js","sourceRoot":"","sources":["../../../../../src/app/Messenger/icons/TrashIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,MAAM,CAAC,OAAO,UAAU,SAAS,CAAE,EAAiB;QAAf,KAAK,WAAA;IACxC,OAAO,CACL,6BACE,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,KAAK,EAAC,4BAA4B;QAElC,8BACE,CAAC,EAAC,mTAAmT,EACrT,IAAI,EAAE,KAAK,GACX,CACE,CACP,CAAA;AACH,CAAC"}
@@ -0,0 +1,40 @@
1
+ import React from 'react';
2
+ import { IList } from 'types';
3
+ interface IMessengerList {
4
+ affix?: React.ReactElement;
5
+ loading: boolean;
6
+ conversations: IList[];
7
+ currentId?: string;
8
+ failed?: boolean;
9
+ showBadge: boolean;
10
+ tab?: 'list' | 'messages';
11
+ className?: string;
12
+ onClick: (item: IList) => void;
13
+ searchChat: (search: string, key: string) => void;
14
+ searchKeys: {
15
+ label: string;
16
+ value: string;
17
+ }[];
18
+ messegerView: 'empty' | 'messages' | 'newChat';
19
+ helpDesk: boolean;
20
+ handleChangeTickets: (tab: string) => void;
21
+ loadingSearch: boolean;
22
+ chatListTabs: {
23
+ value: string;
24
+ label: string;
25
+ }[];
26
+ chatButtons: {
27
+ label: string;
28
+ onClick: () => void;
29
+ type: string;
30
+ canSee: boolean;
31
+ disabled?: boolean;
32
+ }[];
33
+ canSeeDetailsChat: boolean;
34
+ hasNext: boolean;
35
+ onIntersect: () => void;
36
+ sliceCount: number;
37
+ currentViewerId: string;
38
+ }
39
+ declare function MessengerList({ affix, conversations, tab, className, loading, failed, showBadge, currentId, onClick, searchChat, searchKeys, messegerView, helpDesk, handleChangeTickets, chatListTabs, chatButtons, loadingSearch, canSeeDetailsChat, hasNext, onIntersect, sliceCount, currentViewerId, }: IMessengerList): React.JSX.Element;
40
+ export default MessengerList;
@@ -0,0 +1,46 @@
1
+ import React, { Fragment } from 'react';
2
+ import ChatTabs from '../components/ChatTabs/ChatTabs';
3
+ import ChatButtons from '../components/ChatButton/ChatButton';
4
+ import SearchInput from '../components/SearchInput/SearchInput';
5
+ import MessengerListItem, { activeItem } from './MessengerListItem';
6
+ import useTheme from '../hooks/useThemes';
7
+ import EmptyIcon from '../icons/EmptyIcon';
8
+ import InfiniteScroll from '../components/InfiniteScroll/InfiniteScroll';
9
+ import { useTranslation } from 'react-i18next';
10
+ var ListLoading = function () {
11
+ var theme = useTheme().theme;
12
+ return (React.createElement(Fragment, null, new Array(5).fill('').map(function (_, idx) { return (React.createElement("button", { key: "asideSkeleton".concat(idx), style: {
13
+ background: theme.listItemHover,
14
+ borderBottom: idx < 4 ? "1px solid ".concat(theme.borderColor) : '0',
15
+ }, className: 'messenger__aside-skeleton' })); })));
16
+ };
17
+ function MessengerList(_a) {
18
+ var affix = _a.affix, conversations = _a.conversations, tab = _a.tab, _b = _a.className, className = _b === void 0 ? '' : _b, loading = _a.loading, failed = _a.failed, showBadge = _a.showBadge, currentId = _a.currentId, onClick = _a.onClick, searchChat = _a.searchChat, searchKeys = _a.searchKeys, messegerView = _a.messegerView, helpDesk = _a.helpDesk, handleChangeTickets = _a.handleChangeTickets, chatListTabs = _a.chatListTabs, chatButtons = _a.chatButtons, loadingSearch = _a.loadingSearch, canSeeDetailsChat = _a.canSeeDetailsChat, hasNext = _a.hasNext, onIntersect = _a.onIntersect, sliceCount = _a.sliceCount, currentViewerId = _a.currentViewerId;
19
+ var t = useTranslation('messengerList').t;
20
+ var theme = useTheme().theme;
21
+ return (React.createElement("aside", { className: "messenger__aside ".concat(className, " ").concat(tab === 'messages' ? 'messenger__mobile-hide' : ''), style: {
22
+ border: "1px solid ".concat(theme.borderColor),
23
+ borderRadius: '20px 0 0 20px',
24
+ background: theme.asideBg,
25
+ } },
26
+ React.createElement("div", { className: 'messenger__buttons-container' },
27
+ React.createElement(ChatButtons, { chatButtons: chatButtons, messegerView: messegerView, removeActiveItem: function (e) {
28
+ activeItem(e, 'messenger__aside-list-item', 'messenger__aside-list-item--active');
29
+ } }),
30
+ helpDesk && (React.createElement(SearchInput, { searchKeys: searchKeys, searchChat: searchChat, loadingSearch: loadingSearch }))),
31
+ affix && (React.createElement("div", { className: 'messenger__aside-header' }, React.cloneElement(affix))),
32
+ React.createElement(ChatTabs, { chatListTabs: chatListTabs, handleChangeTickets: handleChangeTickets }),
33
+ React.createElement("div", { className: 'messenger__aside-list' },
34
+ React.createElement(InfiniteScroll, { root: document.querySelector('.messenger__aside-list'), loading: loading, loadingCover: React.createElement(ListLoading, null), more: hasNext, fetch: onIntersect }, Array.isArray(conversations) &&
35
+ conversations.length > 0 &&
36
+ conversations.slice(0, sliceCount).map(function (item) {
37
+ return (React.createElement("div", { key: item === null || item === void 0 ? void 0 : item._id, className: "messenger__aside-item-container ".concat(showBadge ? 'messenger__active-badge' : '') },
38
+ React.createElement(MessengerListItem, { canSeeDetailsChat: canSeeDetailsChat, currentId: currentId, item: item, onClick: onClick, currentViewerId: currentViewerId })));
39
+ })),
40
+ failed ||
41
+ ((conversations === null || conversations === void 0 ? void 0 : conversations.length) === 0 && !loading && (React.createElement("div", { className: 'messenger__aside-empty' },
42
+ React.createElement(EmptyIcon, null),
43
+ React.createElement("p", null, t('noChatFound'))))))));
44
+ }
45
+ export default MessengerList;
46
+ //# sourceMappingURL=MessengerList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MessengerList.js","sourceRoot":"","sources":["../../../../../src/app/Messenger/views/MessengerList.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ import { IList } from 'types';
3
+ interface IListItem {
4
+ onClick: (item: IList) => void;
5
+ item: IList;
6
+ currentId?: string;
7
+ canSeeDetailsChat: boolean;
8
+ currentViewerId: string;
9
+ }
10
+ export declare function activeItem(e: React.MouseEvent<HTMLElement, MouseEvent>, defaultClass: string, activeClass: string): void;
11
+ declare function MessengerListItem({ item, onClick, canSeeDetailsChat, currentId, currentViewerId, }: IListItem): React.JSX.Element;
12
+ export default MessengerListItem;
@@ -0,0 +1,99 @@
1
+ import React, { useState, useMemo, useEffect } from 'react';
2
+ import { SlaDates, timeAsDayjs } from '../classes/slaCalculations';
3
+ import MessengerAvatar from '../components/MessengerAvatar/MessengerAvatar';
4
+ import useTheme from '../hooks/useThemes';
5
+ import TimerIcon from '../icons/TimerIcon';
6
+ export function activeItem(e, defaultClass, activeClass) {
7
+ var click = document.querySelectorAll(".".concat(defaultClass));
8
+ click.forEach(function (item) {
9
+ item.classList.remove(activeClass);
10
+ });
11
+ e.currentTarget.className += " ".concat(activeClass, " ");
12
+ }
13
+ function MessengerListItem(_a) {
14
+ var _b, _c;
15
+ var item = _a.item, onClick = _a.onClick, canSeeDetailsChat = _a.canSeeDetailsChat, currentId = _a.currentId, currentViewerId = _a.currentViewerId;
16
+ var _d = useState(item.totalUnreadMessages), unreadMessages = _d[0], setUnreadMessages = _d[1];
17
+ var closedChat = useMemo(function () {
18
+ return item.status.current.state === 'final'
19
+ ? 'messenger__aside-list-item--closed'
20
+ : '';
21
+ }, [item]);
22
+ var _e = useState(''), background = _e[0], setBackground = _e[1];
23
+ var _f = useState(null), counter = _f[0], setCounter = _f[1];
24
+ var theme = useTheme().theme;
25
+ var isInprogress = ((_c = (_b = item.status) === null || _b === void 0 ? void 0 : _b.current) === null || _c === void 0 ? void 0 : _c.systemicValue) === 'inprogress';
26
+ var otherChatMember = useMemo(function () {
27
+ return (item === null || item === void 0 ? void 0 : item.users.find(function (item) { return item.uniqueCode !== currentViewerId; })) ||
28
+ item.creator;
29
+ }, [item === null || item === void 0 ? void 0 : item.users, currentViewerId]);
30
+ useEffect(function () {
31
+ var _a;
32
+ var interval;
33
+ if (isInprogress && canSeeDetailsChat) {
34
+ var sla = new SlaDates(timeAsDayjs(item.currentTime).diff(item.createdAt, 'second'));
35
+ var diference = sla.calculateWorkingTime(timeAsDayjs(item.createdAt), timeAsDayjs(), { start: 9, end: 18 });
36
+ setCounter(diference);
37
+ if (sla.canUpdateClock(timeAsDayjs())) {
38
+ interval = setInterval(function () {
39
+ setCounter(function (prev) { return (prev !== null ? prev + 1 : null); });
40
+ }, 1000);
41
+ }
42
+ }
43
+ else {
44
+ setCounter((_a = item.SLATimePassed) !== null && _a !== void 0 ? _a : null);
45
+ }
46
+ return function () {
47
+ clearInterval(interval);
48
+ };
49
+ }, []);
50
+ useEffect(function () {
51
+ setUnreadMessages(item.totalUnreadMessages);
52
+ }, [item]);
53
+ function handleClick(e, item) {
54
+ activeItem(e, 'messenger__aside-list-item', 'messenger__aside-list-item--active');
55
+ onClick(item);
56
+ }
57
+ function formatUnreadMessages(unread) {
58
+ if (!unread)
59
+ return 0;
60
+ if (unread >= 99)
61
+ return 99;
62
+ return unread;
63
+ }
64
+ var onMouseOver = function () {
65
+ setBackground(theme === null || theme === void 0 ? void 0 : theme.listItemHover);
66
+ };
67
+ var onMouseLeave = function () {
68
+ setBackground('');
69
+ };
70
+ var ShowTimer = function () {
71
+ if (counter === null)
72
+ return null;
73
+ return (React.createElement("span", { className: 'messenger__aside-timer', style: {
74
+ background: SlaDates.getColorsByTime(counter),
75
+ color: 'var(--secondary-color)',
76
+ width: 'fit-content',
77
+ } },
78
+ React.createElement(TimerIcon, { color: 'var(--secondary-color)' }),
79
+ "\u00A0",
80
+ React.createElement("b", null, SlaDates.secondsInHours(counter))));
81
+ };
82
+ return (React.createElement("div", { className: "messenger__aside-list-item ".concat(closedChat), onClick: function (e) { return handleClick(e, item); }, onMouseOver: onMouseOver, onMouseLeave: onMouseLeave, style: {
83
+ color: theme === null || theme === void 0 ? void 0 : theme.asideFontColor,
84
+ backgroundColor: currentId === item._id ? theme === null || theme === void 0 ? void 0 : theme.active : background,
85
+ } },
86
+ React.createElement(MessengerAvatar, { image: otherChatMember === null || otherChatMember === void 0 ? void 0 : otherChatMember.image }, otherChatMember && otherChatMember.username
87
+ ? otherChatMember.username.slice(0, 1)
88
+ : ''),
89
+ React.createElement("div", { className: 'messenger__aside-list-item--info' },
90
+ React.createElement("p", { className: 'messenger__aside-list-item--title' }, otherChatMember === null || otherChatMember === void 0 ? void 0 : otherChatMember.username),
91
+ (item === null || item === void 0 ? void 0 : item.reason) && (React.createElement("p", { className: 'messenger__aside-list-item--description' }, item.reason)),
92
+ canSeeDetailsChat && React.createElement(ShowTimer, null)),
93
+ item && (React.createElement("div", { className: 'messenger__aside-list-item--additional' },
94
+ canSeeDetailsChat && "#".concat(item.protocol),
95
+ unreadMessages > 0 && (React.createElement("div", { className: 'messenger__aside-list-item--unread' },
96
+ React.createElement("span", null, formatUnreadMessages(unreadMessages))))))));
97
+ }
98
+ export default MessengerListItem;
99
+ //# sourceMappingURL=MessengerListItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MessengerListItem.js","sourceRoot":"","sources":["../../../../../src/app/Messenger/views/MessengerListItem.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ import React from 'react';
2
+ import { ICommonProps, IList, IMessages, IOption } from 'types';
3
+ interface IScrollableContainer {
4
+ loading: boolean;
5
+ onIntersect: () => Promise<void>;
6
+ hasNext: boolean;
7
+ }
8
+ type MessengerView = 'empty' | 'messages' | 'newChat';
9
+ interface IMessengerMessages extends ICommonProps, IScrollableContainer {
10
+ header: React.ReactElement;
11
+ current?: IList;
12
+ creatorId?: string;
13
+ allowImages: boolean;
14
+ tab?: 'list' | 'messages';
15
+ messegerView: MessengerView;
16
+ className?: string;
17
+ messages: IMessages[];
18
+ onSubmit: (value: FormData, callback: () => void) => Promise<void>;
19
+ cancelNewChat: () => void;
20
+ formatDate: (date: string | Date) => string | undefined;
21
+ reasons: Array<IOption>;
22
+ products: Array<IOption>;
23
+ submitNewChat: (values: FormData) => void;
24
+ newChatLoading: boolean;
25
+ maxFileSize: () => Promise<{
26
+ data: {
27
+ data: {
28
+ maxFileSize: number;
29
+ };
30
+ };
31
+ }>;
32
+ }
33
+ export declare function SpinLoading(): React.JSX.Element;
34
+ declare function MessengerMessages({ header, tab, className, current, messages, allowImages, creatorId, loading, onSubmit, submitNewChat, cancelNewChat, reasons, products, messegerView, formatDate, hasNext, onIntersect, newChatLoading, maxFileSize, }: IMessengerMessages): React.JSX.Element;
35
+ export default MessengerMessages;
@@ -0,0 +1,181 @@
1
+ import { __assign, __awaiter, __generator, __rest } from "tslib";
2
+ import React, { Fragment, useState, useRef, useEffect, } from 'react';
3
+ import ImagesContainer from '../components/ImagesContainer/ImagesContainer';
4
+ import MessageBalloon from '../components/MessageBallon/MessageBalloon';
5
+ import MessageIcon from '../icons/MessageIcon';
6
+ import useTheme from '../hooks/useThemes';
7
+ import NewChatForm from './NewFormChat';
8
+ import EmptyIcon from '../icons/EmptyIcon';
9
+ import SendMessageForm from '../components/SendMessageForm/SendMessageForm';
10
+ import InfiniteScroll from '../components/InfiniteScroll/InfiniteScroll';
11
+ import { formatFileSize } from '../components/DocMessage/DocMessage';
12
+ import { useTranslation } from 'react-i18next';
13
+ function MessagesContainerView(_a) {
14
+ var children = _a.children, messegerView = _a.messegerView, submitNewChat = _a.submitNewChat, cancelNewChat = _a.cancelNewChat, reasons = _a.reasons, products = _a.products, newChatLoading = _a.newChatLoading, maxFileSize = _a.maxFileSize, loadingResources = _a.loadingResources;
15
+ var theme = useTheme().theme;
16
+ var t = useTranslation('messengerMessages').t;
17
+ if (messegerView === 'empty') {
18
+ return (React.createElement("div", { className: 'messenger__messages-container--empty', style: { backgroundColor: theme === null || theme === void 0 ? void 0 : theme.messengerNotSelectedBg } },
19
+ React.createElement(MessageIcon, { width: '72', height: '72' }),
20
+ React.createElement("p", null, t('selectConversation'))));
21
+ }
22
+ if (messegerView === 'newChat') {
23
+ return (React.createElement(NewChatForm, { reasons: reasons, products: products, submitNewChat: submitNewChat, cancelNewChat: cancelNewChat, loading: newChatLoading, maxFileSize: maxFileSize, loadingResources: loadingResources }));
24
+ }
25
+ return React.createElement(React.Fragment, null, children);
26
+ }
27
+ export function SpinLoading() {
28
+ return (React.createElement("div", { className: 'messenger__messages-loading' },
29
+ React.createElement("div", { className: 'messenger__messages-loading--loader' })));
30
+ }
31
+ function Messages(_a) {
32
+ var messages = _a.messages, creatorId = _a.creatorId, formatDate = _a.formatDate, loading = _a.loading;
33
+ var theme = useTheme().theme;
34
+ var t = useTranslation('messengerMessages').t;
35
+ if (!messages || (messages.length === 0 && !loading)) {
36
+ return (React.createElement("div", { className: 'messenger__message-empty', style: { color: theme.emptyMessagesFontColor } },
37
+ React.createElement(EmptyIcon, null),
38
+ React.createElement("p", null, t('noMessagesFound'))));
39
+ }
40
+ return (React.createElement(React.Fragment, null, messages.map(function (item, idx) {
41
+ return (React.createElement(Fragment, { key: "".concat(item.ticketId, "_").concat(item.senderId, "_").concat(idx) },
42
+ React.createElement(MessageBalloon, { id: "message_".concat(idx), formatDate: formatDate, creatorId: creatorId, item: item })));
43
+ })));
44
+ }
45
+ var onScrollToBottom = function (scrollContainer) {
46
+ if (scrollContainer.current) {
47
+ scrollContainer.current.scrollTop = Number.MAX_SAFE_INTEGER;
48
+ }
49
+ };
50
+ function MessagesContainer(_a) {
51
+ var children = _a.children, fowardRef = _a.fowardRef, rest = __rest(_a, ["children", "fowardRef"]);
52
+ var theme = useTheme().theme;
53
+ return (React.createElement("div", __assign({}, rest, { ref: fowardRef, className: 'messenger__messages-container', style: {
54
+ padding: '1rem',
55
+ backgroundColor: theme === null || theme === void 0 ? void 0 : theme.messengerMessagesBg,
56
+ border: "1px solid ".concat(theme.borderColor),
57
+ } }), children));
58
+ }
59
+ function ScrollableContainer(_a) {
60
+ var _this = this;
61
+ var children = _a.children, loading = _a.loading, onIntersect = _a.onIntersect, hasNext = _a.hasNext, scrollContainerFowardRef = _a.scrollContainerFowardRef;
62
+ var intersetRootMargin = 300;
63
+ var getElementScrollHeight = function (divRef) {
64
+ if (!divRef)
65
+ return null;
66
+ return divRef.scrollHeight;
67
+ };
68
+ var getElementScrollTop = function (divRef) {
69
+ if (!divRef)
70
+ return null;
71
+ return divRef.scrollTop;
72
+ };
73
+ var calculateScrollToDecrease = function (elementBeforeIntersetHeight, elementAfterIntersectHeight, intersetRootMargin) {
74
+ return (Math.abs(elementAfterIntersectHeight - elementBeforeIntersetHeight) +
75
+ intersetRootMargin);
76
+ };
77
+ var isNill = function (value) {
78
+ return value === null && value === undefined;
79
+ };
80
+ var onFetchInfiniteScroll = function () { return __awaiter(_this, void 0, void 0, function () {
81
+ var elementBeforeIntersetHeight, elementAfterIntersectHeight, currentScrollTop;
82
+ return __generator(this, function (_a) {
83
+ switch (_a.label) {
84
+ case 0:
85
+ elementBeforeIntersetHeight = getElementScrollHeight(scrollContainerFowardRef.current);
86
+ return [4 /*yield*/, onIntersect()];
87
+ case 1:
88
+ _a.sent();
89
+ elementAfterIntersectHeight = getElementScrollHeight(scrollContainerFowardRef.current);
90
+ if (scrollContainerFowardRef.current &&
91
+ !isNill(elementBeforeIntersetHeight) &&
92
+ !isNill(elementAfterIntersectHeight)) {
93
+ currentScrollTop = getElementScrollTop(scrollContainerFowardRef.current) || 0;
94
+ scrollContainerFowardRef.current.scrollTop = calculateScrollToDecrease(elementAfterIntersectHeight, elementBeforeIntersetHeight, currentScrollTop);
95
+ }
96
+ return [2 /*return*/];
97
+ }
98
+ });
99
+ }); };
100
+ useEffect(function () {
101
+ onScrollToBottom(scrollContainerFowardRef);
102
+ }, []);
103
+ return (React.createElement(MessagesContainer, { fowardRef: scrollContainerFowardRef },
104
+ React.createElement(InfiniteScroll, { root: document.querySelector('.messenger__messages-container'), loading: loading, loadingCover: React.createElement(SpinLoading, null), more: hasNext, fetch: onFetchInfiniteScroll, rootMargin: intersetRootMargin, reverse: true }, children)));
105
+ }
106
+ function MessengerMessages(_a) {
107
+ var _this = this;
108
+ var header = _a.header, tab = _a.tab, _b = _a.className, className = _b === void 0 ? '' : _b, current = _a.current, messages = _a.messages, allowImages = _a.allowImages, creatorId = _a.creatorId, loading = _a.loading, onSubmit = _a.onSubmit, submitNewChat = _a.submitNewChat, cancelNewChat = _a.cancelNewChat, reasons = _a.reasons, products = _a.products, messegerView = _a.messegerView, formatDate = _a.formatDate, hasNext = _a.hasNext, onIntersect = _a.onIntersect, newChatLoading = _a.newChatLoading, maxFileSize = _a.maxFileSize;
109
+ var t = useTranslation('messengerMessages').t;
110
+ var _c = useState(), file = _c[0], setFile = _c[1];
111
+ var scrollContainerRef = useRef(null);
112
+ var _d = useState(false), isSending = _d[0], setIsSending = _d[1];
113
+ var _e = useState(''), maxSize = _e[0], setMaxSize = _e[1];
114
+ var theme = useTheme().theme;
115
+ var styleClassnames = {
116
+ mobile: tab === 'list' ? 'messenger__mobile-hide' : '',
117
+ };
118
+ var updateFile = function (file) {
119
+ setFile(file);
120
+ };
121
+ var onSubmitNewMessage = function (message, callback) { return __awaiter(_this, void 0, void 0, function () {
122
+ return __generator(this, function (_a) {
123
+ switch (_a.label) {
124
+ case 0:
125
+ setIsSending(true);
126
+ _a.label = 1;
127
+ case 1:
128
+ _a.trys.push([1, , 3, 4]);
129
+ return [4 /*yield*/, onSubmit(message, callback)];
130
+ case 2:
131
+ _a.sent();
132
+ onScrollToBottom(scrollContainerRef);
133
+ return [3 /*break*/, 4];
134
+ case 3:
135
+ setIsSending(false);
136
+ return [7 /*endfinally*/];
137
+ case 4: return [2 /*return*/];
138
+ }
139
+ });
140
+ }); };
141
+ useEffect(function () {
142
+ var fetchMaxFileSize = function () { return __awaiter(_this, void 0, void 0, function () {
143
+ var response, size, error_1;
144
+ return __generator(this, function (_a) {
145
+ switch (_a.label) {
146
+ case 0:
147
+ _a.trys.push([0, 2, , 3]);
148
+ return [4 /*yield*/, maxFileSize()];
149
+ case 1:
150
+ response = _a.sent();
151
+ size = formatFileSize(response.data.data.maxFileSize);
152
+ setMaxSize(size);
153
+ return [3 /*break*/, 3];
154
+ case 2:
155
+ error_1 = _a.sent();
156
+ console.error(t('errorSearchingMaxFileSize'), error_1);
157
+ return [3 /*break*/, 3];
158
+ case 3: return [2 /*return*/];
159
+ }
160
+ });
161
+ }); };
162
+ fetchMaxFileSize();
163
+ }, [maxSize]);
164
+ return (React.createElement("div", { className: "messenger__messages ".concat(className, " ").concat(styleClassnames.mobile, " ") },
165
+ React.createElement(MessagesContainerView, { newChatLoading: newChatLoading, reasons: reasons, products: products, submitNewChat: submitNewChat, cancelNewChat: cancelNewChat, messegerView: messegerView, maxFileSize: maxSize, loadingResources: loading },
166
+ file ? (React.createElement(ImagesContainer, { file: file, onClose: function () { return setFile(null); } })) : (React.createElement(React.Fragment, null,
167
+ React.createElement("div", { className: 'messenger__messages-header', style: {
168
+ backgroundColor: theme === null || theme === void 0 ? void 0 : theme.headerAndSenderBg,
169
+ border: "1px solid ".concat(theme.borderColor),
170
+ } }, React.cloneElement(header)),
171
+ loading && !messages.length ? (React.createElement(MessagesContainer, { fowardRef: scrollContainerRef },
172
+ React.createElement(SpinLoading, null))) : (React.createElement(ScrollableContainer, { scrollContainerFowardRef: scrollContainerRef, loading: loading, hasNext: hasNext, onIntersect: onIntersect },
173
+ React.createElement(Messages, { formatDate: formatDate, messages: messages, creatorId: creatorId, loading: loading }))))),
174
+ React.createElement("div", { className: 'messenger__messages-send', style: {
175
+ backgroundColor: theme === null || theme === void 0 ? void 0 : theme.headerAndSenderBg,
176
+ border: "1px solid ".concat(theme.borderColor),
177
+ } },
178
+ React.createElement(SendMessageForm, { allowImages: allowImages, onSubmit: onSubmitNewMessage, file: file, updateFile: updateFile, current: current, isLoading: isSending, maxFileSize: maxSize })))));
179
+ }
180
+ export default MessengerMessages;
181
+ //# sourceMappingURL=MessengerMessages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MessengerMessages.js","sourceRoot":"","sources":["../../../../../src/app/Messenger/views/MessengerMessages.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import React from 'react';
2
+ import { IOption } from 'types';
3
+ interface IProps {
4
+ submitNewChat: (values: FormData) => void;
5
+ cancelNewChat: () => void;
6
+ reasons: Array<IOption>;
7
+ products: Array<IOption>;
8
+ loading: boolean;
9
+ maxFileSize: string;
10
+ loadingResources: boolean;
11
+ }
12
+ declare function NewChatForm({ submitNewChat, cancelNewChat, reasons, products, loading, maxFileSize, loadingResources, }: IProps): React.JSX.Element;
13
+ export default NewChatForm;
@@ -0,0 +1,68 @@
1
+ import { __spreadArray } from "tslib";
2
+ import React, { useState } from 'react';
3
+ import InputFile from '../components/InputFile/InputFile';
4
+ import Select from '../components/Select/Select';
5
+ import Textarea from '../components/TextArea/TextArea';
6
+ import useTheme from '../hooks/useThemes';
7
+ import CloseIcon from '../icons/CloseIcon';
8
+ import { useTranslation } from 'react-i18next';
9
+ function NewChatForm(_a) {
10
+ var _b, _c;
11
+ var submitNewChat = _a.submitNewChat, cancelNewChat = _a.cancelNewChat, reasons = _a.reasons, products = _a.products, loading = _a.loading, maxFileSize = _a.maxFileSize, loadingResources = _a.loadingResources;
12
+ var _d = useState((_b = reasons === null || reasons === void 0 ? void 0 : reasons[0]) === null || _b === void 0 ? void 0 : _b.value), reason = _d[0], setReason = _d[1];
13
+ var _e = useState((_c = products === null || products === void 0 ? void 0 : products[0]) === null || _c === void 0 ? void 0 : _c.value), product = _e[0], setProduct = _e[1];
14
+ var _f = useState(), message = _f[0], setMessage = _f[1];
15
+ var _g = useState([]), fileList = _g[0], setFileList = _g[1];
16
+ var t = useTranslation('newFormChat').t;
17
+ var theme = useTheme().theme;
18
+ var onSubmit = function (event) {
19
+ var data2 = new FormData();
20
+ event.preventDefault();
21
+ fileList.forEach(function (file) {
22
+ data2.append("documents", file, file.name);
23
+ });
24
+ if (reason)
25
+ data2.append('reason', reason);
26
+ if (product)
27
+ data2.append('product', product);
28
+ if (message)
29
+ data2.append('message', message);
30
+ submitNewChat(data2);
31
+ };
32
+ var onUpdateFile = function (file) {
33
+ setFileList(function (files) { return __spreadArray(__spreadArray([], files, true), [file], false); });
34
+ };
35
+ var onRemoveFile = function (file) {
36
+ setFileList(fileList.filter(function (item) { return item !== file; }));
37
+ };
38
+ return (React.createElement("div", { className: 'messenger__new-chat-form', style: {
39
+ backgroundColor: theme.newChatFormBg,
40
+ borderRadius: theme.newChatFormRadius,
41
+ } },
42
+ React.createElement("div", { className: 'messenger__new-chat-form-header' },
43
+ React.createElement("h2", { className: 'messenger__new-chat-form-title' },
44
+ React.createElement("b", { style: { color: theme.newChatFormTexts } }, t('newChat'))),
45
+ React.createElement("button", { onClick: cancelNewChat, className: 'messenger__new-chat-form-close' },
46
+ React.createElement(CloseIcon, null))),
47
+ React.createElement("h3", { className: 'messenger__disclaimer', style: {
48
+ borderColor: theme.disclaimerPrimaryColor,
49
+ color: theme.disclaimerTextColor,
50
+ backgroundColor: theme.disclaimerSecondaryColor,
51
+ } },
52
+ t('description.1'),
53
+ " ",
54
+ React.createElement("b", null, t('description.1/2bold')),
55
+ ' ',
56
+ t('description.2')),
57
+ React.createElement("form", { onSubmit: onSubmit, className: 'messenger__new-chat-fields' },
58
+ React.createElement(Select, { onChange: function (value) { return setReason(value); }, options: reasons, placeholder: t('fields.reasons.placeholder'), name: 'reasons', value: reason, label: t('fields.reasons.label') }),
59
+ React.createElement(Select, { onChange: function (value) { return setProduct(value); }, options: products, placeholder: t('fields.product.placeholder'), value: product, name: 'product', label: t('fields.product.label') }),
60
+ React.createElement(InputFile, { fileList: fileList, onUpdateFile: onUpdateFile, onRemoveFile: onRemoveFile, label: t('fields.document.label'), maxSize: maxFileSize, loading: loadingResources }),
61
+ React.createElement(Textarea, { onChange: function (value) { return setMessage(value); }, placeholder: t('fields.message.placeholder'), name: 'message', label: t('fields.message.label') }),
62
+ React.createElement("button", { className: "w-100 ".concat(!loading ? 'messenger__new-chat-form-send' : 'messenger__new-chat-form-send messenger__new-chat-form-send--disabled'), disabled: loading, type: 'submit', style: {
63
+ backgroundColor: !loading ? theme.buttonPrimary : '#ccc',
64
+ color: theme.buttonPrimaryText,
65
+ } }, !loading ? t('buttons.send') : t('buttons.sendingButton')))));
66
+ }
67
+ export default NewChatForm;
68
+ //# sourceMappingURL=NewFormChat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NewFormChat.js","sourceRoot":"","sources":["../../../../../src/app/Messenger/views/NewFormChat.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import i18n from 'i18next';
2
+ export default i18n;
3
+ export declare function setLanguage(lang: string): void;
@@ -0,0 +1,32 @@
1
+ import i18n from 'i18next';
2
+ import { initReactI18next } from 'react-i18next';
3
+ import pt from './locales/pt.json';
4
+ import en from './locales/en.json';
5
+ var resources = makeResources();
6
+ function makeResources() {
7
+ return {
8
+ en: {
9
+ newFormChat: en.newFormChat,
10
+ messengerMessages: en.messengerMessages,
11
+ messengerList: en.messengerList,
12
+ },
13
+ pt: {
14
+ newFormChat: pt.newFormChat,
15
+ messengerMessages: pt.messengerMessages,
16
+ messengerList: pt.messengerList,
17
+ },
18
+ };
19
+ }
20
+ i18n.use(initReactI18next).init({
21
+ resources: resources,
22
+ lng: 'pt',
23
+ fallbackLng: 'pt',
24
+ interpolation: {
25
+ escapeValue: false,
26
+ },
27
+ });
28
+ export default i18n;
29
+ export function setLanguage(lang) {
30
+ i18n.changeLanguage(lang);
31
+ }
32
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/app/i18n/index.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,SAAS,CAAA;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAEhD,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAClC,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAElC,IAAM,SAAS,GAAG,aAAa,EAAE,CAAA;AACjC,SAAS,aAAa;IACpB,OAAO;QACL,EAAE,EAAE;YACF,WAAW,EAAE,EAAE,CAAC,WAAW;YAC3B,iBAAiB,EAAE,EAAE,CAAC,iBAAiB;YACvC,aAAa,EAAE,EAAE,CAAC,aAAa;SAChC;QACD,EAAE,EAAE;YACF,WAAW,EAAE,EAAE,CAAC,WAAW;YAC3B,iBAAiB,EAAE,EAAE,CAAC,iBAAiB;YACvC,aAAa,EAAE,EAAE,CAAC,aAAa;SAChC;KACF,CAAA;AACH,CAAC;AAED,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC;IAC9B,SAAS,WAAA;IACT,GAAG,EAAE,IAAI;IACT,WAAW,EAAE,IAAI;IACjB,aAAa,EAAE;QACb,WAAW,EAAE,KAAK;KACnB;CACF,CAAC,CAAA;AAEF,eAAe,IAAI,CAAA;AAEnB,MAAM,UAAU,WAAW,CAAE,IAAY;IACvC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;AAC3B,CAAC"}
@@ -0,0 +1,11 @@
1
+ import './styles/index.less';
2
+ import MessengerList from './app/Messenger/views/MessengerList';
3
+ import MessengerMessages from './app/Messenger/views/MessengerMessages';
4
+ import MessengerListItem from './app/Messenger/views/MessengerListItem';
5
+ import MessengerThemeWrapper from './app/Messenger/components/MessengerThemeWrapper/MessengerThemeWrapper';
6
+ import NewChatButton from './app/Messenger/components/ChatButton/ChatButton';
7
+ import { useConversations } from './app/Messenger/hooks/useConversations';
8
+ import { useMessages } from './app/Messenger/hooks/useMessages';
9
+ import { setLanguage } from './app/i18n';
10
+ import ChatProvider from './app/ChatProvider/ChatProvider';
11
+ export { MessengerList, MessengerMessages, MessengerListItem, MessengerThemeWrapper, NewChatButton, useConversations, useMessages, setLanguage, ChatProvider, };