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,46 @@
1
+ import { describe, expect, it } from '@jest/globals';
2
+ import { SlaDates, timeAsDayjs } from '../../../../app/Messenger/classes/slaCalculations';
3
+ var workingHours = { start: 9, end: 18 };
4
+ describe('slaCalculations class', function () {
5
+ it('Should return true seconds in working hour', function () {
6
+ var sla = new SlaDates(1300);
7
+ expect(sla.canUpdateClock(timeAsDayjs('2023-07-21T10:19:29.224+00:00', { applyTimezone: false }))).toBeTruthy();
8
+ });
9
+ it('Should return false seconds from canUpdateClock', function () {
10
+ var sla = new SlaDates(1300);
11
+ expect(sla.canUpdateClock(timeAsDayjs('2023-07-21T20:19:29.224+00:00', { applyTimezone: false }))).toBeFalsy();
12
+ });
13
+ it('Should return false in holiday', function () {
14
+ var sla = new SlaDates(1300);
15
+ expect(sla.canUpdateClock(timeAsDayjs('2023-10-12T10:19:29.224+00:00', { applyTimezone: false }))).toBeFalsy();
16
+ });
17
+ it('Should return 3600 seconds diffence', function () {
18
+ var sla = new SlaDates(3600);
19
+ expect(sla.getDifferenceInSeconds(timeAsDayjs('2023-07-19T09:19:29.224+00:00', { applyTimezone: false }), timeAsDayjs('2023-07-19T10:19:29.224+00:00', { applyTimezone: false }), workingHours)).toBe(3600);
20
+ });
21
+ it('Should return 7200 seconds diffence', function () {
22
+ var sla = new SlaDates(3600);
23
+ expect(sla.getDifferenceInSeconds(timeAsDayjs('2023-10-12T09:19:29.224+00:00', { applyTimezone: false }), timeAsDayjs('2023-10-12T11:19:29.224+00:00', { applyTimezone: false }), workingHours)).toBe(0);
24
+ });
25
+ it('Should return 7200 seconds diffence', function () {
26
+ var sla = new SlaDates(3600);
27
+ expect(sla.getDifferenceInSeconds(timeAsDayjs('2023-07-21T17:00:00.000+00:00', { applyTimezone: false }), timeAsDayjs('2023-07-24T10:00:00.000+00:00', { applyTimezone: false }), workingHours)).toBe(7200);
28
+ });
29
+ it('Should return 64800 seconds diffence', function () {
30
+ var sla = new SlaDates(3600);
31
+ expect(sla.getDifferenceInSeconds(timeAsDayjs('2023-07-21T09:00:00.000+00:00', { applyTimezone: false }), timeAsDayjs('2023-07-24T18:00:00.000+00:00', { applyTimezone: false }), workingHours)).toBe(64800);
32
+ });
33
+ it('Should return 43200 seconds diffence', function () {
34
+ var sla = new SlaDates(3600);
35
+ expect(sla.getDifferenceInSeconds(timeAsDayjs('2023-07-21T09:00:00.000+00:00', { applyTimezone: false }), timeAsDayjs('2023-07-24T12:00:00.000+00:00', { applyTimezone: false }), workingHours)).toBe(43200);
36
+ });
37
+ it('Should return 1800 seconds diffence', function () {
38
+ var sla = new SlaDates(3600);
39
+ expect(sla.getDifferenceInSeconds(timeAsDayjs('2023-07-24T07:00:00.000+00:00', { applyTimezone: false }), timeAsDayjs('2023-07-24T09:30:00.000+00:00', { applyTimezone: false }), workingHours)).toBe(1800);
40
+ });
41
+ it('Should return 3600 seconds diffence', function () {
42
+ var sla = new SlaDates(3600);
43
+ expect(sla.getDifferenceInSeconds(timeAsDayjs('2023-07-24T22:00:00.000+00:00', { applyTimezone: false }), timeAsDayjs('2023-07-25T10:00:00.000+00:00', { applyTimezone: false }), workingHours)).toBe(3600);
44
+ });
45
+ });
46
+ //# sourceMappingURL=slaCalculations.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slaCalculations.spec.js","sourceRoot":"","sources":["../../../../../../src/__tests__/app/Messenger/classes/slaCalculations.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ import dayjs, { ConfigType, Dayjs } from 'dayjs';
2
+ export declare const timeAsDayjs: (value?: ConfigType, options?: {
3
+ server?: boolean | undefined;
4
+ applyTimezone?: boolean | undefined;
5
+ } | undefined) => Dayjs;
6
+ export declare const time: (value?: ConfigType, options?: {
7
+ server?: boolean | undefined;
8
+ applyTimezone?: boolean | undefined;
9
+ } | undefined) => Date;
10
+ export declare class SlaDates {
11
+ seconds: number | null;
12
+ constructor(seconds: number);
13
+ private holidays;
14
+ private isWorkingDay;
15
+ private isWorkingHour;
16
+ isWeekendOrHoliday(date: Dayjs | Date | string): boolean;
17
+ private isHoliday;
18
+ canUpdateClock(date: Dayjs): boolean;
19
+ getDiffInSeconds(startDate: dayjs.Dayjs, endDate: dayjs.Dayjs): number;
20
+ calculateWorkingTime(startDate: Dayjs, endDate: Dayjs, workingHours: {
21
+ start: number;
22
+ end: number;
23
+ }): number;
24
+ getDifferenceInSeconds(startDate: Dayjs, endDate: Dayjs, workingHours: {
25
+ start: number;
26
+ end: number;
27
+ }): number;
28
+ static secondsInHours(currentSeconds: number): string;
29
+ static getColorsByTime(seconds: number): "#DD4E4E" | "#00CF7B" | "#FF9838" | "#151919";
30
+ }
@@ -0,0 +1,142 @@
1
+ import dayjs from 'dayjs';
2
+ import dayjsBR from 'dayjs/locale/pt-br';
3
+ import utc from 'dayjs/plugin/utc';
4
+ import timezone from 'dayjs/plugin/timezone';
5
+ import isToday from 'dayjs/plugin/isToday';
6
+ var serverTz = 'America/Sao_Paulo';
7
+ dayjs.extend(utc);
8
+ dayjs.extend(timezone);
9
+ dayjs.extend(isToday);
10
+ dayjs.locale(dayjsBR);
11
+ export var timeAsDayjs = function (value, options) {
12
+ if (value === void 0) { value = new Date(); }
13
+ var server = options === null || options === void 0 ? void 0 : options.server;
14
+ var applyTimezone = options === null || options === void 0 ? void 0 : options.applyTimezone;
15
+ var timezone = dayjs.tz.guess();
16
+ if (!(applyTimezone !== null && applyTimezone !== void 0 ? applyTimezone : true))
17
+ timezone = 'GMT';
18
+ else if (server !== null && server !== void 0 ? server : false)
19
+ timezone = serverTz;
20
+ return dayjs.tz(value, timezone);
21
+ };
22
+ export var time = function (value, options) {
23
+ if (value === void 0) { value = new Date(); }
24
+ var server = options === null || options === void 0 ? void 0 : options.server;
25
+ var applyTimezone = options === null || options === void 0 ? void 0 : options.applyTimezone;
26
+ var aux;
27
+ if (!(applyTimezone !== null && applyTimezone !== void 0 ? applyTimezone : true))
28
+ aux = dayjs.tz(value, 'GMT'); // Set applyTimezone to false when timezone is applied incorrectly (usually when working with JSDate and timestamps)
29
+ else if (server !== null && server !== void 0 ? server : false)
30
+ aux = dayjs.tz(value, serverTz);
31
+ else
32
+ aux = dayjs.tz(value, dayjs.tz.guess());
33
+ return new Date(Date.UTC(aux.year(), aux.month(), aux.date(), aux.hour(), aux.minute(), aux.second(), aux.millisecond()));
34
+ };
35
+ var SlaDates = /** @class */ (function () {
36
+ function SlaDates(seconds) {
37
+ this.holidays = {
38
+ 2023: [
39
+ '09-07',
40
+ '10-12',
41
+ '10-17',
42
+ '11-02',
43
+ '11-15',
44
+ '11-20',
45
+ '12-25'
46
+ ]
47
+ };
48
+ this.seconds = seconds;
49
+ }
50
+ SlaDates.prototype.isWorkingDay = function (date) {
51
+ var dayOfWeek = date.day();
52
+ return dayOfWeek >= 1 && dayOfWeek <= 5; // Monday to Friday (1 to 5)
53
+ };
54
+ SlaDates.prototype.isWorkingHour = function (date) {
55
+ var hour = date.hour();
56
+ return hour >= 9 && hour <= 18; // Between 9 AM and 5 PM (inclusive)
57
+ };
58
+ SlaDates.prototype.isWeekendOrHoliday = function (date) {
59
+ var weekDay = timeAsDayjs(date, { applyTimezone: false }).day();
60
+ if ([6, 0].includes(weekDay))
61
+ return true;
62
+ var formatedDate = timeAsDayjs(date).format('MM-DD');
63
+ var isHollyday = this.holidays[2023].includes(formatedDate);
64
+ return isHollyday;
65
+ };
66
+ SlaDates.prototype.isHoliday = function (date) {
67
+ var formatedDate = timeAsDayjs(date, { applyTimezone: false }).format('MM-DD');
68
+ var isHollyday = this.holidays[2023].includes(formatedDate);
69
+ return isHollyday;
70
+ };
71
+ SlaDates.prototype.canUpdateClock = function (date) {
72
+ var isWorking = this.isWorkingDay(date) && this.isWorkingHour(date);
73
+ return !this.isWeekendOrHoliday(date) && isWorking;
74
+ };
75
+ SlaDates.prototype.getDiffInSeconds = function (startDate, endDate) {
76
+ var diffInSeconds = endDate.diff(startDate, 'second');
77
+ return diffInSeconds;
78
+ };
79
+ SlaDates.prototype.calculateWorkingTime = function (startDate, endDate, workingHours) {
80
+ var current = startDate.clone();
81
+ var workingTime = 0;
82
+ while (current.isBefore(endDate)) {
83
+ // Skip weekends (Saturday and Sunday) and Holydays
84
+ if (this.isWorkingDay(current) && !this.isHoliday(current)) {
85
+ var startOfDay = current.clone().startOf('day').add(workingHours.start, 'hour');
86
+ var endOfDay = current.clone().startOf('day').add(workingHours.end, 'hour');
87
+ if (current.isBefore(startOfDay)) {
88
+ // If current time is before the start of working hours, move to the start of working hours
89
+ current = startOfDay.clone();
90
+ }
91
+ if (current.isAfter(endOfDay)) {
92
+ current = current.clone().add(1, 'day').startOf('day');
93
+ }
94
+ else if (endDate.isAfter(endOfDay)) {
95
+ // If end date is after the end of working hours, add a full working day
96
+ workingTime += Math.abs(endOfDay.clone().diff(current, 'second'));
97
+ current = current.clone().add(1, 'day').startOf('day').add(workingHours.start, 'hour');
98
+ }
99
+ else {
100
+ // Calculate working time for the last day (end date)
101
+ workingTime += Math.abs(endDate.clone().diff(current, 'second'));
102
+ break;
103
+ }
104
+ }
105
+ else {
106
+ // Move to the next day
107
+ current = current.clone().add(1, 'day').startOf('day');
108
+ }
109
+ }
110
+ return workingTime;
111
+ };
112
+ // Function to calculate the difference in seconds between two dates considering working hours
113
+ SlaDates.prototype.getDifferenceInSeconds = function (startDate, endDate, workingHours) {
114
+ if (endDate.isBefore(startDate)) {
115
+ throw new Error('End date should be after the start date.');
116
+ }
117
+ var workingTimeInSeconds = this.calculateWorkingTime(startDate, endDate, workingHours);
118
+ return workingTimeInSeconds;
119
+ };
120
+ SlaDates.secondsInHours = function (currentSeconds) {
121
+ var hours = Math.floor(currentSeconds / 3600);
122
+ var minutes = Math.floor((currentSeconds % 3600) / 60);
123
+ var seconds = currentSeconds % 60;
124
+ return "".concat(hours.toString().padStart(2, '0'), ":").concat(minutes.toString().padStart(2, '0'), ":").concat(seconds.toString().padStart(2, '0'));
125
+ };
126
+ SlaDates.getColorsByTime = function (seconds) {
127
+ var hours = seconds / 3600;
128
+ if (hours <= 2) {
129
+ return '#00CF7B';
130
+ }
131
+ if (hours >= 2 && hours < 3) {
132
+ return '#FF9838';
133
+ }
134
+ if (hours >= 3 && hours < 4) {
135
+ return '#DD4E4E';
136
+ }
137
+ return '#151919';
138
+ };
139
+ return SlaDates;
140
+ }());
141
+ export { SlaDates };
142
+ //# sourceMappingURL=slaCalculations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slaCalculations.js","sourceRoot":"","sources":["../../../../../src/app/Messenger/classes/slaCalculations.ts"],"names":[],"mappings":"AAAA,OAAO,KAA4B,MAAM,OAAO,CAAA;AAChD,OAAO,OAAO,MAAM,oBAAoB,CAAA;AACxC,OAAO,GAAG,MAAM,kBAAkB,CAAA;AAClC,OAAO,QAAQ,MAAM,uBAAuB,CAAA;AAC5C,OAAO,OAAO,MAAM,sBAAsB,CAAA;AAC1C,IAAM,QAAQ,GAAG,mBAAmB,CAAA;AAEpC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;AACjB,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;AACtB,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;AACrB,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;AAErB,MAAM,CAAC,IAAM,WAAW,GAAG,UAAC,KAA8B,EAAE,OAAqD;IAArF,sBAAA,EAAA,YAAwB,IAAI,EAAE;IACxD,IAAM,MAAM,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,CAAA;IAC9B,IAAM,aAAa,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,aAAa,CAAA;IAE5C,IAAI,QAAQ,GAAG,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,CAAA;IAC/B,IAAI,CAAC,CAAC,aAAa,aAAb,aAAa,cAAb,aAAa,GAAI,IAAI,CAAC;QAAE,QAAQ,GAAG,KAAK,CAAA;SACzC,IAAI,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,KAAK;QAAE,QAAQ,GAAG,QAAQ,CAAA;IAE7C,OAAO,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;AAClC,CAAC,CAAA;AAED,MAAM,CAAC,IAAM,IAAI,GAAG,UAAC,KAA8B,EAAE,OAAqD;IAArF,sBAAA,EAAA,YAAwB,IAAI,EAAE;IACjD,IAAM,MAAM,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,CAAA;IAC9B,IAAM,aAAa,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,aAAa,CAAA;IAC5C,IAAI,GAAU,CAAA;IAEd,IAAI,CAAC,CAAC,aAAa,aAAb,aAAa,cAAb,aAAa,GAAI,IAAI,CAAC;QAAE,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA,CAAC,oHAAoH;SAC1K,IAAI,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,KAAK;QAAE,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;;QACpD,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAA;IAE5C,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,KAAK,EAAE,EAAE,GAAG,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,MAAM,EAAE,EAAE,GAAG,CAAC,MAAM,EAAE,EAAE,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAA;AAC3H,CAAC,CAAA;AAED;IAGE,kBAAa,OAAe;QAIpB,aAAQ,GAAG;YACjB,IAAI,EAAE;gBACJ,OAAO;gBACP,OAAO;gBACP,OAAO;gBACP,OAAO;gBACP,OAAO;gBACP,OAAO;gBACP,OAAO;aACR;SACF,CAAA;QAbC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAcO,+BAAY,GAApB,UAAsB,IAAW;QAC/B,IAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,OAAO,SAAS,IAAI,CAAC,IAAI,SAAS,IAAI,CAAC,CAAA,CAAC,4BAA4B;IACtE,CAAC;IAEO,gCAAa,GAArB,UAAuB,IAAW;QAChC,IAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;QACxB,OAAO,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE,CAAA,CAAC,oCAAoC;IACrE,CAAC;IAEM,qCAAkB,GAAzB,UAA2B,IAA2B;QACpD,IAAM,OAAO,GAAG,WAAW,CAAC,IAAI,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC,GAAG,EAAE,CAAA;QACjE,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;YAAE,OAAO,IAAI,CAAA;QAEzC,IAAM,YAAY,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QACtD,IAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAA;QAC7D,OAAO,UAAU,CAAA;IACnB,CAAC;IAEO,4BAAS,GAAjB,UAAmB,IAAW;QAC5B,IAAM,YAAY,GAAG,WAAW,CAAC,IAAI,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QAChF,IAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAA;QAC7D,OAAO,UAAU,CAAA;IACnB,CAAC;IAEM,iCAAc,GAArB,UAAuB,IAAW;QAChC,IAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;QACrE,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,SAAS,CAAA;IACpD,CAAC;IAEM,mCAAgB,GAAvB,UAAyB,SAAsB,EAAE,OAAoB;QACnE,IAAM,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;QACvD,OAAO,aAAa,CAAA;IACtB,CAAC;IAED,uCAAoB,GAApB,UAAsB,SAAgB,EAAE,OAAc,EAAE,YAA4C;QAClG,IAAI,OAAO,GAAG,SAAS,CAAC,KAAK,EAAE,CAAA;QAC/B,IAAI,WAAW,GAAG,CAAC,CAAC;QAEpB,OAAO,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;YAChC,mDAAmD;YAEnD,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE;gBAC1D,IAAM,UAAU,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;gBAClF,IAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;gBAE9E,IAAI,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;oBAChC,2FAA2F;oBAC3F,OAAO,GAAG,UAAU,CAAC,KAAK,EAAE,CAAC;iBAC9B;gBAED,IAAI,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;oBAE7B,OAAO,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;iBAEvD;qBAAM,IAAI,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;oBACpC,wEAAwE;oBAExE,WAAW,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;oBAClE,OAAO,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;iBAExF;qBAAO;oBACN,qDAAqD;oBACrD,WAAW,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;oBAEjE,MAAM;iBACP;aACF;iBAAM;gBACL,uBAAuB;gBACvB,OAAO,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;aACvD;SACF;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,8FAA8F;IAC9F,yCAAsB,GAAtB,UAAwB,SAAgB,EAAE,OAAc,EAAE,YAA4C;QAEpG,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;YAC/B,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;SAC7D;QAED,IAAM,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,CAAC,SAAS,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;QACzF,OAAO,oBAAoB,CAAA;IAC7B,CAAC;IAEM,uBAAc,GAArB,UAAuB,cAAsB;QAC3C,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;QAChD,IAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QACzD,IAAM,OAAO,GAAG,cAAc,GAAG,EAAE,CAAC;QACpC,OAAO,UAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,cAAI,OAAO,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,cAAI,OAAO,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAE,CAAC;IAC9H,CAAC;IAEM,wBAAe,GAAtB,UAAwB,OAAe;QACrC,IAAM,KAAK,GAAG,OAAO,GAAG,IAAI,CAAC;QAC7B,IAAI,KAAK,IAAI,CAAC,EAAE;YACd,OAAO,SAAS,CAAA;SACjB;QAED,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE;YAC3B,OAAO,SAAS,CAAA;SACjB;QAED,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE;YAC3B,OAAO,SAAS,CAAA;SACjB;QAED,OAAO,SAAS,CAAA;IAClB,CAAC;IACH,eAAC;AAAD,CAAC,AAjID,IAiIC"}
@@ -0,0 +1,14 @@
1
+ import React from 'react';
2
+ interface INewChatButton {
3
+ removeActiveItem: (e: React.MouseEvent<HTMLElement, MouseEvent>) => void;
4
+ messegerView: 'empty' | 'messages' | 'newChat';
5
+ chatButtons: {
6
+ label: string;
7
+ onClick: () => void;
8
+ type: string;
9
+ canSee: boolean;
10
+ disabled?: boolean;
11
+ }[];
12
+ }
13
+ declare function ChatButtons({ chatButtons, removeActiveItem }: INewChatButton): JSX.Element;
14
+ export default ChatButtons;
@@ -0,0 +1,31 @@
1
+ import React from 'react';
2
+ import useTheme from '../../hooks/useThemes';
3
+ function ChatButtons(_a) {
4
+ var chatButtons = _a.chatButtons, removeActiveItem = _a.removeActiveItem;
5
+ var theme = useTheme().theme;
6
+ var getButtonType = function (type, disabled) {
7
+ if (type === 'primary')
8
+ return {
9
+ background: disabled ? theme === null || theme === void 0 ? void 0 : theme.buttonsDisabled : theme === null || theme === void 0 ? void 0 : theme.buttonPrimary,
10
+ color: theme === null || theme === void 0 ? void 0 : theme.buttonPrimaryText
11
+ };
12
+ if (type === 'outlined')
13
+ return {
14
+ background: 'transparent',
15
+ color: theme === null || theme === void 0 ? void 0 : theme.asideFontColor,
16
+ border: "".concat(theme === null || theme === void 0 ? void 0 : theme.asideFontColor, " 1px solid")
17
+ };
18
+ return;
19
+ };
20
+ return (React.createElement(React.Fragment, null, chatButtons.map((function (button) {
21
+ return (button.canSee &&
22
+ React.createElement(React.Fragment, null,
23
+ React.createElement("button", { key: "button-".concat(button.label), className: button.disabled ? 'messenger__chat-button messenger__chat-button--disabled'
24
+ : 'messenger__chat-button', onClick: function (event) {
25
+ button.onClick();
26
+ removeActiveItem(event);
27
+ }, style: getButtonType(button.type, button.disabled) }, button.label)));
28
+ }))));
29
+ }
30
+ export default ChatButtons;
31
+ //# sourceMappingURL=ChatButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatButton.js","sourceRoot":"","sources":["../../../../../../src/app/Messenger/components/ChatButton/ChatButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,QAAQ,MAAM,uBAAuB,CAAA;AAc5C,SAAS,WAAW,CAAC,EAAiD;QAA/C,WAAW,iBAAA,EAAE,gBAAgB,sBAAA;IAC1C,IAAA,KAAK,GAAK,QAAQ,EAAE,MAAf,CAAe;IAE5B,IAAM,aAAa,GAAG,UAAC,IAAY,EAAE,QAAkB;QACrD,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO;gBAC7B,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,eAAe,CAAC,CAAC,CAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,aAAa;gBACpE,KAAK,EAAE,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,iBAAiB;aAChC,CAAA;QAED,IAAI,IAAI,KAAK,UAAU;YAAE,OAAO;gBAC9B,UAAU,EAAE,aAAa;gBACzB,KAAK,EAAE,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,cAAc;gBAC5B,MAAM,EAAE,UAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,cAAc,eAAY;aAC7C,CAAA;QACD,OAAM;IACR,CAAC,CAAA;IAED,OAAO,CACL,0CAEI,WAAW,CAAC,GAAG,CAAC,CAAC,UAAA,MAAM;QACrB,OAAO,CACL,MAAM,CAAC,MAAM;YACb;gBACE,gCACE,GAAG,EAAE,iBAAU,MAAM,CAAC,KAAK,CAAE,EAC7B,SAAS,EACP,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,yDAAyD;wBACzE,CAAC,CAAC,wBAAwB,EAE9B,OAAO,EAAE,UAAC,KAAK;wBACb,MAAM,CAAC,OAAO,EAAE,CAAA;wBAChB,gBAAgB,CAAC,KAAK,CAAC,CAAA;oBACzB,CAAC,EACD,KAAK,EACH,aAAa,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,IAE5C,MAAM,CAAC,KAAK,CACN,CACR,CACJ,CAAA;IACH,CAAC,CAAC,CAAC,CAEJ,CACJ,CAAA;AACH,CAAC;AAED,eAAe,WAAW,CAAA"}
@@ -0,0 +1,9 @@
1
+ interface IProps {
2
+ handleChangeTickets: (tab: string) => void;
3
+ chatListTabs: {
4
+ value: string;
5
+ label: string;
6
+ }[];
7
+ }
8
+ declare function ChatTabs({ handleChangeTickets, chatListTabs }: IProps): JSX.Element;
9
+ export default ChatTabs;
@@ -0,0 +1,15 @@
1
+ import useTheme from '../../hooks/useThemes';
2
+ import { activeItem } from '../../views/MessengerListItem';
3
+ import React from 'react';
4
+ function ChatTabs(_a) {
5
+ var handleChangeTickets = _a.handleChangeTickets, chatListTabs = _a.chatListTabs;
6
+ var theme = useTheme().theme;
7
+ return (React.createElement("div", { className: "chat-tabs", style: { color: theme.asideFontColor } }, chatListTabs.map(function (tab, index) {
8
+ return (React.createElement("button", { key: "chatListTab-".concat(index), className: "chat-tabs__button ".concat(index === 0 && 'chat-tabs__button--active'), onClick: function (e) {
9
+ handleChangeTickets(tab.value);
10
+ activeItem(e, 'chat-tabs__button', 'chat-tabs__button--active');
11
+ } }, tab.label));
12
+ })));
13
+ }
14
+ export default ChatTabs;
15
+ //# sourceMappingURL=ChatTabs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatTabs.js","sourceRoot":"","sources":["../../../../../../src/app/Messenger/components/ChatTabs/ChatTabs.tsx"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,uBAAuB,CAAA;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAA;AAC1D,OAAO,KAAK,MAAM,OAAO,CAAA;AAOzB,SAAS,QAAQ,CAAE,EAA4C;QAA3C,mBAAmB,yBAAA,EAAE,YAAY,kBAAA;IAC3C,IAAA,KAAK,GAAI,QAAQ,EAAE,MAAd,CAAc;IAC3B,OAAO,CACL,6BAAK,SAAS,EAAC,WAAW,EAAC,KAAK,EAC9B,EAAC,KAAK,EAAE,KAAK,CAAC,cAAc,EAAC,IAE5B,YAAY,CAAC,GAAG,CAAC,UAAC,GAAG,EAAE,KAAK;QAAM,OAAO,CACxC,gCACE,GAAG,EAAE,sBAAe,KAAK,CAAE,EAC3B,SAAS,EAAE,4BAAsB,KAAK,KAAK,CAAC,IAAI,2BAA2B,CAAE,EAC7E,OAAO,EAAE,UAAC,CAAC;gBACT,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;gBAC9B,UAAU,CAAC,CAAC,EAAE,mBAAmB,EAAE,2BAA2B,CAAC,CAAA;YACjE,CAAC,IAEA,GAAG,CAAC,KAAK,CACH,CACV,CAAA;IAAA,CAAC,CAAC,CACC,CACP,CAAA;AACH,CAAC;AAED,eAAe,QAAQ,CAAA"}
@@ -0,0 +1,3 @@
1
+ import { IImagesContainer } from 'types';
2
+ declare function ImagesContainer({ file, onClose }: IImagesContainer): JSX.Element;
3
+ export default ImagesContainer;
@@ -0,0 +1,24 @@
1
+ import React, { useEffect, useState } from 'react';
2
+ function ImagesContainer(_a) {
3
+ var file = _a.file, onClose = _a.onClose;
4
+ var _b = useState(''), b64 = _b[0], setB64 = _b[1];
5
+ useEffect(function () {
6
+ function getBase64(file) {
7
+ return new Promise(function (resolve, reject) {
8
+ var reader = new FileReader();
9
+ reader.readAsDataURL(file);
10
+ reader.onload = function () { return resolve(reader.result); };
11
+ reader.onerror = function (error) { return reject(error); };
12
+ });
13
+ }
14
+ if (file)
15
+ getBase64(file).then(function (base64) { return setB64(base64); });
16
+ }, [file]);
17
+ return (React.createElement("div", { className: "images-container" },
18
+ React.createElement("div", { className: "images-container__close" },
19
+ React.createElement("button", { className: "images-container__close--icon", onClick: onClose })),
20
+ React.createElement("div", { className: "images-container__container" },
21
+ React.createElement("img", { alt: 'arquivos enviados pelo chat agx', src: b64, className: "images-container__image" }))));
22
+ }
23
+ export default ImagesContainer;
24
+ //# sourceMappingURL=ImagesContainer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ImagesContainer.js","sourceRoot":"","sources":["../../../../../../src/app/Messenger/components/ImagesContainer/ImagesContainer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAGlD,SAAS,eAAe,CAAE,EAAmC;QAAjC,IAAI,UAAA,EAAE,OAAO,aAAA;IACjC,IAAA,KAAgB,QAAQ,CAAS,EAAE,CAAC,EAAnC,GAAG,QAAA,EAAE,MAAM,QAAwB,CAAA;IAE1C,SAAS,CAAC;QACR,SAAS,SAAS,CAAE,IAAU;YAC5B,OAAO,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;gBACjC,IAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAA;gBAC/B,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;gBAC1B,MAAM,CAAC,MAAM,GAAG,cAAM,OAAA,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAtB,CAAsB,CAAA;gBAC5C,MAAM,CAAC,OAAO,GAAG,UAAC,KAAK,IAAK,OAAA,MAAM,CAAC,KAAK,CAAC,EAAb,CAAa,CAAA;YAC3C,CAAC,CAAC,CAAA;QACJ,CAAC;QAED,IAAI,IAAI;YAAE,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAA,MAAM,IAAI,OAAA,MAAM,CAAC,MAAgB,CAAC,EAAxB,CAAwB,CAAC,CAAA;IACpE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAA;IAEV,OAAO,CACL,6BAAK,SAAS,EAAC,kBAAkB;QAC/B,6BAAK,SAAS,EAAC,yBAAyB;YACtC,gCACE,SAAS,EAAC,+BAA+B,EACzC,OAAO,EAAE,OAAO,GAChB,CACE;QAEN,6BAAK,SAAS,EAAC,6BAA6B;YAC1C,6BACE,GAAG,EAAC,iCAAiC,EACrC,GAAG,EAAE,GAAG,EACR,SAAS,EAAC,yBAAyB,GACnC,CACE,CACF,CACP,CAAA;AACH,CAAC;AAED,eAAe,eAAe,CAAA"}
@@ -0,0 +1,3 @@
1
+ import { IInconmingMessage } from 'types';
2
+ declare function IncomingMessage({ date, message, user, hasFile, file, isSystemMessage, formatDate, id }: IInconmingMessage): JSX.Element;
3
+ export default IncomingMessage;
@@ -0,0 +1,33 @@
1
+ import useTheme from '../../hooks/useThemes';
2
+ import React, { useCallback, useState } from 'react';
3
+ import MessengerAvatar from '../MessengerAvatar/MessengerAvatar';
4
+ import ReactSimpleImageViewer from '../../../../../node_modules/react-simple-image-viewer';
5
+ function IncomingMessage(_a) {
6
+ var _b;
7
+ var date = _a.date, message = _a.message, user = _a.user, hasFile = _a.hasFile, file = _a.file, isSystemMessage = _a.isSystemMessage, formatDate = _a.formatDate, id = _a.id;
8
+ var theme = useTheme().theme;
9
+ var _c = useState(0), currentImage = _c[0], setCurrentImage = _c[1];
10
+ var _d = useState(false), isViewerOpen = _d[0], setIsViewerOpen = _d[1];
11
+ var openImageViewer = useCallback(function (index) {
12
+ setCurrentImage(index);
13
+ setIsViewerOpen(true);
14
+ }, []);
15
+ var closeImageViewer = function () {
16
+ setCurrentImage(0);
17
+ setIsViewerOpen(false);
18
+ };
19
+ return (React.createElement("div", { className: "messenger__messages-row--received", id: id },
20
+ (user.avatar || user.name) && !isSystemMessage && (React.createElement("div", { className: "messenger__message-avatar mr-2" },
21
+ React.createElement(MessengerAvatar, { image: user.avatar }, user.name.slice(0, 1)))),
22
+ React.createElement("div", { className: "messenger__messages-received", style: { background: theme === null || theme === void 0 ? void 0 : theme.messengerIncomerColor } },
23
+ !isSystemMessage && React.createElement("p", { className: "messenger__message-title" }, user.name),
24
+ React.createElement("span", null,
25
+ hasFile && (React.createElement("div", { className: "messenger__message--file" },
26
+ React.createElement("img", { src: file === null || file === void 0 ? void 0 : file.location, width: 200, alt: "imagem na mensagem", onClick: function () { return openImageViewer(currentImage); } }))),
27
+ React.createElement("p", { className: "messenger__message" }, message),
28
+ React.createElement("p", { className: "messenger__message--date" }, (_b = formatDate(date)) !== null && _b !== void 0 ? _b : new Date(date).toString()))),
29
+ file && isViewerOpen &&
30
+ React.createElement(ReactSimpleImageViewer, { src: [file.location], currentIndex: 0, disableScroll: false, closeOnClickOutside: true, onClose: closeImageViewer })));
31
+ }
32
+ export default IncomingMessage;
33
+ //# sourceMappingURL=IncomingMessage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IncomingMessage.js","sourceRoot":"","sources":["../../../../../../src/app/Messenger/components/IncomingMessage/IncomingMessage.tsx"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,uBAAuB,CAAA;AAC5C,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEpD,OAAO,eAAe,MAAM,oCAAoC,CAAA;AAChE,OAAO,sBAAsB,MAAM,uDAAuD,CAAA;AAC1F,SAAS,eAAe,CAAE,EAA0F;;QAAxF,IAAI,UAAA,EAAE,OAAO,aAAA,EAAE,IAAI,UAAA,EAAE,OAAO,aAAA,EAAE,IAAI,UAAA,EAAE,eAAe,qBAAA,EAAE,UAAU,gBAAA,EAAE,EAAE,QAAA;IACtF,IAAA,KAAK,GAAI,QAAQ,EAAE,MAAd,CAAc;IACpB,IAAA,KAAkC,QAAQ,CAAC,CAAC,CAAC,EAA5C,YAAY,QAAA,EAAE,eAAe,QAAe,CAAC;IAC9C,IAAA,KAAkC,QAAQ,CAAC,KAAK,CAAC,EAAhD,YAAY,QAAA,EAAE,eAAe,QAAmB,CAAC;IAExD,IAAM,eAAe,GAAG,WAAW,CAAC,UAAC,KAAK;QACxC,eAAe,CAAC,KAAK,CAAC,CAAC;QACvB,eAAe,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,IAAM,gBAAgB,GAAG;QACvB,eAAe,CAAC,CAAC,CAAC,CAAC;QACnB,eAAe,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC,CAAC;IAEF,OAAO,CACL,6BACE,SAAS,EAAC,mCAAmC,EAC7C,EAAE,EAAE,EAAE;QAEL,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,IAAI,CACjD,6BAAK,SAAS,EAAC,gCAAgC;YAC7C,oBAAC,eAAe,IAAC,KAAK,EAAE,IAAI,CAAC,MAAM,IAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAmB,CAC1E,CACP;QAED,6BAAK,SAAS,EAAC,8BAA8B,EAAC,KAAK,EAAE,EAAC,UAAU,EAAE,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,qBAAqB,EAAC;YAC5F,CAAC,eAAe,IAAI,2BAAG,SAAS,EAAC,0BAA0B,IAAE,IAAI,CAAC,IAAI,CAAK;YAE5E;gBACG,OAAO,IAAI,CACV,6BAAK,SAAS,EAAC,0BAA0B;oBACvC,6BAAK,GAAG,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAC,oBAAoB,EAAC,OAAO,EAAE,cAAM,OAAA,eAAe,CAAC,YAAY,CAAC,EAA7B,CAA6B,GAAG,CAC1G,CACP;gBACD,2BAAG,SAAS,EAAC,oBAAoB,IAAE,OAAO,CAAK;gBAC/C,2BAAG,SAAS,EAAC,0BAA0B,IAAE,MAAA,UAAU,CAAC,IAAI,CAAC,mCAAI,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAK,CACtF,CAEH;QACL,IAAI,IAAI,YAAY;YACnB,oBAAC,sBAAsB,IACrB,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EACpB,YAAY,EAAE,CAAC,EACf,aAAa,EAAE,KAAK,EACpB,mBAAmB,EAAE,IAAI,EACzB,OAAO,EAAE,gBAAgB,GACzB,CAEA,CACP,CAAA;AACH,CAAC;AAED,eAAe,eAAe,CAAA"}
@@ -0,0 +1,11 @@
1
+ import React, { ReactNode } from 'react';
2
+ interface IInfiniteScroll {
3
+ loading: boolean;
4
+ more: boolean;
5
+ fetch: () => void;
6
+ children: ReactNode;
7
+ loadingCover: React.ReactElement;
8
+ root: Element | null;
9
+ }
10
+ declare function InfiniteScroll({ loading, loadingCover, more, fetch, children, root }: IInfiniteScroll): JSX.Element;
11
+ export default InfiniteScroll;
@@ -0,0 +1,37 @@
1
+ import React from 'react';
2
+ var style = {
3
+ width: 25,
4
+ height: 25,
5
+ visibility: 'hidden'
6
+ };
7
+ function InfiniteScroll(_a) {
8
+ var loading = _a.loading, loadingCover = _a.loadingCover, more = _a.more, fetch = _a.fetch, children = _a.children, root = _a.root;
9
+ var _b = React.useState(null), infiniteElement = _b[0], SetInfiniteElement = _b[1];
10
+ React.useEffect(function () {
11
+ if (!root)
12
+ return;
13
+ var currentElement = infiniteElement;
14
+ var observer = new IntersectionObserver(function (entries) {
15
+ var first = entries[0];
16
+ if (first.isIntersecting === true)
17
+ fetch();
18
+ }, {
19
+ root: root,
20
+ rootMargin: '400px',
21
+ threshold: .5
22
+ });
23
+ if (currentElement) {
24
+ observer.observe(currentElement);
25
+ }
26
+ return function () {
27
+ if (currentElement)
28
+ observer.unobserve(currentElement);
29
+ };
30
+ }, [infiniteElement]);
31
+ return (React.createElement(React.Fragment, null,
32
+ children,
33
+ loading && loadingCover,
34
+ (more && !loading) && React.createElement("div", { ref: SetInfiniteElement, style: style })));
35
+ }
36
+ export default InfiniteScroll;
37
+ //# sourceMappingURL=InfiniteScroll.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InfiniteScroll.js","sourceRoot":"","sources":["../../../../../../src/app/Messenger/components/InfiniteScroll/InfiniteScroll.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmC,MAAM,OAAO,CAAA;AAWvD,IAAM,KAAK,GAAkB;IAC3B,KAAK,EAAE,EAAE;IACT,MAAM,EAAE,EAAE;IACV,UAAU,EAAE,QAAQ;CACrB,CAAA;AAED,SAAS,cAAc,CAAC,EAAuE;QAArE,OAAO,aAAA,EAAE,YAAY,kBAAA,EAAE,IAAI,UAAA,EAAE,KAAK,WAAA,EAAE,QAAQ,cAAA,EAAE,IAAI,UAAA;IACpE,IAAA,KAAwC,KAAK,CAAC,QAAQ,CAAwB,IAAI,CAAC,EAAlF,eAAe,QAAA,EAAE,kBAAkB,QAA+C,CAAA;IAEzF,KAAK,CAAC,SAAS,CAAC;QACd,IAAI,CAAC,IAAI;YAAE,OAAM;QACjB,IAAM,cAAc,GAAG,eAAe,CAAA;QACtC,IAAM,QAAQ,GAAG,IAAI,oBAAoB,CAAC,UAAA,OAAO;YAC/C,IAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;YACxB,IAAI,KAAK,CAAC,cAAc,KAAK,IAAI;gBAAE,KAAK,EAAE,CAAA;QAC5C,CAAC,EAAE;YACD,IAAI,MAAA;YACJ,UAAU,EAAE,OAAO;YACnB,SAAS,EAAE,EAAE;SACd,CAAC,CAAA;QAEF,IAAI,cAAc,EAAE;YAClB,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;SACjC;QAED,OAAO;YACL,IAAI,cAAc;gBAAE,QAAQ,CAAC,SAAS,CAAC,cAAc,CAAC,CAAA;QACxD,CAAC,CAAA;IAEH,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAA;IAErB,OAAO,CACL;QACG,QAAQ;QACR,OAAO,IAAI,YAAY;QACvB,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,6BAAK,GAAG,EAAE,kBAAkB,EAAE,KAAK,EAAE,KAAK,GAAQ,CACxE,CACJ,CAAA;AACH,CAAC;AAED,eAAe,cAAc,CAAA"}
@@ -0,0 +1,8 @@
1
+ interface IProps {
2
+ fileList: File[];
3
+ onUpdateFile: (files: File) => void;
4
+ label: string;
5
+ onRemoveFile: (files: File) => void;
6
+ }
7
+ declare function InputFile({ fileList, onUpdateFile, label, onRemoveFile }: IProps): JSX.Element;
8
+ export default InputFile;
@@ -0,0 +1,59 @@
1
+ import TrashIcon from '../../icons/TrashIcon';
2
+ import React, { useMemo } from 'react';
3
+ import useTheme from '../../hooks/useThemes';
4
+ function InputFile(_a) {
5
+ var fileList = _a.fileList, onUpdateFile = _a.onUpdateFile, label = _a.label, onRemoveFile = _a.onRemoveFile;
6
+ var theme = useTheme().theme;
7
+ var validateFileType = useMemo(function () { return function (allowedTypes, file) {
8
+ if (file === null || file === void 0 ? void 0 : file.type) {
9
+ return allowedTypes.includes(file === null || file === void 0 ? void 0 : file.type);
10
+ }
11
+ return false;
12
+ }; }, []);
13
+ var onUpload = function () {
14
+ var input = document.querySelector(".file-input__input");
15
+ input === null || input === void 0 ? void 0 : input.click();
16
+ };
17
+ var onChange = function (e) {
18
+ var _a, _b;
19
+ var file = (_b = (_a = e === null || e === void 0 ? void 0 : e.target) === null || _a === void 0 ? void 0 : _a.files) === null || _b === void 0 ? void 0 : _b[0];
20
+ var isAllowedType = validateFileType(['image/png', 'image/jpeg'], file);
21
+ if (!isAllowedType) {
22
+ console.error('Escolha uma imagem de extensão JPG ou PNG');
23
+ return false;
24
+ }
25
+ if (file)
26
+ onUpdateFile(file);
27
+ return true;
28
+ };
29
+ var removeItem = function (file) {
30
+ if (fileList.some(function (item) { return item === file; })) {
31
+ onRemoveFile(file);
32
+ }
33
+ };
34
+ return (React.createElement(React.Fragment, null,
35
+ React.createElement("div", { className: 'file-input' },
36
+ React.createElement("label", { style: { color: theme.newChatFormTexts }, htmlFor: "", className: 'file-input__label' }, label),
37
+ React.createElement("div", { className: "file-input__container", style: {
38
+ backgroundColor: theme.inputBg,
39
+ color: theme.newChatFormTexts
40
+ } },
41
+ React.createElement("input", { className: 'file-input__input', type: "file", id: "docpicker", hidden: true, accept: ".jpg, .jpeg, .png", onChange: function (event) { return onChange(event); } }),
42
+ React.createElement("h4", null, "Escolha o arquivo"),
43
+ React.createElement("button", { className: 'file-input__button', type: "button", onClick: onUpload, style: {
44
+ background: theme === null || theme === void 0 ? void 0 : theme.buttonPrimary,
45
+ color: theme === null || theme === void 0 ? void 0 : theme.buttonPrimaryText
46
+ } }, "Escolher arquivo"),
47
+ React.createElement("p", null, "S\u00E3o aceitas imagens no formato .png ou .jpg"))),
48
+ React.createElement("div", null, fileList && fileList.map(function (item) {
49
+ return React.createElement("div", { className: "file-input__list", key: item.name, style: {
50
+ backgroundColor: theme.inputBg,
51
+ color: theme.newChatFormTexts
52
+ } },
53
+ item.name,
54
+ React.createElement("button", { className: "file-input__delete", onClick: function () { return removeItem(item); } },
55
+ React.createElement(TrashIcon, { color: theme.newChatFormDeleteFileButton || 'red' })));
56
+ }))));
57
+ }
58
+ export default InputFile;
59
+ //# sourceMappingURL=InputFile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InputFile.js","sourceRoot":"","sources":["../../../../../../src/app/Messenger/components/InputFile/InputFile.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { IMessages } from "types";
2
+ declare function MessageBalloon({ item, creatorId, formatDate, id }: {
3
+ item: IMessages;
4
+ creatorId?: string;
5
+ formatDate: (date: string | Date) => string | undefined;
6
+ id: string;
7
+ }): JSX.Element;
8
+ export default MessageBalloon;
@@ -0,0 +1,32 @@
1
+ import React from 'react';
2
+ import IncomingMessage from "../IncomingMessage/IncomingMessage";
3
+ import SenderMessages from "../SenderMessages/SenderMessages";
4
+ import SystemMessage from '../SystemMessage/SystemMessage';
5
+ function MessageBalloon(_a) {
6
+ var _b;
7
+ var item = _a.item, creatorId = _a.creatorId, formatDate = _a.formatDate, id = _a.id;
8
+ if (item.isSystemMessage) {
9
+ return (React.createElement(SystemMessage, { formatDate: formatDate, date: item.createdAt, message: item.content, id: item.senderId, user: { name: 'System' } }));
10
+ }
11
+ if (item.sender.uniqueCode && !item.isSystemMessage && (item.sender.uniqueCode === creatorId)) {
12
+ return (React.createElement(React.Fragment, null,
13
+ React.createElement(SenderMessages, { id: id, formatDate: formatDate, message: item.content, date: item.createdAt, read: item.everybodyHasRead, hasFile: item.hasFile, file: item.file }),
14
+ item.images && item.images.map(function (image, index) {
15
+ return React.createElement(SenderMessages, { key: image.key, id: "".concat(id, "image-").concat(index), formatDate: formatDate, date: item.createdAt, file: image, message: '', hasFile: true, read: item.everybodyHasRead });
16
+ })));
17
+ }
18
+ return (React.createElement(React.Fragment, null,
19
+ React.createElement(IncomingMessage, { id: id, formatDate: formatDate, date: item.createdAt, message: item.content, hasFile: item.hasFile, isSystemMessage: item.isSystemMessage, file: item.file, user: {
20
+ avatar: (_b = item.sender) === null || _b === void 0 ? void 0 : _b.image,
21
+ name: item.sender.username
22
+ } }),
23
+ item.images && item.images.map(function (image, index) {
24
+ var _a;
25
+ return React.createElement(IncomingMessage, { key: image.key, id: "".concat(id, "image-").concat(index), formatDate: formatDate, date: item.createdAt, file: image, message: '', hasFile: true, user: {
26
+ avatar: (_a = item.sender) === null || _a === void 0 ? void 0 : _a.image,
27
+ name: item.sender.username
28
+ } });
29
+ })));
30
+ }
31
+ export default MessageBalloon;
32
+ //# sourceMappingURL=MessageBalloon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MessageBalloon.js","sourceRoot":"","sources":["../../../../../../src/app/Messenger/components/MessageBallon/MessageBalloon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,eAAe,MAAM,oCAAoC,CAAA;AAChE,OAAO,cAAc,MAAM,kCAAkC,CAAA;AAC7D,OAAO,aAAa,MAAM,gCAAgC,CAAA;AAE1D,SAAS,cAAc,CAAC,EAKvB;;QALyB,IAAI,UAAA,EAAE,SAAS,eAAA,EAAE,UAAU,gBAAA,EAAE,EAAE,QAAA;IAMvD,IAAI,IAAI,CAAC,eAAe,EAAE;QACxB,OAAO,CACL,oBAAC,aAAa,IACZ,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,IAAI,CAAC,SAAS,EACpB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,EAAE,EAAE,IAAI,CAAC,QAAQ,EACjB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,GACxB,CACH,CAAA;KACF;IAED,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,KAAK,SAAS,CAAC,EAAE;QAC7F,OAAO,CACL;YACE,oBAAC,cAAc,IACb,EAAE,EAAE,EAAE,EACN,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,IAAI,EAAE,IAAI,CAAC,SAAS,EACpB,IAAI,EAAE,IAAI,CAAC,gBAAgB,EAC3B,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,IAAI,EAAE,IAAI,CAAC,IAAI,GACf;YACD,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAC,KAAc,EAAE,KAAa;gBAC5D,OAAA,oBAAC,cAAc,IACb,GAAG,EAAE,KAAK,CAAC,GAAG,EACd,EAAE,EAAE,UAAG,EAAE,mBAAS,KAAK,CAAE,EACzB,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,IAAI,CAAC,SAAS,EACpB,IAAI,EAAE,KAAK,EACX,OAAO,EAAC,EAAE,EACV,OAAO,EAAE,IAAI,EACb,IAAI,EAAE,IAAI,CAAC,gBAAgB,GAC3B;YATF,CASE,CACH,CACA,CACJ,CAAA;KACF;IAED,OAAO,CACL;QACE,oBAAC,eAAe,IACd,EAAE,EAAE,EAAE,EACN,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,IAAI,CAAC,SAAS,EACpB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,eAAe,EAAE,IAAI,CAAC,eAAe,EACrC,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,IAAI,EAAE;gBACJ,MAAM,EAAE,MAAA,IAAI,CAAC,MAAM,0CAAE,KAAK;gBAC1B,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;aAC3B,GACD;QAED,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAC,KAAc,EAAE,KAAa;;YAC5D,OAAA,oBAAC,eAAe,IACd,GAAG,EAAE,KAAK,CAAC,GAAG,EACd,EAAE,EAAE,UAAG,EAAE,mBAAS,KAAK,CAAE,EACzB,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,IAAI,CAAC,SAAS,EACpB,IAAI,EAAE,KAAK,EACX,OAAO,EAAC,EAAE,EACV,OAAO,EAAE,IAAI,EACb,IAAI,EAAE;oBACJ,MAAM,EAAE,MAAA,IAAI,CAAC,MAAM,0CAAE,KAAK;oBAC1B,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;iBAC3B,GACD,CAAA;SAAA,CACH,CACA,CACJ,CAAA;AACH,CAAC;AAED,eAAe,cAAc,CAAA"}
@@ -0,0 +1,3 @@
1
+ import { IMesssengerAvatar } from 'types';
2
+ declare function MessengerAvatar({ image, children, className }: IMesssengerAvatar): JSX.Element;
3
+ export default MessengerAvatar;
@@ -0,0 +1,13 @@
1
+ import useTheme from '../../hooks/useThemes';
2
+ import React from 'react';
3
+ function MessengerAvatar(_a) {
4
+ var image = _a.image, children = _a.children, _b = _a.className, className = _b === void 0 ? '' : _b;
5
+ var theme = useTheme().theme;
6
+ return (React.createElement("figure", { style: {
7
+ background: theme.messengerIncomerColor
8
+ }, className: "".concat(className, " messenger__aside-list-item--avatar") }, image
9
+ ? (React.createElement("img", { loading: "lazy", alt: 'imagem de um avatar de usu\u00E1rio', src: image }))
10
+ : children));
11
+ }
12
+ export default MessengerAvatar;
13
+ //# sourceMappingURL=MessengerAvatar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MessengerAvatar.js","sourceRoot":"","sources":["../../../../../../src/app/Messenger/components/MessengerAvatar/MessengerAvatar.tsx"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,uBAAuB,CAAA;AAC5C,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,SAAS,eAAe,CAAC,EAAsD;QAApD,KAAK,WAAA,EAAE,QAAQ,cAAA,EAAE,iBAAc,EAAd,SAAS,mBAAG,EAAE,KAAA;IAChD,IAAA,KAAK,GAAK,QAAQ,EAAE,MAAf,CAAe;IAC5B,OAAO,CACL,gCACE,KAAK,EAAE;YACL,UAAU,EAAE,KAAK,CAAC,qBAAqB;SACxC,EACD,SAAS,EAAE,UAAG,SAAS,wCAAqC,IAE3D,KAAK;QACJ,CAAC,CAAC,CAAC,6BAAK,OAAO,EAAC,MAAM,EAAC,GAAG,EAAC,qCAAgC,EAAC,GAAG,EAAE,KAAK,GAAI,CAAC;QAC3E,CAAC,CAAC,QAAQ,CACL,CACV,CAAA;AACH,CAAC;AAED,eAAe,eAAe,CAAA"}