agx-chat-web 0.4.9

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 (154) hide show
  1. package/README.md +9 -0
  2. package/dist/agx-chat.js +3 -0
  3. package/dist/agx-chat.js.LICENSE.txt +303 -0
  4. package/dist/agx-chat.js.map +1 -0
  5. package/dist/agx-chat.min.js +3 -0
  6. package/dist/agx-chat.min.js.LICENSE.txt +303 -0
  7. package/dist/agx-chat.min.js.map +1 -0
  8. package/dist/esm/__tests__/app/Messenger/classes/slaCalculations.spec.d.ts +1 -0
  9. package/dist/esm/__tests__/app/Messenger/classes/slaCalculations.spec.js +46 -0
  10. package/dist/esm/__tests__/app/Messenger/classes/slaCalculations.spec.js.map +1 -0
  11. package/dist/esm/app/Messenger/classes/slaCalculations.d.ts +30 -0
  12. package/dist/esm/app/Messenger/classes/slaCalculations.js +142 -0
  13. package/dist/esm/app/Messenger/classes/slaCalculations.js.map +1 -0
  14. package/dist/esm/app/Messenger/components/ChatButton/ChatButton.d.ts +14 -0
  15. package/dist/esm/app/Messenger/components/ChatButton/ChatButton.js +31 -0
  16. package/dist/esm/app/Messenger/components/ChatButton/ChatButton.js.map +1 -0
  17. package/dist/esm/app/Messenger/components/ChatTabs/ChatTabs.d.ts +9 -0
  18. package/dist/esm/app/Messenger/components/ChatTabs/ChatTabs.js +15 -0
  19. package/dist/esm/app/Messenger/components/ChatTabs/ChatTabs.js.map +1 -0
  20. package/dist/esm/app/Messenger/components/ImagesContainer/ImagesContainer.d.ts +3 -0
  21. package/dist/esm/app/Messenger/components/ImagesContainer/ImagesContainer.js +24 -0
  22. package/dist/esm/app/Messenger/components/ImagesContainer/ImagesContainer.js.map +1 -0
  23. package/dist/esm/app/Messenger/components/IncomingMessage/IncomingMessage.d.ts +3 -0
  24. package/dist/esm/app/Messenger/components/IncomingMessage/IncomingMessage.js +33 -0
  25. package/dist/esm/app/Messenger/components/IncomingMessage/IncomingMessage.js.map +1 -0
  26. package/dist/esm/app/Messenger/components/InfiniteScroll/InfiniteScroll.d.ts +11 -0
  27. package/dist/esm/app/Messenger/components/InfiniteScroll/InfiniteScroll.js +37 -0
  28. package/dist/esm/app/Messenger/components/InfiniteScroll/InfiniteScroll.js.map +1 -0
  29. package/dist/esm/app/Messenger/components/InputFile/InputFile.d.ts +8 -0
  30. package/dist/esm/app/Messenger/components/InputFile/InputFile.js +59 -0
  31. package/dist/esm/app/Messenger/components/InputFile/InputFile.js.map +1 -0
  32. package/dist/esm/app/Messenger/components/MessageBallon/MessageBalloon.d.ts +8 -0
  33. package/dist/esm/app/Messenger/components/MessageBallon/MessageBalloon.js +32 -0
  34. package/dist/esm/app/Messenger/components/MessageBallon/MessageBalloon.js.map +1 -0
  35. package/dist/esm/app/Messenger/components/MessengerAvatar/MessengerAvatar.d.ts +3 -0
  36. package/dist/esm/app/Messenger/components/MessengerAvatar/MessengerAvatar.js +13 -0
  37. package/dist/esm/app/Messenger/components/MessengerAvatar/MessengerAvatar.js.map +1 -0
  38. package/dist/esm/app/Messenger/components/MessengerThemeWrapper/MessengerThemeWrapper.d.ts +40 -0
  39. package/dist/esm/app/Messenger/components/MessengerThemeWrapper/MessengerThemeWrapper.js +39 -0
  40. package/dist/esm/app/Messenger/components/MessengerThemeWrapper/MessengerThemeWrapper.js.map +1 -0
  41. package/dist/esm/app/Messenger/components/SearchInput/SearchInput.d.ts +10 -0
  42. package/dist/esm/app/Messenger/components/SearchInput/SearchInput.js +32 -0
  43. package/dist/esm/app/Messenger/components/SearchInput/SearchInput.js.map +1 -0
  44. package/dist/esm/app/Messenger/components/Select/Select.d.ts +13 -0
  45. package/dist/esm/app/Messenger/components/Select/Select.js +16 -0
  46. package/dist/esm/app/Messenger/components/Select/Select.js.map +1 -0
  47. package/dist/esm/app/Messenger/components/SenderMessages/SenderMessages.d.ts +3 -0
  48. package/dist/esm/app/Messenger/components/SenderMessages/SenderMessages.js +32 -0
  49. package/dist/esm/app/Messenger/components/SenderMessages/SenderMessages.js.map +1 -0
  50. package/dist/esm/app/Messenger/components/SystemMessage/SystemMessage.d.ts +3 -0
  51. package/dist/esm/app/Messenger/components/SystemMessage/SystemMessage.js +14 -0
  52. package/dist/esm/app/Messenger/components/SystemMessage/SystemMessage.js.map +1 -0
  53. package/dist/esm/app/Messenger/components/TextArea/TextArea.d.ts +8 -0
  54. package/dist/esm/app/Messenger/components/TextArea/TextArea.js +14 -0
  55. package/dist/esm/app/Messenger/components/TextArea/TextArea.js.map +1 -0
  56. package/dist/esm/app/Messenger/hooks/useConversations.d.ts +11 -0
  57. package/dist/esm/app/Messenger/hooks/useConversations.js +59 -0
  58. package/dist/esm/app/Messenger/hooks/useConversations.js.map +1 -0
  59. package/dist/esm/app/Messenger/hooks/useThemes.d.ts +31 -0
  60. package/dist/esm/app/Messenger/hooks/useThemes.js +11 -0
  61. package/dist/esm/app/Messenger/hooks/useThemes.js.map +1 -0
  62. package/dist/esm/app/Messenger/icons/AttachFileIcon.d.ts +3 -0
  63. package/dist/esm/app/Messenger/icons/AttachFileIcon.js +10 -0
  64. package/dist/esm/app/Messenger/icons/AttachFileIcon.js.map +1 -0
  65. package/dist/esm/app/Messenger/icons/CloseIcon.d.ts +1 -0
  66. package/dist/esm/app/Messenger/icons/CloseIcon.js +9 -0
  67. package/dist/esm/app/Messenger/icons/CloseIcon.js.map +1 -0
  68. package/dist/esm/app/Messenger/icons/EmptyIcon.d.ts +1 -0
  69. package/dist/esm/app/Messenger/icons/EmptyIcon.js +8 -0
  70. package/dist/esm/app/Messenger/icons/EmptyIcon.js.map +1 -0
  71. package/dist/esm/app/Messenger/icons/MessageIcon.d.ts +5 -0
  72. package/dist/esm/app/Messenger/icons/MessageIcon.js +12 -0
  73. package/dist/esm/app/Messenger/icons/MessageIcon.js.map +1 -0
  74. package/dist/esm/app/Messenger/icons/ReadIcon.d.ts +3 -0
  75. package/dist/esm/app/Messenger/icons/ReadIcon.js +7 -0
  76. package/dist/esm/app/Messenger/icons/ReadIcon.js.map +1 -0
  77. package/dist/esm/app/Messenger/icons/SearchIcon.d.ts +1 -0
  78. package/dist/esm/app/Messenger/icons/SearchIcon.js +8 -0
  79. package/dist/esm/app/Messenger/icons/SearchIcon.js.map +1 -0
  80. package/dist/esm/app/Messenger/icons/TimerIcon.d.ts +1 -0
  81. package/dist/esm/app/Messenger/icons/TimerIcon.js +6 -0
  82. package/dist/esm/app/Messenger/icons/TimerIcon.js.map +1 -0
  83. package/dist/esm/app/Messenger/icons/TrashIcon.d.ts +5 -0
  84. package/dist/esm/app/Messenger/icons/TrashIcon.js +7 -0
  85. package/dist/esm/app/Messenger/icons/TrashIcon.js.map +1 -0
  86. package/dist/esm/app/Messenger/views/MessengerList.d.ts +39 -0
  87. package/dist/esm/app/Messenger/views/MessengerList.js +50 -0
  88. package/dist/esm/app/Messenger/views/MessengerList.js.map +1 -0
  89. package/dist/esm/app/Messenger/views/MessengerListItem.d.ts +11 -0
  90. package/dist/esm/app/Messenger/views/MessengerListItem.js +87 -0
  91. package/dist/esm/app/Messenger/views/MessengerListItem.js.map +1 -0
  92. package/dist/esm/app/Messenger/views/MessengerMessages.d.ts +23 -0
  93. package/dist/esm/app/Messenger/views/MessengerMessages.js +133 -0
  94. package/dist/esm/app/Messenger/views/MessengerMessages.js.map +1 -0
  95. package/dist/esm/app/Messenger/views/NewFormChat.d.ts +10 -0
  96. package/dist/esm/app/Messenger/views/NewFormChat.js +64 -0
  97. package/dist/esm/app/Messenger/views/NewFormChat.js.map +1 -0
  98. package/dist/esm/index.d.ts +8 -0
  99. package/dist/esm/index.js +9 -0
  100. package/dist/esm/index.js.map +1 -0
  101. package/dist/esm/setupTests.d.ts +1 -0
  102. package/dist/esm/setupTests.js +6 -0
  103. package/dist/esm/setupTests.js.map +1 -0
  104. package/dist/esm/types.d.ts +134 -0
  105. package/dist/esm/types.js +2 -0
  106. package/dist/esm/types.js.map +1 -0
  107. package/package.json +67 -0
  108. package/src/__tests__/app/Messenger/classes/slaCalculations.spec.ts +115 -0
  109. package/src/app/Messenger/classes/slaCalculations.ts +165 -0
  110. package/src/app/Messenger/components/ChatButton/ChatButton.tsx +63 -0
  111. package/src/app/Messenger/components/ChatTabs/ChatTabs.less +18 -0
  112. package/src/app/Messenger/components/ChatTabs/ChatTabs.tsx +32 -0
  113. package/src/app/Messenger/components/ImagesContainer/ImagesContainer.less +64 -0
  114. package/src/app/Messenger/components/ImagesContainer/ImagesContainer.tsx +40 -0
  115. package/src/app/Messenger/components/IncomingMessage/IncomingMessage.tsx +59 -0
  116. package/src/app/Messenger/components/InfiniteScroll/InfiniteScroll.tsx +52 -0
  117. package/src/app/Messenger/components/InputFile/InputFile.tsx +106 -0
  118. package/src/app/Messenger/components/InputFile/inputFile.less +52 -0
  119. package/src/app/Messenger/components/MessageBallon/MessageBalloon.tsx +88 -0
  120. package/src/app/Messenger/components/MessengerAvatar/MessengerAvatar.tsx +21 -0
  121. package/src/app/Messenger/components/MessengerThemeWrapper/MessengerThemeWrapper.tsx +58 -0
  122. package/src/app/Messenger/components/SearchInput/SearchInput.less +45 -0
  123. package/src/app/Messenger/components/SearchInput/SearchInput.tsx +68 -0
  124. package/src/app/Messenger/components/Select/Select.less +22 -0
  125. package/src/app/Messenger/components/Select/Select.tsx +41 -0
  126. package/src/app/Messenger/components/SenderMessages/SenderMessages.tsx +52 -0
  127. package/src/app/Messenger/components/SystemMessage/SystemMessage.tsx +23 -0
  128. package/src/app/Messenger/components/TextArea/TextArea.tsx +31 -0
  129. package/src/app/Messenger/components/TextArea/Textarea.less +22 -0
  130. package/src/app/Messenger/hooks/useConversations.tsx +80 -0
  131. package/src/app/Messenger/hooks/useThemes.tsx +14 -0
  132. package/src/app/Messenger/icons/AttachFileIcon.tsx +11 -0
  133. package/src/app/Messenger/icons/CloseIcon.tsx +11 -0
  134. package/src/app/Messenger/icons/EmptyIcon.tsx +11 -0
  135. package/src/app/Messenger/icons/MessageIcon.tsx +18 -0
  136. package/src/app/Messenger/icons/ReadIcon.tsx +9 -0
  137. package/src/app/Messenger/icons/SearchIcon.tsx +12 -0
  138. package/src/app/Messenger/icons/TimerIcon.tsx +10 -0
  139. package/src/app/Messenger/icons/TrashIcon.tsx +13 -0
  140. package/src/app/Messenger/views/Messenger.less +610 -0
  141. package/src/app/Messenger/views/MessengerList.tsx +172 -0
  142. package/src/app/Messenger/views/MessengerListItem.tsx +136 -0
  143. package/src/app/Messenger/views/MessengerMessages.tsx +287 -0
  144. package/src/app/Messenger/views/NewFormChat.tsx +126 -0
  145. package/src/assets/right-arrow.svg +10 -0
  146. package/src/index.ts +17 -0
  147. package/src/react-app-env.d.ts +16 -0
  148. package/src/setupTests.ts +5 -0
  149. package/src/styles/abstracts/animations.less +8 -0
  150. package/src/styles/abstracts/mixins.less +5 -0
  151. package/src/styles/abstracts/variables.less +25 -0
  152. package/src/styles/base/base.less +6 -0
  153. package/src/styles/index.less +6 -0
  154. package/src/types.ts +166 -0
@@ -0,0 +1,50 @@
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
+ var ListLoading = function () {
10
+ var theme = useTheme().theme;
11
+ return (React.createElement(Fragment, null, new Array(5).fill('').map(function (_, idx) { return (React.createElement("button", { key: "asideSkeleton".concat(idx), style: { background: theme.listItemHover }, className: "messenger__aside-skeleton" })); })));
12
+ };
13
+ var ShowProtocol = function (_a) {
14
+ var item = _a.item;
15
+ var theme = useTheme().theme;
16
+ return (React.createElement("span", { className: 'messenger__aside-protocol', style: {
17
+ background: theme.buttonPrimary,
18
+ color: theme.buttonPrimaryText
19
+ } },
20
+ "#",
21
+ item.protocol));
22
+ };
23
+ function MessengerList(_a) {
24
+ 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, canSeeTimer = _a.canSeeTimer, hasNext = _a.hasNext, onIntersect = _a.onIntersect, sliceCount = _a.sliceCount;
25
+ var theme = useTheme().theme;
26
+ return (React.createElement("aside", { className: "messenger__aside ".concat(className, " ").concat(tab === 'messages' ? 'mobile-hide' : ''), style: {
27
+ border: "1px solid ".concat(theme.borderColor),
28
+ borderRadius: '20px 0 0 20px',
29
+ background: theme.asideBg
30
+ } },
31
+ React.createElement("div", { className: "messenger__buttons-container" },
32
+ React.createElement(ChatButtons, { chatButtons: chatButtons, messegerView: messegerView, removeActiveItem: function (e) {
33
+ activeItem(e, 'messenger__aside-list-item', 'messenger__aside-list-item--active');
34
+ } }),
35
+ helpDesk &&
36
+ React.createElement(SearchInput, { searchKeys: searchKeys, searchChat: searchChat, loadingSearch: loadingSearch })),
37
+ affix && (React.createElement("div", { className: "messenger__aside-header" }, React.cloneElement(affix))),
38
+ React.createElement(ChatTabs, { chatListTabs: chatListTabs, handleChangeTickets: handleChangeTickets }),
39
+ React.createElement("div", { className: "messenger__aside-list" },
40
+ React.createElement(InfiniteScroll, { root: document.querySelector('.messenger__aside-list'), loading: loading, loadingCover: React.createElement(ListLoading, null), more: hasNext, fetch: onIntersect }, Array.isArray(conversations) && conversations.length > 0 && conversations.slice(0, sliceCount).map(function (item) {
41
+ return (React.createElement("div", { key: item === null || item === void 0 ? void 0 : item._id, className: "messenger__aside-item-container ".concat(showBadge ? 'messenger__active-badge' : '') },
42
+ React.createElement(ShowProtocol, { item: item }),
43
+ React.createElement(MessengerListItem, { canSeeTimer: canSeeTimer, currentId: currentId, item: item, onClick: onClick })));
44
+ })),
45
+ failed || ((conversations === null || conversations === void 0 ? void 0 : conversations.length) === 0 && !loading) && (React.createElement("div", { className: "messenger__aside-empty" },
46
+ React.createElement(EmptyIcon, null),
47
+ React.createElement("p", null, "Nenhuma conversa encontrada"))))));
48
+ }
49
+ export default MessengerList;
50
+ //# 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,11 @@
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
+ canSeeTimer: boolean;
8
+ }
9
+ export declare function activeItem(e: React.MouseEvent<HTMLElement, MouseEvent>, defaultClass: string, activeClass: string): void;
10
+ declare function MessengerListItem({ item, onClick, canSeeTimer, currentId }: IListItem): JSX.Element;
11
+ export default MessengerListItem;
@@ -0,0 +1,87 @@
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, _d, _e;
15
+ var item = _a.item, onClick = _a.onClick, canSeeTimer = _a.canSeeTimer, currentId = _a.currentId;
16
+ var _f = useState(item.totalUnreadMessages), unreadMessages = _f[0], setUnreadMessages = _f[1];
17
+ var closedChat = useMemo(function () { return item.status.current.state === 'final' ? 'messenger__aside-list-item--closed' : ''; }, [item]);
18
+ var _g = useState(''), background = _g[0], setBackground = _g[1];
19
+ var _h = useState(null), counter = _h[0], setCounter = _h[1];
20
+ var theme = useTheme().theme;
21
+ var isInprogress = ((_c = (_b = item.status) === null || _b === void 0 ? void 0 : _b.current) === null || _c === void 0 ? void 0 : _c.systemicValue) === 'inprogress';
22
+ useEffect(function () {
23
+ var _a;
24
+ var interval;
25
+ if (isInprogress && canSeeTimer) {
26
+ var sla = new SlaDates(timeAsDayjs(item.currentTime).diff(item.createdAt, 'second'));
27
+ var diference = sla.calculateWorkingTime(timeAsDayjs(item.createdAt), timeAsDayjs(), { start: 9, end: 18 });
28
+ setCounter(diference);
29
+ if (sla.canUpdateClock(timeAsDayjs())) {
30
+ interval = setInterval(function () {
31
+ setCounter(function (prev) { return prev !== null ? prev + 1 : null; });
32
+ }, 1000);
33
+ }
34
+ }
35
+ else {
36
+ setCounter((_a = item.SLATimePassed) !== null && _a !== void 0 ? _a : null);
37
+ }
38
+ return function () {
39
+ clearInterval(interval);
40
+ };
41
+ }, []);
42
+ useEffect(function () {
43
+ setUnreadMessages(item.totalUnreadMessages);
44
+ }, [item]);
45
+ function handleClick(e, item) {
46
+ activeItem(e, 'messenger__aside-list-item', 'messenger__aside-list-item--active');
47
+ onClick(item);
48
+ }
49
+ function formatUnreadMessages(unread) {
50
+ if (!unread)
51
+ return 0;
52
+ if (unread >= 99)
53
+ return 99;
54
+ return unread;
55
+ }
56
+ var onMouseOver = function () {
57
+ setBackground(theme === null || theme === void 0 ? void 0 : theme.listItemHover);
58
+ };
59
+ var onMouseLeave = function () {
60
+ setBackground('');
61
+ };
62
+ var ShowTimer = function () {
63
+ if (counter === null)
64
+ return null;
65
+ return (React.createElement("span", { className: 'messenger__aside-timer', style: {
66
+ background: SlaDates.getColorsByTime(counter),
67
+ color: 'white'
68
+ } },
69
+ React.createElement(TimerIcon, null),
70
+ "\u00A0",
71
+ React.createElement("b", null, SlaDates.secondsInHours(counter))));
72
+ };
73
+ return (React.createElement(React.Fragment, null,
74
+ React.createElement("div", { className: "messenger__aside-list-item ".concat(closedChat), onClick: function (e) { return handleClick(e, item); }, onMouseOver: onMouseOver, onMouseLeave: onMouseLeave, style: {
75
+ color: theme === null || theme === void 0 ? void 0 : theme.asideFontColor,
76
+ backgroundColor: currentId === item._id ? theme === null || theme === void 0 ? void 0 : theme.active : background
77
+ } },
78
+ React.createElement(MessengerAvatar, { image: (_d = item === null || item === void 0 ? void 0 : item.creator) === null || _d === void 0 ? void 0 : _d.image }, ((item === null || item === void 0 ? void 0 : item.creator) && (item === null || item === void 0 ? void 0 : item.creator.username)) ? item === null || item === void 0 ? void 0 : item.creator.username.slice(0, 1) : ''),
79
+ React.createElement("div", { className: "messenger__aside-list-item--info" },
80
+ React.createElement("p", { className: "messenger__aside-list-item--title" }, (_e = item === null || item === void 0 ? void 0 : item.creator) === null || _e === void 0 ? void 0 : _e.username),
81
+ (item === null || item === void 0 ? void 0 : item.reason) && (React.createElement("p", { className: "messenger__aside-list-item--description" }, item.reason))),
82
+ React.createElement("div", { className: "messenger__aside-list-item--additional" }, unreadMessages > 0 && (React.createElement("div", { className: "messenger__aside-list-item--unread" },
83
+ React.createElement("span", null, formatUnreadMessages(unreadMessages))))),
84
+ canSeeTimer && React.createElement(ShowTimer, null))));
85
+ }
86
+ export default MessengerListItem;
87
+ //# 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,23 @@
1
+ import React from 'react';
2
+ import { ICommonProps, IList, IMessages, IOption } from 'types';
3
+ interface IMessengerMessages extends ICommonProps {
4
+ header: React.ReactElement;
5
+ current?: IList;
6
+ creatorId?: string;
7
+ loading: boolean;
8
+ allowImages: boolean;
9
+ tab?: 'list' | 'messages';
10
+ messegerView: 'empty' | 'messages' | 'newChat';
11
+ className?: string;
12
+ messages: IMessages[];
13
+ onSubmit: (value: FormData, callback: () => void) => void;
14
+ cancelNewChat: () => void;
15
+ formatDate: (date: string | Date) => string | undefined;
16
+ onScroll: (e: React.UIEvent<HTMLDivElement, UIEvent>) => void;
17
+ reasons: Array<IOption>;
18
+ products: Array<IOption>;
19
+ submitNewChat: (values: FormData) => void;
20
+ newChatLoading: boolean;
21
+ }
22
+ declare function MessengerMessages({ header, tab, className, current, messages, allowImages, creatorId, loading, onSubmit, submitNewChat, cancelNewChat, reasons, products, messegerView, formatDate, onScroll, newChatLoading }: IMessengerMessages): JSX.Element;
23
+ export default MessengerMessages;
@@ -0,0 +1,133 @@
1
+ import React, { Fragment, useMemo, useRef, useState } from 'react';
2
+ import ImagesContainer from '../components/ImagesContainer/ImagesContainer';
3
+ import MessageBalloon from '../components/MessageBallon/MessageBalloon';
4
+ import AttachFileIcon from '../icons/AttachFileIcon';
5
+ import MessageIcon from '../icons/MessageIcon';
6
+ import rightArrow from '../../../assets/right-arrow.svg';
7
+ import useTheme from '../hooks/useThemes';
8
+ import NewChatForm from './NewFormChat';
9
+ import EmptyIcon from '../icons/EmptyIcon';
10
+ function MessengerEmpty(_a) {
11
+ var children = _a.children, messegerView = _a.messegerView;
12
+ var theme = useTheme().theme;
13
+ if (messegerView === 'empty') {
14
+ return (React.createElement("div", { className: "messenger__messages-container--empty", style: { backgroundColor: theme === null || theme === void 0 ? void 0 : theme.messengerNotSelectedBg } },
15
+ React.createElement(MessageIcon, { width: "72", height: "72" }),
16
+ React.createElement("p", null, "Selecione uma conversa para visualizar as mensagens")));
17
+ }
18
+ return children;
19
+ }
20
+ function MessengerForm(_a) {
21
+ var children = _a.children, messegerView = _a.messegerView, submitNewChat = _a.submitNewChat, cancelNewChat = _a.cancelNewChat, reasons = _a.reasons, products = _a.products, newChatLoading = _a.newChatLoading;
22
+ if (messegerView === 'newChat') {
23
+ return (React.createElement(NewChatForm, { reasons: reasons, products: products, submitNewChat: submitNewChat, cancelNewChat: cancelNewChat, loading: newChatLoading }));
24
+ }
25
+ return children;
26
+ }
27
+ function Loading(_a) {
28
+ var loading = _a.loading;
29
+ if (loading) {
30
+ return ((React.createElement("div", { className: "messenger__messages-loading" },
31
+ React.createElement("div", { className: "messenger__messages-loading--loader" }))));
32
+ }
33
+ return React.createElement(React.Fragment, null);
34
+ }
35
+ function Messages(_a) {
36
+ var messages = _a.messages, creatorId = _a.creatorId, formatDate = _a.formatDate;
37
+ if (messages && Array.isArray(messages)) {
38
+ return React.createElement(React.Fragment, null, messages.map(function (item, idx) {
39
+ return (React.createElement(Fragment, { key: "".concat(item.ticketId, "_").concat(item.senderId, "_").concat(idx) },
40
+ React.createElement(MessageBalloon, { id: "message_".concat(idx), formatDate: formatDate, creatorId: creatorId, item: item })));
41
+ }));
42
+ }
43
+ return React.createElement(React.Fragment, null);
44
+ }
45
+ function NoMessages(_a) {
46
+ var messages = _a.messages, loading = _a.loading;
47
+ var theme = useTheme().theme;
48
+ if (!messages || messages.length === 0 && !loading) {
49
+ return React.createElement("div", { className: "messenger__message-empty", style: { color: theme.emptyMessagesFontColor } },
50
+ React.createElement(EmptyIcon, null),
51
+ React.createElement("p", null, "Nenhuma mensagem encontrada"));
52
+ }
53
+ return React.createElement(React.Fragment, null);
54
+ }
55
+ function AllowImages(_a) {
56
+ var allowImages = _a.allowImages, attachFile = _a.attachFile, handleFile = _a.handleFile, closedChat = _a.closedChat;
57
+ if (allowImages) {
58
+ return React.createElement(Fragment, null,
59
+ React.createElement("input", { type: "file", size: 1, className: "messenger__messages-send--file", ref: attachFile, onChange: handleFile, accept: "image/*" }),
60
+ React.createElement(AttachFileIcon, { className: "messenger__messages-send__attach ".concat(closedChat ? 'messenger__messages-send__attach--disabled' : ''), onClick: function () { var _a; return !closedChat ? (_a = attachFile.current) === null || _a === void 0 ? void 0 : _a.click() : null; } }));
61
+ }
62
+ return React.createElement(React.Fragment, null);
63
+ }
64
+ function MessengerMessages(_a) {
65
+ 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, onScroll = _a.onScroll, newChatLoading = _a.newChatLoading;
66
+ var _c = useState(), file = _c[0], setFile = _c[1];
67
+ var _d = useState(false), sending = _d[0], setSending = _d[1];
68
+ var inputRef = useRef(null);
69
+ var attachFile = useRef(null);
70
+ var closedChat = useMemo(function () { return (current === null || current === void 0 ? void 0 : current.status.current.state) === 'final'; }, [current]);
71
+ var theme = useTheme().theme;
72
+ function handleSubmit(e) {
73
+ var _a, _b;
74
+ e === null || e === void 0 ? void 0 : e.preventDefault();
75
+ if (sending)
76
+ return;
77
+ setSending(true);
78
+ var data = new FormData();
79
+ if (file)
80
+ data.append('file', file);
81
+ if ((_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.value)
82
+ data.append('message', (_b = inputRef.current) === null || _b === void 0 ? void 0 : _b.value);
83
+ onSubmit(data, function () {
84
+ if (inputRef.current)
85
+ inputRef.current.value = '';
86
+ if (file)
87
+ setFile(null);
88
+ setSending(false);
89
+ });
90
+ }
91
+ function handleFile(e) {
92
+ var _a;
93
+ if (e.target.files) {
94
+ var file_1 = e.target.files[0];
95
+ if ((_a = file_1 === null || file_1 === void 0 ? void 0 : file_1.type) === null || _a === void 0 ? void 0 : _a.includes('image/'))
96
+ setFile(e.target.files[0]);
97
+ }
98
+ }
99
+ return (React.createElement("div", { className: "".concat(className, " ").concat(tab === 'list' ? 'mobile-hide' : '', " messenger__messages") },
100
+ React.createElement(MessengerEmpty, { messegerView: messegerView },
101
+ React.createElement(Fragment, null,
102
+ React.createElement(MessengerForm, { newChatLoading: newChatLoading, reasons: reasons, products: products, submitNewChat: submitNewChat, cancelNewChat: cancelNewChat, messegerView: messegerView },
103
+ React.createElement(React.Fragment, null,
104
+ file ? (React.createElement(ImagesContainer, { file: file, onClose: function () { return setFile(null); } })) : (React.createElement(Fragment, null,
105
+ React.createElement("div", { className: "messenger__messages-header", style: { backgroundColor: theme === null || theme === void 0 ? void 0 : theme.headerAndSenderBg,
106
+ border: "1px solid ".concat(theme.borderColor)
107
+ } }, React.cloneElement(header)),
108
+ React.createElement("div", { className: "messenger__messages-container", onScroll: onScroll, style: {
109
+ padding: '1rem',
110
+ backgroundColor: theme === null || theme === void 0 ? void 0 : theme.messengerMessagesBg,
111
+ border: "1px solid ".concat(theme.borderColor)
112
+ } },
113
+ React.createElement(Loading, { loading: loading }),
114
+ React.createElement(Messages, { formatDate: formatDate, messages: messages, creatorId: creatorId }),
115
+ React.createElement(NoMessages, { messages: messages, loading: loading })))),
116
+ React.createElement("div", { className: "messenger__messages-send", style: {
117
+ backgroundColor: theme === null || theme === void 0 ? void 0 : theme.headerAndSenderBg,
118
+ border: "1px solid ".concat(theme.borderColor)
119
+ } },
120
+ React.createElement("form", { onSubmit: handleSubmit, className: "messenger__messages-send--form" },
121
+ React.createElement("textarea", { cols: 30, rows: 10, placeholder: closedChat ? 'Conversa finalizada' : 'Digite uma mensagem', ref: inputRef, onKeyDown: function (e) { if (e.key === 'Enter' && !e.shiftKey)
122
+ handleSubmit(); }, className: "messenger__messages-send__input ".concat(closedChat || sending ? 'messenger__messages-send__input--disabled' : '', " "), disabled: closedChat || sending, style: {
123
+ backgroundColor: theme === null || theme === void 0 ? void 0 : theme.inputBg,
124
+ border: (theme === null || theme === void 0 ? void 0 : theme.chatInputBorder) ? "1px solid ".concat(theme === null || theme === void 0 ? void 0 : theme.chatInputBorder) : ''
125
+ } }),
126
+ React.createElement(AllowImages, { allowImages: allowImages, handleFile: handleFile, attachFile: attachFile, closedChat: closedChat }),
127
+ React.createElement("button", { type: "submit", className: "messenger__messages-send__button ".concat(closedChat || sending ? 'messenger__messages-send__button--disabled' : ''), disabled: closedChat || sending, style: {
128
+ backgroundColor: theme === null || theme === void 0 ? void 0 : theme.buttonPrimary
129
+ } },
130
+ React.createElement("img", { alt: 'Icone para a direita', height: 25, width: 25, className: "ml-1", src: rightArrow }))))))))));
131
+ }
132
+ export default MessengerMessages;
133
+ //# 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,10 @@
1
+ import { IOption } from 'types';
2
+ interface IProps {
3
+ submitNewChat: (values: FormData) => void;
4
+ cancelNewChat: () => void;
5
+ reasons: Array<IOption>;
6
+ products: Array<IOption>;
7
+ loading: boolean;
8
+ }
9
+ declare function NewChatForm({ submitNewChat, cancelNewChat, reasons, products, loading }: IProps): JSX.Element;
10
+ export default NewChatForm;
@@ -0,0 +1,64 @@
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
+ function NewChatForm(_a) {
9
+ var _b, _c;
10
+ var submitNewChat = _a.submitNewChat, cancelNewChat = _a.cancelNewChat, reasons = _a.reasons, products = _a.products, loading = _a.loading;
11
+ 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];
12
+ 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];
13
+ var _f = useState(), message = _f[0], setMessage = _f[1];
14
+ var _g = useState([]), fileList = _g[0], setFileList = _g[1];
15
+ var theme = useTheme().theme;
16
+ var onSubmit = function (event) {
17
+ var data2 = new FormData();
18
+ event.preventDefault();
19
+ fileList.forEach(function (file) {
20
+ data2.append("images", file, file.name);
21
+ });
22
+ if (reason)
23
+ data2.append('reason', reason);
24
+ if (product)
25
+ data2.append('product', product);
26
+ if (message)
27
+ data2.append('message', message);
28
+ submitNewChat(data2);
29
+ };
30
+ var onUpdateFile = function (file) {
31
+ setFileList(function (files) { return __spreadArray(__spreadArray([], files, true), [file], false); });
32
+ };
33
+ var onRemoveFile = function (file) {
34
+ setFileList(fileList.filter(function (item) { return item !== file; }));
35
+ };
36
+ return (React.createElement("div", { className: "messenger__new-chat-form", style: {
37
+ backgroundColor: theme.newChatFormBg,
38
+ borderRadius: theme.newChatFormRadius
39
+ } },
40
+ React.createElement("div", { className: "messenger__new-chat-form-header" },
41
+ React.createElement("h2", { className: "messenger__new-chat-form-title" },
42
+ React.createElement("b", { style: { color: theme.newChatFormTexts } }, "Novo Chamado")),
43
+ React.createElement("button", { onClick: cancelNewChat, className: "messenger__new-chat-form-close" },
44
+ React.createElement(CloseIcon, null))),
45
+ React.createElement("h3", { className: 'messenger__disclaimer', style: {
46
+ borderColor: theme.disclaimerPrimaryColor,
47
+ color: theme.disclaimerTextColor,
48
+ backgroundColor: theme.disclaimerSecondaryColor
49
+ } },
50
+ "Seu chamado ser\u00E1 respondido o mais breve poss\u00EDvel! Caso voc\u00EA se ausente do chamado pelo per\u00EDodo de ",
51
+ React.createElement("b", null, "uma hora"),
52
+ " o mesmo ser\u00E1 automaticamente fechado."),
53
+ React.createElement("form", { onSubmit: onSubmit, className: "messenger__new-chat-fields" },
54
+ React.createElement(Select, { onChange: function (value) { return setReason(value); }, options: reasons, placeholder: 'Selecione um motivo para o chamado', name: "reasons", value: reason, label: "Motivos" }),
55
+ React.createElement(Select, { onChange: function (value) { return setProduct(value); }, options: products, placeholder: 'Selecione o relacionado ao erro', value: product, name: "product", label: "Produto (opcional)" }),
56
+ React.createElement(InputFile, { fileList: fileList, onUpdateFile: onUpdateFile, onRemoveFile: onRemoveFile, label: 'Imagem (opcional)' }),
57
+ React.createElement(Textarea, { onChange: function (value) { return setMessage(value); }, placeholder: "Digite sua mensagem aqui", name: "message", label: "Mensagem" }),
58
+ 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: {
59
+ backgroundColor: !loading ? theme.buttonPrimary : '#ccc',
60
+ color: theme.buttonPrimaryText
61
+ } }, "Enviar novo chamado"))));
62
+ }
63
+ export default NewChatForm;
64
+ //# 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,8 @@
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
+ export { MessengerList, MessengerMessages, MessengerListItem, MessengerThemeWrapper, NewChatButton, useConversations };
@@ -0,0 +1,9 @@
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
+ export { MessengerList, MessengerMessages, MessengerListItem, MessengerThemeWrapper, NewChatButton, useConversations };
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,CAAA;AAE5B,OAAO,aAAa,MAAM,qCAAqC,CAAA;AAC/D,OAAO,iBAAiB,MAAM,yCAAyC,CAAA;AACvE,OAAO,iBAAiB,MAAM,yCAAyC,CAAA;AACvE,OAAO,qBAAqB,MAAM,wEAAwE,CAAA;AAC1G,OAAO,aAAa,MAAM,kDAAkD,CAAA;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAA;AAEzE,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,aAAa,EACb,gBAAgB,EACjB,CAAA"}
@@ -0,0 +1 @@
1
+ import '@testing-library/jest-dom';
@@ -0,0 +1,6 @@
1
+ // jest-dom adds custom jest matchers for asserting on DOM nodes.
2
+ // allows you to do things like:
3
+ // expect(element).toHaveTextContent(/react/i)
4
+ // learn more: https://github.com/testing-library/jest-dom
5
+ import '@testing-library/jest-dom';
6
+ //# sourceMappingURL=setupTests.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setupTests.js","sourceRoot":"","sources":["../../src/setupTests.ts"],"names":[],"mappings":"AAAA,iEAAiE;AACjE,gCAAgC;AAChC,8CAA8C;AAC9C,0DAA0D;AAC1D,OAAO,2BAA2B,CAAC"}
@@ -0,0 +1,134 @@
1
+ import React from 'react';
2
+ export type _chatNature = 'helpdesk' | 'communication' | 'proposal';
3
+ interface IChatUsers {
4
+ applicationId: string;
5
+ createdAt: string;
6
+ image?: string;
7
+ ticketAdmin: boolean;
8
+ uniqueCode: string;
9
+ updatedAt: string;
10
+ username: string;
11
+ _id: string;
12
+ }
13
+ interface IList {
14
+ applicationId: string;
15
+ creator: Omit<IChatUsers, '_id'>;
16
+ creatorId: string;
17
+ nature: _chatNature;
18
+ protocol: string;
19
+ reason?: string;
20
+ subject?: string;
21
+ createdAt: Date;
22
+ uniqueCode: string;
23
+ updatedAt: string;
24
+ userIdList: string[];
25
+ totalUnreadMessages: number;
26
+ SLATimePassed: number;
27
+ users: IChatUsers[];
28
+ status: {
29
+ current: {
30
+ state: string;
31
+ systemicValue: string;
32
+ };
33
+ };
34
+ _id: string;
35
+ currentTime: string;
36
+ }
37
+ interface ICommonProps {
38
+ tab?: 'list' | 'messages';
39
+ className?: string;
40
+ }
41
+ interface IMessagesBalloon {
42
+ message: string;
43
+ date: string;
44
+ read: boolean;
45
+ hasFile?: boolean;
46
+ id: string;
47
+ formatDate: (date: string | Date) => string | undefined;
48
+ file?: {
49
+ contentType: string;
50
+ location: string;
51
+ mimeType: string;
52
+ orignalname: string;
53
+ size: number;
54
+ } | Iimages;
55
+ }
56
+ interface IMesssengerAvatar extends Omit<ICommonProps, 'tab'> {
57
+ image?: string;
58
+ children?: React.ReactNode;
59
+ }
60
+ interface IImagesContainer {
61
+ file: File | null;
62
+ onClose: () => void;
63
+ }
64
+ interface IInconmingMessage extends Omit<IMessagesBalloon, 'read'> {
65
+ isSystemMessage?: boolean;
66
+ user: {
67
+ avatar?: string;
68
+ name: string;
69
+ };
70
+ }
71
+ interface INewChat {
72
+ images?: File[];
73
+ issueOrigin?: string;
74
+ message?: string;
75
+ reason?: string;
76
+ }
77
+ interface IMessengerSubmit {
78
+ message?: string;
79
+ file?: FileList | null;
80
+ }
81
+ interface Iimages {
82
+ key: string;
83
+ location: string & File;
84
+ }
85
+ interface IMessages {
86
+ images: Iimages[];
87
+ applicationId: string;
88
+ content: string;
89
+ createdAt: string;
90
+ everybodyHasRead: boolean;
91
+ isSystemMessage?: boolean;
92
+ hasFile?: boolean;
93
+ sender: {
94
+ image: string;
95
+ username: string;
96
+ uniqueCode: string;
97
+ };
98
+ file?: {
99
+ contentType: string;
100
+ location: string;
101
+ mimeType: string;
102
+ orignalname: string;
103
+ size: number;
104
+ };
105
+ readByList: string[];
106
+ senderId: string;
107
+ senderUniqueCode?: string;
108
+ ticketId: string;
109
+ messagecode: number;
110
+ }
111
+ interface IGetMessages {
112
+ chatId: string;
113
+ messageCount: number;
114
+ callback: (result?: {
115
+ messages: IMessages[];
116
+ total: number;
117
+ }, error?: Error) => void;
118
+ }
119
+ interface IGetChats {
120
+ nature: _chatNature;
121
+ status?: 'inprogress' | 'closed' | 'proposal';
122
+ search?: string;
123
+ token?: string;
124
+ callback: (tickets?: IList[], error?: Error) => void;
125
+ }
126
+ interface ISocketMessage {
127
+ message: IMessages;
128
+ markAsRead: boolean;
129
+ }
130
+ interface IOption {
131
+ label: string;
132
+ value: string;
133
+ }
134
+ export type { ICommonProps, IImagesContainer, IInconmingMessage, IMessagesBalloon, IMessengerSubmit, IMesssengerAvatar, IList, IMessages, INewChat, IGetMessages, IGetChats, IChatUsers, ISocketMessage, Iimages, IOption };
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":""}