agx-chat-web 1.2.5 → 1.2.6
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.
- package/dist/agx-chat.esm.js +1 -1
- package/dist/agx-chat.esm.js.map +1 -1
- package/dist/agx-chat.umd.js +1 -1
- package/dist/agx-chat.umd.js.map +1 -1
- package/dist/esm/app/ChatProvider/ChatProvider.js +1 -0
- package/dist/esm/app/ChatProvider/ChatProvider.js.map +1 -1
- package/dist/esm/app/i18n/index.d.ts +2 -2
- package/dist/esm/app/i18n/index.js +4 -6
- package/dist/esm/app/i18n/index.js.map +1 -1
- package/package.json +2 -5
package/dist/agx-chat.esm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agx-chat.esm.js","mappings":"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","sources":["webpack://agx-chat-web/./src/styles/index.less","webpack://agx-chat-web/./node_modules/css-loader/dist/runtime/api.js","webpack://agx-chat-web/./node_modules/css-loader/dist/runtime/sourceMaps.js","webpack://agx-chat-web/./node_modules/dayjs/locale/pt-br.js","webpack://agx-chat-web/./node_modules/dayjs/plugin/isToday.js","webpack://agx-chat-web/./node_modules/dayjs/plugin/timezone.js","webpack://agx-chat-web/./node_modules/dayjs/plugin/utc.js","webpack://agx-chat-web/./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js","webpack://agx-chat-web/./node_modules/style-loader/dist/runtime/insertBySelector.js","webpack://agx-chat-web/./node_modules/style-loader/dist/runtime/insertStyleElement.js","webpack://agx-chat-web/./node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js","webpack://agx-chat-web/./node_modules/style-loader/dist/runtime/styleDomAPI.js","webpack://agx-chat-web/./node_modules/style-loader/dist/runtime/styleTagTransform.js","webpack://agx-chat-web/./src/assets/right-arrow.svg","webpack://agx-chat-web/external module \"dayjs\"","webpack://agx-chat-web/webpack/bootstrap","webpack://agx-chat-web/webpack/runtime/compat get default export","webpack://agx-chat-web/webpack/runtime/define property getters","webpack://agx-chat-web/webpack/runtime/hasOwnProperty shorthand","webpack://agx-chat-web/webpack/runtime/nonce","webpack://agx-chat-web/./src/styles/index.less?e247","webpack://agx-chat-web/external module \"react\"","webpack://agx-chat-web/./src/app/Messenger/components/MessengerThemeWrapper/MessengerThemeWrapper.tsx","webpack://agx-chat-web/./src/app/Messenger/hooks/useThemes.tsx","webpack://agx-chat-web/./src/app/Messenger/classes/slaCalculations.ts","webpack://agx-chat-web/external module \"react-i18next\"","webpack://agx-chat-web/./src/app/Messenger/components/MessengerAvatar/MessengerAvatar.tsx","webpack://agx-chat-web/./src/app/Messenger/icons/TimerIcon.tsx","webpack://agx-chat-web/./src/app/Messenger/views/MessengerListItem.tsx","webpack://agx-chat-web/./src/app/Messenger/components/ChatTabs/ChatTabs.tsx","webpack://agx-chat-web/./src/app/Messenger/components/ChatButton/ChatButton.tsx","webpack://agx-chat-web/./src/app/Messenger/icons/SearchIcon.tsx","webpack://agx-chat-web/./src/app/Messenger/components/SearchInput/SearchInput.tsx","webpack://agx-chat-web/./src/app/Messenger/icons/EmptyIcon.tsx","webpack://agx-chat-web/./src/app/Messenger/components/InfiniteScroll/InfiniteScroll.tsx","webpack://agx-chat-web/./src/app/Messenger/views/MessengerList.tsx","webpack://agx-chat-web/./node_modules/tslib/tslib.es6.js","webpack://agx-chat-web/./src/app/Messenger/icons/DOCFileIcon.tsx","webpack://agx-chat-web/./src/app/Messenger/icons/PDFFileIcon.tsx","webpack://agx-chat-web/./src/app/Messenger/icons/CSVFileIcon.tsx","webpack://agx-chat-web/./src/app/Messenger/icons/MP4FileIcon.tsx","webpack://agx-chat-web/./src/app/Messenger/components/RenderFileIcon/RenderFileIcon.tsx","webpack://agx-chat-web/./src/app/Messenger/components/ImagesContainer/ImagesContainer.tsx","webpack://agx-chat-web/./node_modules/react-simple-image-viewer/dist/index.esm.js","webpack://agx-chat-web/./src/app/Messenger/icons/DownloadMinimalistIcon.tsx","webpack://agx-chat-web/./src/app/Messenger/components/DocMessage/DocMessage.tsx","webpack://agx-chat-web/./src/app/Messenger/components/IncomingMessage/IncomingMessage.tsx","webpack://agx-chat-web/./src/app/Messenger/icons/ReadIcon.tsx","webpack://agx-chat-web/./src/app/Messenger/components/SenderMessages/SenderMessages.tsx","webpack://agx-chat-web/./src/app/Messenger/components/SystemMessage/SystemMessage.tsx","webpack://agx-chat-web/./src/app/Messenger/components/MessageBallon/MessageBalloon.tsx","webpack://agx-chat-web/./src/app/Messenger/icons/MessageIcon.tsx","webpack://agx-chat-web/./src/app/Messenger/icons/TrashIcon.tsx","webpack://agx-chat-web/./src/app/Messenger/components/InputFile/InputFile.tsx","webpack://agx-chat-web/./src/app/Messenger/components/Select/Select.tsx","webpack://agx-chat-web/./src/app/Messenger/components/TextArea/TextArea.tsx","webpack://agx-chat-web/./src/app/Messenger/icons/CloseIcon.tsx","webpack://agx-chat-web/./src/app/Messenger/views/NewFormChat.tsx","webpack://agx-chat-web/./src/app/Messenger/icons/AttachFileIcon.tsx","webpack://agx-chat-web/./src/app/Messenger/components/Tooltip/Tooltip.tsx","webpack://agx-chat-web/./src/app/Messenger/components/SendMessageForm/SendMessageForm.tsx","webpack://agx-chat-web/./src/app/Messenger/views/MessengerMessages.tsx","webpack://agx-chat-web/./src/app/Messenger/hooks/useConversations.tsx","webpack://agx-chat-web/./src/app/Messenger/hooks/useMessages.tsx","webpack://agx-chat-web/external module \"i18next\"","webpack://agx-chat-web/./src/app/i18n/index.ts","webpack://agx-chat-web/./src/app/ChatProvider/ChatProvider.tsx"],"sourcesContent":["// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".images-container {\\n width: 100%;\\n height: 90%;\\n border: 2px solid #484c52;\\n background-color: #232831;\\n border-bottom: none;\\n border-radius: 0 20px 0 0;\\n}\\n@media only screen and (max-width: 768px) {\\n .images-container {\\n border-radius: 20px 20px 0 0 !important;\\n }\\n}\\n.images-container__close {\\n width: 100%;\\n position: relative;\\n margin-top: 15px;\\n display: flex;\\n justify-content: flex-end;\\n align-items: center;\\n}\\n.images-container__close--icon {\\n width: 32px;\\n height: 32px;\\n cursor: pointer;\\n background-color: transparent;\\n outline: none;\\n border: none;\\n}\\n.images-container__close--icon:hover {\\n opacity: 75%;\\n transition: 200ms;\\n}\\n.images-container__close--icon::before,\\n.images-container__close--icon::after {\\n position: absolute;\\n right: 25px;\\n top: 0;\\n content: ' ';\\n height: 33px;\\n width: 2px;\\n background-color: red;\\n}\\n.images-container__close--icon:after {\\n transform: rotate(45deg);\\n}\\n.images-container__close--icon:before {\\n transform: rotate(-45deg);\\n}\\n.images-container__container {\\n width: 100%;\\n height: 100%;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n color: #476077;\\n}\\n.images-container__image {\\n display: flex;\\n flex-direction: column;\\n align-items: center;\\n width: 100%;\\n padding: 0 10px;\\n max-width: 700px;\\n max-height: 300px;\\n}\\n.images-container__title-img {\\n width: 100%;\\n text-align: center;\\n word-wrap: break-word;\\n}\\n.form-select {\\n margin-bottom: 1rem;\\n width: 100%;\\n}\\n.form-select__label {\\n color: #476077;\\n font-weight: bold;\\n margin: 0.5rem;\\n}\\n.form-select__input {\\n border: 1.5px solid hsl(0, 0%, 80%);\\n border-radius: 4px;\\n margin-top: 0.5rem;\\n padding: 8px 8px;\\n width: 100%;\\n}\\n.form-select__input:focus {\\n outline: #2684ff 2px solid !important;\\n}\\n.text-area {\\n margin-bottom: 1rem;\\n width: 100%;\\n}\\n.text-area__label {\\n color: #476077;\\n font-weight: bold;\\n margin: 0.5rem;\\n}\\n.text-area__input {\\n border: 1.5px solid hsl(0, 0%, 80%);\\n border-radius: 4px;\\n margin-top: 0.5rem;\\n padding: 4px 8px;\\n width: 100%;\\n}\\n.text-area__input:focus {\\n outline: #2684ff 2px solid !important;\\n}\\n.file-input {\\n margin-bottom: 1rem;\\n width: 100%;\\n}\\n.file-input__label {\\n color: #476077;\\n font-weight: bold;\\n margin: 0.5rem;\\n}\\n.file-input__container {\\n align-items: center;\\n background-color: var(--secondary-color);\\n border-radius: 10px;\\n display: flex;\\n flex-direction: column;\\n justify-content: center;\\n margin-top: 0.5rem;\\n padding: 1rem;\\n width: 100%;\\n}\\n.file-input__button {\\n border: none;\\n border-radius: 30px;\\n color: var(--secondary-color);\\n cursor: pointer;\\n font-size: 1rem;\\n font-weight: bold;\\n margin: 0.5rem 1rem;\\n padding: 0.5rem;\\n}\\n.file-input__list {\\n align-items: center;\\n background-color: var(--secondary-color);\\n border-radius: 10px;\\n display: flex;\\n justify-content: space-between;\\n margin: 0.5rem 0;\\n padding: 0.5rem;\\n}\\n.file-input__list--file-name {\\n overflow: hidden;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n max-width: 100%;\\n}\\n.file-input__delete {\\n align-items: center;\\n background: transparent;\\n border: none;\\n cursor: pointer;\\n display: flex;\\n justify-content: center;\\n}\\n.input-search {\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n width: 100%;\\n margin: 1rem 0;\\n position: relative;\\n}\\n.input-search__select {\\n border-radius: 30px 0 0 30px;\\n padding: 10px;\\n background: transparent;\\n margin-left: 1rem;\\n width: 30%;\\n}\\n.input-search__option {\\n color: black;\\n}\\n.input-search__search {\\n width: 70%;\\n margin-right: 1rem;\\n border-radius: 0 30px 30px 0;\\n padding: 9px;\\n color: var(--secondary-color);\\n border: var(--secondary-color) 1px solid;\\n background: transparent;\\n position: relative;\\n}\\n.input-search__search::placeholder {\\n color: var(--secondary-color);\\n opacity: 60%;\\n}\\n.input-search__icon {\\n border: none;\\n background: transparent;\\n position: absolute;\\n right: 2rem;\\n display: flex;\\n cursor: pointer;\\n}\\n.chat-tabs {\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n}\\n.chat-tabs__button {\\n background: transparent;\\n border: none;\\n border-bottom: 1px solid transparent;\\n cursor: pointer;\\n padding: 0.5rem 1rem;\\n margin-bottom: 0.5rem;\\n}\\n.chat-tabs__button--active {\\n border-bottom: 1px solid var(--secondary-color);\\n transition: 0.5s;\\n}\\n.messenger__messages-row--sender {\\n display: flex;\\n justify-content: flex-end;\\n margin: 10px 0;\\n}\\n.messenger__messages-sender {\\n max-width: 80%;\\n padding: 10px;\\n border-radius: 8px;\\n font-family: 'Arial', sans-serif;\\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\\n}\\n.messenger__file-card {\\n display: flex;\\n align-items: center;\\n background: rgba(0, 0, 0, 0.1);\\n border-radius: 8px;\\n padding: 10px;\\n}\\n.messenger__file-icon {\\n flex-shrink: 0;\\n width: 40px;\\n height: 40px;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n border-radius: 4px;\\n margin-right: 10px;\\n}\\n.messenger__file-details {\\n flex-grow: 1;\\n margin-right: 10px;\\n}\\n.messenger__file-name {\\n font-weight: bold;\\n font-size: 14px;\\n margin: 0;\\n}\\n.messenger__file-info {\\n font-size: 12px;\\n color: rgba(255, 255, 255, 0.8);\\n}\\n.messenger__file-download {\\n font-size: 12px;\\n text-decoration: none;\\n}\\n.messenger__file-download:hover {\\n text-decoration: underline;\\n}\\n.messenger__message--bottom {\\n display: flex;\\n justify-content: space-between;\\n align-items: center;\\n margin-top: 5px;\\n}\\n.messenger__message--date {\\n font-size: 12px;\\n color: rgba(255, 255, 255, 0.8);\\n}\\n.tooltip {\\n position: relative;\\n display: inline-block;\\n}\\n.tooltip__text {\\n visibility: hidden;\\n background-color: black;\\n color: #fff;\\n text-align: center;\\n border-radius: 5px;\\n padding: 5px;\\n position: absolute;\\n z-index: 1;\\n bottom: 125%;\\n left: -40%;\\n margin-left: -60px;\\n opacity: 0;\\n transition: opacity 0.3s, visibility 0.3s;\\n}\\n.tooltip:hover .tooltip__text {\\n visibility: visible;\\n opacity: 1;\\n}\\n.messenger__aside {\\n width: 30% !important;\\n display: flex;\\n align-items: center;\\n flex-direction: column;\\n}\\n@media only screen and (max-width: 1200px) {\\n .messenger__aside {\\n min-width: 300px;\\n }\\n}\\n@media only screen and (max-width: 992px) {\\n .messenger__aside {\\n border-radius: 20px !important;\\n width: 100% !important;\\n }\\n}\\n.messenger__aside-skeleton {\\n background-color: #232831;\\n border: 0;\\n min-height: 75px;\\n width: 100% !important;\\n}\\n.messenger__aside-empty {\\n width: 100%;\\n margin-top: 40px;\\n display: flex;\\n flex-direction: column;\\n justify-content: center;\\n align-items: center;\\n}\\n.messenger__aside-empty path {\\n fill: var(--secondary-color);\\n}\\n.messenger__aside-empty p {\\n text-align: center;\\n}\\n.messenger__aside-header {\\n width: 100% !important;\\n padding: 0 15px;\\n}\\n.messenger__scroll-content {\\n overflow-y: auto;\\n margin-bottom: 0.5rem;\\n}\\n.messenger__aside-list {\\n width: 100% !important;\\n padding: 0 10px 10px 10px;\\n height: 100%;\\n overflow-y: auto;\\n overflow-x: hidden;\\n display: flex;\\n flex-direction: column;\\n justify-content: flex-start;\\n align-items: center;\\n}\\n.messenger__aside-list > .ant-ribbon-wrapper {\\n width: 100%;\\n}\\n.messenger__aside-list > .ant-ribbon-wrapper .ant-ribbon {\\n z-index: -1;\\n top: 0;\\n}\\n.messenger__aside-item-container {\\n min-width: 100%;\\n position: relative;\\n}\\n.messenger__active-badge {\\n z-index: 15 !important;\\n}\\n.messenger__aside-protocol {\\n position: absolute;\\n right: 0;\\n top: 0;\\n border-radius: 10px;\\n background-color: var(--secondary-color);\\n padding: 0 0.5rem;\\n font-size: 0.6rem;\\n}\\n.messenger__aside-timer {\\n align-items: center;\\n display: flex;\\n font-size: 12px;\\n}\\n.messenger__aside-list-item {\\n border-radius: 0;\\n cursor: pointer;\\n display: flex;\\n flex-direction: row;\\n height: 72px;\\n padding: 5px 10px;\\n width: 100% !important;\\n}\\n.messenger__aside-list-item:hover {\\n background: #232831;\\n border-radius: 0;\\n}\\n.messenger__aside-list-item--avatar {\\n align-items: center;\\n background: #484c52;\\n border-radius: 50%;\\n color: #00a73e;\\n display: flex;\\n flex: 0 0 auto;\\n font-size: 25px;\\n font-weight: bold;\\n height: 50px;\\n justify-content: center;\\n line-height: 2.2;\\n margin: auto 10px auto 0;\\n text-transform: uppercase;\\n user-select: none;\\n width: 50px;\\n}\\n@media only screen and (max-width: 1200px) {\\n .messenger__aside-list-item--avatar {\\n height: 45px;\\n width: 45px;\\n }\\n}\\n.messenger__aside-list-item--avatar img {\\n height: 54px;\\n width: 54px;\\n border-radius: 50%;\\n}\\n.messenger__aside-list-item--info,\\n.messenger__aside-list-item--additional {\\n display: flex;\\n flex-direction: column;\\n gap: 0.5rem;\\n height: 100%;\\n}\\n.messenger__aside-list-item--info {\\n max-width: 120px;\\n min-width: 120px;\\n}\\n@media only screen and (min-width: 1600px) {\\n .messenger__aside-list-item--info {\\n max-width: 140px;\\n min-width: 140px;\\n }\\n}\\n@media only screen and (max-width: 992px) {\\n .messenger__aside-list-item--info {\\n max-width: 65%;\\n min-width: 65%;\\n }\\n}\\n@media only screen and (max-width: 576px) {\\n .messenger__aside-list-item--info {\\n max-width: 120px;\\n min-width: 120px;\\n }\\n}\\n.messenger__aside-list-item--additional {\\n align-items: flex-end;\\n font-size: 11px;\\n margin-left: 5px;\\n width: 100%;\\n}\\n.messenger__aside-list-item--unread {\\n background-color: #00a73e;\\n border-radius: 50%;\\n width: 20px;\\n height: 20px;\\n text-align: center;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n}\\n.messenger__aside-list-item--title,\\n.messenger__aside-list-item--description {\\n line-height: 1;\\n overflow: hidden;\\n margin: 0;\\n max-width: 160px;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n width: 100%;\\n}\\n.messenger__aside-list-item--title {\\n font-weight: bold;\\n font-size: 14px;\\n}\\n.messenger__aside-list-item--description {\\n font-size: 12px;\\n}\\n.messenger__messages {\\n width: 70% !important;\\n display: flex;\\n flex-direction: column;\\n justify-content: space-evenly;\\n}\\n@media only screen and (max-width: 992px) {\\n .messenger__messages {\\n width: 100% !important;\\n }\\n}\\n.messenger__messages-header,\\n.messenger__messages-send {\\n padding: 5px;\\n min-height: 10%;\\n width: 100%;\\n}\\n.messenger__messages-header {\\n border-radius: 0 20px 0 0;\\n display: flex;\\n flex-direction: row;\\n align-items: center;\\n justify-content: space-between;\\n}\\n@media only screen and (max-width: 992px) {\\n .messenger__messages-header {\\n border-radius: 20px 20px 0 0;\\n }\\n}\\n.messenger__messages-container {\\n max-height: 80%;\\n height: 100%;\\n padding: 0 24px;\\n overflow: auto;\\n overflow-x: hidden;\\n scroll-behavior: auto;\\n background-color: #dddddd;\\n}\\n.messenger__messages-container--empty {\\n width: 100%;\\n height: 100%;\\n border-radius: 0 20px 20px 0;\\n background-color: #dddddd;\\n display: flex;\\n flex-direction: column;\\n align-items: center;\\n justify-content: center;\\n}\\n.messenger__messages-container--empty path {\\n fill: #00a73e;\\n}\\n.messenger__messages-container--empty p {\\n text-align: center;\\n margin-top: 24px;\\n}\\n.messenger__messages-loading {\\n width: 100%;\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n margin-top: 10px;\\n}\\n.messenger__messages-loading div {\\n animation: spin 1s infinite linear;\\n border-left: 2px solid var(--secondary-color);\\n border-radius: 50%;\\n height: 25px;\\n margin-bottom: 10px;\\n width: 25px;\\n}\\n.messenger__messages-row--sender,\\n.messenger__messages-row--received,\\n.messenger__messages-row--system {\\n width: 100%;\\n height: fit-content;\\n margin: 10px 0;\\n display: flex;\\n align-items: center;\\n}\\n.messenger__messages-row--sender {\\n justify-content: flex-end;\\n}\\n.messenger__messages-row--received {\\n justify-content: flex-start;\\n}\\n.messenger__messages-row--system {\\n justify-content: center;\\n}\\n.messenger__messages-received,\\n.messenger__messages-sender {\\n min-width: 75px;\\n width: fit-content;\\n padding: 10px;\\n}\\n.messenger__messages-received > span,\\n.messenger__messages-sender > span {\\n color: var(--secondary-color);\\n overflow-wrap: break-word;\\n word-break: break-word;\\n width: 200px;\\n}\\n.messenger__messages-received {\\n max-width: 500px;\\n background-color: #707070;\\n border-radius: 12px 12px 12px 0;\\n}\\n.messenger__messages-received--system {\\n border-radius: 12px;\\n}\\n.messenger__messages-sender {\\n max-width: 450px;\\n margin-top: -2px;\\n background-color: #00a73e;\\n border-radius: 12px 12px 0 12px;\\n}\\n.messenger__message-title {\\n white-space: nowrap;\\n overflow: hidden;\\n max-width: 100%;\\n display: block;\\n line-height: 1;\\n padding: 0;\\n margin: 0 0 3px;\\n justify-content: flex-end;\\n font-size: 13px;\\n color: var(--secondary-color);\\n font-weight: bold;\\n filter: opacity(0.7);\\n font-weight: 700;\\n}\\n.messenger__message {\\n padding: 0;\\n margin: 0;\\n white-space: pre-wrap;\\n line-height: 1.2;\\n}\\n.messenger__message--file {\\n cursor: pointer;\\n}\\n.messenger__message--file img {\\n object-fit: scale-down;\\n}\\n.messenger__message--bottom {\\n width: 100%;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n gap: 5px;\\n margin-top: 5px;\\n}\\n.messenger__message--date {\\n font-size: 11.5px;\\n padding: 0;\\n margin-top: 5px;\\n margin-bottom: 0;\\n margin-right: 0;\\n text-align: right;\\n line-height: 14px;\\n}\\n.messenger__message-empty {\\n width: 100%;\\n margin-top: 40px;\\n display: flex;\\n flex-direction: column;\\n justify-content: center;\\n align-items: center;\\n}\\n.messenger__message-empty p {\\n text-align: center;\\n}\\n@media only screen and (max-width: 576px) {\\n .messenger__message-avatar {\\n display: none;\\n }\\n}\\n.messenger__messages-send {\\n border-radius: 0 0 20px 0;\\n border-top: 0;\\n display: flex;\\n flex-direction: row;\\n justify-content: center;\\n align-items: center;\\n}\\n@media only screen and (max-width: 992px) {\\n .messenger__messages-send {\\n border-radius: 0 0 20px 20px;\\n }\\n}\\n.messenger__messages-send--form {\\n align-items: center;\\n display: flex;\\n gap: 10px;\\n width: 100%;\\n}\\n.messenger__messages-send__input {\\n border: 0;\\n border-radius: 12px;\\n display: flex;\\n flex: 1 1 auto;\\n height: 50px;\\n line-height: 26px;\\n max-height: 90px;\\n outline: none;\\n overflow-y: auto;\\n padding: 10px 12px 9px;\\n resize: none;\\n width: 90%;\\n}\\n.messenger__messages-send__input--disabled {\\n cursor: not-allowed;\\n opacity: 0.5;\\n}\\n.messenger__messages-send__input::placeholder {\\n color: #aaaaaa;\\n}\\n.messenger__messages-send__input-container {\\n align-items: center;\\n border-radius: 12px;\\n display: flex;\\n flex: 1 1 auto;\\n}\\n.messenger__messages-send__button {\\n height: 45px !important;\\n width: 45px !important;\\n border-radius: 50%;\\n border: none;\\n outline: none;\\n cursor: pointer;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n}\\n.messenger__messages-send__button--disabled {\\n cursor: not-allowed;\\n opacity: 0.5;\\n}\\n.messenger__messages-send__button:hover {\\n opacity: 0.7;\\n transition: 200ms;\\n}\\n.messenger__messages-send--file {\\n display: none;\\n}\\n.messenger__messages-send__attach {\\n cursor: pointer;\\n width: 40px;\\n}\\n.messenger__messages-send__attach--disabled {\\n cursor: not-allowed;\\n}\\n.messenger__new-chat-form {\\n overflow-y: scroll;\\n border-radius: 0 20px 20px 0;\\n height: 100%;\\n padding: 1rem;\\n}\\n@media only screen and (max-width: 768px) {\\n .messenger__new-chat-form {\\n border-radius: 20px !important;\\n }\\n}\\n.messenger__new-chat-form-header {\\n display: flex;\\n justify-content: space-between;\\n margin: 1rem 0;\\n}\\n.messenger__new-chat-form-title {\\n color: #476077;\\n margin-right: 1rem;\\n}\\n.messenger__new-chat-form-close {\\n background: none;\\n border: none;\\n cursor: pointer;\\n}\\n.messenger__new-chat-fields,\\n.messenger__disclaimer {\\n margin: 0 1rem;\\n}\\n.messenger__disclaimer {\\n border: solid 1px;\\n border-radius: 10px;\\n padding: 0.8rem;\\n margin-bottom: 1rem;\\n}\\n.messenger__new-chat-form-send {\\n border: none;\\n border-radius: 30px;\\n cursor: pointer;\\n font-weight: bolder;\\n margin: 25px 0;\\n padding: 0.5rem;\\n}\\n.messenger__new-chat-form-send:hover {\\n opacity: 0.9;\\n}\\n.messenger__new-chat-form-send--disabled {\\n cursor: not-allowed;\\n background-color: #ccc;\\n}\\n.messenger__buttons-container {\\n display: flex;\\n flex-direction: column;\\n padding-top: 1rem;\\n width: 100%;\\n}\\n.messenger__chat-button {\\n border: none;\\n border-radius: 30px;\\n color: var(--secondary-color);\\n cursor: pointer;\\n font-size: 1rem;\\n font-weight: bold;\\n margin: 0.5rem 1rem;\\n padding: 0.5rem;\\n}\\n.messenger__chat-button--disabled {\\n cursor: not-allowed;\\n}\\n.messenger__input-button {\\n border: none;\\n border-radius: 30px;\\n color: var(--secondary-color);\\n font-size: 1rem;\\n font-weight: bold;\\n margin: 0.5rem 1rem;\\n padding: 0.5rem;\\n}\\n.messenger__input-button-label {\\n color: var(--secondary-color);\\n font-weight: bold;\\n margin: 0rem 1rem;\\n}\\n.messenger__input-button::-webkit-calendar-picker-indicator {\\n filter: invert(1);\\n}\\n@media only screen and (max-width: 992px) {\\n .messenger__mobile-hide {\\n display: none !important;\\n }\\n}\\n.styles-module_wrapper__1I_qj {\\n z-index: 60 !important;\\n background-color: rgba(0, 0, 0, 0.7) !important;\\n}\\n*,\\n::after,\\n::before {\\n padding: 0;\\n margin: 0;\\n}\\n:root {\\n --secondary-color: var(--secondary-color);\\n}\\n@keyframes spin {\\n 0% {\\n transform: rotate(0deg);\\n }\\n 100% {\\n transform: rotate(360deg);\\n }\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/Messenger/components/ImagesContainer/ImagesContainer.less\",\"webpack://./src/styles/index.less\",\"webpack://./src/app/Messenger/components/Select/Select.less\",\"webpack://./src/app/Messenger/components/TextArea/Textarea.less\",\"webpack://./src/app/Messenger/components/InputFile/inputFile.less\",\"webpack://./src/app/Messenger/components/SearchInput/SearchInput.less\",\"webpack://./src/app/Messenger/components/ChatTabs/ChatTabs.less\",\"webpack://./src/app/Messenger/components/DocMessage/DocMessage.less\",\"webpack://./src/app/Messenger/components/Tooltip/Tooltip.less\",\"webpack://./src/app/Messenger/views/Messenger.less\",\"webpack://./src/styles/abstracts/mixins.less\",\"webpack://./src/styles/base/base.less\",\"webpack://./src/styles/abstracts/variables.less\",\"webpack://./src/styles/abstracts/animations.less\"],\"names\":[],\"mappings\":\"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\",\"sourcesContent\":[\".images-container {\\n width: 100%;\\n height: 90%;\\n border: 2px solid @secondary-bg-color-chat;\\n background-color: @component-background;\\n border-bottom: none;\\n border-radius: 0 @border-radius 0 0;\\n @media @tab-md {\\n border-radius: @border-radius @border-radius 0 0 !important;\\n }\\n\\n &__close {\\n width: 100%;\\n position: relative;\\n margin-top: 15px;\\n display: flex;\\n justify-content: flex-end;\\n align-items: center;\\n\\n &--icon {\\n width: 32px;\\n height: 32px;\\n cursor: pointer;\\n background-color: transparent;\\n outline: none;\\n border: none;\\n\\n &:hover {\\n opacity: 75%;\\n transition: 200ms;\\n }\\n\\n &::before,\\n &::after {\\n position: absolute;\\n right: 25px;\\n top: 0;\\n content: ' ';\\n height: 33px;\\n width: 2px;\\n background-color: red;\\n }\\n\\n &:after {\\n transform: rotate(45deg);\\n }\\n\\n &:before {\\n transform: rotate(-45deg);\\n }\\n }\\n }\\n\\n &__container {\\n width: 100%;\\n height: 100%;\\n\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n color: @title-form-color;\\n }\\n\\n &__image {\\n display: flex;\\n flex-direction: column;\\n align-items: center;\\n width: 100%;\\n padding: 0 10px;\\n max-width: 700px;\\n max-height: 300px;\\n }\\n\\n &__title-img {\\n width: 100%;\\n text-align: center;\\n word-wrap: break-word;\\n }\\n}\\n\",\".images-container {\\n width: 100%;\\n height: 90%;\\n border: 2px solid #484c52;\\n background-color: #232831;\\n border-bottom: none;\\n border-radius: 0 20px 0 0;\\n}\\n@media only screen and (max-width: 768px) {\\n .images-container {\\n border-radius: 20px 20px 0 0 !important;\\n }\\n}\\n.images-container__close {\\n width: 100%;\\n position: relative;\\n margin-top: 15px;\\n display: flex;\\n justify-content: flex-end;\\n align-items: center;\\n}\\n.images-container__close--icon {\\n width: 32px;\\n height: 32px;\\n cursor: pointer;\\n background-color: transparent;\\n outline: none;\\n border: none;\\n}\\n.images-container__close--icon:hover {\\n opacity: 75%;\\n transition: 200ms;\\n}\\n.images-container__close--icon::before,\\n.images-container__close--icon::after {\\n position: absolute;\\n right: 25px;\\n top: 0;\\n content: ' ';\\n height: 33px;\\n width: 2px;\\n background-color: red;\\n}\\n.images-container__close--icon:after {\\n transform: rotate(45deg);\\n}\\n.images-container__close--icon:before {\\n transform: rotate(-45deg);\\n}\\n.images-container__container {\\n width: 100%;\\n height: 100%;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n color: #476077;\\n}\\n.images-container__image {\\n display: flex;\\n flex-direction: column;\\n align-items: center;\\n width: 100%;\\n padding: 0 10px;\\n max-width: 700px;\\n max-height: 300px;\\n}\\n.images-container__title-img {\\n width: 100%;\\n text-align: center;\\n word-wrap: break-word;\\n}\\n.form-select {\\n margin-bottom: 1rem;\\n width: 100%;\\n}\\n.form-select__label {\\n color: #476077;\\n font-weight: bold;\\n margin: 0.5rem;\\n}\\n.form-select__input {\\n border: 1.5px solid hsl(0, 0%, 80%);\\n border-radius: 4px;\\n margin-top: 0.5rem;\\n padding: 8px 8px;\\n width: 100%;\\n}\\n.form-select__input:focus {\\n outline: #2684ff 2px solid !important;\\n}\\n.text-area {\\n margin-bottom: 1rem;\\n width: 100%;\\n}\\n.text-area__label {\\n color: #476077;\\n font-weight: bold;\\n margin: 0.5rem;\\n}\\n.text-area__input {\\n border: 1.5px solid hsl(0, 0%, 80%);\\n border-radius: 4px;\\n margin-top: 0.5rem;\\n padding: 4px 8px;\\n width: 100%;\\n}\\n.text-area__input:focus {\\n outline: #2684ff 2px solid !important;\\n}\\n.file-input {\\n margin-bottom: 1rem;\\n width: 100%;\\n}\\n.file-input__label {\\n color: #476077;\\n font-weight: bold;\\n margin: 0.5rem;\\n}\\n.file-input__container {\\n align-items: center;\\n background-color: var(--secondary-color);\\n border-radius: 10px;\\n display: flex;\\n flex-direction: column;\\n justify-content: center;\\n margin-top: 0.5rem;\\n padding: 1rem;\\n width: 100%;\\n}\\n.file-input__button {\\n border: none;\\n border-radius: 30px;\\n color: var(--secondary-color);\\n cursor: pointer;\\n font-size: 1rem;\\n font-weight: bold;\\n margin: 0.5rem 1rem;\\n padding: 0.5rem;\\n}\\n.file-input__list {\\n align-items: center;\\n background-color: var(--secondary-color);\\n border-radius: 10px;\\n display: flex;\\n justify-content: space-between;\\n margin: 0.5rem 0;\\n padding: 0.5rem;\\n}\\n.file-input__list--file-name {\\n overflow: hidden;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n max-width: 100%;\\n}\\n.file-input__delete {\\n align-items: center;\\n background: transparent;\\n border: none;\\n cursor: pointer;\\n display: flex;\\n justify-content: center;\\n}\\n.input-search {\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n width: 100%;\\n margin: 1rem 0;\\n position: relative;\\n}\\n.input-search__select {\\n border-radius: 30px 0 0 30px;\\n padding: 10px;\\n background: transparent;\\n margin-left: 1rem;\\n width: 30%;\\n}\\n.input-search__option {\\n color: black;\\n}\\n.input-search__search {\\n width: 70%;\\n margin-right: 1rem;\\n border-radius: 0 30px 30px 0;\\n padding: 9px;\\n color: var(--secondary-color);\\n border: var(--secondary-color) 1px solid;\\n background: transparent;\\n position: relative;\\n}\\n.input-search__search::placeholder {\\n color: var(--secondary-color);\\n opacity: 60%;\\n}\\n.input-search__icon {\\n border: none;\\n background: transparent;\\n position: absolute;\\n right: 2rem;\\n display: flex;\\n cursor: pointer;\\n}\\n.chat-tabs {\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n}\\n.chat-tabs__button {\\n background: transparent;\\n border: none;\\n border-bottom: 1px solid transparent;\\n cursor: pointer;\\n padding: 0.5rem 1rem;\\n margin-bottom: 0.5rem;\\n}\\n.chat-tabs__button--active {\\n border-bottom: 1px solid var(--secondary-color);\\n transition: 0.5s;\\n}\\n.messenger__messages-row--sender {\\n display: flex;\\n justify-content: flex-end;\\n margin: 10px 0;\\n}\\n.messenger__messages-sender {\\n max-width: 80%;\\n padding: 10px;\\n border-radius: 8px;\\n font-family: 'Arial', sans-serif;\\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\\n}\\n.messenger__file-card {\\n display: flex;\\n align-items: center;\\n background: rgba(0, 0, 0, 0.1);\\n border-radius: 8px;\\n padding: 10px;\\n}\\n.messenger__file-icon {\\n flex-shrink: 0;\\n width: 40px;\\n height: 40px;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n border-radius: 4px;\\n margin-right: 10px;\\n}\\n.messenger__file-details {\\n flex-grow: 1;\\n margin-right: 10px;\\n}\\n.messenger__file-name {\\n font-weight: bold;\\n font-size: 14px;\\n margin: 0;\\n}\\n.messenger__file-info {\\n font-size: 12px;\\n color: rgba(255, 255, 255, 0.8);\\n}\\n.messenger__file-download {\\n font-size: 12px;\\n text-decoration: none;\\n}\\n.messenger__file-download:hover {\\n text-decoration: underline;\\n}\\n.messenger__message--bottom {\\n display: flex;\\n justify-content: space-between;\\n align-items: center;\\n margin-top: 5px;\\n}\\n.messenger__message--date {\\n font-size: 12px;\\n color: rgba(255, 255, 255, 0.8);\\n}\\n.tooltip {\\n position: relative;\\n display: inline-block;\\n}\\n.tooltip__text {\\n visibility: hidden;\\n background-color: black;\\n color: #fff;\\n text-align: center;\\n border-radius: 5px;\\n padding: 5px;\\n position: absolute;\\n z-index: 1;\\n bottom: 125%;\\n left: -40%;\\n margin-left: -60px;\\n opacity: 0;\\n transition: opacity 0.3s, visibility 0.3s;\\n}\\n.tooltip:hover .tooltip__text {\\n visibility: visible;\\n opacity: 1;\\n}\\n.messenger__aside {\\n width: 30% !important;\\n display: flex;\\n align-items: center;\\n flex-direction: column;\\n}\\n@media only screen and (max-width: 1200px) {\\n .messenger__aside {\\n min-width: 300px;\\n }\\n}\\n@media only screen and (max-width: 992px) {\\n .messenger__aside {\\n border-radius: 20px !important;\\n width: 100% !important;\\n }\\n}\\n.messenger__aside-skeleton {\\n background-color: #232831;\\n border: 0;\\n min-height: 75px;\\n width: 100% !important;\\n}\\n.messenger__aside-empty {\\n width: 100%;\\n margin-top: 40px;\\n display: flex;\\n flex-direction: column;\\n justify-content: center;\\n align-items: center;\\n}\\n.messenger__aside-empty path {\\n fill: var(--secondary-color);\\n}\\n.messenger__aside-empty p {\\n text-align: center;\\n}\\n.messenger__aside-header {\\n width: 100% !important;\\n padding: 0 15px;\\n}\\n.messenger__scroll-content {\\n overflow-y: auto;\\n margin-bottom: 0.5rem;\\n}\\n.messenger__aside-list {\\n width: 100% !important;\\n padding: 0 10px 10px 10px;\\n height: 100%;\\n overflow-y: auto;\\n overflow-x: hidden;\\n display: flex;\\n flex-direction: column;\\n justify-content: flex-start;\\n align-items: center;\\n}\\n.messenger__aside-list > .ant-ribbon-wrapper {\\n width: 100%;\\n}\\n.messenger__aside-list > .ant-ribbon-wrapper .ant-ribbon {\\n z-index: -1;\\n top: 0;\\n}\\n.messenger__aside-item-container {\\n min-width: 100%;\\n position: relative;\\n}\\n.messenger__active-badge {\\n z-index: 15 !important;\\n}\\n.messenger__aside-protocol {\\n position: absolute;\\n right: 0;\\n top: 0;\\n border-radius: 10px;\\n background-color: var(--secondary-color);\\n padding: 0 0.5rem;\\n font-size: 0.6rem;\\n}\\n.messenger__aside-timer {\\n align-items: center;\\n display: flex;\\n font-size: 12px;\\n}\\n.messenger__aside-list-item {\\n border-radius: 0;\\n cursor: pointer;\\n display: flex;\\n flex-direction: row;\\n height: 72px;\\n padding: 5px 10px;\\n width: 100% !important;\\n}\\n.messenger__aside-list-item:hover {\\n background: #232831;\\n border-radius: 0;\\n}\\n.messenger__aside-list-item--avatar {\\n align-items: center;\\n background: #484c52;\\n border-radius: 50%;\\n color: #00a73e;\\n display: flex;\\n flex: 0 0 auto;\\n font-size: 25px;\\n font-weight: bold;\\n height: 50px;\\n justify-content: center;\\n line-height: 2.2;\\n margin: auto 10px auto 0;\\n text-transform: uppercase;\\n user-select: none;\\n width: 50px;\\n}\\n@media only screen and (max-width: 1200px) {\\n .messenger__aside-list-item--avatar {\\n height: 45px;\\n width: 45px;\\n }\\n}\\n.messenger__aside-list-item--avatar img {\\n height: 54px;\\n width: 54px;\\n border-radius: 50%;\\n}\\n.messenger__aside-list-item--info,\\n.messenger__aside-list-item--additional {\\n display: flex;\\n flex-direction: column;\\n gap: 0.5rem;\\n height: 100%;\\n}\\n.messenger__aside-list-item--info {\\n max-width: 120px;\\n min-width: 120px;\\n}\\n@media only screen and (min-width: 1600px) {\\n .messenger__aside-list-item--info {\\n max-width: 140px;\\n min-width: 140px;\\n }\\n}\\n@media only screen and (max-width: 992px) {\\n .messenger__aside-list-item--info {\\n max-width: 65%;\\n min-width: 65%;\\n }\\n}\\n@media only screen and (max-width: 576px) {\\n .messenger__aside-list-item--info {\\n max-width: 120px;\\n min-width: 120px;\\n }\\n}\\n.messenger__aside-list-item--additional {\\n align-items: flex-end;\\n font-size: 11px;\\n margin-left: 5px;\\n width: 100%;\\n}\\n.messenger__aside-list-item--unread {\\n background-color: #00a73e;\\n border-radius: 50%;\\n width: 20px;\\n height: 20px;\\n text-align: center;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n}\\n.messenger__aside-list-item--title,\\n.messenger__aside-list-item--description {\\n line-height: 1;\\n overflow: hidden;\\n margin: 0;\\n max-width: 160px;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n width: 100%;\\n}\\n.messenger__aside-list-item--title {\\n font-weight: bold;\\n font-size: 14px;\\n}\\n.messenger__aside-list-item--description {\\n font-size: 12px;\\n}\\n.messenger__messages {\\n width: 70% !important;\\n display: flex;\\n flex-direction: column;\\n justify-content: space-evenly;\\n}\\n@media only screen and (max-width: 992px) {\\n .messenger__messages {\\n width: 100% !important;\\n }\\n}\\n.messenger__messages-header,\\n.messenger__messages-send {\\n padding: 5px;\\n min-height: 10%;\\n width: 100%;\\n}\\n.messenger__messages-header {\\n border-radius: 0 20px 0 0;\\n display: flex;\\n flex-direction: row;\\n align-items: center;\\n justify-content: space-between;\\n}\\n@media only screen and (max-width: 992px) {\\n .messenger__messages-header {\\n border-radius: 20px 20px 0 0;\\n }\\n}\\n.messenger__messages-container {\\n max-height: 80%;\\n height: 100%;\\n padding: 0 24px;\\n overflow: auto;\\n overflow-x: hidden;\\n scroll-behavior: auto;\\n background-color: #dddddd;\\n}\\n.messenger__messages-container--empty {\\n width: 100%;\\n height: 100%;\\n border-radius: 0 20px 20px 0;\\n background-color: #dddddd;\\n display: flex;\\n flex-direction: column;\\n align-items: center;\\n justify-content: center;\\n}\\n.messenger__messages-container--empty path {\\n fill: #00a73e;\\n}\\n.messenger__messages-container--empty p {\\n text-align: center;\\n margin-top: 24px;\\n}\\n.messenger__messages-loading {\\n width: 100%;\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n margin-top: 10px;\\n}\\n.messenger__messages-loading div {\\n animation: spin 1s infinite linear;\\n border-left: 2px solid var(--secondary-color);\\n border-radius: 50%;\\n height: 25px;\\n margin-bottom: 10px;\\n width: 25px;\\n}\\n.messenger__messages-row--sender,\\n.messenger__messages-row--received,\\n.messenger__messages-row--system {\\n width: 100%;\\n height: fit-content;\\n margin: 10px 0;\\n display: flex;\\n align-items: center;\\n}\\n.messenger__messages-row--sender {\\n justify-content: flex-end;\\n}\\n.messenger__messages-row--received {\\n justify-content: flex-start;\\n}\\n.messenger__messages-row--system {\\n justify-content: center;\\n}\\n.messenger__messages-received,\\n.messenger__messages-sender {\\n min-width: 75px;\\n width: fit-content;\\n padding: 10px;\\n}\\n.messenger__messages-received > span,\\n.messenger__messages-sender > span {\\n color: var(--secondary-color);\\n overflow-wrap: break-word;\\n word-break: break-word;\\n width: 200px;\\n}\\n.messenger__messages-received {\\n max-width: 500px;\\n background-color: #707070;\\n border-radius: 12px 12px 12px 0;\\n}\\n.messenger__messages-received--system {\\n border-radius: 12px;\\n}\\n.messenger__messages-sender {\\n max-width: 450px;\\n margin-top: -2px;\\n background-color: #00a73e;\\n border-radius: 12px 12px 0 12px;\\n}\\n.messenger__message-title {\\n white-space: nowrap;\\n overflow: hidden;\\n max-width: 100%;\\n display: block;\\n line-height: 1;\\n padding: 0;\\n margin: 0 0 3px;\\n justify-content: flex-end;\\n font-size: 13px;\\n color: var(--secondary-color);\\n font-weight: bold;\\n filter: opacity(0.7);\\n font-weight: 700;\\n}\\n.messenger__message {\\n padding: 0;\\n margin: 0;\\n white-space: pre-wrap;\\n line-height: 1.2;\\n}\\n.messenger__message--file {\\n cursor: pointer;\\n}\\n.messenger__message--file img {\\n object-fit: scale-down;\\n}\\n.messenger__message--bottom {\\n width: 100%;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n gap: 5px;\\n margin-top: 5px;\\n}\\n.messenger__message--date {\\n font-size: 11.5px;\\n padding: 0;\\n margin-top: 5px;\\n margin-bottom: 0;\\n margin-right: 0;\\n text-align: right;\\n line-height: 14px;\\n}\\n.messenger__message-empty {\\n width: 100%;\\n margin-top: 40px;\\n display: flex;\\n flex-direction: column;\\n justify-content: center;\\n align-items: center;\\n}\\n.messenger__message-empty p {\\n text-align: center;\\n}\\n@media only screen and (max-width: 576px) {\\n .messenger__message-avatar {\\n display: none;\\n }\\n}\\n.messenger__messages-send {\\n border-radius: 0 0 20px 0;\\n border-top: 0;\\n display: flex;\\n flex-direction: row;\\n justify-content: center;\\n align-items: center;\\n}\\n@media only screen and (max-width: 992px) {\\n .messenger__messages-send {\\n border-radius: 0 0 20px 20px;\\n }\\n}\\n.messenger__messages-send--form {\\n align-items: center;\\n display: flex;\\n gap: 10px;\\n width: 100%;\\n}\\n.messenger__messages-send__input {\\n border: 0;\\n border-radius: 12px;\\n display: flex;\\n flex: 1 1 auto;\\n height: 50px;\\n line-height: 26px;\\n max-height: 90px;\\n outline: none;\\n overflow-y: auto;\\n padding: 10px 12px 9px;\\n resize: none;\\n width: 90%;\\n}\\n.messenger__messages-send__input--disabled {\\n cursor: not-allowed;\\n opacity: 0.5;\\n}\\n.messenger__messages-send__input::placeholder {\\n color: #aaaaaa;\\n}\\n.messenger__messages-send__input-container {\\n align-items: center;\\n border-radius: 12px;\\n display: flex;\\n flex: 1 1 auto;\\n}\\n.messenger__messages-send__button {\\n height: 45px !important;\\n width: 45px !important;\\n border-radius: 50%;\\n border: none;\\n outline: none;\\n cursor: pointer;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n}\\n.messenger__messages-send__button--disabled {\\n cursor: not-allowed;\\n opacity: 0.5;\\n}\\n.messenger__messages-send__button:hover {\\n opacity: 0.7;\\n transition: 200ms;\\n}\\n.messenger__messages-send--file {\\n display: none;\\n}\\n.messenger__messages-send__attach {\\n cursor: pointer;\\n width: 40px;\\n}\\n.messenger__messages-send__attach--disabled {\\n cursor: not-allowed;\\n}\\n.messenger__new-chat-form {\\n overflow-y: scroll;\\n border-radius: 0 20px 20px 0;\\n height: 100%;\\n padding: 1rem;\\n}\\n@media only screen and (max-width: 768px) {\\n .messenger__new-chat-form {\\n border-radius: 20px !important;\\n }\\n}\\n.messenger__new-chat-form-header {\\n display: flex;\\n justify-content: space-between;\\n margin: 1rem 0;\\n}\\n.messenger__new-chat-form-title {\\n color: #476077;\\n margin-right: 1rem;\\n}\\n.messenger__new-chat-form-close {\\n background: none;\\n border: none;\\n cursor: pointer;\\n}\\n.messenger__new-chat-fields,\\n.messenger__disclaimer {\\n margin: 0 1rem;\\n}\\n.messenger__disclaimer {\\n border: solid 1px;\\n border-radius: 10px;\\n padding: 0.8rem;\\n margin-bottom: 1rem;\\n}\\n.messenger__new-chat-form-send {\\n border: none;\\n border-radius: 30px;\\n cursor: pointer;\\n font-weight: bolder;\\n margin: 25px 0;\\n padding: 0.5rem;\\n}\\n.messenger__new-chat-form-send:hover {\\n opacity: 0.9;\\n}\\n.messenger__new-chat-form-send--disabled {\\n cursor: not-allowed;\\n background-color: #ccc;\\n}\\n.messenger__buttons-container {\\n display: flex;\\n flex-direction: column;\\n padding-top: 1rem;\\n width: 100%;\\n}\\n.messenger__chat-button {\\n border: none;\\n border-radius: 30px;\\n color: var(--secondary-color);\\n cursor: pointer;\\n font-size: 1rem;\\n font-weight: bold;\\n margin: 0.5rem 1rem;\\n padding: 0.5rem;\\n}\\n.messenger__chat-button--disabled {\\n cursor: not-allowed;\\n}\\n.messenger__input-button {\\n border: none;\\n border-radius: 30px;\\n color: var(--secondary-color);\\n font-size: 1rem;\\n font-weight: bold;\\n margin: 0.5rem 1rem;\\n padding: 0.5rem;\\n}\\n.messenger__input-button-label {\\n color: var(--secondary-color);\\n font-weight: bold;\\n margin: 0rem 1rem;\\n}\\n.messenger__input-button::-webkit-calendar-picker-indicator {\\n filter: invert(1);\\n}\\n@media only screen and (max-width: 992px) {\\n .messenger__mobile-hide {\\n display: none !important;\\n }\\n}\\n.styles-module_wrapper__1I_qj {\\n z-index: 60 !important;\\n background-color: rgba(0, 0, 0, 0.7) !important;\\n}\\n*,\\n::after,\\n::before {\\n padding: 0;\\n margin: 0;\\n}\\n:root {\\n --secondary-color: var(--secondary-color);\\n}\\n@keyframes spin {\\n 0% {\\n transform: rotate(0deg);\\n }\\n 100% {\\n transform: rotate(360deg);\\n }\\n}\\n\",\".form-select {\\n margin-bottom: 1rem;\\n width: 100%;\\n\\n &__label {\\n color: @title-form-color;\\n font-weight: bold;\\n margin: 0.5rem;\\n }\\n\\n &__input {\\n border: 1.5px solid hsl(0, 0%, 80%);\\n border-radius: 4px;\\n margin-top: 0.5rem;\\n padding: 8px 8px;\\n width: 100%;\\n\\n &:focus {\\n outline: #2684ff 2px solid !important;\\n }\\n }\\n}\\n\",\".text-area {\\n margin-bottom: 1rem;\\n width: 100%;\\n\\n &__label {\\n color: @title-form-color;\\n font-weight: bold;\\n margin: 0.5rem;\\n }\\n\\n &__input {\\n border: 1.5px solid hsl(0, 0%, 80%);\\n border-radius: 4px;\\n margin-top: 0.5rem;\\n padding: 4px 8px;\\n width: 100%;\\n\\n &:focus {\\n outline: #2684ff 2px solid !important;\\n }\\n }\\n}\\n\",\".file-input {\\n margin-bottom: 1rem;\\n width: 100%;\\n\\n &__label {\\n color: @title-form-color;\\n font-weight: bold;\\n margin: 0.5rem;\\n }\\n\\n &__container {\\n align-items: center;\\n background-color: var(--secondary-color);\\n border-radius: 10px;\\n display: flex;\\n flex-direction: column;\\n justify-content: center;\\n margin-top: 0.5rem;\\n padding: 1rem;\\n width: 100%;\\n }\\n\\n &__button {\\n border: none;\\n border-radius: 30px;\\n color: var(--secondary-color);\\n cursor: pointer;\\n font-size: 1rem;\\n font-weight: bold;\\n margin: 0.5rem 1rem;\\n padding: 0.5rem;\\n }\\n\\n &__list {\\n align-items: center;\\n background-color: var(--secondary-color);\\n border-radius: 10px;\\n display: flex;\\n justify-content: space-between;\\n margin: 0.5rem 0;\\n padding: 0.5rem;\\n\\n &--file-name {\\n overflow: hidden;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n max-width: 100%;\\n }\\n }\\n\\n &__delete {\\n align-items: center;\\n background: transparent;\\n border: none;\\n cursor: pointer;\\n display: flex;\\n justify-content: center;\\n }\\n}\\n\",\".input-search {\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n width: 100%;\\n margin: 1rem 0;\\n position: relative;\\n\\n &__select {\\n border-radius: 30px 0 0 30px;\\n padding: 10px;\\n background: transparent;\\n margin-left: 1rem;\\n width: 30%;\\n }\\n\\n &__option {\\n color: black;\\n }\\n\\n &__search {\\n width: 70%;\\n margin-right: 1rem;\\n border-radius: 0 30px 30px 0;\\n padding: 9px;\\n color: var(--secondary-color);\\n border: var(--secondary-color) 1px solid;\\n background: transparent;\\n position: relative;\\n\\n &::placeholder {\\n color: var(--secondary-color);\\n opacity: 60%;\\n }\\n }\\n\\n &__icon {\\n border: none;\\n background: transparent;\\n position: absolute;\\n right: 2rem;\\n display: flex;\\n cursor: pointer;\\n }\\n}\\n\",\".chat-tabs {\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n &__button {\\n background: transparent;\\n border: none;\\n border-bottom: 1px solid transparent;\\n cursor: pointer;\\n padding: 0.5rem 1rem;\\n margin-bottom: 0.5rem;\\n\\n &--active {\\n border-bottom: 1px solid var(--secondary-color);\\n transition: 0.5s;\\n }\\n }\\n}\\n\",\".messenger {\\n &__messages-row--sender {\\n display: flex;\\n justify-content: flex-end;\\n margin: 10px 0;\\n }\\n\\n &__messages-sender {\\n max-width: 80%;\\n padding: 10px;\\n border-radius: 8px;\\n font-family: 'Arial', sans-serif;\\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\\n }\\n\\n &__file-card {\\n display: flex;\\n align-items: center;\\n background: rgba(0, 0, 0, 0.1);\\n border-radius: 8px;\\n padding: 10px;\\n }\\n\\n &__file-icon {\\n flex-shrink: 0;\\n width: 40px;\\n height: 40px;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n border-radius: 4px;\\n margin-right: 10px;\\n }\\n\\n &__file-details {\\n flex-grow: 1;\\n margin-right: 10px;\\n }\\n\\n &__file-name {\\n font-weight: bold;\\n font-size: 14px;\\n margin: 0;\\n }\\n\\n &__file-info {\\n font-size: 12px;\\n color: rgba(255, 255, 255, 0.8);\\n }\\n\\n &__file-download {\\n font-size: 12px;\\n text-decoration: none;\\n }\\n\\n &__file-download:hover {\\n text-decoration: underline;\\n }\\n\\n &__message--bottom {\\n display: flex;\\n justify-content: space-between;\\n align-items: center;\\n margin-top: 5px;\\n }\\n\\n &__message--date {\\n font-size: 12px;\\n color: rgba(255, 255, 255, 0.8);\\n }\\n}\\n\",\".tooltip {\\n position: relative;\\n display: inline-block;\\n}\\n\\n.tooltip__text {\\n visibility: hidden;\\n background-color: black;\\n color: #fff;\\n text-align: center;\\n border-radius: 5px;\\n padding: 5px;\\n position: absolute;\\n z-index: 1;\\n bottom: 125%;\\n left: -40%;\\n margin-left: -60px;\\n opacity: 0;\\n transition:\\n opacity 0.3s,\\n visibility 0.3s;\\n}\\n\\n.tooltip:hover .tooltip__text {\\n visibility: visible;\\n opacity: 1;\\n}\\n\",\"@import '../components/ImagesContainer/ImagesContainer';\\n@import '../components/Select/Select.less';\\n@import '../components/TextArea/Textarea.less';\\n@import '../components/InputFile/inputFile.less';\\n@import '../components/SearchInput/SearchInput.less';\\n@import '../components/ChatTabs/ChatTabs.less';\\n@import '../components/DocMessage/DocMessage.less';\\n@import '../components/Tooltip/Tooltip.less';\\n\\n@buttons-container-height: 10rem;\\n\\n.messenger {\\n &__aside {\\n width: 30% !important;\\n\\n @media @tab-xl {\\n min-width: 300px;\\n }\\n\\n @media @tab-lg {\\n border-radius: 20px !important;\\n width: 100% !important;\\n }\\n\\n display: flex;\\n align-items: center;\\n flex-direction: column;\\n }\\n\\n &__aside-skeleton {\\n background-color: @component-background;\\n border: 0;\\n min-height: 75px;\\n width: 100% !important;\\n }\\n\\n &__aside-empty {\\n width: 100%;\\n margin-top: 40px;\\n\\n display: flex;\\n flex-direction: column;\\n justify-content: center;\\n align-items: center;\\n\\n & path {\\n fill: var(--secondary-color);\\n }\\n\\n & p {\\n text-align: center;\\n }\\n }\\n\\n &__aside-header {\\n width: 100% !important;\\n padding: 0 15px;\\n }\\n\\n &__scroll-content {\\n overflow-y: auto;\\n margin-bottom: 0.5rem;\\n }\\n\\n &__aside-list {\\n width: 100% !important;\\n padding: 0 10px 10px 10px;\\n\\n height: 100%;\\n overflow-y: auto;\\n overflow-x: hidden;\\n\\n display: flex;\\n flex-direction: column;\\n justify-content: flex-start;\\n align-items: center;\\n\\n & > .ant-ribbon-wrapper {\\n width: 100%;\\n\\n & .ant-ribbon {\\n z-index: -1;\\n top: 0;\\n }\\n }\\n }\\n\\n &__aside-item-container {\\n min-width: 100%;\\n position: relative;\\n }\\n\\n &__active-badge {\\n z-index: 15 !important;\\n }\\n\\n &__aside-protocol {\\n position: absolute;\\n right: 0;\\n top: 0;\\n border-radius: 10px;\\n background-color: var(--secondary-color);\\n padding: 0 0.5rem;\\n font-size: 0.6rem;\\n }\\n\\n &__aside-timer {\\n align-items: center;\\n display: flex;\\n font-size: 12px;\\n }\\n\\n &__aside-list-item {\\n border-radius: 0;\\n cursor: pointer;\\n display: flex;\\n flex-direction: row;\\n height: 72px;\\n padding: 5px 10px;\\n width: 100% !important;\\n\\n &:hover {\\n background: @component-background;\\n border-radius: 0;\\n }\\n\\n &--avatar {\\n align-items: center;\\n background: @secondary-bg-color-chat;\\n border-radius: 50%;\\n color: @messenger-primary-color;\\n display: flex;\\n flex: 0 0 auto;\\n font-size: 25px;\\n font-weight: bold;\\n height: 50px;\\n justify-content: center;\\n line-height: 2.2;\\n margin: auto 10px auto 0;\\n text-transform: uppercase;\\n user-select: none;\\n width: 50px;\\n\\n @media @tab-xl {\\n height: 45px;\\n width: 45px;\\n }\\n\\n & img {\\n height: 54px;\\n width: 54px;\\n border-radius: 50%;\\n }\\n }\\n\\n &--info,\\n &--additional {\\n display: flex;\\n flex-direction: column;\\n gap: 0.5rem;\\n height: 100%;\\n }\\n\\n &--info {\\n max-width: 120px;\\n min-width: 120px;\\n\\n @media @desktop-xxl {\\n max-width: 140px;\\n min-width: 140px;\\n }\\n\\n @media @tab-lg {\\n max-width: 65%;\\n min-width: 65%;\\n }\\n\\n @media @phone-sm {\\n max-width: 120px;\\n min-width: 120px;\\n }\\n }\\n\\n &--additional {\\n align-items: flex-end;\\n font-size: 11px;\\n margin-left: 5px;\\n width: 100%;\\n }\\n\\n &--unread {\\n background-color: @messenger-primary-color;\\n border-radius: 50%;\\n width: 20px;\\n height: 20px;\\n text-align: center;\\n\\n .flex-full-center();\\n }\\n\\n &--title,\\n &--description {\\n line-height: 1;\\n overflow: hidden;\\n margin: 0;\\n max-width: 160px;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n width: 100%;\\n }\\n\\n &--title {\\n font-weight: bold;\\n font-size: 14px;\\n }\\n\\n &--description {\\n font-size: 12px;\\n }\\n }\\n\\n &__messages {\\n width: 70% !important;\\n\\n display: flex;\\n flex-direction: column;\\n justify-content: space-evenly;\\n\\n @media @tab-lg {\\n width: 100% !important;\\n }\\n }\\n\\n &__messages-header,\\n &__messages-send {\\n padding: 5px;\\n min-height: 10%;\\n width: 100%;\\n }\\n\\n &__messages-header {\\n @media @tab-lg {\\n border-radius: @border-radius @border-radius 0 0;\\n }\\n\\n border-radius: 0 @border-radius 0 0;\\n display: flex;\\n flex-direction: row;\\n align-items: center;\\n justify-content: space-between;\\n }\\n\\n &__messages-container {\\n max-height: 80%;\\n height: 100%;\\n padding: 0 24px;\\n overflow: auto;\\n overflow-x: hidden;\\n scroll-behavior: auto;\\n background-color: @card-background;\\n\\n &--empty {\\n width: 100%;\\n height: 100%;\\n border-radius: 0 @border-radius @border-radius 0;\\n background-color: @card-background;\\n\\n display: flex;\\n flex-direction: column;\\n align-items: center;\\n justify-content: center;\\n\\n & path {\\n fill: @messenger-primary-color;\\n }\\n\\n & p {\\n text-align: center;\\n margin-top: 24px;\\n }\\n }\\n }\\n\\n &__messages-loading {\\n width: 100%;\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n margin-top: 10px;\\n\\n & div {\\n animation: spin 1s infinite linear;\\n border-left: 2px solid var(--secondary-color);\\n border-radius: 50%;\\n height: 25px;\\n margin-bottom: 10px;\\n width: 25px;\\n }\\n }\\n\\n &__messages-row--sender,\\n &__messages-row--received,\\n &__messages-row--system {\\n width: 100%;\\n height: fit-content;\\n margin: 10px 0;\\n display: flex;\\n align-items: center;\\n }\\n\\n &__messages-row--sender {\\n justify-content: flex-end;\\n }\\n\\n &__messages-row--received {\\n justify-content: flex-start;\\n }\\n\\n &__messages-row--system {\\n justify-content: center;\\n }\\n\\n &__messages-received,\\n &__messages-sender {\\n min-width: 75px;\\n width: fit-content;\\n padding: 10px;\\n\\n & > span {\\n color: var(--secondary-color);\\n overflow-wrap: break-word;\\n word-break: break-word;\\n width: 200px;\\n }\\n }\\n\\n &__messages-received {\\n max-width: 500px;\\n background-color: @grey-2;\\n border-radius: 12px 12px 12px 0;\\n\\n &--system {\\n border-radius: 12px;\\n }\\n }\\n\\n &__messages-sender {\\n max-width: 450px;\\n margin-top: -2px;\\n background-color: @messenger-primary-color;\\n border-radius: 12px 12px 0 12px;\\n }\\n\\n &__message-title {\\n max-width: 100%;\\n white-space: nowrap;\\n overflow: hidden;\\n max-width: 100%;\\n display: block;\\n\\n line-height: 1;\\n padding: 0;\\n margin: 0 0 3px;\\n justify-content: flex-end;\\n font-size: 13px;\\n color: var(--secondary-color);\\n font-weight: bold;\\n filter: opacity(0.7);\\n font-weight: 700;\\n }\\n\\n &__message {\\n padding: 0;\\n margin: 0;\\n white-space: pre-wrap;\\n line-height: 1.2;\\n\\n &--file {\\n cursor: pointer;\\n\\n img {\\n object-fit: scale-down;\\n }\\n }\\n\\n &--bottom {\\n width: 100%;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n gap: 5px;\\n margin-top: 5px;\\n }\\n\\n &--date {\\n font-size: 11.5px;\\n padding: 0;\\n margin-top: 5px;\\n margin-bottom: 0;\\n margin-right: 0;\\n text-align: right;\\n line-height: 14px;\\n }\\n }\\n\\n &__message-empty {\\n width: 100%;\\n margin-top: 40px;\\n\\n display: flex;\\n flex-direction: column;\\n justify-content: center;\\n align-items: center;\\n\\n & p {\\n text-align: center;\\n }\\n }\\n\\n &__message-avatar {\\n @media @phone-sm {\\n display: none;\\n }\\n }\\n\\n &__messages-send {\\n border-radius: 0 0 @border-radius 0;\\n border-top: 0;\\n\\n @media @tab-lg {\\n border-radius: 0 0 @border-radius @border-radius;\\n }\\n\\n display: flex;\\n flex-direction: row;\\n justify-content: center;\\n align-items: center;\\n\\n &--form {\\n align-items: center;\\n display: flex;\\n gap: 10px;\\n width: 100%;\\n }\\n\\n &__input {\\n border: 0;\\n border-radius: 12px;\\n display: flex;\\n flex: 1 1 auto;\\n height: 50px;\\n line-height: 26px;\\n max-height: 90px;\\n outline: none;\\n overflow-y: auto;\\n padding: 10px 12px 9px;\\n resize: none;\\n width: 90%;\\n\\n &--disabled {\\n cursor: not-allowed;\\n opacity: 0.5;\\n }\\n\\n &::placeholder {\\n color: @border-color;\\n }\\n }\\n\\n &__input-container {\\n align-items: center;\\n border-radius: 12px;\\n display: flex;\\n flex: 1 1 auto;\\n }\\n\\n &__button {\\n height: 45px !important;\\n width: 45px !important;\\n border-radius: 50%;\\n border: none;\\n outline: none;\\n cursor: pointer;\\n\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n\\n &--disabled {\\n cursor: not-allowed;\\n opacity: 0.5;\\n }\\n\\n &:hover {\\n opacity: 0.7;\\n transition: 200ms;\\n }\\n }\\n\\n &--file {\\n display: none;\\n }\\n\\n &__attach {\\n cursor: pointer;\\n width: 40px;\\n\\n &--disabled {\\n cursor: not-allowed;\\n }\\n }\\n }\\n\\n &__new-chat-form {\\n overflow-y: scroll;\\n border-radius: 0 20px 20px 0;\\n height: 100%;\\n padding: 1rem;\\n\\n @media @tab-md {\\n border-radius: 20px !important;\\n }\\n }\\n\\n &__new-chat-form-header {\\n display: flex;\\n justify-content: space-between;\\n margin: 1rem 0;\\n }\\n\\n &__new-chat-form-title {\\n color: @title-form-color;\\n margin-right: 1rem;\\n }\\n\\n &__new-chat-form-close {\\n background: none;\\n border: none;\\n cursor: pointer;\\n }\\n\\n &__new-chat-fields,\\n &__disclaimer {\\n margin: 0 1rem;\\n }\\n\\n &__disclaimer {\\n border: solid 1px;\\n border-radius: 10px;\\n padding: 0.8rem;\\n margin-bottom: 1rem;\\n }\\n\\n &__new-chat-form-send {\\n border: none;\\n border-radius: 30px;\\n cursor: pointer;\\n font-weight: bolder;\\n margin: 25px 0;\\n padding: 0.5rem;\\n\\n &:hover {\\n opacity: 0.9;\\n }\\n &--disabled {\\n cursor: not-allowed;\\n background-color: #ccc;\\n }\\n }\\n\\n &__buttons-container {\\n display: flex;\\n flex-direction: column;\\n padding-top: 1rem;\\n width: 100%;\\n }\\n\\n &__chat-button {\\n border: none;\\n border-radius: 30px;\\n color: var(--secondary-color);\\n cursor: pointer;\\n font-size: 1rem;\\n font-weight: bold;\\n margin: 0.5rem 1rem;\\n padding: 0.5rem;\\n }\\n\\n &__chat-button--disabled {\\n cursor: not-allowed;\\n }\\n\\n &__input-button {\\n border: none;\\n border-radius: 30px;\\n color: var(--secondary-color);\\n font-size: 1rem;\\n font-weight: bold;\\n margin: 0.5rem 1rem;\\n padding: 0.5rem;\\n }\\n\\n &__input-button-label {\\n color: var(--secondary-color);\\n font-weight: bold;\\n margin: 0rem 1rem;\\n }\\n\\n &__input-button::-webkit-calendar-picker-indicator {\\n filter: invert(1);\\n }\\n\\n &__mobile-hide {\\n @media @tab-lg {\\n display: none !important;\\n }\\n }\\n}\\n\\n.styles-module_wrapper__1I_qj {\\n z-index: 60 !important;\\n background-color: rgba(0, 0, 0, 70%) !important;\\n}\\n\",\".flex-full-center() {\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n}\\n\",\"*,\\n::after,\\n::before {\\n padding: 0;\\n margin: 0;\\n}\\n\",\"// ANTD MEDIA QUERIES\\n@phone-xs: ~'only screen and (max-width: 480px)';\\n@phone-sm: ~'only screen and (max-width: 576px)';\\n@tab-md: ~'only screen and (max-width: 768px)';\\n@tab-lg: ~'only screen and (max-width: 992px)';\\n@tab-lg-min: ~'only screen and (min-width: 992px)';\\n@tab-xl: ~'only screen and (max-width: 1200px)';\\n\\n// [1200 - 1600] - normal style //\\n@desktop-xxl: ~'only screen and (min-width: 1600px)';\\n\\n@grey-1: #94989d;\\n@grey-2: #707070;\\n@border-color: #aaaaaa;\\n@messenger-primary-color: #00a73e;\\n@messenger-messages-bg: #eeeeee;\\n@secondary-bg-color-chat: #484c52;\\n@card-background: #dddddd;\\n@upload-file-icon-color: #8696a0;\\n@border-radius: 20px;\\n@body-background: blue;\\n@component-background: #232831;\\n@full-content-height: calc(100vh - 23px);\\n@title-form-color: #476077;\\n@border-radius: 20px;\\n@document-message-bg: #34c759;\\n@text-color-white: #ffffff;\\n\\n:root {\\n --secondary-color: var(--secondary-color);\\n}\\n\",\"@keyframes spin {\\n 0% {\\n transform: rotate(0deg);\\n }\\n 100% {\\n transform: rotate(360deg);\\n }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n var list = [];\n\n // return the list of modules as css string\n list.toString = function toString() {\n return this.map(function (item) {\n var content = \"\";\n var needLayer = typeof item[5] !== \"undefined\";\n if (item[4]) {\n content += \"@supports (\".concat(item[4], \") {\");\n }\n if (item[2]) {\n content += \"@media \".concat(item[2], \" {\");\n }\n if (needLayer) {\n content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n }\n content += cssWithMappingToString(item);\n if (needLayer) {\n content += \"}\";\n }\n if (item[2]) {\n content += \"}\";\n }\n if (item[4]) {\n content += \"}\";\n }\n return content;\n }).join(\"\");\n };\n\n // import a list of modules into the list\n list.i = function i(modules, media, dedupe, supports, layer) {\n if (typeof modules === \"string\") {\n modules = [[null, modules, undefined]];\n }\n var alreadyImportedModules = {};\n if (dedupe) {\n for (var k = 0; k < this.length; k++) {\n var id = this[k][0];\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n for (var _k = 0; _k < modules.length; _k++) {\n var item = [].concat(modules[_k]);\n if (dedupe && alreadyImportedModules[item[0]]) {\n continue;\n }\n if (typeof layer !== \"undefined\") {\n if (typeof item[5] === \"undefined\") {\n item[5] = layer;\n } else {\n item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n item[5] = layer;\n }\n }\n if (media) {\n if (!item[2]) {\n item[2] = media;\n } else {\n item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n item[2] = media;\n }\n }\n if (supports) {\n if (!item[4]) {\n item[4] = \"\".concat(supports);\n } else {\n item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n item[4] = supports;\n }\n }\n list.push(item);\n }\n };\n return list;\n};","\"use strict\";\n\nmodule.exports = function (item) {\n var content = item[1];\n var cssMapping = item[3];\n if (!cssMapping) {\n return content;\n }\n if (typeof btoa === \"function\") {\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(cssMapping))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n var sourceMapping = \"/*# \".concat(data, \" */\");\n return [content].concat([sourceMapping]).join(\"\\n\");\n }\n return [content].join(\"\\n\");\n};","!function(e,o){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=o(require(\"dayjs\")):\"function\"==typeof define&&define.amd?define([\"dayjs\"],o):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_locale_pt_br=o(e.dayjs)}(this,(function(e){\"use strict\";function o(e){return e&&\"object\"==typeof e&&\"default\"in e?e:{default:e}}var a=o(e),s={name:\"pt-br\",weekdays:\"domingo_segunda-feira_terça-feira_quarta-feira_quinta-feira_sexta-feira_sábado\".split(\"_\"),weekdaysShort:\"dom_seg_ter_qua_qui_sex_sáb\".split(\"_\"),weekdaysMin:\"Do_2ª_3ª_4ª_5ª_6ª_Sá\".split(\"_\"),months:\"janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro\".split(\"_\"),monthsShort:\"jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez\".split(\"_\"),ordinal:function(e){return e+\"º\"},formats:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D [de] MMMM [de] YYYY\",LLL:\"D [de] MMMM [de] YYYY [às] HH:mm\",LLLL:\"dddd, D [de] MMMM [de] YYYY [às] HH:mm\"},relativeTime:{future:\"em %s\",past:\"há %s\",s:\"poucos segundos\",m:\"um minuto\",mm:\"%d minutos\",h:\"uma hora\",hh:\"%d horas\",d:\"um dia\",dd:\"%d dias\",M:\"um mês\",MM:\"%d meses\",y:\"um ano\",yy:\"%d anos\"}};return a.default.locale(s,null,!0),s}));","!function(e,o){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=o():\"function\"==typeof define&&define.amd?define(o):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_isToday=o()}(this,(function(){\"use strict\";return function(e,o,t){o.prototype.isToday=function(){var e=\"YYYY-MM-DD\",o=t();return this.format(e)===o.format(e)}}}));","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs_plugin_timezone=e()}(this,(function(){\"use strict\";var t={year:0,month:1,day:2,hour:3,minute:4,second:5},e={};return function(n,i,o){var r,a=function(t,n,i){void 0===i&&(i={});var o=new Date(t),r=function(t,n){void 0===n&&(n={});var i=n.timeZoneName||\"short\",o=t+\"|\"+i,r=e[o];return r||(r=new Intl.DateTimeFormat(\"en-US\",{hour12:!1,timeZone:t,year:\"numeric\",month:\"2-digit\",day:\"2-digit\",hour:\"2-digit\",minute:\"2-digit\",second:\"2-digit\",timeZoneName:i}),e[o]=r),r}(n,i);return r.formatToParts(o)},u=function(e,n){for(var i=a(e,n),r=[],u=0;u<i.length;u+=1){var f=i[u],s=f.type,m=f.value,c=t[s];c>=0&&(r[c]=parseInt(m,10))}var d=r[3],l=24===d?0:d,v=r[0]+\"-\"+r[1]+\"-\"+r[2]+\" \"+l+\":\"+r[4]+\":\"+r[5]+\":000\",h=+e;return(o.utc(v).valueOf()-(h-=h%1e3))/6e4},f=i.prototype;f.tz=function(t,e){void 0===t&&(t=r);var n=this.utcOffset(),i=this.toDate(),a=i.toLocaleString(\"en-US\",{timeZone:t}),u=Math.round((i-new Date(a))/1e3/60),f=o(a).$set(\"millisecond\",this.$ms).utcOffset(15*-Math.round(i.getTimezoneOffset()/15)-u,!0);if(e){var s=f.utcOffset();f=f.add(n-s,\"minute\")}return f.$x.$timezone=t,f},f.offsetName=function(t){var e=this.$x.$timezone||o.tz.guess(),n=a(this.valueOf(),e,{timeZoneName:t}).find((function(t){return\"timezonename\"===t.type.toLowerCase()}));return n&&n.value};var s=f.startOf;f.startOf=function(t,e){if(!this.$x||!this.$x.$timezone)return s.call(this,t,e);var n=o(this.format(\"YYYY-MM-DD HH:mm:ss:SSS\"));return s.call(n,t,e).tz(this.$x.$timezone,!0)},o.tz=function(t,e,n){var i=n&&e,a=n||e||r,f=u(+o(),a);if(\"string\"!=typeof t)return o(t).tz(a);var s=function(t,e,n){var i=t-60*e*1e3,o=u(i,n);if(e===o)return[i,e];var r=u(i-=60*(o-e)*1e3,n);return o===r?[i,o]:[t-60*Math.min(o,r)*1e3,Math.max(o,r)]}(o.utc(t,i).valueOf(),f,a),m=s[0],c=s[1],d=o(m).utcOffset(c);return d.$x.$timezone=a,d},o.tz.guess=function(){return Intl.DateTimeFormat().resolvedOptions().timeZone},o.tz.setDefault=function(t){r=t}}}));","!function(t,i){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=i():\"function\"==typeof define&&define.amd?define(i):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs_plugin_utc=i()}(this,(function(){\"use strict\";var t=\"minute\",i=/[+-]\\d\\d(?::?\\d\\d)?/g,e=/([+-]|\\d\\d)/g;return function(s,f,n){var u=f.prototype;n.utc=function(t){var i={date:t,utc:!0,args:arguments};return new f(i)},u.utc=function(i){var e=n(this.toDate(),{locale:this.$L,utc:!0});return i?e.add(this.utcOffset(),t):e},u.local=function(){return n(this.toDate(),{locale:this.$L,utc:!1})};var o=u.parse;u.parse=function(t){t.utc&&(this.$u=!0),this.$utils().u(t.$offset)||(this.$offset=t.$offset),o.call(this,t)};var r=u.init;u.init=function(){if(this.$u){var t=this.$d;this.$y=t.getUTCFullYear(),this.$M=t.getUTCMonth(),this.$D=t.getUTCDate(),this.$W=t.getUTCDay(),this.$H=t.getUTCHours(),this.$m=t.getUTCMinutes(),this.$s=t.getUTCSeconds(),this.$ms=t.getUTCMilliseconds()}else r.call(this)};var a=u.utcOffset;u.utcOffset=function(s,f){var n=this.$utils().u;if(n(s))return this.$u?0:n(this.$offset)?a.call(this):this.$offset;if(\"string\"==typeof s&&(s=function(t){void 0===t&&(t=\"\");var s=t.match(i);if(!s)return null;var f=(\"\"+s[0]).match(e)||[\"-\",0,0],n=f[0],u=60*+f[1]+ +f[2];return 0===u?0:\"+\"===n?u:-u}(s),null===s))return this;var u=Math.abs(s)<=16?60*s:s,o=this;if(f)return o.$offset=u,o.$u=0===s,o;if(0!==s){var r=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();(o=this.local().add(u+r,t)).$offset=u,o.$x.$localOffset=r}else o=this.utc();return o};var h=u.format;u.format=function(t){var i=t||(this.$u?\"YYYY-MM-DDTHH:mm:ss[Z]\":\"\");return h.call(this,i)},u.valueOf=function(){var t=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||this.$d.getTimezoneOffset());return this.$d.valueOf()-6e4*t},u.isUTC=function(){return!!this.$u},u.toISOString=function(){return this.toDate().toISOString()},u.toString=function(){return this.toDate().toUTCString()};var l=u.toDate;u.toDate=function(t){return\"s\"===t&&this.$offset?n(this.format(\"YYYY-MM-DD HH:mm:ss:SSS\")).toDate():l.call(this)};var c=u.diff;u.diff=function(t,i,e){if(t&&this.$u===t.$u)return c.call(this,t,i,e);var s=this.local(),f=n(t).local();return c.call(s,f,i,e)}}}));","\"use strict\";\n\nvar stylesInDOM = [];\n\nfunction getIndexByIdentifier(identifier) {\n var result = -1;\n\n for (var i = 0; i < stylesInDOM.length; i++) {\n if (stylesInDOM[i].identifier === identifier) {\n result = i;\n break;\n }\n }\n\n return result;\n}\n\nfunction modulesToDom(list, options) {\n var idCountMap = {};\n var identifiers = [];\n\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = options.base ? item[0] + options.base : item[0];\n var count = idCountMap[id] || 0;\n var identifier = \"\".concat(id, \" \").concat(count);\n idCountMap[id] = count + 1;\n var indexByIdentifier = getIndexByIdentifier(identifier);\n var obj = {\n css: item[1],\n media: item[2],\n sourceMap: item[3],\n supports: item[4],\n layer: item[5]\n };\n\n if (indexByIdentifier !== -1) {\n stylesInDOM[indexByIdentifier].references++;\n stylesInDOM[indexByIdentifier].updater(obj);\n } else {\n var updater = addElementStyle(obj, options);\n options.byIndex = i;\n stylesInDOM.splice(i, 0, {\n identifier: identifier,\n updater: updater,\n references: 1\n });\n }\n\n identifiers.push(identifier);\n }\n\n return identifiers;\n}\n\nfunction addElementStyle(obj, options) {\n var api = options.domAPI(options);\n api.update(obj);\n\n var updater = function updater(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap && newObj.supports === obj.supports && newObj.layer === obj.layer) {\n return;\n }\n\n api.update(obj = newObj);\n } else {\n api.remove();\n }\n };\n\n return updater;\n}\n\nmodule.exports = function (list, options) {\n options = options || {};\n list = list || [];\n var lastIdentifiers = modulesToDom(list, options);\n return function update(newList) {\n newList = newList || [];\n\n for (var i = 0; i < lastIdentifiers.length; i++) {\n var identifier = lastIdentifiers[i];\n var index = getIndexByIdentifier(identifier);\n stylesInDOM[index].references--;\n }\n\n var newLastIdentifiers = modulesToDom(newList, options);\n\n for (var _i = 0; _i < lastIdentifiers.length; _i++) {\n var _identifier = lastIdentifiers[_i];\n\n var _index = getIndexByIdentifier(_identifier);\n\n if (stylesInDOM[_index].references === 0) {\n stylesInDOM[_index].updater();\n\n stylesInDOM.splice(_index, 1);\n }\n }\n\n lastIdentifiers = newLastIdentifiers;\n };\n};","\"use strict\";\n\nvar memo = {};\n/* istanbul ignore next */\n\nfunction getTarget(target) {\n if (typeof memo[target] === \"undefined\") {\n var styleTarget = document.querySelector(target); // Special case to return head of iframe instead of iframe itself\n\n if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n try {\n // This will throw an exception if access to iframe is blocked\n // due to cross-origin restrictions\n styleTarget = styleTarget.contentDocument.head;\n } catch (e) {\n // istanbul ignore next\n styleTarget = null;\n }\n }\n\n memo[target] = styleTarget;\n }\n\n return memo[target];\n}\n/* istanbul ignore next */\n\n\nfunction insertBySelector(insert, style) {\n var target = getTarget(insert);\n\n if (!target) {\n throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n }\n\n target.appendChild(style);\n}\n\nmodule.exports = insertBySelector;","\"use strict\";\n\n/* istanbul ignore next */\nfunction insertStyleElement(options) {\n var element = document.createElement(\"style\");\n options.setAttributes(element, options.attributes);\n options.insert(element, options.options);\n return element;\n}\n\nmodule.exports = insertStyleElement;","\"use strict\";\n\n/* istanbul ignore next */\nfunction setAttributesWithoutAttributes(styleElement) {\n var nonce = typeof __webpack_nonce__ !== \"undefined\" ? __webpack_nonce__ : null;\n\n if (nonce) {\n styleElement.setAttribute(\"nonce\", nonce);\n }\n}\n\nmodule.exports = setAttributesWithoutAttributes;","\"use strict\";\n\n/* istanbul ignore next */\nfunction apply(styleElement, options, obj) {\n var css = \"\";\n\n if (obj.supports) {\n css += \"@supports (\".concat(obj.supports, \") {\");\n }\n\n if (obj.media) {\n css += \"@media \".concat(obj.media, \" {\");\n }\n\n var needLayer = typeof obj.layer !== \"undefined\";\n\n if (needLayer) {\n css += \"@layer\".concat(obj.layer.length > 0 ? \" \".concat(obj.layer) : \"\", \" {\");\n }\n\n css += obj.css;\n\n if (needLayer) {\n css += \"}\";\n }\n\n if (obj.media) {\n css += \"}\";\n }\n\n if (obj.supports) {\n css += \"}\";\n }\n\n var sourceMap = obj.sourceMap;\n\n if (sourceMap && typeof btoa !== \"undefined\") {\n css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n } // For old IE\n\n /* istanbul ignore if */\n\n\n options.styleTagTransform(css, styleElement, options.options);\n}\n\nfunction removeStyleElement(styleElement) {\n // istanbul ignore if\n if (styleElement.parentNode === null) {\n return false;\n }\n\n styleElement.parentNode.removeChild(styleElement);\n}\n/* istanbul ignore next */\n\n\nfunction domAPI(options) {\n var styleElement = options.insertStyleElement(options);\n return {\n update: function update(obj) {\n apply(styleElement, options, obj);\n },\n remove: function remove() {\n removeStyleElement(styleElement);\n }\n };\n}\n\nmodule.exports = domAPI;","\"use strict\";\n\n/* istanbul ignore next */\nfunction styleTagTransform(css, styleElement) {\n if (styleElement.styleSheet) {\n styleElement.styleSheet.cssText = css;\n } else {\n while (styleElement.firstChild) {\n styleElement.removeChild(styleElement.firstChild);\n }\n\n styleElement.appendChild(document.createTextNode(css));\n }\n}\n\nmodule.exports = styleTagTransform;","module.exports = \"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' version='1.1' width='256' height='256' viewBox='0 0 256 256' xml:space='preserve'%3e %3cdesc%3eCreated with Fabric.js 1.7.22%3c/desc%3e %3cdefs%3e %3c/defs%3e %3cg transform='translate(128 128) scale(0.72 0.72)' style=''%3e %3cg style='stroke: none; stroke-width: 0; stroke-dasharray: none; stroke-linecap: butt; stroke-linejoin: miter; stroke-miterlimit: 10; fill: none; fill-rule: nonzero; opacity: 1;' transform='translate(-175.05 -175.05000000000004) scale(3.89 3.89)' %3e %3cpath d='M 87.85 41.551 L 5.545 1.167 C 2.414 -0.369 -0.979 2.725 0.263 5.984 l 14.342 37.648 c 0.336 0.881 0.336 1.854 0 2.735 L 0.263 84.016 c -1.241 3.259 2.152 6.353 5.282 4.817 L 87.85 48.449 C 90.717 47.043 90.717 42.957 87.85 41.551 z' style='stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-linejoin: miter; stroke-miterlimit: 10; fill: rgb(255,255,255); fill-rule: nonzero; opacity: 1;' transform=' matrix(1 0 0 1 0 0) ' stroke-linecap='round' /%3e %3c/g%3e %3c/g%3e %3c/svg%3e\"","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_dayjs__;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","__webpack_require__.nc = undefined;","\n import API from \"!../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/less-loader/dist/cjs.js!./index.less\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/less-loader/dist/cjs.js!./index.less\";\n export default content && content.locals ? content.locals : undefined;\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"Fragment\"]: () => __WEBPACK_EXTERNAL_MODULE_react__.Fragment, [\"createContext\"]: () => __WEBPACK_EXTERNAL_MODULE_react__.createContext, [\"createElement\"]: () => __WEBPACK_EXTERNAL_MODULE_react__.createElement, [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_react__[\"default\"], [\"useCallback\"]: () => __WEBPACK_EXTERNAL_MODULE_react__.useCallback, [\"useContext\"]: () => __WEBPACK_EXTERNAL_MODULE_react__.useContext, [\"useEffect\"]: () => __WEBPACK_EXTERNAL_MODULE_react__.useEffect, [\"useMemo\"]: () => __WEBPACK_EXTERNAL_MODULE_react__.useMemo, [\"useRef\"]: () => __WEBPACK_EXTERNAL_MODULE_react__.useRef, [\"useState\"]: () => __WEBPACK_EXTERNAL_MODULE_react__.useState });","import React, { createContext, ReactNode } from 'react'\r\n\r\nconst defaultThemeVariables = {\r\n asideBg: '#eee',\r\n asideFontColor: 'var(--secondary-color)',\r\n messengerMessagesBg: '#eeeeee',\r\n headerAndSenderBg: '#232831',\r\n buttonPrimary: '#25D366',\r\n buttonPrimaryText: '#707070',\r\n buttonsDisabled: '#94989D',\r\n uploadFileIconColor: '#8696a0',\r\n messengerNotSelectedBg: '#DDDDDD',\r\n newChatFormBg: '',\r\n newChatFormRadius: '0 20px 20px 0',\r\n newChatFormTexts: '#000',\r\n newChatFormDeleteFileButton: '#DD4E4E',\r\n disclaimerPrimaryColor: '#4791FF',\r\n disclaimerSecondaryColor: '#4791FF',\r\n disclaimerTextColor: '#000',\r\n messengerSenderColor: '#00A73E',\r\n messengerIncomerColor: '#707070',\r\n messengerSystemColor: '#2A313A',\r\n borderColor: '#AAAAAA',\r\n inputBg: 'var(--secondary-color)',\r\n chatInputBorder: '',\r\n listItemHover: '',\r\n active: '',\r\n activeTabBorter: '#25D366',\r\n emptyMessagesFontColor: '#000',\r\n documentMessagesTextColor: '#fff',\r\n}\r\n\r\ntype ThemeVariables = typeof defaultThemeVariables\r\n\r\ntype ThemeContextContent = {\r\n theme: Partial<ThemeVariables>\r\n}\r\n\r\nexport const MessageThemeContext = createContext<ThemeContextContent>(\r\n {} as unknown as ThemeContextContent\r\n)\r\n\r\ntype Props = {\r\n children: ReactNode\r\n theme?: Partial<ThemeVariables>\r\n}\r\nconst MessageThemeWrapper = ({\r\n children,\r\n theme = defaultThemeVariables,\r\n}: Props) => {\r\n const config = {\r\n theme,\r\n }\r\n\r\n return (\r\n <MessageThemeContext.Provider value={config}>\r\n {children}\r\n </MessageThemeContext.Provider>\r\n )\r\n}\r\n\r\nexport default MessageThemeWrapper\r\n","import { useContext } from 'react'\r\nimport { MessageThemeContext } from '../components/MessengerThemeWrapper/MessengerThemeWrapper'\r\n\r\nconst useTheme = () => {\r\n const context = useContext(MessageThemeContext)\r\n\r\n if (context === undefined) {\r\n throw new Error('useTheme must be used within a ThemeProvider')\r\n }\r\n\r\n return context\r\n}\r\n\r\nexport default useTheme\r\n","import dayjs, { ConfigType, Dayjs } from 'dayjs'\r\nimport dayjsBR from 'dayjs/locale/pt-br'\r\nimport utc from 'dayjs/plugin/utc'\r\nimport timezone from 'dayjs/plugin/timezone'\r\nimport isToday from 'dayjs/plugin/isToday'\r\nconst serverTz = 'America/Sao_Paulo'\r\n\r\ndayjs.extend(utc)\r\ndayjs.extend(timezone)\r\ndayjs.extend(isToday)\r\ndayjs.locale(dayjsBR)\r\n\r\nexport const timeAsDayjs = (\r\n value: ConfigType = new Date(),\r\n options?: { server?: boolean; applyTimezone?: boolean }\r\n): Dayjs => {\r\n const server = options?.server\r\n const applyTimezone = options?.applyTimezone\r\n\r\n let timezone = dayjs.tz.guess()\r\n if (!(applyTimezone ?? true)) timezone = 'GMT'\r\n else if (server ?? false) timezone = serverTz\r\n\r\n return dayjs.tz(value, timezone)\r\n}\r\n\r\nexport const time = (\r\n value: ConfigType = new Date(),\r\n options?: { server?: boolean; applyTimezone?: boolean }\r\n): Date => {\r\n const server = options?.server\r\n const applyTimezone = options?.applyTimezone\r\n let aux: Dayjs\r\n\r\n if (!(applyTimezone ?? true))\r\n aux = dayjs.tz(value, 'GMT') // Set applyTimezone to false when timezone is applied incorrectly (usually when working with JSDate and timestamps)\r\n else if (server ?? false) aux = dayjs.tz(value, serverTz)\r\n else aux = dayjs.tz(value, dayjs.tz.guess())\r\n\r\n return new Date(\r\n Date.UTC(\r\n aux.year(),\r\n aux.month(),\r\n aux.date(),\r\n aux.hour(),\r\n aux.minute(),\r\n aux.second(),\r\n aux.millisecond()\r\n )\r\n )\r\n}\r\n\r\nexport class SlaDates {\r\n public seconds: number | null\r\n\r\n constructor (seconds: number) {\r\n this.seconds = seconds\r\n }\r\n\r\n private holidays = {\r\n 2023: ['09-07', '10-12', '10-17', '11-02', '11-15', '11-20', '12-25'],\r\n }\r\n\r\n private isWorkingDay (date: Dayjs) {\r\n const dayOfWeek = date.day()\r\n return dayOfWeek >= 1 && dayOfWeek <= 5 // Monday to Friday (1 to 5)\r\n }\r\n\r\n private isWorkingHour (date: Dayjs) {\r\n const hour = date.hour()\r\n return hour >= 9 && hour <= 18 // Between 9 AM and 5 PM (inclusive)\r\n }\r\n\r\n public isWeekendOrHoliday (date: Dayjs | Date | string): boolean {\r\n const weekDay = timeAsDayjs(date, { applyTimezone: false }).day()\r\n if ([6, 0].includes(weekDay)) return true\r\n\r\n const formatedDate = timeAsDayjs(date).format('MM-DD')\r\n const isHollyday = this.holidays[2023].includes(formatedDate)\r\n return isHollyday\r\n }\r\n\r\n private isHoliday (date: Dayjs) {\r\n const formatedDate = timeAsDayjs(date, { applyTimezone: false }).format(\r\n 'MM-DD'\r\n )\r\n const isHollyday = this.holidays[2023].includes(formatedDate)\r\n return isHollyday\r\n }\r\n\r\n public canUpdateClock (date: Dayjs) {\r\n const isWorking = this.isWorkingDay(date) && this.isWorkingHour(date)\r\n return !this.isWeekendOrHoliday(date) && isWorking\r\n }\r\n\r\n public getDiffInSeconds (\r\n startDate: dayjs.Dayjs,\r\n endDate: dayjs.Dayjs\r\n ): number {\r\n const diffInSeconds = endDate.diff(startDate, 'second')\r\n return diffInSeconds\r\n }\r\n\r\n calculateWorkingTime (\r\n startDate: Dayjs,\r\n endDate: Dayjs,\r\n workingHours: { start: number; end: number }\r\n ) {\r\n let current = startDate.clone()\r\n let workingTime = 0\r\n\r\n while (current.isBefore(endDate)) {\r\n // Skip weekends (Saturday and Sunday) and Holydays\r\n\r\n if (this.isWorkingDay(current) && !this.isHoliday(current)) {\r\n const startOfDay = current\r\n .clone()\r\n .startOf('day')\r\n .add(workingHours.start, 'hour')\r\n const endOfDay = current\r\n .clone()\r\n .startOf('day')\r\n .add(workingHours.end, 'hour')\r\n\r\n if (current.isBefore(startOfDay)) {\r\n // If current time is before the start of working hours, move to the start of working hours\r\n current = startOfDay.clone()\r\n }\r\n\r\n if (current.isAfter(endOfDay)) {\r\n current = current.clone().add(1, 'day').startOf('day')\r\n } else if (endDate.isAfter(endOfDay)) {\r\n // If end date is after the end of working hours, add a full working day\r\n\r\n workingTime += Math.abs(endOfDay.clone().diff(current, 'second'))\r\n current = current\r\n .clone()\r\n .add(1, 'day')\r\n .startOf('day')\r\n .add(workingHours.start, 'hour')\r\n } else {\r\n // Calculate working time for the last day (end date)\r\n workingTime += Math.abs(endDate.clone().diff(current, 'second'))\r\n\r\n break\r\n }\r\n } else {\r\n // Move to the next day\r\n current = current.clone().add(1, 'day').startOf('day')\r\n }\r\n }\r\n\r\n return workingTime\r\n }\r\n\r\n // Function to calculate the difference in seconds between two dates considering working hours\r\n getDifferenceInSeconds (\r\n startDate: Dayjs,\r\n endDate: Dayjs,\r\n workingHours: { start: number; end: number }\r\n ) {\r\n if (endDate.isBefore(startDate)) {\r\n throw new Error('End date should be after the start date.')\r\n }\r\n\r\n const workingTimeInSeconds = this.calculateWorkingTime(\r\n startDate,\r\n endDate,\r\n workingHours\r\n )\r\n return workingTimeInSeconds\r\n }\r\n\r\n static secondsInHours (currentSeconds: number) {\r\n const hours = Math.floor(currentSeconds / 3600)\r\n const minutes = Math.floor((currentSeconds % 3600) / 60)\r\n const seconds = currentSeconds % 60\r\n return `${hours.toString().padStart(2, '0')}:${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}`\r\n }\r\n\r\n static getColorsByTime (seconds: number) {\r\n const hours = seconds / 3600\r\n if (hours <= 2) {\r\n return '#00CF7B'\r\n }\r\n\r\n if (hours >= 2 && hours < 3) {\r\n return '#FF9838'\r\n }\r\n\r\n if (hours >= 3 && hours < 4) {\r\n return '#DD4E4E'\r\n }\r\n\r\n return '#151919'\r\n }\r\n}\r\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"I18nextProvider\"]: () => __WEBPACK_EXTERNAL_MODULE_react_i18next_31085753__.I18nextProvider, [\"initReactI18next\"]: () => __WEBPACK_EXTERNAL_MODULE_react_i18next_31085753__.initReactI18next, [\"useTranslation\"]: () => __WEBPACK_EXTERNAL_MODULE_react_i18next_31085753__.useTranslation });","import useTheme from '../../hooks/useThemes'\r\nimport React from 'react'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { IMesssengerAvatar } from 'types'\r\n\r\nfunction MessengerAvatar ({\r\n image,\r\n children,\r\n className = '',\r\n}: IMesssengerAvatar) {\r\n const { t } = useTranslation('messengerList')\r\n const { theme } = useTheme()\r\n return (\r\n <figure\r\n className={`${className} messenger__aside-list-item--avatar`}\r\n style={{\r\n background: theme.messengerIncomerColor,\r\n }}\r\n >\r\n {image ? (\r\n <img loading='lazy' alt={t('messengerAvatar.alt')} src={image} />\r\n ) : (\r\n children\r\n )}\r\n </figure>\r\n )\r\n}\r\n\r\nexport default MessengerAvatar\r\n","import React from 'react'\r\n\r\nexport default function TimerIcon ({ color }: { color: string }) {\r\n return (\r\n <svg\r\n width='14'\r\n height='14'\r\n viewBox='0 0 18 18'\r\n fill={color}\r\n xmlns='http://www.w3.org/2000/svg'\r\n >\r\n <path\r\n d='M9.42207 4.79883H8.57656C8.49922 4.79883 8.43594 4.86211 8.43594 4.93946V9.77871C8.43594 9.82442 8.45703 9.8666 8.49394 9.89297L11.3996 12.0147C11.4629 12.0604 11.5508 12.048 11.5965 11.9848L12.0992 11.2992C12.1467 11.2342 12.1326 11.1463 12.0693 11.1023L9.56269 9.29004V4.93946C9.56269 4.86211 9.49941 4.79883 9.42207 4.79883ZM13.2857 6.12071L16.042 6.79395C16.1299 6.81504 16.216 6.74824 16.216 6.6586L16.2301 3.81973C16.2301 3.70196 16.0947 3.63516 16.0033 3.70899L13.233 5.87285C13.2121 5.88905 13.1961 5.91083 13.187 5.93568C13.1779 5.96054 13.176 5.98746 13.1815 6.01335C13.187 6.03924 13.1997 6.06305 13.2182 6.08204C13.2366 6.10103 13.26 6.11444 13.2857 6.12071ZM16.2336 11.4135L15.2369 11.0707C15.2022 11.0588 15.1641 11.061 15.131 11.0767C15.0978 11.0925 15.0721 11.1206 15.0594 11.1551C15.026 11.2447 14.9908 11.3326 14.9539 11.4205C14.641 12.1605 14.1928 12.8268 13.6197 13.3981C13.053 13.9665 12.3815 14.4196 11.6422 14.7322C10.8764 15.056 10.0531 15.2222 9.22168 15.2209C8.38145 15.2209 7.56758 15.0574 6.80117 14.7322C6.06191 14.4196 5.39032 13.9665 4.82363 13.3981C4.25234 12.8268 3.8041 12.1605 3.48945 11.4205C3.16745 10.6542 3.00248 9.83117 3.0043 9C3.0043 8.15977 3.16777 7.34414 3.49297 6.57774C3.80586 5.8377 4.2541 5.17149 4.82715 4.6002C5.39383 4.03175 6.06542 3.57866 6.80469 3.26602C7.56758 2.94082 8.3832 2.77735 9.22344 2.77735C10.0637 2.77735 10.8775 2.94082 11.6439 3.26602C12.3832 3.57866 13.0548 4.03175 13.6215 4.6002C13.8008 4.78125 13.9695 4.96934 14.1242 5.16797L15.1754 4.34531C13.792 2.57696 11.6387 1.43965 9.21992 1.44141C5.0082 1.44317 1.62617 4.86387 1.66836 9.07735C1.71055 13.217 5.07676 16.5586 9.22344 16.5586C12.4842 16.5586 15.2615 14.4914 16.3197 11.5963C16.3461 11.5225 16.3074 11.4398 16.2336 11.4135Z'\r\n fill={color}\r\n />\r\n </svg>\r\n )\r\n}\r\n","import React, { useState, useMemo, useEffect } from 'react'\r\nimport { IList } from 'types'\r\nimport { SlaDates, timeAsDayjs } from '../classes/slaCalculations'\r\nimport MessengerAvatar from '../components/MessengerAvatar/MessengerAvatar'\r\nimport useTheme from '../hooks/useThemes'\r\nimport TimerIcon from '../icons/TimerIcon'\r\n\r\ninterface IListItem {\r\n onClick: (item: IList) => void\r\n item: IList\r\n currentId?: string\r\n canSeeDetailsChat: boolean\r\n currentViewerId: string\r\n}\r\n\r\nexport function activeItem (\r\n e: React.MouseEvent<HTMLElement, MouseEvent>,\r\n defaultClass: string,\r\n activeClass: string\r\n) {\r\n const click = document.querySelectorAll(`.${defaultClass}`)\r\n click.forEach((item) => {\r\n item.classList.remove(activeClass)\r\n })\r\n\r\n e.currentTarget.className += ` ${activeClass} `\r\n}\r\n\r\nfunction MessengerListItem ({\r\n item,\r\n onClick,\r\n canSeeDetailsChat,\r\n currentId,\r\n currentViewerId,\r\n}: IListItem) {\r\n const [unreadMessages, setUnreadMessages] = useState<\r\n typeof item.totalUnreadMessages\r\n >(item.totalUnreadMessages)\r\n const closedChat = useMemo(\r\n () =>\r\n item.status.current.state === 'final'\r\n ? 'messenger__aside-list-item--closed'\r\n : '',\r\n [item]\r\n )\r\n const [background, setBackground] = useState<string | undefined>('')\r\n const [counter, setCounter] = useState<number | null>(null)\r\n\r\n const { theme } = useTheme()\r\n const isInprogress = item.status?.current?.systemicValue === 'inprogress'\r\n\r\n const otherChatMember = useMemo(\r\n () =>\r\n item?.users.find((item) => item.uniqueCode !== currentViewerId) ||\r\n item.creator,\r\n [item?.users, currentViewerId]\r\n )\r\n\r\n useEffect(() => {\r\n let interval: NodeJS.Timer\r\n if (isInprogress && canSeeDetailsChat) {\r\n const sla = new SlaDates(\r\n timeAsDayjs(item.currentTime).diff(item.createdAt, 'second')\r\n )\r\n const diference = sla.calculateWorkingTime(\r\n timeAsDayjs(item.createdAt),\r\n timeAsDayjs(),\r\n { start: 9, end: 18 }\r\n )\r\n\r\n setCounter(diference)\r\n if (sla.canUpdateClock(timeAsDayjs())) {\r\n interval = setInterval(() => {\r\n setCounter((prev) => (prev !== null ? prev + 1 : null))\r\n }, 1000)\r\n }\r\n } else {\r\n setCounter(item.SLATimePassed ?? null)\r\n }\r\n\r\n return () => {\r\n clearInterval(interval)\r\n }\r\n }, [])\r\n\r\n useEffect(() => {\r\n setUnreadMessages(item.totalUnreadMessages)\r\n }, [item])\r\n\r\n function handleClick (\r\n e: React.MouseEvent<HTMLElement, MouseEvent>,\r\n item: IList\r\n ) {\r\n activeItem(\r\n e,\r\n 'messenger__aside-list-item',\r\n 'messenger__aside-list-item--active'\r\n )\r\n onClick(item)\r\n }\r\n\r\n function formatUnreadMessages (unread: number) {\r\n if (!unread) return 0\r\n if (unread >= 99) return 99\r\n return unread\r\n }\r\n\r\n const onMouseOver = () => {\r\n setBackground(theme?.listItemHover)\r\n }\r\n\r\n const onMouseLeave = () => {\r\n setBackground('')\r\n }\r\n\r\n const ShowTimer = () => {\r\n if (counter === null) return null\r\n\r\n return (\r\n <span\r\n className='messenger__aside-timer'\r\n style={{\r\n background: SlaDates.getColorsByTime(counter),\r\n color: 'var(--secondary-color)',\r\n width: 'fit-content',\r\n }}\r\n >\r\n <TimerIcon color='var(--secondary-color)' />\r\n \r\n <b>{SlaDates.secondsInHours(counter)}</b>\r\n </span>\r\n )\r\n }\r\n\r\n return (\r\n <div\r\n className={`messenger__aside-list-item ${closedChat}`}\r\n onClick={(e) => handleClick(e, item)}\r\n onMouseOver={onMouseOver}\r\n onMouseLeave={onMouseLeave}\r\n style={{\r\n color: theme?.asideFontColor,\r\n backgroundColor: currentId === item._id ? theme?.active : background,\r\n }}\r\n >\r\n <MessengerAvatar image={otherChatMember?.image}>\r\n {otherChatMember && otherChatMember.username\r\n ? otherChatMember.username.slice(0, 1)\r\n : ''}\r\n </MessengerAvatar>\r\n\r\n <div className='messenger__aside-list-item--info'>\r\n <p className='messenger__aside-list-item--title'>\r\n {otherChatMember?.username}\r\n </p>\r\n {item?.reason && (\r\n <p className='messenger__aside-list-item--description'>\r\n {item.reason}\r\n </p>\r\n )}\r\n {canSeeDetailsChat && <ShowTimer />}\r\n </div>\r\n\r\n {item && (\r\n <div className='messenger__aside-list-item--additional'>\r\n {canSeeDetailsChat && `#${item.protocol}`}\r\n {unreadMessages > 0 && (\r\n <div className='messenger__aside-list-item--unread'>\r\n <span>{formatUnreadMessages(unreadMessages)}</span>\r\n </div>\r\n )}\r\n </div>\r\n )}\r\n </div>\r\n )\r\n}\r\n\r\nexport default MessengerListItem\r\n","import useTheme from '../../hooks/useThemes'\r\nimport { activeItem } from '../../views/MessengerListItem'\r\nimport React from 'react'\r\n\r\ninterface IProps {\r\n handleChangeTickets: (tab: string) => void\r\n chatListTabs: { value: string; label: string }[]\r\n}\r\n\r\nfunction ChatTabs ({ handleChangeTickets, chatListTabs }: IProps) {\r\n const { theme } = useTheme()\r\n return (\r\n <div className='chat-tabs' style={{ color: theme.asideFontColor }}>\r\n {chatListTabs.map((tab, index) => {\r\n return (\r\n <button\r\n key={`chatListTab-${index}`}\r\n className={`chat-tabs__button ${index === 0 && 'chat-tabs__button--active'}`}\r\n onClick={(e) => {\r\n handleChangeTickets(tab.value)\r\n activeItem(e, 'chat-tabs__button', 'chat-tabs__button--active')\r\n }}\r\n >\r\n {tab.label}\r\n </button>\r\n )\r\n })}\r\n </div>\r\n )\r\n}\r\n\r\nexport default ChatTabs\r\n","import React from 'react'\r\nimport useTheme from '../../hooks/useThemes'\r\n\r\ninterface INewChatButton {\r\n removeActiveItem: (e: React.MouseEvent<HTMLElement, MouseEvent>) => void\r\n messegerView: 'empty' | 'messages' | 'newChat'\r\n chatButtons: {\r\n label: string\r\n onClick: () => void\r\n type: string\r\n canSee: boolean\r\n disabled?: boolean\r\n }[]\r\n}\r\n\r\nfunction ChatButtons ({ chatButtons, removeActiveItem }: INewChatButton) {\r\n const { theme } = useTheme()\r\n\r\n const getButtonType = (type: string, disabled?: boolean) => {\r\n if (type === 'primary')\r\n return {\r\n background: disabled ? theme?.buttonsDisabled : theme?.buttonPrimary,\r\n color: theme?.buttonPrimaryText,\r\n }\r\n\r\n if (type === 'outlined')\r\n return {\r\n background: 'transparent',\r\n color: theme?.asideFontColor,\r\n border: `${theme?.asideFontColor} 1px solid`,\r\n }\r\n return\r\n }\r\n\r\n return (\r\n <>\r\n {chatButtons.map((button) => {\r\n return (\r\n button.canSee && (\r\n <>\r\n <button\r\n key={`button-${button.label}`}\r\n className={\r\n button.disabled\r\n ? 'messenger__chat-button messenger__chat-button--disabled'\r\n : 'messenger__chat-button'\r\n }\r\n onClick={(event) => {\r\n button.onClick()\r\n removeActiveItem(event)\r\n }}\r\n style={getButtonType(button.type, button.disabled)}\r\n >\r\n {button.label}\r\n </button>\r\n </>\r\n )\r\n )\r\n })}\r\n </>\r\n )\r\n}\r\n\r\nexport default ChatButtons\r\n","import React from 'react'\r\nimport useTheme from '../hooks/useThemes'\r\n\r\nexport default function SearchIcon () {\r\n const { theme } = useTheme()\r\n return (\r\n <svg\r\n width='18'\r\n height='18'\r\n viewBox='0 0 18 18'\r\n fill='none'\r\n xmlns='http://www.w3.org/2000/svg'\r\n >\r\n <path\r\n d='M15.9 17.3L10.3 11.7C9.8 12.1 9.225 12.4167 8.575 12.65C7.925 12.8833 7.23333 13 6.5 13C4.68333 13 3.146 12.371 1.888 11.113C0.629333 9.85433 0 8.31667 0 6.5C0 4.68333 0.629333 3.14567 1.888 1.887C3.146 0.629 4.68333 0 6.5 0C8.31667 0 9.85433 0.629 11.113 1.887C12.371 3.14567 13 4.68333 13 6.5C13 7.23333 12.8833 7.925 12.65 8.575C12.4167 9.225 12.1 9.8 11.7 10.3L17.325 15.925C17.5083 16.1083 17.6 16.3333 17.6 16.6C17.6 16.8667 17.5 17.1 17.3 17.3C17.1167 17.4833 16.8833 17.575 16.6 17.575C16.3167 17.575 16.0833 17.4833 15.9 17.3ZM6.5 11C7.75 11 8.81267 10.5627 9.688 9.688C10.5627 8.81267 11 7.75 11 6.5C11 5.25 10.5627 4.18733 9.688 3.312C8.81267 2.43733 7.75 2 6.5 2C5.25 2 4.18733 2.43733 3.312 3.312C2.43733 4.18733 2 5.25 2 6.5C2 7.75 2.43733 8.81267 3.312 9.688C4.18733 10.5627 5.25 11 6.5 11Z'\r\n fill={theme.asideFontColor}\r\n />\r\n </svg>\r\n )\r\n}\r\n","import SearchIcon from '../../icons/SearchIcon'\r\nimport React, { useState } from 'react'\r\nimport useTheme from '../../hooks/useThemes'\r\nimport { useTranslation } from 'react-i18next'\r\n\r\ninterface IProps {\r\n searchChat: (value: string, key: string) => void\r\n searchKeys: { label: string; value: string }[]\r\n loadingSearch: boolean\r\n}\r\n\r\nfunction SearchInput ({ searchChat, searchKeys, loadingSearch }: IProps) {\r\n const { t } = useTranslation('messengerList')\r\n const [searchKey, setSearchKey] = useState<string>(searchKeys[0].value)\r\n const [searchValue, setSearchValue] = useState<string>('')\r\n const { theme } = useTheme()\r\n\r\n const onSearch = (event: React.ChangeEvent<HTMLInputElement>) => {\r\n setSearchValue(event.target.value)\r\n }\r\n\r\n const handleKeyPress = (event: React.KeyboardEvent<HTMLInputElement>) => {\r\n if (event.key === 'Enter') {\r\n searchChat(searchValue, searchKey)\r\n }\r\n }\r\n\r\n return (\r\n <div className='input-search'>\r\n <select\r\n className='input-search__select'\r\n onChange={(e) => setSearchKey(e.target.value)}\r\n style={{\r\n color: theme.asideFontColor,\r\n border: `${theme.asideFontColor} 1px solid`,\r\n }}\r\n >\r\n {searchKeys.map((item, index) => (\r\n <option\r\n className='input-search__option'\r\n key={index}\r\n value={item.value}\r\n >\r\n {item.label}\r\n </option>\r\n ))}\r\n </select>\r\n\r\n <input\r\n className='input-search__search'\r\n placeholder={t('searchInput.placeholder')}\r\n onChange={onSearch}\r\n onKeyDown={handleKeyPress}\r\n style={{\r\n color: theme.asideFontColor,\r\n border: `${theme.asideFontColor} 1px solid`,\r\n borderLeft: 0,\r\n }}\r\n />\r\n\r\n <button\r\n className='input-search__icon'\r\n onClick={() => searchChat(searchValue, searchKey)}\r\n >\r\n {loadingSearch ? (\r\n <div className='messenger__messages-loading'>\r\n <div className='messenger__messages-loading--loader' />\r\n </div>\r\n ) : (\r\n <SearchIcon />\r\n )}\r\n </button>\r\n </div>\r\n )\r\n}\r\n\r\nexport default SearchInput\r\n","import React from 'react'\r\nimport useTheme from '../hooks/useThemes'\r\n\r\nexport default function EmptyIcon () {\r\n const { theme } = useTheme()\r\n return (\r\n <svg\r\n width='26'\r\n height='32'\r\n viewBox='0 0 26 32'\r\n fill='none'\r\n xmlns='http://www.w3.org/2000/svg'\r\n >\r\n <path\r\n d='M24.4286 0H1.57143C0.939288 0 0.428574 0.510714 0.428574 1.14286V30.8571C0.428574 31.4893 0.939288 32 1.57143 32H24.4286C25.0607 32 25.5714 31.4893 25.5714 30.8571V1.14286C25.5714 0.510714 25.0607 0 24.4286 0ZM23 29.4286H3V22.25H6.49643C6.91072 23.4214 7.63929 24.475 8.60715 25.275C9.83929 26.2929 11.4 26.8571 13 26.8571C14.6 26.8571 16.1607 26.2964 17.3929 25.275C18.3607 24.475 19.0893 23.4214 19.5036 22.25H23V29.4286ZM23 20H17.7L17.5143 20.8821C17.0857 23.0179 15.1857 24.5714 13 24.5714C10.8143 24.5714 8.91429 23.0179 8.48215 20.8821L8.29643 20H3V2.57143H23V20Z'\r\n fill={theme.emptyMessagesFontColor}\r\n />\r\n </svg>\r\n )\r\n}\r\n","import React, { ReactNode, CSSProperties } from 'react'\r\n\r\ninterface IInfiniteScroll {\r\n loading: boolean\r\n more: boolean\r\n fetch: () => void\r\n children: ReactNode\r\n loadingCover: React.ReactElement\r\n root: Element | null\r\n reverse?: boolean\r\n rootMargin?: number\r\n}\r\n\r\nconst intersectDivStyle: CSSProperties = {\r\n width: 25,\r\n height: 25,\r\n visibility: 'hidden',\r\n}\r\n\r\nfunction InfiniteScroll ({\r\n loading,\r\n loadingCover,\r\n more,\r\n fetch,\r\n children,\r\n root,\r\n reverse = false,\r\n rootMargin = 400,\r\n}: IInfiniteScroll) {\r\n const [infiniteElement, setInfiniteElement] =\r\n React.useState<HTMLDivElement | null>(null)\r\n\r\n React.useEffect(() => {\r\n if (!root) return\r\n const currentElement = infiniteElement\r\n const observer = new IntersectionObserver(\r\n (entries) => {\r\n const first = entries[0]\r\n if (first.isIntersecting === true) fetch()\r\n },\r\n {\r\n root,\r\n rootMargin: rootMargin.toString() + 'px',\r\n threshold: 0.5,\r\n }\r\n )\r\n\r\n if (currentElement) {\r\n observer.observe(currentElement)\r\n }\r\n\r\n return () => {\r\n if (currentElement) observer.unobserve(currentElement)\r\n }\r\n }, [infiniteElement])\r\n\r\n if (reverse) {\r\n return (\r\n <>\r\n {more && !loading && (\r\n <div ref={setInfiniteElement} style={intersectDivStyle}></div>\r\n )}\r\n {loading && loadingCover}\r\n {children}\r\n </>\r\n )\r\n }\r\n\r\n return (\r\n <>\r\n {children}\r\n {loading && loadingCover}\r\n {more && !loading && (\r\n <div ref={setInfiniteElement} style={intersectDivStyle}></div>\r\n )}\r\n </>\r\n )\r\n}\r\n\r\nexport default InfiniteScroll\r\n","import React, { Fragment } from 'react'\r\nimport { IList } from 'types'\r\nimport ChatTabs from '../components/ChatTabs/ChatTabs'\r\nimport ChatButtons from '../components/ChatButton/ChatButton'\r\nimport SearchInput from '../components/SearchInput/SearchInput'\r\nimport MessengerListItem, { activeItem } from './MessengerListItem'\r\nimport useTheme from '../hooks/useThemes'\r\nimport EmptyIcon from '../icons/EmptyIcon'\r\nimport InfiniteScroll from '../components/InfiniteScroll/InfiniteScroll'\r\nimport { useTranslation } from 'react-i18next'\r\n\r\ninterface IMessengerList {\r\n affix?: React.ReactElement\r\n loading: boolean\r\n conversations: IList[]\r\n currentId?: string\r\n failed?: boolean\r\n showBadge: boolean\r\n tab?: 'list' | 'messages'\r\n className?: string\r\n onClick: (item: IList) => void\r\n searchChat: (search: string, key: string) => void\r\n searchKeys: { label: string; value: string }[]\r\n messegerView: 'empty' | 'messages' | 'newChat'\r\n helpDesk: boolean\r\n handleChangeTickets: (tab: string) => void\r\n loadingSearch: boolean\r\n chatListTabs: { value: string; label: string }[]\r\n chatButtons: {\r\n label: string\r\n onClick: () => void\r\n type: string\r\n canSee: boolean\r\n disabled?: boolean\r\n }[]\r\n canSeeDetailsChat: boolean\r\n hasNext: boolean\r\n onIntersect: () => void\r\n sliceCount: number\r\n currentViewerId: string\r\n}\r\n\r\nconst ListLoading = () => {\r\n const { theme } = useTheme()\r\n return (\r\n <Fragment>\r\n {new Array(5).fill('').map((_, idx) => (\r\n <button\r\n key={`asideSkeleton${idx}`}\r\n style={{\r\n background: theme.listItemHover,\r\n borderBottom: idx < 4 ? `1px solid ${theme.borderColor}` : '0',\r\n }}\r\n className='messenger__aside-skeleton'\r\n />\r\n ))}\r\n </Fragment>\r\n )\r\n}\r\n\r\nfunction MessengerList ({\r\n affix,\r\n conversations,\r\n tab,\r\n className = '',\r\n loading,\r\n failed,\r\n showBadge,\r\n currentId,\r\n onClick,\r\n searchChat,\r\n searchKeys,\r\n messegerView,\r\n helpDesk,\r\n handleChangeTickets,\r\n chatListTabs,\r\n chatButtons,\r\n loadingSearch,\r\n canSeeDetailsChat,\r\n hasNext,\r\n onIntersect,\r\n sliceCount,\r\n currentViewerId,\r\n}: IMessengerList) {\r\n const { t } = useTranslation('messengerList')\r\n const { theme } = useTheme()\r\n\r\n return (\r\n <aside\r\n className={`messenger__aside ${className} ${tab === 'messages' ? 'messenger__mobile-hide' : ''}`}\r\n style={{\r\n border: `1px solid ${theme.borderColor}`,\r\n borderRadius: '20px 0 0 20px',\r\n background: theme.asideBg,\r\n }}\r\n >\r\n <div className='messenger__buttons-container'>\r\n <ChatButtons\r\n chatButtons={chatButtons}\r\n messegerView={messegerView}\r\n removeActiveItem={(e: React.MouseEvent<HTMLElement, MouseEvent>) => {\r\n activeItem(\r\n e,\r\n 'messenger__aside-list-item',\r\n 'messenger__aside-list-item--active'\r\n )\r\n }}\r\n />\r\n\r\n {helpDesk && (\r\n <SearchInput\r\n searchKeys={searchKeys}\r\n searchChat={searchChat}\r\n loadingSearch={loadingSearch}\r\n />\r\n )}\r\n </div>\r\n\r\n {affix && (\r\n <div className='messenger__aside-header'>\r\n {React.cloneElement(affix)}\r\n </div>\r\n )}\r\n\r\n <ChatTabs\r\n chatListTabs={chatListTabs}\r\n handleChangeTickets={handleChangeTickets}\r\n />\r\n\r\n <div className='messenger__aside-list'>\r\n <InfiniteScroll\r\n root={document.querySelector('.messenger__aside-list')}\r\n loading={loading}\r\n loadingCover={<ListLoading />}\r\n more={hasNext}\r\n fetch={onIntersect}\r\n >\r\n {Array.isArray(conversations) &&\r\n conversations.length > 0 &&\r\n conversations.slice(0, sliceCount).map((item) => {\r\n return (\r\n <div\r\n key={item?._id}\r\n className={`messenger__aside-item-container ${showBadge ? 'messenger__active-badge' : ''}`}\r\n >\r\n <MessengerListItem\r\n canSeeDetailsChat={canSeeDetailsChat}\r\n currentId={currentId}\r\n item={item}\r\n onClick={onClick}\r\n currentViewerId={currentViewerId}\r\n />\r\n </div>\r\n )\r\n })}\r\n </InfiniteScroll>\r\n\r\n {failed ||\r\n (conversations?.length === 0 && !loading && (\r\n <div className='messenger__aside-empty'>\r\n <EmptyIcon />\r\n <p>{t('noChatFound')}</p>\r\n </div>\r\n ))}\r\n </div>\r\n </aside>\r\n )\r\n}\r\n\r\nexport default MessengerList\r\n","/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","import * as React from 'react'\r\nimport { SVGProps } from 'react'\r\nconst FileDoc = (props: SVGProps<SVGSVGElement>) => (\r\n <svg\r\n xmlns='http://www.w3.org/2000/svg'\r\n xmlnsXlink='http://www.w3.org/1999/xlink'\r\n id='Layer_1'\r\n width={800}\r\n height={800}\r\n data-name='Layer 1'\r\n viewBox='0 0 32 32'\r\n {...props}\r\n >\r\n <defs>\r\n <linearGradient\r\n id='doc-gradient'\r\n x1={6.65}\r\n x2={27.27}\r\n y1={6.65}\r\n y2={27.27}\r\n gradientUnits='userSpaceOnUse'\r\n >\r\n <stop offset={0} stopColor='#00a6fb' />\r\n <stop offset={1} stopColor='#0094ce' />\r\n </linearGradient>\r\n <linearGradient\r\n xlinkHref='#doc-gradient'\r\n id='doc-gradient-2'\r\n x1={6}\r\n x2={12}\r\n y1={5}\r\n y2={5}\r\n />\r\n <style>{'.cls-3{fill:#f8edeb}'}</style>\r\n </defs>\r\n <path\r\n d='M23.5 2h-12a.47.47 0 0 0-.35.15l-5 5A.47.47 0 0 0 6 7.5v20A2.5 2.5 0 0 0 8.5 30h15a2.5 2.5 0 0 0 2.5-2.5v-23A2.5 2.5 0 0 0 23.5 2Z'\r\n style={{\r\n fill: '#00a6fb',\r\n }}\r\n />\r\n <path\r\n d='M11.69 2a.47.47 0 0 0-.54.11l-5 5a.47.47 0 0 0-.15.58.5.5 0 0 0 .5.31h3A2.5 2.5 0 0 0 12 5.5v-3a.5.5 0 0 0-.31-.5Z'\r\n style={{\r\n fill: '#0094ce',\r\n }}\r\n />\r\n <path\r\n d='M16 21a2 2 0 0 1-2-2v-6a2 2 0 0 1 4 0v6a2 2 0 0 1-2 2Zm0-9a1 1 0 0 0-1 1v6a1 1 0 0 0 2 0v-6a1 1 0 0 0-1-1ZM9.5 21a.5.5 0 0 1-.5-.5v-9a.5.5 0 0 1 .5-.5 3.5 3.5 0 0 1 3.5 3.5v3A3.5 3.5 0 0 1 9.5 21Zm.5-8.95V20a2.5 2.5 0 0 0 2-2.45v-3a2.5 2.5 0 0 0-2-2.5ZM21 21a2 2 0 0 1-2-2v-6a2 2 0 0 1 4 0 .5.5 0 0 1-1 0 1 1 0 0 0-2 0v6a1 1 0 0 0 2 0 .5.5 0 0 1 1 0 2 2 0 0 1-2 2Z'\r\n className='cls-3'\r\n />\r\n </svg>\r\n)\r\nexport default FileDoc\r\n","import * as React from 'react'\r\nimport { SVGProps } from 'react'\r\nconst SvgComponent = (props: SVGProps<SVGSVGElement>) => (\r\n <svg\r\n xmlns='http://www.w3.org/2000/svg'\r\n xmlnsXlink='http://www.w3.org/1999/xlink'\r\n id='Layer_1'\r\n width={800}\r\n height={800}\r\n data-name='Layer 1'\r\n viewBox='0 0 32 32'\r\n {...props}\r\n >\r\n <defs>\r\n <linearGradient\r\n id='pdf-gradient'\r\n x1={6.65}\r\n x2={27.27}\r\n y1={6.65}\r\n y2={27.27}\r\n gradientUnits='userSpaceOnUse'\r\n >\r\n <stop offset={0} stopColor='#ef6461' />\r\n <stop offset={1} stopColor='#e83d3d' />\r\n </linearGradient>\r\n <linearGradient\r\n xlinkHref='#pdf-gradient'\r\n id='pdf-gradient-2'\r\n x1={6}\r\n x2={12}\r\n y1={5}\r\n y2={5}\r\n />\r\n <style>{'.cls-3{fill:#f8edeb}'}</style>\r\n </defs>\r\n <path\r\n d='M23.5 2h-12a.47.47 0 0 0-.35.15l-5 5A.47.47 0 0 0 6 7.5v20A2.5 2.5 0 0 0 8.5 30h15a2.5 2.5 0 0 0 2.5-2.5v-23A2.5 2.5 0 0 0 23.5 2Z'\r\n style={{\r\n fill: 'url(#pdf-gradient)',\r\n }}\r\n />\r\n <path\r\n d='M11.69 2a.47.47 0 0 0-.54.11l-5 5a.47.47 0 0 0-.15.58.5.5 0 0 0 .5.31h3A2.5 2.5 0 0 0 12 5.5v-3a.5.5 0 0 0-.31-.5Z'\r\n style={{\r\n fill: 'url(#pdf-gradient-2)',\r\n }}\r\n />\r\n <path\r\n d='M15.5 11h-1a.5.5 0 0 0-.5.5v9a.5.5 0 0 0 .5.5h1a2.5 2.5 0 0 0 2.5-2.5v-5a2.5 2.5 0 0 0-2.5-2.5Zm1.5 7.5a1.5 1.5 0 0 1-1.5 1.5H15v-8h.5a1.5 1.5 0 0 1 1.5 1.5ZM11.5 11h-2a.5.5 0 0 0-.5.5v9a.5.5 0 0 0 1 0V17h1.5a1.5 1.5 0 0 0 1.5-1.5v-3a1.5 1.5 0 0 0-1.5-1.5Zm.5 4.5a.5.5 0 0 1-.5.5H10v-4h1.5a.5.5 0 0 1 .5.5ZM22.5 15H20v-3h2.5a.5.5 0 0 0 0-1h-3a.5.5 0 0 0-.5.5v9a.5.5 0 0 0 1 0V16h2.5a.5.5 0 0 0 0-1Z'\r\n className='cls-3'\r\n />\r\n </svg>\r\n)\r\nexport default SvgComponent\r\n","import * as React from 'react'\r\nimport { SVGProps } from 'react'\r\n\r\nconst CSVFileIcon = (props: SVGProps<SVGSVGElement>) => (\r\n <svg\r\n xmlns='http://www.w3.org/2000/svg'\r\n width={40}\r\n height={40}\r\n viewBox='0 0 32 32'\r\n {...props}\r\n >\r\n <rect width='32' height='32' rx='5' fill='#21A366' />\r\n <text\r\n x='16'\r\n y='22'\r\n textAnchor='middle'\r\n fontSize='12'\r\n fill='#fff'\r\n fontWeight='bold'\r\n >\r\n CSV\r\n </text>\r\n </svg>\r\n)\r\n\r\nexport default CSVFileIcon\r\n","import * as React from 'react'\r\nimport { SVGProps } from 'react'\r\n\r\nconst MP4FileIcon = (props: SVGProps<SVGSVGElement>) => (\r\n <svg\r\n xmlns='http://www.w3.org/2000/svg'\r\n width={40}\r\n height={40}\r\n viewBox='0 0 32 32'\r\n {...props}\r\n >\r\n <rect width='32' height='32' rx='5' fill='#E67E22' />\r\n <text\r\n x='16'\r\n y='22'\r\n textAnchor='middle'\r\n fontSize='12'\r\n fill='#fff'\r\n fontWeight='bold'\r\n >\r\n MP4\r\n </text>\r\n </svg>\r\n)\r\n\r\nexport default MP4FileIcon\r\n","import React from 'react'\r\nimport FileDoc from '../../icons/DOCFileIcon'\r\nimport FilePdf from '../../icons/PDFFileIcon'\r\nimport CSVFileIcon from '../../icons/CSVFileIcon'\r\nimport MP4FileIcon from '../../icons/MP4FileIcon'\r\nimport { useTranslation } from 'react-i18next'\r\n\r\nconst RenderFileIcon = ({\r\n fileType,\r\n b64,\r\n}: {\r\n fileType?: string\r\n b64?: string\r\n}) => {\r\n const { t } = useTranslation('messengerMessages')\r\n\r\n if (fileType === 'application/pdf') {\r\n return <FilePdf width='40' height='40' />\r\n } else if (\r\n fileType === 'application/msword' ||\r\n fileType ===\r\n 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'\r\n ) {\r\n return <FileDoc width='40' height='40' />\r\n } else if (fileType === 'text/csv') {\r\n return <CSVFileIcon width='40' height='40' />\r\n } else if (fileType === 'video/mp4') {\r\n return <MP4FileIcon width='40' height='40' />\r\n } else {\r\n return (\r\n <img\r\n alt={t('renderFileIcon.altImage')}\r\n src={b64}\r\n className='images-container__image'\r\n />\r\n )\r\n }\r\n}\r\n\r\nexport default RenderFileIcon\r\n","import React, { useEffect, useState } from 'react'\r\nimport { IImagesContainer } from 'types'\r\nimport RenderFileIcon from '../RenderFileIcon/RenderFileIcon'\r\n\r\nfunction ImagesContainer ({ file, onClose }: IImagesContainer) {\r\n const [fileInfo, setFileInfo] = useState<{ name: string; type: string }>({\r\n name: '',\r\n type: '',\r\n })\r\n\r\n const [b64, setB64] = useState<string>('')\r\n\r\n useEffect(() => {\r\n function getBase64 (file: File) {\r\n return new Promise((resolve, reject) => {\r\n const reader = new FileReader()\r\n reader.readAsDataURL(file)\r\n reader.onload = () => resolve(reader.result)\r\n reader.onerror = (error) => reject(error)\r\n })\r\n }\r\n\r\n if (file) getBase64(file).then((base64) => setB64(base64 as string))\r\n }, [file])\r\n\r\n useEffect(() => {\r\n if (file) {\r\n setFileInfo({\r\n name: file.name,\r\n type: file.type,\r\n })\r\n }\r\n }, [file])\r\n\r\n return (\r\n <div className='images-container'>\r\n <div className='images-container__close'>\r\n <button className='images-container__close--icon' onClick={onClose} />\r\n </div>\r\n\r\n <div className='images-container__container'>\r\n <div className='images-container__image'>\r\n <RenderFileIcon fileType={fileInfo.type} b64={b64} />\r\n <span className='images-container__title-img'>{fileInfo.name}</span>\r\n </div>\r\n </div>\r\n </div>\r\n )\r\n}\r\n\r\nexport default ImagesContainer\r\n","import React, { useState, useCallback, useEffect } from 'react';\n\nfunction styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nvar css_248z = \".styles-module_wrapper__1I_qj {\\n z-index: 1;\\n display: flex;\\n align-items: center;\\n position: fixed;\\n padding: 0px 60px 0px 60px;\\n left: 0;\\n top: 0;\\n width: 100%;\\n height: 100%;\\n background-color: black;\\n box-sizing: border-box;\\n}\\n\\n.styles-module_content__2jwZj {\\n margin: auto;\\n padding: 0;\\n width: 90%;\\n height: 100%;\\n max-height: 100%;\\n text-align: center;\\n}\\n\\n.styles-module_slide__1zrfk {\\n height: 100%;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n}\\n\\n.styles-module_image__2hdkJ {\\n max-height: 100%;\\n max-width: 100%;\\n user-select: none;\\n -moz-user-select: none;\\n -webkit-user-select: none;\\n}\\n\\n.styles-module_close__2I1sI {\\n color: white;\\n position: absolute;\\n top: 15px;\\n right: 15px;\\n font-size: 40px;\\n font-weight: bold;\\n opacity: 0.2;\\n cursor: pointer;\\n}\\n\\n.styles-module_close__2I1sI:hover {\\n opacity: 1;\\n}\\n\\n.styles-module_navigation__1pqAE {\\n height: 80%;\\n color: white;\\n cursor: pointer;\\n position: absolute;\\n font-size: 60px;\\n line-height: 60px;\\n font-weight: bold;\\n display: flex;\\n align-items: center;\\n opacity: 0.2;\\n padding: 0 15px;\\n user-select: none;\\n -moz-user-select: none;\\n -webkit-user-select: none;\\n}\\n\\n.styles-module_navigation__1pqAE:hover {\\n opacity: 1;\\n}\\n\\n@media (hover: none) {\\n .styles-module_navigation__1pqAE:hover {\\n opacity: 0.2;\\n }\\n}\\n\\n.styles-module_prev__KqFRp {\\n left: 0;\\n}\\n\\n.styles-module_next__1uQwZ {\\n right: 0;\\n}\\n\\n@media (max-width: 900px) {\\n .styles-module_wrapper__1I_qj {\\n padding: 0;\\n }\\n}\\n\";\nvar styles = {\"wrapper\":\"styles-module_wrapper__1I_qj\",\"content\":\"styles-module_content__2jwZj\",\"slide\":\"styles-module_slide__1zrfk\",\"image\":\"styles-module_image__2hdkJ\",\"close\":\"styles-module_close__2I1sI\",\"navigation\":\"styles-module_navigation__1pqAE\",\"prev\":\"styles-module_prev__KqFRp\",\"next\":\"styles-module_next__1uQwZ\"};\nstyleInject(css_248z);\n\nconst ReactSimpleImageViewer = (props) => {\n var _a;\n const [currentIndex, setCurrentIndex] = useState((_a = props.currentIndex) !== null && _a !== void 0 ? _a : 0);\n const changeImage = useCallback((delta) => {\n let nextIndex = (currentIndex + delta) % props.src.length;\n if (nextIndex < 0)\n nextIndex = props.src.length - 1;\n setCurrentIndex(nextIndex);\n }, [currentIndex]);\n const handleClick = useCallback((event) => {\n var _a;\n if (!event.target || !props.closeOnClickOutside) {\n return;\n }\n const checkId = event.target.id === 'ReactSimpleImageViewer';\n const checkClass = event.target.classList.contains('react-simple-image-viewer__slide');\n if (checkId || checkClass) {\n event.stopPropagation();\n (_a = props.onClose) === null || _a === void 0 ? void 0 : _a.call(props);\n }\n }, [props.onClose]);\n const handleKeyDown = useCallback((event) => {\n var _a;\n if (event.key === \"Escape\") {\n (_a = props.onClose) === null || _a === void 0 ? void 0 : _a.call(props);\n }\n if ([\"ArrowLeft\", \"h\"].includes(event.key)) {\n changeImage(-1);\n }\n if ([\"ArrowRight\", \"l\"].includes(event.key)) {\n changeImage(1);\n }\n }, [props.onClose, changeImage]);\n const handleWheel = useCallback((event) => {\n if (event.wheelDeltaY > 0) {\n changeImage(-1);\n }\n else {\n changeImage(1);\n }\n }, [changeImage]);\n useEffect(() => {\n document.addEventListener(\"keydown\", handleKeyDown);\n if (!props.disableScroll) {\n document.addEventListener(\"wheel\", handleWheel);\n }\n return () => {\n document.removeEventListener(\"keydown\", handleKeyDown);\n if (!props.disableScroll) {\n document.removeEventListener(\"wheel\", handleWheel);\n }\n };\n }, [handleKeyDown, handleWheel]);\n return (React.createElement(\"div\", { id: \"ReactSimpleImageViewer\", className: `${styles.wrapper} react-simple-image-viewer__modal`, onKeyDown: handleKeyDown, onClick: handleClick, style: props.backgroundStyle },\n React.createElement(\"span\", { className: `${styles.close} react-simple-image-viewer__close`, onClick: () => { var _a; return (_a = props.onClose) === null || _a === void 0 ? void 0 : _a.call(props); } }, props.closeComponent || \"×\"),\n props.src.length > 1 && (React.createElement(\"span\", { className: `${styles.navigation} ${styles.prev} react-simple-image-viewer__previous`, onClick: () => changeImage(-1) }, props.leftArrowComponent || \"❮\")),\n props.src.length > 1 && (React.createElement(\"span\", { className: `${styles.navigation} ${styles.next} react-simple-image-viewer__next`, onClick: () => changeImage(1) }, props.rightArrowComponent || \"❯\")),\n React.createElement(\"div\", { className: `${styles.content} react-simple-image-viewer__modal-content`, onClick: handleClick },\n React.createElement(\"div\", { className: `${styles.slide} react-simple-image-viewer__slide` },\n React.createElement(\"img\", { className: styles.image, src: props.src[currentIndex], alt: \"\" })))));\n};\n\nexport { ReactSimpleImageViewer as default };\n//# sourceMappingURL=index.esm.js.map\n","import React from 'react'\r\n\r\nfunction DownloadMinimalistIcon ({\r\n width,\r\n height,\r\n color,\r\n}: {\r\n width: string\r\n height: string\r\n color: string\r\n}) {\r\n return (\r\n <svg\r\n xmlns='http://www.w3.org/2000/svg'\r\n width={width}\r\n height={height}\r\n viewBox='0 0 24 24'\r\n fill='none'\r\n >\r\n <path\r\n d='M12.5535 16.5061C12.4114 16.6615 12.2106 16.75 12 16.75C11.7894 16.75 11.5886 16.6615 11.4465 16.5061L7.44648 12.1311C7.16698 11.8254 7.18822 11.351 7.49392 11.0715C7.79963 10.792 8.27402 10.8132 8.55352 11.1189L11.25 14.0682V3C11.25 2.58579 11.5858 2.25 12 2.25C12.4142 2.25 12.75 2.58579 12.75 3V14.0682L15.4465 11.1189C15.726 10.8132 16.2004 10.792 16.5061 11.0715C16.8118 11.351 16.833 11.8254 16.5535 12.1311L12.5535 16.5061Z'\r\n fill={color}\r\n />\r\n <path\r\n d='M3.75 15C3.75 14.5858 3.41422 14.25 3 14.25C2.58579 14.25 2.25 14.5858 2.25 15V15.0549C2.24998 16.4225 2.24996 17.5248 2.36652 18.3918C2.48754 19.2919 2.74643 20.0497 3.34835 20.6516C3.95027 21.2536 4.70814 21.5125 5.60825 21.6335C6.47522 21.75 7.57754 21.75 8.94513 21.75H15.0549C16.4225 21.75 17.5248 21.75 18.3918 21.6335C19.2919 21.5125 20.0497 21.2536 20.6517 20.6516C21.2536 20.0497 21.5125 19.2919 21.6335 18.3918C21.75 17.5248 21.75 16.4225 21.75 15.0549V15C21.75 14.5858 21.4142 14.25 21 14.25C20.5858 14.25 20.25 14.5858 20.25 15C20.25 16.4354 20.2484 17.4365 20.1469 18.1919C20.0482 18.9257 19.8678 19.3142 19.591 19.591C19.3142 19.8678 18.9257 20.0482 18.1919 20.1469C17.4365 20.2484 16.4354 20.25 15 20.25H9C7.56459 20.25 6.56347 20.2484 5.80812 20.1469C5.07435 20.0482 4.68577 19.8678 4.40901 19.591C4.13225 19.3142 3.9518 18.9257 3.85315 18.1919C3.75159 17.4365 3.75 16.4354 3.75 15Z'\r\n fill={color}\r\n />\r\n <defs>\r\n <clipPath id='clip0_23_2'>\r\n <rect width='32' height='32' fill='@text-color' />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n )\r\n}\r\n\r\nexport default DownloadMinimalistIcon\r\n","import React from 'react'\r\nimport DownloadMinimalistIcon from '../../icons/DownloadMinimalistIcon'\r\nimport { IMessagesBalloon } from 'types'\r\nimport RenderFileIcon from '../RenderFileIcon/RenderFileIcon'\r\n\r\nexport function formatFileSize (size = 0) {\r\n if (size % 1 === 0) {\r\n return `${size.toFixed(0)} MB`\r\n }\r\n return `${size.toFixed(2)} MB`\r\n}\r\n\r\nfunction DocMessage ({ file }: IMessagesBalloon) {\r\n const fileType = file?.location?.split('.').pop()?.toUpperCase()\r\n const fileName = file && file.originalname\r\n const filePages = file && file.pages\r\n const fileSize = file && formatFileSize(file?.size)\r\n\r\n return (\r\n <div className='messenger__messages-row--sender'>\r\n <span>\r\n {\r\n <div className='messenger__file-card'>\r\n <div className='messenger__file-icon'>\r\n <RenderFileIcon fileType={file?.mimetype} />\r\n </div>\r\n <div className='messenger__file-details'>\r\n <p className='messenger__file-name'>{fileName}</p>\r\n <p className='messenger__file-info'>\r\n {filePages && filePages + ' página(s) •'} {fileSize} •{' '}\r\n {fileType}\r\n </p>\r\n </div>\r\n <a\r\n href={file?.location}\r\n target='_blank'\r\n rel='noopener noreferrer'\r\n className='messenger__file-download'\r\n style={{ color: 'blue' }}\r\n >\r\n <DownloadMinimalistIcon width='24' height='24' color='white' />\r\n </a>\r\n </div>\r\n }\r\n </span>\r\n </div>\r\n )\r\n}\r\n\r\nexport default DocMessage\r\n","import useTheme from '../../hooks/useThemes'\r\nimport React, { useCallback, useState } from 'react'\r\nimport { Iimages, IInconmingMessage } from 'types'\r\nimport MessengerAvatar from '../MessengerAvatar/MessengerAvatar'\r\nimport ReactSimpleImageViewer from '../../../../../node_modules/react-simple-image-viewer'\r\nimport DocMessage from '../DocMessage/DocMessage'\r\nimport { useTranslation } from 'react-i18next'\r\n\r\ninterface IMessagesWithFile {\r\n file:\r\n | Iimages\r\n | {\r\n contentType: string\r\n location: string\r\n mimetype: string\r\n originalname: string\r\n size?: number\r\n pages?: number\r\n key?: string\r\n }\r\n | undefined\r\n message: string\r\n date: string\r\n openImageViewer: (index: number) => void\r\n id: string\r\n formatDate: (date: string | Date) => string | undefined\r\n currentImage: number\r\n}\r\n\r\nexport const MessageImage = ({ ...rest }) => {\r\n const { t } = useTranslation('messengerMessages')\r\n return (\r\n <div className='messenger__message--file'>\r\n <img\r\n {...rest}\r\n width={200}\r\n height={200}\r\n alt={t('incommingMessage.messageImage')}\r\n />\r\n </div>\r\n )\r\n}\r\n\r\nconst MessageWithFile = ({\r\n file,\r\n message,\r\n date,\r\n openImageViewer,\r\n id,\r\n formatDate,\r\n currentImage,\r\n}: IMessagesWithFile) => {\r\n const isImage = (\r\n file:\r\n | {\r\n contentType: string\r\n location: string\r\n mimetype: string\r\n originalname: string\r\n size?: number\r\n pages?: number\r\n key?: string\r\n }\r\n | Iimages\r\n | undefined\r\n ): file is Iimages => {\r\n if (!file) return false\r\n if (['image/png', 'image/jpeg'].includes(file?.mimetype ?? '')) {\r\n return true\r\n }\r\n return false\r\n }\r\n\r\n return (\r\n <>\r\n {isImage(file) ? (\r\n <MessageImage\r\n src={file?.location}\r\n onClick={() => openImageViewer(currentImage)}\r\n />\r\n ) : (\r\n file && (\r\n <DocMessage\r\n file={file}\r\n message={message}\r\n date={date}\r\n read={false}\r\n id={id}\r\n formatDate={formatDate}\r\n />\r\n )\r\n )}\r\n </>\r\n )\r\n}\r\n\r\nfunction IncomingMessage ({\r\n date,\r\n message,\r\n user,\r\n hasFile,\r\n file,\r\n isSystemMessage,\r\n formatDate,\r\n id,\r\n}: IInconmingMessage) {\r\n const { theme } = useTheme()\r\n const [currentImage, setCurrentImage] = useState(0)\r\n const [isViewerOpen, setIsViewerOpen] = useState(false)\r\n\r\n const openImageViewer = useCallback((index: number) => {\r\n setCurrentImage(index)\r\n setIsViewerOpen(true)\r\n }, [])\r\n\r\n const closeImageViewer = () => {\r\n setCurrentImage(0)\r\n setIsViewerOpen(false)\r\n }\r\n\r\n return (\r\n <div className='messenger__messages-row--received' id={id}>\r\n {(user.avatar || user.name) && !isSystemMessage && (\r\n <div className='messenger__message-avatar mr-2'>\r\n <MessengerAvatar image={user.avatar}>\r\n {user.name.slice(0, 1)}\r\n </MessengerAvatar>\r\n </div>\r\n )}\r\n\r\n <div\r\n className='messenger__messages-received'\r\n style={{ background: theme?.messengerIncomerColor }}\r\n >\r\n {!isSystemMessage && (\r\n <p className='messenger__message-title'>{user.name}</p>\r\n )}\r\n\r\n <span>\r\n {hasFile && (\r\n <MessageWithFile\r\n file={file}\r\n message={message}\r\n date={date}\r\n openImageViewer={openImageViewer}\r\n id={id}\r\n formatDate={formatDate}\r\n currentImage={currentImage}\r\n />\r\n )}\r\n {message && <p className='messenger__message'>{message}</p>}\r\n <p className='messenger__message--date'>\r\n {formatDate(date) ?? new Date(date).toLocaleString()}\r\n </p>\r\n </span>\r\n </div>\r\n {file && isViewerOpen && (\r\n <ReactSimpleImageViewer\r\n src={[file.location]}\r\n currentIndex={0}\r\n disableScroll={false}\r\n closeOnClickOutside={true}\r\n onClose={closeImageViewer}\r\n />\r\n )}\r\n </div>\r\n )\r\n}\r\n\r\nexport default IncomingMessage\r\n","import React from 'react'\r\n\r\nexport default function ReadIcon ({ fill }: { fill: string }) {\r\n return (\r\n <svg\r\n width='15'\r\n height='15'\r\n viewBox='0 0 30 24'\r\n fill='none'\r\n xmlns='http://www.w3.org/2000/svg'\r\n >\r\n <path\r\n d='M29.2857 0.5H26.7893C26.4393 0.5 26.1071 0.660714 25.8929 0.935714L11.1679 19.5893L4.10714 10.6429C4.00033 10.5072 3.86419 10.3976 3.70893 10.3221C3.55367 10.2467 3.38334 10.2074 3.21071 10.2071H0.714286C0.475 10.2071 0.342857 10.4821 0.489286 10.6679L10.2714 23.0607C10.7286 23.6393 11.6071 23.6393 12.0679 23.0607L29.5107 0.957143C29.6571 0.775 29.525 0.5 29.2857 0.5V0.5Z'\r\n fill={fill}\r\n />\r\n </svg>\r\n )\r\n}\r\n","import useTheme from '../../hooks/useThemes'\r\nimport React, { useCallback, useState } from 'react'\r\nimport { IMessagesBalloon } from 'types'\r\nimport ReadIcon from '../../icons/ReadIcon'\r\nimport ReactSimpleImageViewer from 'react-simple-image-viewer'\r\nimport { MessageImage } from '../IncomingMessage/IncomingMessage'\r\nimport DocMessage from '../DocMessage/DocMessage'\r\n\r\nfunction SenderMessages ({\r\n date,\r\n message,\r\n read,\r\n hasFile,\r\n file,\r\n formatDate,\r\n id,\r\n}: IMessagesBalloon) {\r\n const [currentImage, setCurrentImage] = useState(0)\r\n const [isViewerOpen, setIsViewerOpen] = useState(false)\r\n const { theme } = useTheme()\r\n\r\n const openImageViewer = useCallback((index: number) => {\r\n setCurrentImage(index)\r\n setIsViewerOpen(true)\r\n }, [])\r\n\r\n const closeImageViewer = () => {\r\n setCurrentImage(0)\r\n setIsViewerOpen(false)\r\n }\r\n\r\n const isDoc = [\r\n 'application/msword',\r\n 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',\r\n 'application/pdf',\r\n 'text/csv',\r\n 'video/mp4',\r\n ].includes(file?.mimetype ?? '')\r\n\r\n return (\r\n <div className='messenger__messages-row--sender'>\r\n <div\r\n className='messenger__messages-sender'\r\n id={id}\r\n style={{\r\n background: theme?.messengerSenderColor,\r\n color: theme?.documentMessagesTextColor,\r\n }}\r\n >\r\n <span>\r\n {hasFile &&\r\n (isDoc ? (\r\n <DocMessage\r\n date={date}\r\n message={message}\r\n read={read}\r\n file={file}\r\n formatDate={formatDate}\r\n id={id}\r\n />\r\n ) : (\r\n <MessageImage\r\n src={file?.location}\r\n onClick={() => openImageViewer(currentImage)}\r\n />\r\n ))}\r\n\r\n <p className='messenger__message'>{message}</p>\r\n <div className='messenger__message--bottom'>\r\n <p className='messenger__message--date'>\r\n {formatDate(date) ?? new Date(date).toString()}\r\n </p>\r\n <ReadIcon fill={read ? '#00efff' : 'white'} />\r\n </div>\r\n </span>\r\n </div>\r\n\r\n {file && !isDoc && isViewerOpen && (\r\n <ReactSimpleImageViewer\r\n src={[file.location]}\r\n currentIndex={0}\r\n disableScroll={false}\r\n closeOnClickOutside={true}\r\n onClose={closeImageViewer}\r\n />\r\n )}\r\n </div>\r\n )\r\n}\r\n\r\nexport default SenderMessages\r\n","import React from 'react'\r\nimport useTheme from '../../hooks/useThemes'\r\nimport { IInconmingMessage } from 'types'\r\n\r\nfunction SystemMessage ({ date, message, formatDate, id }: IInconmingMessage) {\r\n const { theme } = useTheme()\r\n\r\n return (\r\n <div className='messenger__messages-row--system' id={id}>\r\n <div\r\n className='messenger__messages-received messenger__messages-received--system'\r\n style={{ background: theme?.messengerSystemColor }}\r\n >\r\n <span>\r\n <p className='messenger__message'>{message}</p>\r\n <p className='messenger__message--date'>\r\n {formatDate(date) ?? new Date(date).toString()}\r\n </p>\r\n </span>\r\n </div>\r\n </div>\r\n )\r\n}\r\n\r\nexport default SystemMessage\r\n","import React from 'react'\r\nimport { Iimages, IMessages } from 'types'\r\nimport IncomingMessage from '../IncomingMessage/IncomingMessage'\r\nimport SenderMessages from '../SenderMessages/SenderMessages'\r\nimport SystemMessage from '../SystemMessage/SystemMessage'\r\n\r\nfunction MessageBalloon ({\r\n item,\r\n creatorId,\r\n formatDate,\r\n id,\r\n}: {\r\n item: IMessages\r\n creatorId?: string\r\n formatDate: (date: string | Date) => string | undefined\r\n id: string\r\n}) {\r\n if (item.isSystemMessage) {\r\n return (\r\n <SystemMessage\r\n formatDate={formatDate}\r\n date={item.createdAt}\r\n message={item.content}\r\n id={item.senderId}\r\n user={{ name: 'System' }}\r\n />\r\n )\r\n }\r\n\r\n if (\r\n item.sender.uniqueCode &&\r\n !item.isSystemMessage &&\r\n item.sender.uniqueCode === creatorId\r\n ) {\r\n return (\r\n <>\r\n <SenderMessages\r\n id={id}\r\n formatDate={formatDate}\r\n message={item.content}\r\n date={item.createdAt}\r\n read={item.everybodyHasRead}\r\n hasFile={item.hasFile}\r\n file={item.file}\r\n />\r\n\r\n {item.images &&\r\n item.images.map((image: Iimages, index: number) => (\r\n <SenderMessages\r\n key={image.key}\r\n id={`${id}image-${index}`}\r\n formatDate={formatDate}\r\n date={item.createdAt}\r\n file={image}\r\n message=''\r\n hasFile={true}\r\n read={item.everybodyHasRead}\r\n />\r\n ))}\r\n </>\r\n )\r\n }\r\n\r\n return (\r\n <>\r\n <IncomingMessage\r\n id={id}\r\n formatDate={formatDate}\r\n date={item.createdAt}\r\n message={item.content}\r\n hasFile={item.hasFile}\r\n isSystemMessage={item.isSystemMessage}\r\n file={item.file}\r\n user={{\r\n avatar: item.sender?.image,\r\n name: item.sender.username,\r\n }}\r\n />\r\n\r\n {item.images &&\r\n item.images.map((image: Iimages, index: number) => (\r\n <IncomingMessage\r\n key={image.key}\r\n id={`${id}image-${index}`}\r\n formatDate={formatDate}\r\n date={item.createdAt}\r\n file={image}\r\n message=''\r\n hasFile={true}\r\n user={{\r\n avatar: item.sender?.image,\r\n name: item.sender.username,\r\n }}\r\n />\r\n ))}\r\n </>\r\n )\r\n}\r\n\r\nexport default MessageBalloon\r\n","import React from 'react'\r\n\r\nfunction MessageIcon ({ width, height }: { width: string; height: string }) {\r\n return (\r\n <svg\r\n width={width}\r\n height={height}\r\n viewBox='0 0 32 32'\r\n fill='none'\r\n xmlns='http://www.w3.org/2000/svg'\r\n >\r\n <g clipPath='url(#clip0_23_2)'>\r\n <path\r\n d='M14.2857 16C14.2857 16.4547 14.4663 16.8907 14.7878 17.2122C15.1093 17.5337 15.5453 17.7143 16 17.7143C16.4547 17.7143 16.8907 17.5337 17.2122 17.2122C17.5337 16.8907 17.7143 16.4547 17.7143 16C17.7143 15.5453 17.5337 15.1093 17.2122 14.7878C16.8907 14.4663 16.4547 14.2857 16 14.2857C15.5453 14.2857 15.1093 14.4663 14.7878 14.7878C14.4663 15.1093 14.2857 15.5453 14.2857 16V16ZM21.4286 16C21.4286 16.4547 21.6092 16.8907 21.9307 17.2122C22.2522 17.5337 22.6882 17.7143 23.1429 17.7143C23.5975 17.7143 24.0336 17.5337 24.355 17.2122C24.6765 16.8907 24.8572 16.4547 24.8572 16C24.8572 15.5453 24.6765 15.1093 24.355 14.7878C24.0336 14.4663 23.5975 14.2857 23.1429 14.2857C22.6882 14.2857 22.2522 14.4663 21.9307 14.7878C21.6092 15.1093 21.4286 15.5453 21.4286 16ZM7.14286 16C7.14286 16.4547 7.32347 16.8907 7.64497 17.2122C7.96646 17.5337 8.40249 17.7143 8.85715 17.7143C9.31181 17.7143 9.74784 17.5337 10.0693 17.2122C10.3908 16.8907 10.5714 16.4547 10.5714 16C10.5714 15.5453 10.3908 15.1093 10.0693 14.7878C9.74784 14.4663 9.31181 14.2857 8.85715 14.2857C8.40249 14.2857 7.96646 14.4663 7.64497 14.7878C7.32347 15.1093 7.14286 15.5453 7.14286 16V16ZM30.7572 9.8C29.95 7.88214 28.7929 6.16071 27.3179 4.68214C25.8532 3.21213 24.1144 2.04365 22.2 1.24286C20.2357 0.417857 18.15 0 16 0H15.9286C13.7643 0.0107143 11.6679 0.439286 9.69643 1.28214C7.79842 2.09115 6.07595 3.2617 4.62501 4.72857C3.16429 6.20357 2.01786 7.91786 1.225 9.82857C0.403576 11.8071 -0.01071 13.9107 4.25255e-06 16.075C0.012123 18.5553 0.598904 20.999 1.71429 23.2143V28.6429C1.71429 29.0786 1.88738 29.4964 2.19547 29.8045C2.50357 30.1126 2.92143 30.2857 3.35715 30.2857H8.78929C11.0046 31.4011 13.4483 31.9879 15.9286 32H16.0036C18.1429 32 20.2179 31.5857 22.1714 30.775C24.0762 29.9838 25.8085 28.8289 27.2714 27.375C28.7464 25.9143 29.9072 24.2071 30.7179 22.3036C31.5607 20.3321 31.9893 18.2357 32 16.0714C32.0107 13.8964 31.5893 11.7857 30.7572 9.8V9.8ZM25.3607 25.4429C22.8571 27.9214 19.5357 29.2857 16 29.2857H15.9393C13.7857 29.275 11.6464 28.7393 9.75715 27.7321L9.45715 27.5714H4.42858V22.5429L4.26786 22.2429C3.26072 20.3536 2.725 18.2143 2.71429 16.0607C2.7 12.5 4.06072 9.15714 6.55715 6.63929C9.05001 4.12143 12.3821 2.72857 15.9429 2.71429H16.0036C17.7893 2.71429 19.5214 3.06071 21.1536 3.74643C22.7464 4.41429 24.175 5.375 25.4036 6.60357C26.6286 7.82857 27.5929 9.26071 28.2607 10.8536C28.9536 12.5036 29.3 14.2536 29.2929 16.0607C29.2714 19.6179 27.875 22.95 25.3607 25.4429V25.4429Z'\r\n fill='black'\r\n />\r\n </g>\r\n <defs>\r\n <clipPath id='clip0_23_2'>\r\n <rect width='32' height='32' fill='@text-color' />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n )\r\n}\r\n\r\nexport default MessageIcon\r\n","import React from 'react'\r\n\r\ninterface IProps {\r\n color: string\r\n}\r\nexport default function TrashIcon ({ color }: IProps) {\r\n return (\r\n <svg\r\n width='13'\r\n height='17'\r\n viewBox='0 0 13 17'\r\n fill='none'\r\n xmlns='http://www.w3.org/2000/svg'\r\n >\r\n <path\r\n d='M13 0.928571H9.75L8.82143 0H4.17857L3.25 0.928571H0V2.78571H13M0.928571 14.8571C0.928571 15.3497 1.12423 15.8221 1.47252 16.1703C1.8208 16.5186 2.29317 16.7143 2.78571 16.7143H10.2143C10.7068 16.7143 11.1792 16.5186 11.5275 16.1703C11.8758 15.8221 12.0714 15.3497 12.0714 14.8571V3.71429H0.928571V14.8571Z'\r\n fill={color}\r\n />\r\n </svg>\r\n )\r\n}\r\n","import TrashIcon from '../../icons/TrashIcon'\r\nimport React, { useMemo } from 'react'\r\nimport useTheme from '../../hooks/useThemes'\r\nimport { useTranslation } from 'react-i18next'\r\n\r\ninterface IProps {\r\n fileList: File[]\r\n onUpdateFile: (files: File) => void\r\n label: string\r\n onRemoveFile: (files: File) => void\r\n maxSize: string\r\n loading: boolean\r\n}\r\n\r\nfunction InputFile ({\r\n fileList,\r\n onUpdateFile,\r\n label,\r\n onRemoveFile,\r\n maxSize,\r\n loading,\r\n}: IProps) {\r\n const { theme } = useTheme()\r\n const { t } = useTranslation('newFormChat')\r\n\r\n const validateFileType = useMemo(\r\n () => (allowedTypes: string[], file?: File) => {\r\n if (file?.type) {\r\n return allowedTypes.includes(file.type)\r\n }\r\n const extension = file?.name.split('.').pop()?.toLowerCase()\r\n return extension ? allowedTypes.includes(`.${extension}`) : false\r\n },\r\n []\r\n )\r\n\r\n const onUpload = () => {\r\n const input = document.querySelector('.file-input__input') as HTMLElement\r\n input?.click()\r\n }\r\n\r\n const onChange = (e: React.ChangeEvent<HTMLInputElement>) => {\r\n const file = e?.target?.files?.[0]\r\n\r\n const isAllowedType = validateFileType(\r\n [\r\n 'image/png',\r\n 'image/jpeg',\r\n 'application/pdf',\r\n 'application/msword',\r\n 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',\r\n 'text/csv',\r\n 'video/mp4',\r\n ],\r\n file\r\n )\r\n if (!isAllowedType) {\r\n console.error(t('inputFile.documentSendError'))\r\n return false\r\n }\r\n\r\n if (file) onUpdateFile(file)\r\n return true\r\n }\r\n\r\n const removeItem = (file: File) => {\r\n if (fileList.some((item) => item === file)) {\r\n onRemoveFile(file)\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n <div className='file-input'>\r\n <label\r\n style={{ color: theme.newChatFormTexts }}\r\n htmlFor=''\r\n className='file-input__label'\r\n >\r\n {label}\r\n </label>\r\n <div\r\n className='file-input__container'\r\n style={{\r\n backgroundColor: theme.inputBg,\r\n color: theme.newChatFormTexts,\r\n }}\r\n >\r\n <input\r\n className='file-input__input'\r\n type='file'\r\n id='docpicker'\r\n hidden\r\n accept='.jpg, .jpeg, .png, .pdf, .doc, .docx, .csv, .mp4'\r\n onChange={(event) => onChange(event)}\r\n />\r\n\r\n <h4>{t('inputFile.chooseFile')}</h4>\r\n <button\r\n className='file-input__button'\r\n type='button'\r\n onClick={onUpload}\r\n style={{\r\n background: theme?.buttonPrimary,\r\n color: theme?.buttonPrimaryText,\r\n }}\r\n >\r\n {t('inputFile.chooseFile')}\r\n </button>\r\n\r\n {loading ? (\r\n ''\r\n ) : (\r\n <p>\r\n {t('inputFile.allowDocuments')}(\r\n {t('inputFile.allowSizeDocument', { maxSize })})\r\n </p>\r\n )}\r\n </div>\r\n </div>\r\n\r\n <div>\r\n {fileList &&\r\n fileList.map((item) => (\r\n <div\r\n className='file-input__list'\r\n key={item.name}\r\n style={{\r\n backgroundColor: theme.inputBg,\r\n color: theme.newChatFormTexts,\r\n }}\r\n >\r\n <span className='file-input__list--file-name'>{item.name}</span>\r\n <button\r\n className='file-input__delete'\r\n onClick={() => removeItem(item)}\r\n >\r\n <TrashIcon color={theme.newChatFormDeleteFileButton || 'red'} />\r\n </button>\r\n </div>\r\n ))}\r\n </div>\r\n </>\r\n )\r\n}\r\n\r\nexport default InputFile\r\n","import React from 'react'\r\nimport useTheme from '../../hooks/useThemes'\r\ninterface IProps {\r\n options: {\r\n label: string\r\n value: string\r\n }[]\r\n label: string\r\n onChange: (value: string) => void\r\n name: string\r\n placeholder: string\r\n value: string\r\n}\r\n\r\nfunction SelectNew ({\r\n options,\r\n name,\r\n placeholder,\r\n label,\r\n onChange,\r\n value,\r\n}: IProps) {\r\n const { theme } = useTheme()\r\n return (\r\n <div className='form-select'>\r\n <label\r\n htmlFor={name}\r\n className='form-select__label'\r\n style={{ color: theme.newChatFormTexts }}\r\n >\r\n {label}\r\n </label>\r\n <select\r\n name={name}\r\n className='form-select__input'\r\n onChange={(e) => onChange(e.target.value)}\r\n value={value}\r\n style={{\r\n backgroundColor: theme.inputBg,\r\n color: theme.newChatFormTexts,\r\n }}\r\n >\r\n <option value='' disabled hidden>\r\n {placeholder}\r\n </option>\r\n {options.map((motivo) => (\r\n <option key={motivo.value} value={motivo.value}>\r\n {motivo.label}\r\n </option>\r\n ))}\r\n </select>\r\n </div>\r\n )\r\n}\r\n\r\nexport default SelectNew\r\n","import React from 'react'\r\nimport useTheme from '../../hooks/useThemes'\r\ninterface IProps {\r\n label: string\r\n onChange: (value: string) => void\r\n name: string\r\n placeholder: string\r\n}\r\n\r\nfunction Textarea ({ name, placeholder, label, onChange }: IProps) {\r\n const { theme } = useTheme()\r\n return (\r\n <div className='text-area'>\r\n <label\r\n htmlFor={name}\r\n className='text-area__label'\r\n style={{ color: theme.newChatFormTexts }}\r\n >\r\n {label}\r\n </label>\r\n <textarea\r\n style={{\r\n backgroundColor: theme.inputBg,\r\n color: theme.newChatFormTexts,\r\n }}\r\n name={name}\r\n placeholder={placeholder}\r\n className='text-area__input'\r\n onChange={(e) => onChange(e.target.value)}\r\n />\r\n </div>\r\n )\r\n}\r\n\r\nexport default Textarea\r\n","import React from 'react'\r\nimport useTheme from '../hooks/useThemes'\r\n\r\nexport default function CloseIcon () {\r\n const { theme } = useTheme()\r\n return (\r\n <svg\r\n width='21'\r\n height='21'\r\n viewBox='0 0 21 21'\r\n fill='none'\r\n xmlns='http://www.w3.org/2000/svg'\r\n >\r\n <path\r\n d='M13.4519 10.9583L20.435 3.9751C20.7664 3.64426 20.9529 3.19532 20.9533 2.72704C20.9537 2.25875 20.7681 1.80949 20.4372 1.47807C20.1064 1.14665 19.6574 0.960225 19.1892 0.959812C18.7209 0.959398 18.2716 1.14503 17.9402 1.47586L10.957 8.45902L3.97388 1.47586C3.64246 1.14444 3.19296 0.958252 2.72426 0.958252C2.25556 0.958252 1.80606 1.14444 1.47464 1.47586C1.14322 1.80728 0.957031 2.25678 0.957031 2.72548C0.957031 3.19418 1.14322 3.64368 1.47464 3.9751L8.4578 10.9583L1.47464 17.9414C1.14322 18.2728 0.957031 18.7223 0.957031 19.191C0.957031 19.6597 1.14322 20.1092 1.47464 20.4406C1.80606 20.7721 2.25556 20.9583 2.72426 20.9583C3.19296 20.9583 3.64246 20.7721 3.97388 20.4406L10.957 13.4575L17.9402 20.4406C18.2716 20.7721 18.7211 20.9583 19.1898 20.9583C19.6585 20.9583 20.108 20.7721 20.4394 20.4406C20.7708 20.1092 20.957 19.6597 20.957 19.191C20.957 18.7223 20.7708 18.2728 20.4394 17.9414L13.4519 10.9583Z'\r\n fill={theme.newChatFormTexts ?? '#476077'}\r\n />\r\n </svg>\r\n )\r\n}\r\n","import React, { FormEvent, useState } from 'react'\r\n\r\nimport InputFile from '../components/InputFile/InputFile'\r\nimport Select from '../components/Select/Select'\r\nimport Textarea from '../components/TextArea/TextArea'\r\nimport useTheme from '../hooks/useThemes'\r\nimport CloseIcon from '../icons/CloseIcon'\r\nimport { IOption } from 'types'\r\nimport { useTranslation } from 'react-i18next'\r\n\r\ninterface IProps {\r\n submitNewChat: (values: FormData) => void\r\n cancelNewChat: () => void\r\n reasons: Array<IOption>\r\n products: Array<IOption>\r\n loading: boolean\r\n maxFileSize: string\r\n loadingResources: boolean\r\n}\r\n\r\nfunction NewChatForm ({\r\n submitNewChat,\r\n cancelNewChat,\r\n reasons,\r\n products,\r\n loading,\r\n maxFileSize,\r\n loadingResources,\r\n}: IProps) {\r\n const [reason, setReason] = useState<string>(reasons?.[0]?.value)\r\n const [product, setProduct] = useState<string>(products?.[0]?.value)\r\n const [message, setMessage] = useState<string>()\r\n const [fileList, setFileList] = useState<File[]>([])\r\n const { t } = useTranslation('newFormChat')\r\n\r\n const { theme } = useTheme()\r\n\r\n const onSubmit = (event: FormEvent) => {\r\n const data2 = new FormData()\r\n event.preventDefault()\r\n\r\n fileList.forEach((file) => {\r\n data2.append(`documents`, file, file.name)\r\n })\r\n\r\n if (reason) data2.append('reason', reason)\r\n if (product) data2.append('product', product)\r\n\r\n if (message) data2.append('message', message)\r\n submitNewChat(data2)\r\n }\r\n\r\n const onUpdateFile = (file: File) => {\r\n setFileList((files) => [...files, file])\r\n }\r\n\r\n const onRemoveFile = (file: File) => {\r\n setFileList(fileList.filter((item: File) => item !== file))\r\n }\r\n\r\n return (\r\n <div\r\n className='messenger__new-chat-form'\r\n style={{\r\n backgroundColor: theme.newChatFormBg,\r\n borderRadius: theme.newChatFormRadius,\r\n }}\r\n >\r\n <div className='messenger__new-chat-form-header'>\r\n <h2 className='messenger__new-chat-form-title'>\r\n <b style={{ color: theme.newChatFormTexts }}>{t('newChat')}</b>\r\n </h2>\r\n\r\n <button\r\n onClick={cancelNewChat}\r\n className='messenger__new-chat-form-close'\r\n >\r\n <CloseIcon />\r\n </button>\r\n </div>\r\n\r\n <h3\r\n className='messenger__disclaimer'\r\n style={{\r\n borderColor: theme.disclaimerPrimaryColor,\r\n color: theme.disclaimerTextColor,\r\n backgroundColor: theme.disclaimerSecondaryColor,\r\n }}\r\n >\r\n {t('description.1')} <b>{t('description.1/2bold')}</b>{' '}\r\n {t('description.2')}\r\n </h3>\r\n\r\n <form onSubmit={onSubmit} className='messenger__new-chat-fields'>\r\n <Select\r\n onChange={(value) => setReason(value)}\r\n options={reasons}\r\n placeholder={t('fields.reasons.placeholder')}\r\n name='reasons'\r\n value={reason}\r\n label={t('fields.reasons.label')}\r\n />\r\n\r\n <Select\r\n onChange={(value) => setProduct(value)}\r\n options={products}\r\n placeholder={t('fields.product.placeholder')}\r\n value={product}\r\n name='product'\r\n label={t('fields.product.label')}\r\n />\r\n\r\n <InputFile\r\n fileList={fileList}\r\n onUpdateFile={onUpdateFile}\r\n onRemoveFile={onRemoveFile}\r\n label={t('fields.document.label')}\r\n maxSize={maxFileSize}\r\n loading={loadingResources}\r\n />\r\n\r\n <Textarea\r\n onChange={(value) => setMessage(value)}\r\n placeholder={t('fields.message.placeholder')}\r\n name='message'\r\n label={t('fields.message.label')}\r\n />\r\n\r\n <button\r\n className={`w-100 ${!loading ? 'messenger__new-chat-form-send' : 'messenger__new-chat-form-send messenger__new-chat-form-send--disabled'}`}\r\n disabled={loading}\r\n type='submit'\r\n style={{\r\n backgroundColor: !loading ? theme.buttonPrimary : '#ccc',\r\n color: theme.buttonPrimaryText,\r\n }}\r\n >\r\n {!loading ? t('buttons.send') : t('buttons.sendingButton')}\r\n </button>\r\n </form>\r\n </div>\r\n )\r\n}\r\n\r\nexport default NewChatForm\r\n","import React from 'react'\r\nimport useTheme from '../hooks/useThemes'\r\n\r\nexport default function AttachFileIcon ({ ...rest }) {\r\n const { theme } = useTheme()\r\n return (\r\n <svg\r\n width='26'\r\n height='28'\r\n viewBox='0 0 26 28'\r\n xmlns='http://www.w3.org/2000/svg'\r\n {...rest}\r\n >\r\n <path\r\n d='M22.5464 2.73571C19.1821 -0.628572 13.7036 -0.628572 10.3429 2.73571L1.02143 12.05C0.960715 12.1107 0.928572 12.1929 0.928572 12.2786C0.928572 12.3643 0.960715 12.4464 1.02143 12.5071L2.33929 13.825C2.39953 13.885 2.48107 13.9186 2.56607 13.9186C2.65108 13.9186 2.73262 13.885 2.79286 13.825L12.1143 4.51071C13.2714 3.35357 14.8107 2.71786 16.4464 2.71786C18.0821 2.71786 19.6214 3.35357 20.775 4.51071C21.9321 5.66786 22.5679 7.20714 22.5679 8.83929C22.5679 10.475 21.9321 12.0107 20.775 13.1679L11.275 22.6643L9.73572 24.2036C8.29643 25.6429 5.95714 25.6429 4.51786 24.2036C3.82143 23.5071 3.43929 22.5821 3.43929 21.5964C3.43929 20.6107 3.82143 19.6857 4.51786 18.9893L13.9429 9.56786C14.1821 9.33214 14.4964 9.2 14.8321 9.2H14.8357C15.1714 9.2 15.4821 9.33214 15.7179 9.56786C15.9571 9.80714 16.0857 10.1214 16.0857 10.4571C16.0857 10.7893 15.9536 11.1036 15.7179 11.3393L8.01429 19.0357C7.95357 19.0964 7.92143 19.1786 7.92143 19.2643C7.92143 19.35 7.95357 19.4321 8.01429 19.4929L9.33214 20.8107C9.39238 20.8707 9.47393 20.9044 9.55893 20.9044C9.64393 20.9044 9.72548 20.8707 9.78572 20.8107L17.4857 13.1107C18.1964 12.4 18.5857 11.4571 18.5857 10.4536C18.5857 9.45 18.1929 8.50357 17.4857 7.79643C16.0179 6.32857 13.6321 6.33214 12.1643 7.79643L11.25 8.71429L2.74286 17.2179C2.16547 17.7919 1.70778 18.4748 1.39634 19.227C1.0849 19.9793 0.925905 20.7858 0.928572 21.6C0.928572 23.2536 1.575 24.8071 2.74286 25.975C3.95357 27.1821 5.53929 27.7857 7.125 27.7857C8.71072 27.7857 10.2964 27.1821 11.5036 25.975L22.5464 14.9393C24.1714 13.3107 25.0714 11.1429 25.0714 8.83929C25.075 6.53214 24.175 4.36429 22.5464 2.73571Z'\r\n fill={theme.uploadFileIconColor}\r\n />\r\n </svg>\r\n )\r\n}\r\n","import React, { ReactNode } from 'react'\r\n\r\ninterface ToolTipProps {\r\n text: string\r\n children: ReactNode\r\n}\r\n\r\nconst ToolTip: React.FC<ToolTipProps> = ({ text, children }) => {\r\n return (\r\n <div className='tooltip'>\r\n {children}\r\n <div className='tooltip__text'>{text}</div>\r\n </div>\r\n )\r\n}\r\n\r\nexport default ToolTip\r\n","import useTheme from '../../hooks/useThemes'\r\nimport React, {\r\n Fragment,\r\n MutableRefObject,\r\n useMemo,\r\n useRef,\r\n useState,\r\n} from 'react'\r\nimport { IList } from 'types'\r\nimport AttachFileIcon from '../../../Messenger/icons/AttachFileIcon'\r\nimport rightArrow from '../../../../assets/right-arrow.svg'\r\nimport { SpinLoading } from '../../views/MessengerMessages'\r\nimport ToolTip from '../Tooltip/Tooltip'\r\nimport { useTranslation } from 'react-i18next'\r\n\r\ninterface IProps {\r\n allowImages: boolean\r\n current?: IList\r\n onSubmit: (value: FormData, callback: () => void) => void\r\n file?: File | null\r\n updateFile: (file: File | null) => void\r\n isLoading?: boolean\r\n maxFileSize: string\r\n}\r\n\r\nfunction AllowDocuments ({\r\n allowImages,\r\n attachFile,\r\n handleFile,\r\n closedChat,\r\n maxFileField,\r\n}: {\r\n allowImages: boolean\r\n attachFile: MutableRefObject<HTMLInputElement | null>\r\n handleFile: (e: React.ChangeEvent<HTMLInputElement>) => void\r\n closedChat: boolean\r\n maxFileField: string\r\n}) {\r\n const { t } = useTranslation('messengerMessages')\r\n\r\n if (allowImages) {\r\n return (\r\n <Fragment>\r\n <input\r\n type='file'\r\n size={1}\r\n className='messenger__messages-send--file'\r\n ref={attachFile}\r\n onChange={handleFile}\r\n accept='.jpg, .jpeg, .png, .pdf, .doc, .docx, .mp4, .csv'\r\n />\r\n\r\n <ToolTip text={t('sendMessageForm.maxFileField', { maxFileField })}>\r\n <AttachFileIcon\r\n className={`messenger__messages-send__attach ${closedChat ? 'messenger__messages-send__attach--disabled' : ''}`}\r\n onClick={() => (!closedChat ? attachFile.current?.click() : null)}\r\n />\r\n </ToolTip>\r\n </Fragment>\r\n )\r\n }\r\n\r\n return <></>\r\n}\r\n\r\nfunction SendMessageForm ({\r\n allowImages,\r\n current,\r\n onSubmit,\r\n file,\r\n updateFile,\r\n isLoading,\r\n maxFileSize,\r\n}: IProps) {\r\n const { t } = useTranslation('messengerMessages')\r\n const [formHeight, setFormHeight] = useState<number>(100)\r\n const [sending, setSending] = useState<boolean>(false)\r\n\r\n const inputRef: MutableRefObject<HTMLTextAreaElement | null> = useRef(null)\r\n const attachFile: MutableRefObject<HTMLInputElement | null> = useRef(null)\r\n\r\n const closedChat = useMemo(\r\n () => current?.status.current.state === 'final',\r\n [current]\r\n )\r\n\r\n const { theme } = useTheme()\r\n\r\n function correctTextAreaHeight (styleConfig: {\r\n height: number\r\n overflow: string\r\n }) {\r\n const textarea = inputRef.current\r\n if (textarea) {\r\n textarea.style.height = `${styleConfig.height}px`\r\n textarea.style.overflowY = styleConfig.overflow\r\n }\r\n }\r\n\r\n function resetHeights () {\r\n const inicialFormHeight = 100\r\n const inicialTextAreaHeight = 50\r\n setFormHeight(inicialFormHeight)\r\n correctTextAreaHeight({ height: inicialTextAreaHeight, overflow: 'hidden' })\r\n }\r\n\r\n function adjustFormHeight (textareaRef: typeof inputRef.current) {\r\n if (textareaRef) {\r\n const initialHeight = 50\r\n const maxHeight = 80\r\n const newHeight = textareaRef.scrollHeight\r\n\r\n if (newHeight > maxHeight) {\r\n correctTextAreaHeight({\r\n height: maxHeight,\r\n overflow: 'auto',\r\n })\r\n return maxHeight + initialHeight\r\n }\r\n\r\n correctTextAreaHeight({\r\n height: initialHeight,\r\n overflow: 'auto',\r\n })\r\n return initialHeight * 2\r\n }\r\n\r\n return formHeight\r\n }\r\n\r\n function handleTextareaChange () {\r\n const textarea = inputRef.current\r\n setFormHeight(adjustFormHeight(textarea))\r\n }\r\n\r\n function handleSubmit (e?: React.FormEvent<HTMLFormElement>) {\r\n e?.preventDefault()\r\n if (sending) return\r\n setSending(true)\r\n\r\n const data = new FormData()\r\n if (file) data.append('file', file)\r\n if (inputRef.current?.value) data.append('message', inputRef.current?.value)\r\n\r\n onSubmit(data, () => {\r\n if (inputRef.current) inputRef.current.value = ''\r\n if (file) updateFile(null)\r\n setSending(false)\r\n resetHeights()\r\n })\r\n }\r\n\r\n function handleFile (e: React.ChangeEvent<HTMLInputElement>) {\r\n if (e.target.files) {\r\n const file = e.target.files[0]\r\n const allowedTypes = [\r\n 'image/png',\r\n 'image/jpeg',\r\n 'application/pdf',\r\n 'application/msword',\r\n 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',\r\n 'text/csv',\r\n 'video/mp4',\r\n ]\r\n const allowedExtensions = [\r\n 'png',\r\n 'jpeg',\r\n 'jpg',\r\n 'pdf',\r\n 'doc',\r\n 'docx',\r\n 'csv',\r\n 'mp4',\r\n ]\r\n const fileType = file?.type\r\n const fileExtension = file?.name.split('.').pop()?.toLowerCase()\r\n const isAllowed = fileType\r\n ? allowedTypes.includes(fileType)\r\n : fileExtension\r\n ? allowedExtensions.includes(fileExtension)\r\n : false\r\n if (isAllowed) {\r\n updateFile(file)\r\n }\r\n }\r\n }\r\n\r\n return (\r\n <form\r\n onSubmit={handleSubmit}\r\n className='messenger__messages-send--form'\r\n style={{\r\n height: `${formHeight}px`,\r\n maxHeight: '150px',\r\n }}\r\n >\r\n <div className='messenger__messages-send__input-container'>\r\n <textarea\r\n onChange={handleTextareaChange}\r\n placeholder={\r\n closedChat\r\n ? t('sendMessageForm.chatEnded')\r\n : t('sendMessageForm.typeMessage')\r\n }\r\n ref={inputRef}\r\n onKeyDown={(e) => {\r\n if (e.key === 'Enter' && !e.shiftKey) {\r\n e.preventDefault()\r\n handleSubmit()\r\n }\r\n }}\r\n className={`messenger__messages-send__input ${closedChat || sending ? 'messenger__messages-send__input--disabled' : ''} `}\r\n disabled={closedChat || sending}\r\n style={{\r\n backgroundColor: theme?.inputBg,\r\n }}\r\n />\r\n\r\n <AllowDocuments\r\n allowImages={allowImages}\r\n handleFile={handleFile}\r\n attachFile={attachFile}\r\n closedChat={closedChat}\r\n maxFileField={maxFileSize}\r\n />\r\n </div>\r\n\r\n {isLoading ? (\r\n <div className='messenger__messages-sending'>\r\n <SpinLoading />\r\n </div>\r\n ) : (\r\n <button\r\n type='submit'\r\n className={`messenger__messages-send__button ${closedChat || sending ? 'messenger__messages-send__button--disabled' : ''}`}\r\n disabled={closedChat || sending}\r\n style={{\r\n backgroundColor: theme?.buttonPrimary,\r\n }}\r\n >\r\n <img\r\n alt={t('sendMessageForm.rightIcon')}\r\n height={25}\r\n width={25}\r\n className='ml-1'\r\n src={rightArrow}\r\n />\r\n </button>\r\n )}\r\n </form>\r\n )\r\n}\r\n\r\nexport default SendMessageForm\r\n","import React, {\r\n Fragment,\r\n useState,\r\n useRef,\r\n MutableRefObject,\r\n useEffect,\r\n} from 'react'\r\nimport ImagesContainer from '../components/ImagesContainer/ImagesContainer'\r\nimport MessageBalloon from '../components/MessageBallon/MessageBalloon'\r\n\r\nimport MessageIcon from '../icons/MessageIcon'\r\n\r\nimport { ICommonProps, IList, IMessages, IOption } from 'types'\r\nimport useTheme from '../hooks/useThemes'\r\n\r\nimport NewChatForm from './NewFormChat'\r\nimport EmptyIcon from '../icons/EmptyIcon'\r\nimport SendMessageForm from '../components/SendMessageForm/SendMessageForm'\r\nimport InfiniteScroll from '../components/InfiniteScroll/InfiniteScroll'\r\nimport { formatFileSize } from '../components/DocMessage/DocMessage'\r\nimport { useTranslation } from 'react-i18next'\r\n\r\ninterface IScrollableContainer {\r\n loading: boolean\r\n onIntersect: () => Promise<void>\r\n hasNext: boolean\r\n}\r\n\r\ntype MessengerView = 'empty' | 'messages' | 'newChat'\r\n\r\ninterface IMessengerMessages extends ICommonProps, IScrollableContainer {\r\n header: React.ReactElement\r\n current?: IList\r\n creatorId?: string\r\n allowImages: boolean\r\n tab?: 'list' | 'messages'\r\n messegerView: MessengerView\r\n className?: string\r\n messages: IMessages[]\r\n onSubmit: (value: FormData, callback: () => void) => Promise<void>\r\n cancelNewChat: () => void\r\n formatDate: (date: string | Date) => string | undefined\r\n reasons: Array<IOption>\r\n products: Array<IOption>\r\n submitNewChat: (values: FormData) => void\r\n newChatLoading: boolean\r\n maxFileSize: () => Promise<{ data: { data: { maxFileSize: number } } }>\r\n}\r\n\r\ninterface IMessengerForm {\r\n children: React.ReactNode\r\n messegerView: MessengerView\r\n reasons: Array<IOption>\r\n products: Array<IOption>\r\n submitNewChat: (values: FormData) => void\r\n cancelNewChat: () => void\r\n newChatLoading: boolean\r\n maxFileSize: string\r\n loadingResources: boolean\r\n}\r\n\r\nfunction MessagesContainerView ({\r\n children,\r\n messegerView,\r\n submitNewChat,\r\n cancelNewChat,\r\n reasons,\r\n products,\r\n newChatLoading,\r\n maxFileSize,\r\n loadingResources,\r\n}: IMessengerForm) {\r\n const { theme } = useTheme()\r\n const { t } = useTranslation('messengerMessages')\r\n\r\n if (messegerView === 'empty') {\r\n return (\r\n <div\r\n className='messenger__messages-container--empty'\r\n style={{ backgroundColor: theme?.messengerNotSelectedBg }}\r\n >\r\n <MessageIcon width='72' height='72' />\r\n <p>{t('selectConversation')}</p>\r\n </div>\r\n )\r\n }\r\n\r\n if (messegerView === 'newChat') {\r\n return (\r\n <NewChatForm\r\n reasons={reasons}\r\n products={products}\r\n submitNewChat={submitNewChat}\r\n cancelNewChat={cancelNewChat}\r\n loading={newChatLoading}\r\n maxFileSize={maxFileSize}\r\n loadingResources={loadingResources}\r\n />\r\n )\r\n }\r\n\r\n return <>{children}</>\r\n}\r\n\r\nexport function SpinLoading () {\r\n return (\r\n <div className='messenger__messages-loading'>\r\n <div className='messenger__messages-loading--loader' />\r\n </div>\r\n )\r\n}\r\n\r\nfunction Messages ({\r\n messages,\r\n creatorId,\r\n formatDate,\r\n loading,\r\n}: {\r\n messages: IMessages[]\r\n creatorId?: string\r\n formatDate: (date: string | Date) => string | undefined\r\n loading: boolean\r\n}) {\r\n const { theme } = useTheme()\r\n const { t } = useTranslation('messengerMessages')\r\n\r\n if (!messages || (messages.length === 0 && !loading)) {\r\n return (\r\n <div\r\n className='messenger__message-empty'\r\n style={{ color: theme.emptyMessagesFontColor }}\r\n >\r\n <EmptyIcon />\r\n <p>{t('noMessagesFound')}</p>\r\n </div>\r\n )\r\n }\r\n\r\n return (\r\n <>\r\n {messages.map((item, idx) => {\r\n return (\r\n <Fragment key={`${item.ticketId}_${item.senderId}_${idx}`}>\r\n <MessageBalloon\r\n id={`message_${idx}`}\r\n formatDate={formatDate}\r\n creatorId={creatorId}\r\n item={item}\r\n />\r\n </Fragment>\r\n )\r\n })}\r\n </>\r\n )\r\n}\r\n\r\nconst onScrollToBottom = (\r\n scrollContainer: MutableRefObject<HTMLDivElement | null>\r\n) => {\r\n if (scrollContainer.current) {\r\n scrollContainer.current.scrollTop = Number.MAX_SAFE_INTEGER\r\n }\r\n}\r\n\r\nfunction MessagesContainer ({\r\n children,\r\n fowardRef,\r\n ...rest\r\n}: {\r\n children: React.ReactNode\r\n fowardRef: MutableRefObject<HTMLDivElement | null>\r\n} & React.DetailedHTMLProps<\r\n React.HTMLAttributes<HTMLDivElement>,\r\n HTMLDivElement\r\n>) {\r\n const { theme } = useTheme()\r\n\r\n return (\r\n <div\r\n {...rest}\r\n ref={fowardRef}\r\n className='messenger__messages-container'\r\n style={{\r\n padding: '1rem',\r\n backgroundColor: theme?.messengerMessagesBg,\r\n border: `1px solid ${theme.borderColor}`,\r\n }}\r\n >\r\n {children}\r\n </div>\r\n )\r\n}\r\n\r\nfunction ScrollableContainer ({\r\n children,\r\n loading,\r\n onIntersect,\r\n hasNext,\r\n scrollContainerFowardRef,\r\n}: {\r\n children: React.ReactNode\r\n scrollContainerFowardRef: MutableRefObject<HTMLDivElement | null>\r\n} & IScrollableContainer) {\r\n const intersetRootMargin = 300\r\n\r\n const getElementScrollHeight = (divRef: HTMLDivElement | null) => {\r\n if (!divRef) return null\r\n return divRef.scrollHeight\r\n }\r\n\r\n const getElementScrollTop = (divRef: HTMLDivElement | null) => {\r\n if (!divRef) return null\r\n return divRef.scrollTop\r\n }\r\n\r\n const calculateScrollToDecrease = (\r\n elementBeforeIntersetHeight: number,\r\n elementAfterIntersectHeight: number,\r\n intersetRootMargin: number\r\n ) => {\r\n return (\r\n Math.abs(elementAfterIntersectHeight - elementBeforeIntersetHeight) +\r\n intersetRootMargin\r\n )\r\n }\r\n\r\n const isNill = (value: number | null | undefined) => {\r\n return value === null && value === undefined\r\n }\r\n\r\n const onFetchInfiniteScroll = async () => {\r\n const elementBeforeIntersetHeight = getElementScrollHeight(\r\n scrollContainerFowardRef.current\r\n )\r\n\r\n await onIntersect()\r\n\r\n const elementAfterIntersectHeight = getElementScrollHeight(\r\n scrollContainerFowardRef.current\r\n )\r\n\r\n if (\r\n scrollContainerFowardRef.current &&\r\n !isNill(elementBeforeIntersetHeight) &&\r\n !isNill(elementAfterIntersectHeight)\r\n ) {\r\n const currentScrollTop =\r\n getElementScrollTop(scrollContainerFowardRef.current) || 0\r\n scrollContainerFowardRef.current.scrollTop = calculateScrollToDecrease(\r\n elementAfterIntersectHeight as number,\r\n elementBeforeIntersetHeight as number,\r\n currentScrollTop\r\n )\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n onScrollToBottom(scrollContainerFowardRef)\r\n }, [])\r\n\r\n return (\r\n <MessagesContainer fowardRef={scrollContainerFowardRef}>\r\n <InfiniteScroll\r\n root={document.querySelector('.messenger__messages-container')}\r\n loading={loading}\r\n loadingCover={<SpinLoading />}\r\n more={hasNext}\r\n fetch={onFetchInfiniteScroll}\r\n rootMargin={intersetRootMargin}\r\n reverse\r\n >\r\n {children}\r\n </InfiniteScroll>\r\n </MessagesContainer>\r\n )\r\n}\r\n\r\nfunction MessengerMessages ({\r\n header,\r\n tab,\r\n className = '',\r\n current,\r\n messages,\r\n allowImages,\r\n creatorId,\r\n loading,\r\n onSubmit,\r\n submitNewChat,\r\n cancelNewChat,\r\n reasons,\r\n products,\r\n messegerView,\r\n formatDate,\r\n hasNext,\r\n onIntersect,\r\n newChatLoading,\r\n maxFileSize,\r\n}: IMessengerMessages) {\r\n const { t } = useTranslation('messengerMessages')\r\n const [file, setFile] = useState<File | null>()\r\n const scrollContainerRef = useRef<HTMLDivElement | null>(null)\r\n const [isSending, setIsSending] = useState(false)\r\n const [maxSize, setMaxSize] = useState<string>('')\r\n\r\n const { theme } = useTheme()\r\n\r\n const styleClassnames = {\r\n mobile: tab === 'list' ? 'messenger__mobile-hide' : '',\r\n }\r\n\r\n const updateFile = (file: File | null) => {\r\n setFile(file)\r\n }\r\n\r\n const onSubmitNewMessage = async (\r\n message: FormData,\r\n callback: () => void\r\n ) => {\r\n setIsSending(true)\r\n try {\r\n await onSubmit(message, callback)\r\n onScrollToBottom(scrollContainerRef)\r\n } finally {\r\n setIsSending(false)\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n const fetchMaxFileSize = async () => {\r\n try {\r\n const response = await maxFileSize()\r\n const size = formatFileSize(response.data.data.maxFileSize)\r\n setMaxSize(size)\r\n } catch (error) {\r\n console.error(t('errorSearchingMaxFileSize'), error)\r\n }\r\n }\r\n\r\n fetchMaxFileSize()\r\n }, [maxSize])\r\n\r\n return (\r\n <div\r\n className={`messenger__messages ${className} ${styleClassnames.mobile} `}\r\n >\r\n <MessagesContainerView\r\n newChatLoading={newChatLoading}\r\n reasons={reasons}\r\n products={products}\r\n submitNewChat={submitNewChat}\r\n cancelNewChat={cancelNewChat}\r\n messegerView={messegerView}\r\n maxFileSize={maxSize}\r\n loadingResources={loading}\r\n >\r\n {file ? (\r\n <ImagesContainer file={file} onClose={() => setFile(null)} />\r\n ) : (\r\n <>\r\n <div\r\n className='messenger__messages-header'\r\n style={{\r\n backgroundColor: theme?.headerAndSenderBg,\r\n border: `1px solid ${theme.borderColor}`,\r\n }}\r\n >\r\n {React.cloneElement(header)}\r\n </div>\r\n\r\n {loading && !messages.length ? (\r\n <MessagesContainer fowardRef={scrollContainerRef}>\r\n <SpinLoading />\r\n </MessagesContainer>\r\n ) : (\r\n <ScrollableContainer\r\n scrollContainerFowardRef={scrollContainerRef}\r\n loading={loading}\r\n hasNext={hasNext}\r\n onIntersect={onIntersect}\r\n >\r\n <Messages\r\n formatDate={formatDate}\r\n messages={messages}\r\n creatorId={creatorId}\r\n loading={loading}\r\n />\r\n </ScrollableContainer>\r\n )}\r\n </>\r\n )}\r\n\r\n <div\r\n className='messenger__messages-send'\r\n style={{\r\n backgroundColor: theme?.headerAndSenderBg,\r\n border: `1px solid ${theme.borderColor}`,\r\n }}\r\n >\r\n <SendMessageForm\r\n allowImages={allowImages}\r\n onSubmit={onSubmitNewMessage}\r\n file={file}\r\n updateFile={updateFile}\r\n current={current}\r\n isLoading={isSending}\r\n maxFileSize={maxSize}\r\n />\r\n </div>\r\n </MessagesContainerView>\r\n </div>\r\n )\r\n}\r\n\r\nexport default MessengerMessages\r\n","import { useState } from 'react'\r\nimport { IList } from 'types'\r\n\r\ntype _viewDesktop = 'empty' | 'messages' | 'newChat'\r\ntype _viewMobile = 'list' | 'messages'\r\n\r\nexport const useConversations = () => {\r\n const SLICE = 15\r\n const [sliceCount, setSliceCount] = useState(SLICE)\r\n const [conversations, setConversations] = useState<IList[]>([])\r\n const [currentChat, setCurrentChat] = useState<IList>()\r\n const [viewDesktop, setViewDesktop] = useState<_viewDesktop>('empty')\r\n const [viewMobile, setViewMobile] = useState<'list' | 'messages'>('list')\r\n\r\n const changeViewDesktop = (view: _viewDesktop) => {\r\n setViewDesktop(view)\r\n }\r\n\r\n const changeViewMobile = (view: _viewMobile) => {\r\n setViewMobile(view)\r\n }\r\n\r\n const selectChat = (chat: IList) => {\r\n setCurrentChat(chat)\r\n }\r\n\r\n const onIntersect = () => {\r\n setSliceCount((prev) => {\r\n const count = prev + SLICE\r\n return count\r\n })\r\n }\r\n\r\n const hasNext = () => {\r\n return conversations.length >= sliceCount\r\n }\r\n\r\n const resetConversations = () => {\r\n setConversations([])\r\n }\r\n\r\n const mapConversationsUnread = (prev: IList[]) => (id: string) => {\r\n return (prev || []).map((conversation) => {\r\n if (conversation?._id === id) {\r\n return {\r\n ...conversation,\r\n totalUnreadMessages: 0,\r\n }\r\n }\r\n\r\n return conversation\r\n })\r\n }\r\n\r\n const reorderConversations = (conversations: IList[], ticketId?: string) => {\r\n const index = conversations.findIndex(\r\n (conversation) => conversation._id === ticketId\r\n )\r\n if (index !== -1) {\r\n const conversationToMove = conversations.splice(index, 1)[0]\r\n conversations.unshift(conversationToMove)\r\n }\r\n }\r\n\r\n const mapConversationsIncrementUnread =\r\n (prev: IList[], ticketId?: string) => (id: string) => {\r\n const updatedConversations = (prev || []).map((conversation) => {\r\n if (conversation._id === id) {\r\n return {\r\n ...conversation,\r\n totalUnreadMessages:\r\n ticketId === id ? 0 : conversation.totalUnreadMessages + 1,\r\n }\r\n }\r\n return conversation\r\n })\r\n\r\n reorderConversations(updatedConversations, ticketId)\r\n\r\n return updatedConversations\r\n }\r\n\r\n const setAsRead = (id: string) => {\r\n setConversations((prev) => mapConversationsUnread(prev)(id))\r\n }\r\n\r\n const addConversations = (\r\n conversations: IList[],\r\n goToNewConversation?: (chat: IList) => void\r\n ) => {\r\n setConversations(conversations)\r\n\r\n if (goToNewConversation) goToNewConversation(conversations[0])\r\n }\r\n\r\n const addOneUnreadToTicket = (ticketId: string, currentChat?: string) => {\r\n setConversations((prev) => {\r\n return mapConversationsIncrementUnread(prev, currentChat)(ticketId)\r\n })\r\n }\r\n\r\n const removeClosedConversation = (ticketId: string) => {\r\n const filtred = conversations.filter(\r\n (conversation) => conversation._id !== ticketId\r\n )\r\n addConversations(filtred)\r\n }\r\n\r\n const closeIfIsCurrent = (ticketId: string) => {\r\n if (ticketId === currentChat?._id) {\r\n changeViewDesktop('empty')\r\n changeViewMobile('list')\r\n }\r\n }\r\n\r\n const onCloseChat = (ticketId: string) => {\r\n removeClosedConversation(ticketId)\r\n closeIfIsCurrent(ticketId)\r\n }\r\n\r\n const reset = () => {\r\n setSliceCount(SLICE)\r\n resetConversations()\r\n }\r\n\r\n return {\r\n onIntersect,\r\n reset,\r\n conversations,\r\n hasNext,\r\n addConversations,\r\n addOneUnreadToTicket,\r\n setAsRead,\r\n sliceCount,\r\n currentChat,\r\n selectChat,\r\n onCloseChat,\r\n changeViewDesktop,\r\n viewDesktop,\r\n changeViewMobile,\r\n viewMobile,\r\n }\r\n}\r\n","import { useState } from 'react'\r\nimport { IMessages, ISocketMessage } from 'types'\r\n\r\nexport const useMessages = () => {\r\n const [messages, setMessages] = useState<IMessages[]>([])\r\n const [totalMessages, setTotalMessages] = useState<number>(0)\r\n\r\n const addMessages = (messages: IMessages[]) => {\r\n setMessages(messages)\r\n }\r\n const addTotalMessages = (total: number) => {\r\n setTotalMessages(total)\r\n }\r\n\r\n const incrementMessages = (ticket: ISocketMessage, currentChatId: string) => {\r\n const existentMessage = messages.find(\r\n (item) => item.messagecode === ticket.message.messagecode\r\n )\r\n if (ticket.message.ticketId === currentChatId && !existentMessage) {\r\n addMessages([...messages, ticket.message])\r\n }\r\n }\r\n\r\n const updateMesssagesAsRead = (\r\n ticket: ISocketMessage,\r\n currentChatId: string\r\n ) => {\r\n if (ticket.markAsRead || currentChatId === ticket?.message?.ticketId) {\r\n const readMessages = messages.map((message) => ({\r\n ...message,\r\n everybodyHasRead: true,\r\n }))\r\n addMessages(readMessages)\r\n }\r\n }\r\n\r\n const hasOlderMessages = () => {\r\n return messages.length > 9 && messages.length < totalMessages\r\n }\r\n\r\n return {\r\n addMessages,\r\n messages,\r\n incrementMessages,\r\n updateMesssagesAsRead,\r\n addTotalMessages,\r\n hasOlderMessages,\r\n }\r\n}\r\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_i18next__[\"default\"] });","import i18next from 'i18next'\r\nimport { initReactI18next } from 'react-i18next'\r\n\r\nimport pt from './locales/pt.json'\r\nimport en from './locales/en.json'\r\n\r\nconst resources = makeResources()\r\nfunction makeResources () {\r\n return {\r\n en: {\r\n newFormChat: en.newFormChat,\r\n messengerMessages: en.messengerMessages,\r\n messengerList: en.messengerList,\r\n },\r\n pt: {\r\n newFormChat: pt.newFormChat,\r\n messengerMessages: pt.messengerMessages,\r\n messengerList: pt.messengerList,\r\n },\r\n }\r\n}\r\n\r\n// Instância isolada -> Para não conflitar com a instância global do i18next usada no uxVision ou outros apps.\r\nconst chatI18n = i18next.createInstance()\r\n\r\nchatI18n.use(initReactI18next).init({\r\n resources,\r\n lng: 'pt',\r\n fallbackLng: 'pt',\r\n interpolation: {\r\n escapeValue: false,\r\n },\r\n})\r\n\r\nexport default chatI18n\r\n\r\nexport function setLanguage (lang: string) {\r\n chatI18n.changeLanguage(lang)\r\n}\r\n","import React, { ReactNode, useEffect } from 'react'\r\nimport { I18nextProvider } from 'react-i18next'\r\nimport defaultI18n from '../i18n'\r\n\r\ninterface ChatProviderProps {\r\n children: ReactNode\r\n locale?: string\r\n}\r\n\r\nfunction ChatProvider ({ children, locale }: ChatProviderProps) {\r\n useEffect(() => {\r\n if (locale) {\r\n defaultI18n.changeLanguage(locale)\r\n }\r\n }, [locale])\r\n\r\n return <I18nextProvider i18n={defaultI18n}>{children}</I18nextProvider>\r\n}\r\n\r\nexport default ChatProvider\r\n"],"names":["___CSS_LOADER_EXPORT___","push","module","id","exports","cssWithMappingToString","list","toString","this","map","item","content","needLayer","concat","length","join","i","modules","media","dedupe","supports","layer","undefined","alreadyImportedModules","k","_k","cssMapping","btoa","base64","unescape","encodeURIComponent","JSON","stringify","data","sourceMapping","e","o","default","a","s","name","weekdays","split","weekdaysShort","weekdaysMin","months","monthsShort","ordinal","formats","LT","LTS","L","LL","LLL","LLLL","relativeTime","future","past","m","mm","h","hh","d","dd","M","MM","y","yy","locale","t","prototype","isToday","format","year","month","day","hour","minute","second","n","r","Date","timeZoneName","Intl","DateTimeFormat","hour12","timeZone","formatToParts","u","f","type","value","c","parseInt","l","v","utc","valueOf","tz","utcOffset","toDate","toLocaleString","Math","round","$set","$ms","getTimezoneOffset","add","$x","$timezone","offsetName","guess","find","toLowerCase","startOf","call","min","max","resolvedOptions","setDefault","date","args","arguments","$L","local","parse","$u","$utils","$offset","init","$d","$y","getUTCFullYear","$M","getUTCMonth","$D","getUTCDate","$W","getUTCDay","$H","getUTCHours","$m","getUTCMinutes","$s","getUTCSeconds","getUTCMilliseconds","match","abs","$localOffset","isUTC","toISOString","toUTCString","diff","stylesInDOM","getIndexByIdentifier","identifier","result","modulesToDom","options","idCountMap","identifiers","base","count","indexByIdentifier","obj","css","sourceMap","references","updater","addElementStyle","byIndex","splice","api","domAPI","update","newObj","remove","lastIdentifiers","newList","index","newLastIdentifiers","_i","_index","memo","insert","style","target","styleTarget","document","querySelector","window","HTMLIFrameElement","contentDocument","head","getTarget","Error","appendChild","element","createElement","setAttributes","attributes","styleElement","nonce","setAttribute","insertStyleElement","styleTagTransform","apply","parentNode","removeChild","removeStyleElement","styleSheet","cssText","firstChild","createTextNode","__WEBPACK_EXTERNAL_MODULE_dayjs__","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","__esModule","definition","key","Object","defineProperty","enumerable","get","prop","hasOwnProperty","nc","x","__WEBPACK_EXTERNAL_MODULE_react__","Fragment","createContext","useCallback","useContext","useEffect","useMemo","useRef","useState","defaultThemeVariables","asideBg","asideFontColor","messengerMessagesBg","headerAndSenderBg","buttonPrimary","buttonPrimaryText","buttonsDisabled","uploadFileIconColor","messengerNotSelectedBg","newChatFormBg","newChatFormRadius","newChatFormTexts","newChatFormDeleteFileButton","disclaimerPrimaryColor","disclaimerSecondaryColor","disclaimerTextColor","messengerSenderColor","messengerIncomerColor","messengerSystemColor","borderColor","inputBg","chatInputBorder","listItemHover","active","activeTabBorter","emptyMessagesFontColor","documentMessagesTextColor","MessageThemeContext","children","theme","config","Provider","context","serverTz","timeAsDayjs","server","applyTimezone","timezone","seconds","holidays","isWorkingDay","dayOfWeek","isWorkingHour","isWeekendOrHoliday","weekDay","includes","formatedDate","isHoliday","canUpdateClock","isWorking","getDiffInSeconds","startDate","endDate","calculateWorkingTime","workingHours","current","clone","workingTime","isBefore","startOfDay","start","endOfDay","end","isAfter","getDifferenceInSeconds","secondsInHours","currentSeconds","hours","floor","minutes","padStart","getColorsByTime","__WEBPACK_EXTERNAL_MODULE_react_i18next_31085753__","I18nextProvider","initReactI18next","useTranslation","image","className","background","loading","alt","src","TimerIcon","color","width","height","viewBox","fill","xmlns","activeItem","defaultClass","activeClass","querySelectorAll","forEach","classList","currentTarget","unread","onClick","canSeeDetailsChat","currentId","currentViewerId","totalUnreadMessages","unreadMessages","setUnreadMessages","closedChat","status","state","setBackground","counter","setCounter","isInprogress","systemicValue","otherChatMember","users","uniqueCode","creator","interval","sla","SlaDates","currentTime","createdAt","diference","setInterval","prev","SLATimePassed","clearInterval","handleClick","onMouseOver","onMouseLeave","backgroundColor","_id","username","slice","reason","protocol","handleChangeTickets","chatListTabs","tab","label","chatButtons","removeActiveItem","button","canSee","disabled","event","border","SearchIcon","searchChat","searchKeys","loadingSearch","searchKey","setSearchKey","searchValue","setSearchValue","onChange","placeholder","onKeyDown","borderLeft","EmptyIcon","intersectDivStyle","visibility","loadingCover","more","fetch","root","reverse","rootMargin","infiniteElement","setInfiniteElement","currentElement","observer","IntersectionObserver","entries","isIntersecting","threshold","observe","unobserve","ref","ListLoading","Array","_","idx","borderBottom","affix","conversations","failed","showBadge","messegerView","helpDesk","hasNext","onIntersect","sliceCount","borderRadius","ChatButton","isArray","__assign","assign","p","__rest","indexOf","getOwnPropertySymbols","propertyIsEnumerable","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","step","next","rejected","done","then","__generator","body","g","sent","trys","ops","verb","Symbol","iterator","op","TypeError","pop","create","__spreadArray","to","from","pack","ar","props","xmlnsXlink","x1","x2","y1","y2","gradientUnits","offset","stopColor","xlinkHref","rx","textAnchor","fontSize","fontWeight","fileType","b64","file","onClose","fileInfo","setFileInfo","setB64","reader","FileReader","readAsDataURL","onload","onerror","error","getBase64","insertAt","getElementsByTagName","insertBefore","styleInject","ReactSimpleImageViewer","_a","currentIndex","setCurrentIndex","changeImage","delta","nextIndex","closeOnClickOutside","checkId","checkClass","contains","stopPropagation","handleKeyDown","handleWheel","wheelDeltaY","addEventListener","disableScroll","removeEventListener","backgroundStyle","closeComponent","leftArrowComponent","rightArrowComponent","formatFileSize","size","toFixed","location","toUpperCase","fileName","originalname","filePages","pages","fileSize","mimetype","href","rel","MessageImage","rest","MessageWithFile","message","openImageViewer","formatDate","currentImage","isImage","read","user","hasFile","isSystemMessage","setCurrentImage","isViewerOpen","setIsViewerOpen","avatar","ReadIcon","isDoc","creatorId","senderId","sender","everybodyHasRead","images","clipPath","TrashIcon","fileList","onUpdateFile","onRemoveFile","maxSize","validateFileType","allowedTypes","extension","htmlFor","hidden","accept","files","console","input","click","some","motivo","CloseIcon","submitNewChat","cancelNewChat","reasons","products","maxFileSize","loadingResources","setReason","product","setProduct","setMessage","setFileList","onSubmit","data2","FormData","preventDefault","append","Select","filter","AttachFileIcon","text","AllowDocuments","allowImages","attachFile","handleFile","maxFileField","updateFile","isLoading","formHeight","setFormHeight","sending","setSending","inputRef","correctTextAreaHeight","styleConfig","textarea","overflowY","overflow","handleSubmit","maxHeight","textareaRef","scrollHeight","initialHeight","adjustFormHeight","shiftKey","fileExtension","SpinLoading","MessagesContainerView","newChatLoading","Messages","messages","ticketId","onScrollToBottom","scrollContainer","scrollTop","Number","MAX_SAFE_INTEGER","MessagesContainer","fowardRef","padding","ScrollableContainer","scrollContainerFowardRef","getElementScrollHeight","divRef","isNill","elementBeforeIntersetHeight","elementAfterIntersectHeight","currentScrollTop","intersetRootMargin","calculateScrollToDecrease","header","setFile","scrollContainerRef","isSending","setIsSending","setMaxSize","styleClassnames","mobile","response","callback","useConversations","setSliceCount","setConversations","currentChat","setCurrentChat","viewDesktop","setViewDesktop","viewMobile","setViewMobile","changeViewDesktop","view","changeViewMobile","addConversations","goToNewConversation","reset","addOneUnreadToTicket","updatedConversations","conversation","findIndex","conversationToMove","unshift","reorderConversations","mapConversationsIncrementUnread","setAsRead","mapConversationsUnread","selectChat","chat","onCloseChat","filtred","removeClosedConversation","closeIfIsCurrent","useMessages","setMessages","totalMessages","setTotalMessages","addMessages","incrementMessages","ticket","currentChatId","existentMessage","messagecode","updateMesssagesAsRead","markAsRead","readMessages","addTotalMessages","total","hasOlderMessages","__WEBPACK_EXTERNAL_MODULE_i18next__","resources","en","newFormChat","messengerMessages","messengerList","pt","chatI18n","use","lng","fallbackLng","interpolation","escapeValue","setLanguage","lang","changeLanguage","i18n"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"agx-chat.esm.js","mappings":"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","sources":["webpack://agx-chat-web/./src/styles/index.less","webpack://agx-chat-web/./node_modules/css-loader/dist/runtime/api.js","webpack://agx-chat-web/./node_modules/css-loader/dist/runtime/sourceMaps.js","webpack://agx-chat-web/./node_modules/dayjs/locale/pt-br.js","webpack://agx-chat-web/./node_modules/dayjs/plugin/isToday.js","webpack://agx-chat-web/./node_modules/dayjs/plugin/timezone.js","webpack://agx-chat-web/./node_modules/dayjs/plugin/utc.js","webpack://agx-chat-web/./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js","webpack://agx-chat-web/./node_modules/style-loader/dist/runtime/insertBySelector.js","webpack://agx-chat-web/./node_modules/style-loader/dist/runtime/insertStyleElement.js","webpack://agx-chat-web/./node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js","webpack://agx-chat-web/./node_modules/style-loader/dist/runtime/styleDomAPI.js","webpack://agx-chat-web/./node_modules/style-loader/dist/runtime/styleTagTransform.js","webpack://agx-chat-web/./src/assets/right-arrow.svg","webpack://agx-chat-web/external module \"dayjs\"","webpack://agx-chat-web/webpack/bootstrap","webpack://agx-chat-web/webpack/runtime/compat get default export","webpack://agx-chat-web/webpack/runtime/define property getters","webpack://agx-chat-web/webpack/runtime/hasOwnProperty shorthand","webpack://agx-chat-web/webpack/runtime/nonce","webpack://agx-chat-web/./src/styles/index.less?e247","webpack://agx-chat-web/external module \"react\"","webpack://agx-chat-web/./src/app/Messenger/components/MessengerThemeWrapper/MessengerThemeWrapper.tsx","webpack://agx-chat-web/./src/app/Messenger/hooks/useThemes.tsx","webpack://agx-chat-web/./src/app/Messenger/classes/slaCalculations.ts","webpack://agx-chat-web/external module \"react-i18next\"","webpack://agx-chat-web/./src/app/Messenger/components/MessengerAvatar/MessengerAvatar.tsx","webpack://agx-chat-web/./src/app/Messenger/icons/TimerIcon.tsx","webpack://agx-chat-web/./src/app/Messenger/views/MessengerListItem.tsx","webpack://agx-chat-web/./src/app/Messenger/components/ChatTabs/ChatTabs.tsx","webpack://agx-chat-web/./src/app/Messenger/components/ChatButton/ChatButton.tsx","webpack://agx-chat-web/./src/app/Messenger/icons/SearchIcon.tsx","webpack://agx-chat-web/./src/app/Messenger/components/SearchInput/SearchInput.tsx","webpack://agx-chat-web/./src/app/Messenger/icons/EmptyIcon.tsx","webpack://agx-chat-web/./src/app/Messenger/components/InfiniteScroll/InfiniteScroll.tsx","webpack://agx-chat-web/./src/app/Messenger/views/MessengerList.tsx","webpack://agx-chat-web/./node_modules/tslib/tslib.es6.js","webpack://agx-chat-web/./src/app/Messenger/icons/DOCFileIcon.tsx","webpack://agx-chat-web/./src/app/Messenger/icons/PDFFileIcon.tsx","webpack://agx-chat-web/./src/app/Messenger/icons/CSVFileIcon.tsx","webpack://agx-chat-web/./src/app/Messenger/icons/MP4FileIcon.tsx","webpack://agx-chat-web/./src/app/Messenger/components/RenderFileIcon/RenderFileIcon.tsx","webpack://agx-chat-web/./src/app/Messenger/components/ImagesContainer/ImagesContainer.tsx","webpack://agx-chat-web/./node_modules/react-simple-image-viewer/dist/index.esm.js","webpack://agx-chat-web/./src/app/Messenger/icons/DownloadMinimalistIcon.tsx","webpack://agx-chat-web/./src/app/Messenger/components/DocMessage/DocMessage.tsx","webpack://agx-chat-web/./src/app/Messenger/components/IncomingMessage/IncomingMessage.tsx","webpack://agx-chat-web/./src/app/Messenger/icons/ReadIcon.tsx","webpack://agx-chat-web/./src/app/Messenger/components/SenderMessages/SenderMessages.tsx","webpack://agx-chat-web/./src/app/Messenger/components/SystemMessage/SystemMessage.tsx","webpack://agx-chat-web/./src/app/Messenger/components/MessageBallon/MessageBalloon.tsx","webpack://agx-chat-web/./src/app/Messenger/icons/MessageIcon.tsx","webpack://agx-chat-web/./src/app/Messenger/icons/TrashIcon.tsx","webpack://agx-chat-web/./src/app/Messenger/components/InputFile/InputFile.tsx","webpack://agx-chat-web/./src/app/Messenger/components/Select/Select.tsx","webpack://agx-chat-web/./src/app/Messenger/components/TextArea/TextArea.tsx","webpack://agx-chat-web/./src/app/Messenger/icons/CloseIcon.tsx","webpack://agx-chat-web/./src/app/Messenger/views/NewFormChat.tsx","webpack://agx-chat-web/./src/app/Messenger/icons/AttachFileIcon.tsx","webpack://agx-chat-web/./src/app/Messenger/components/Tooltip/Tooltip.tsx","webpack://agx-chat-web/./src/app/Messenger/components/SendMessageForm/SendMessageForm.tsx","webpack://agx-chat-web/./src/app/Messenger/views/MessengerMessages.tsx","webpack://agx-chat-web/./src/app/Messenger/hooks/useConversations.tsx","webpack://agx-chat-web/./src/app/Messenger/hooks/useMessages.tsx","webpack://agx-chat-web/external module \"i18next\"","webpack://agx-chat-web/./src/app/i18n/index.ts","webpack://agx-chat-web/./src/app/ChatProvider/ChatProvider.tsx"],"sourcesContent":["// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".images-container {\\n width: 100%;\\n height: 90%;\\n border: 2px solid #484c52;\\n background-color: #232831;\\n border-bottom: none;\\n border-radius: 0 20px 0 0;\\n}\\n@media only screen and (max-width: 768px) {\\n .images-container {\\n border-radius: 20px 20px 0 0 !important;\\n }\\n}\\n.images-container__close {\\n width: 100%;\\n position: relative;\\n margin-top: 15px;\\n display: flex;\\n justify-content: flex-end;\\n align-items: center;\\n}\\n.images-container__close--icon {\\n width: 32px;\\n height: 32px;\\n cursor: pointer;\\n background-color: transparent;\\n outline: none;\\n border: none;\\n}\\n.images-container__close--icon:hover {\\n opacity: 75%;\\n transition: 200ms;\\n}\\n.images-container__close--icon::before,\\n.images-container__close--icon::after {\\n position: absolute;\\n right: 25px;\\n top: 0;\\n content: ' ';\\n height: 33px;\\n width: 2px;\\n background-color: red;\\n}\\n.images-container__close--icon:after {\\n transform: rotate(45deg);\\n}\\n.images-container__close--icon:before {\\n transform: rotate(-45deg);\\n}\\n.images-container__container {\\n width: 100%;\\n height: 100%;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n color: #476077;\\n}\\n.images-container__image {\\n display: flex;\\n flex-direction: column;\\n align-items: center;\\n width: 100%;\\n padding: 0 10px;\\n max-width: 700px;\\n max-height: 300px;\\n}\\n.images-container__title-img {\\n width: 100%;\\n text-align: center;\\n word-wrap: break-word;\\n}\\n.form-select {\\n margin-bottom: 1rem;\\n width: 100%;\\n}\\n.form-select__label {\\n color: #476077;\\n font-weight: bold;\\n margin: 0.5rem;\\n}\\n.form-select__input {\\n border: 1.5px solid hsl(0, 0%, 80%);\\n border-radius: 4px;\\n margin-top: 0.5rem;\\n padding: 8px 8px;\\n width: 100%;\\n}\\n.form-select__input:focus {\\n outline: #2684ff 2px solid !important;\\n}\\n.text-area {\\n margin-bottom: 1rem;\\n width: 100%;\\n}\\n.text-area__label {\\n color: #476077;\\n font-weight: bold;\\n margin: 0.5rem;\\n}\\n.text-area__input {\\n border: 1.5px solid hsl(0, 0%, 80%);\\n border-radius: 4px;\\n margin-top: 0.5rem;\\n padding: 4px 8px;\\n width: 100%;\\n}\\n.text-area__input:focus {\\n outline: #2684ff 2px solid !important;\\n}\\n.file-input {\\n margin-bottom: 1rem;\\n width: 100%;\\n}\\n.file-input__label {\\n color: #476077;\\n font-weight: bold;\\n margin: 0.5rem;\\n}\\n.file-input__container {\\n align-items: center;\\n background-color: var(--secondary-color);\\n border-radius: 10px;\\n display: flex;\\n flex-direction: column;\\n justify-content: center;\\n margin-top: 0.5rem;\\n padding: 1rem;\\n width: 100%;\\n}\\n.file-input__button {\\n border: none;\\n border-radius: 30px;\\n color: var(--secondary-color);\\n cursor: pointer;\\n font-size: 1rem;\\n font-weight: bold;\\n margin: 0.5rem 1rem;\\n padding: 0.5rem;\\n}\\n.file-input__list {\\n align-items: center;\\n background-color: var(--secondary-color);\\n border-radius: 10px;\\n display: flex;\\n justify-content: space-between;\\n margin: 0.5rem 0;\\n padding: 0.5rem;\\n}\\n.file-input__list--file-name {\\n overflow: hidden;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n max-width: 100%;\\n}\\n.file-input__delete {\\n align-items: center;\\n background: transparent;\\n border: none;\\n cursor: pointer;\\n display: flex;\\n justify-content: center;\\n}\\n.input-search {\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n width: 100%;\\n margin: 1rem 0;\\n position: relative;\\n}\\n.input-search__select {\\n border-radius: 30px 0 0 30px;\\n padding: 10px;\\n background: transparent;\\n margin-left: 1rem;\\n width: 30%;\\n}\\n.input-search__option {\\n color: black;\\n}\\n.input-search__search {\\n width: 70%;\\n margin-right: 1rem;\\n border-radius: 0 30px 30px 0;\\n padding: 9px;\\n color: var(--secondary-color);\\n border: var(--secondary-color) 1px solid;\\n background: transparent;\\n position: relative;\\n}\\n.input-search__search::placeholder {\\n color: var(--secondary-color);\\n opacity: 60%;\\n}\\n.input-search__icon {\\n border: none;\\n background: transparent;\\n position: absolute;\\n right: 2rem;\\n display: flex;\\n cursor: pointer;\\n}\\n.chat-tabs {\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n}\\n.chat-tabs__button {\\n background: transparent;\\n border: none;\\n border-bottom: 1px solid transparent;\\n cursor: pointer;\\n padding: 0.5rem 1rem;\\n margin-bottom: 0.5rem;\\n}\\n.chat-tabs__button--active {\\n border-bottom: 1px solid var(--secondary-color);\\n transition: 0.5s;\\n}\\n.messenger__messages-row--sender {\\n display: flex;\\n justify-content: flex-end;\\n margin: 10px 0;\\n}\\n.messenger__messages-sender {\\n max-width: 80%;\\n padding: 10px;\\n border-radius: 8px;\\n font-family: 'Arial', sans-serif;\\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\\n}\\n.messenger__file-card {\\n display: flex;\\n align-items: center;\\n background: rgba(0, 0, 0, 0.1);\\n border-radius: 8px;\\n padding: 10px;\\n}\\n.messenger__file-icon {\\n flex-shrink: 0;\\n width: 40px;\\n height: 40px;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n border-radius: 4px;\\n margin-right: 10px;\\n}\\n.messenger__file-details {\\n flex-grow: 1;\\n margin-right: 10px;\\n}\\n.messenger__file-name {\\n font-weight: bold;\\n font-size: 14px;\\n margin: 0;\\n}\\n.messenger__file-info {\\n font-size: 12px;\\n color: rgba(255, 255, 255, 0.8);\\n}\\n.messenger__file-download {\\n font-size: 12px;\\n text-decoration: none;\\n}\\n.messenger__file-download:hover {\\n text-decoration: underline;\\n}\\n.messenger__message--bottom {\\n display: flex;\\n justify-content: space-between;\\n align-items: center;\\n margin-top: 5px;\\n}\\n.messenger__message--date {\\n font-size: 12px;\\n color: rgba(255, 255, 255, 0.8);\\n}\\n.tooltip {\\n position: relative;\\n display: inline-block;\\n}\\n.tooltip__text {\\n visibility: hidden;\\n background-color: black;\\n color: #fff;\\n text-align: center;\\n border-radius: 5px;\\n padding: 5px;\\n position: absolute;\\n z-index: 1;\\n bottom: 125%;\\n left: -40%;\\n margin-left: -60px;\\n opacity: 0;\\n transition: opacity 0.3s, visibility 0.3s;\\n}\\n.tooltip:hover .tooltip__text {\\n visibility: visible;\\n opacity: 1;\\n}\\n.messenger__aside {\\n width: 30% !important;\\n display: flex;\\n align-items: center;\\n flex-direction: column;\\n}\\n@media only screen and (max-width: 1200px) {\\n .messenger__aside {\\n min-width: 300px;\\n }\\n}\\n@media only screen and (max-width: 992px) {\\n .messenger__aside {\\n border-radius: 20px !important;\\n width: 100% !important;\\n }\\n}\\n.messenger__aside-skeleton {\\n background-color: #232831;\\n border: 0;\\n min-height: 75px;\\n width: 100% !important;\\n}\\n.messenger__aside-empty {\\n width: 100%;\\n margin-top: 40px;\\n display: flex;\\n flex-direction: column;\\n justify-content: center;\\n align-items: center;\\n}\\n.messenger__aside-empty path {\\n fill: var(--secondary-color);\\n}\\n.messenger__aside-empty p {\\n text-align: center;\\n}\\n.messenger__aside-header {\\n width: 100% !important;\\n padding: 0 15px;\\n}\\n.messenger__scroll-content {\\n overflow-y: auto;\\n margin-bottom: 0.5rem;\\n}\\n.messenger__aside-list {\\n width: 100% !important;\\n padding: 0 10px 10px 10px;\\n height: 100%;\\n overflow-y: auto;\\n overflow-x: hidden;\\n display: flex;\\n flex-direction: column;\\n justify-content: flex-start;\\n align-items: center;\\n}\\n.messenger__aside-list > .ant-ribbon-wrapper {\\n width: 100%;\\n}\\n.messenger__aside-list > .ant-ribbon-wrapper .ant-ribbon {\\n z-index: -1;\\n top: 0;\\n}\\n.messenger__aside-item-container {\\n min-width: 100%;\\n position: relative;\\n}\\n.messenger__active-badge {\\n z-index: 15 !important;\\n}\\n.messenger__aside-protocol {\\n position: absolute;\\n right: 0;\\n top: 0;\\n border-radius: 10px;\\n background-color: var(--secondary-color);\\n padding: 0 0.5rem;\\n font-size: 0.6rem;\\n}\\n.messenger__aside-timer {\\n align-items: center;\\n display: flex;\\n font-size: 12px;\\n}\\n.messenger__aside-list-item {\\n border-radius: 0;\\n cursor: pointer;\\n display: flex;\\n flex-direction: row;\\n height: 72px;\\n padding: 5px 10px;\\n width: 100% !important;\\n}\\n.messenger__aside-list-item:hover {\\n background: #232831;\\n border-radius: 0;\\n}\\n.messenger__aside-list-item--avatar {\\n align-items: center;\\n background: #484c52;\\n border-radius: 50%;\\n color: #00a73e;\\n display: flex;\\n flex: 0 0 auto;\\n font-size: 25px;\\n font-weight: bold;\\n height: 50px;\\n justify-content: center;\\n line-height: 2.2;\\n margin: auto 10px auto 0;\\n text-transform: uppercase;\\n user-select: none;\\n width: 50px;\\n}\\n@media only screen and (max-width: 1200px) {\\n .messenger__aside-list-item--avatar {\\n height: 45px;\\n width: 45px;\\n }\\n}\\n.messenger__aside-list-item--avatar img {\\n height: 54px;\\n width: 54px;\\n border-radius: 50%;\\n}\\n.messenger__aside-list-item--info,\\n.messenger__aside-list-item--additional {\\n display: flex;\\n flex-direction: column;\\n gap: 0.5rem;\\n height: 100%;\\n}\\n.messenger__aside-list-item--info {\\n max-width: 120px;\\n min-width: 120px;\\n}\\n@media only screen and (min-width: 1600px) {\\n .messenger__aside-list-item--info {\\n max-width: 140px;\\n min-width: 140px;\\n }\\n}\\n@media only screen and (max-width: 992px) {\\n .messenger__aside-list-item--info {\\n max-width: 65%;\\n min-width: 65%;\\n }\\n}\\n@media only screen and (max-width: 576px) {\\n .messenger__aside-list-item--info {\\n max-width: 120px;\\n min-width: 120px;\\n }\\n}\\n.messenger__aside-list-item--additional {\\n align-items: flex-end;\\n font-size: 11px;\\n margin-left: 5px;\\n width: 100%;\\n}\\n.messenger__aside-list-item--unread {\\n background-color: #00a73e;\\n border-radius: 50%;\\n width: 20px;\\n height: 20px;\\n text-align: center;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n}\\n.messenger__aside-list-item--title,\\n.messenger__aside-list-item--description {\\n line-height: 1;\\n overflow: hidden;\\n margin: 0;\\n max-width: 160px;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n width: 100%;\\n}\\n.messenger__aside-list-item--title {\\n font-weight: bold;\\n font-size: 14px;\\n}\\n.messenger__aside-list-item--description {\\n font-size: 12px;\\n}\\n.messenger__messages {\\n width: 70% !important;\\n display: flex;\\n flex-direction: column;\\n justify-content: space-evenly;\\n}\\n@media only screen and (max-width: 992px) {\\n .messenger__messages {\\n width: 100% !important;\\n }\\n}\\n.messenger__messages-header,\\n.messenger__messages-send {\\n padding: 5px;\\n min-height: 10%;\\n width: 100%;\\n}\\n.messenger__messages-header {\\n border-radius: 0 20px 0 0;\\n display: flex;\\n flex-direction: row;\\n align-items: center;\\n justify-content: space-between;\\n}\\n@media only screen and (max-width: 992px) {\\n .messenger__messages-header {\\n border-radius: 20px 20px 0 0;\\n }\\n}\\n.messenger__messages-container {\\n max-height: 80%;\\n height: 100%;\\n padding: 0 24px;\\n overflow: auto;\\n overflow-x: hidden;\\n scroll-behavior: auto;\\n background-color: #dddddd;\\n}\\n.messenger__messages-container--empty {\\n width: 100%;\\n height: 100%;\\n border-radius: 0 20px 20px 0;\\n background-color: #dddddd;\\n display: flex;\\n flex-direction: column;\\n align-items: center;\\n justify-content: center;\\n}\\n.messenger__messages-container--empty path {\\n fill: #00a73e;\\n}\\n.messenger__messages-container--empty p {\\n text-align: center;\\n margin-top: 24px;\\n}\\n.messenger__messages-loading {\\n width: 100%;\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n margin-top: 10px;\\n}\\n.messenger__messages-loading div {\\n animation: spin 1s infinite linear;\\n border-left: 2px solid var(--secondary-color);\\n border-radius: 50%;\\n height: 25px;\\n margin-bottom: 10px;\\n width: 25px;\\n}\\n.messenger__messages-row--sender,\\n.messenger__messages-row--received,\\n.messenger__messages-row--system {\\n width: 100%;\\n height: fit-content;\\n margin: 10px 0;\\n display: flex;\\n align-items: center;\\n}\\n.messenger__messages-row--sender {\\n justify-content: flex-end;\\n}\\n.messenger__messages-row--received {\\n justify-content: flex-start;\\n}\\n.messenger__messages-row--system {\\n justify-content: center;\\n}\\n.messenger__messages-received,\\n.messenger__messages-sender {\\n min-width: 75px;\\n width: fit-content;\\n padding: 10px;\\n}\\n.messenger__messages-received > span,\\n.messenger__messages-sender > span {\\n color: var(--secondary-color);\\n overflow-wrap: break-word;\\n word-break: break-word;\\n width: 200px;\\n}\\n.messenger__messages-received {\\n max-width: 500px;\\n background-color: #707070;\\n border-radius: 12px 12px 12px 0;\\n}\\n.messenger__messages-received--system {\\n border-radius: 12px;\\n}\\n.messenger__messages-sender {\\n max-width: 450px;\\n margin-top: -2px;\\n background-color: #00a73e;\\n border-radius: 12px 12px 0 12px;\\n}\\n.messenger__message-title {\\n white-space: nowrap;\\n overflow: hidden;\\n max-width: 100%;\\n display: block;\\n line-height: 1;\\n padding: 0;\\n margin: 0 0 3px;\\n justify-content: flex-end;\\n font-size: 13px;\\n color: var(--secondary-color);\\n font-weight: bold;\\n filter: opacity(0.7);\\n font-weight: 700;\\n}\\n.messenger__message {\\n padding: 0;\\n margin: 0;\\n white-space: pre-wrap;\\n line-height: 1.2;\\n}\\n.messenger__message--file {\\n cursor: pointer;\\n}\\n.messenger__message--file img {\\n object-fit: scale-down;\\n}\\n.messenger__message--bottom {\\n width: 100%;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n gap: 5px;\\n margin-top: 5px;\\n}\\n.messenger__message--date {\\n font-size: 11.5px;\\n padding: 0;\\n margin-top: 5px;\\n margin-bottom: 0;\\n margin-right: 0;\\n text-align: right;\\n line-height: 14px;\\n}\\n.messenger__message-empty {\\n width: 100%;\\n margin-top: 40px;\\n display: flex;\\n flex-direction: column;\\n justify-content: center;\\n align-items: center;\\n}\\n.messenger__message-empty p {\\n text-align: center;\\n}\\n@media only screen and (max-width: 576px) {\\n .messenger__message-avatar {\\n display: none;\\n }\\n}\\n.messenger__messages-send {\\n border-radius: 0 0 20px 0;\\n border-top: 0;\\n display: flex;\\n flex-direction: row;\\n justify-content: center;\\n align-items: center;\\n}\\n@media only screen and (max-width: 992px) {\\n .messenger__messages-send {\\n border-radius: 0 0 20px 20px;\\n }\\n}\\n.messenger__messages-send--form {\\n align-items: center;\\n display: flex;\\n gap: 10px;\\n width: 100%;\\n}\\n.messenger__messages-send__input {\\n border: 0;\\n border-radius: 12px;\\n display: flex;\\n flex: 1 1 auto;\\n height: 50px;\\n line-height: 26px;\\n max-height: 90px;\\n outline: none;\\n overflow-y: auto;\\n padding: 10px 12px 9px;\\n resize: none;\\n width: 90%;\\n}\\n.messenger__messages-send__input--disabled {\\n cursor: not-allowed;\\n opacity: 0.5;\\n}\\n.messenger__messages-send__input::placeholder {\\n color: #aaaaaa;\\n}\\n.messenger__messages-send__input-container {\\n align-items: center;\\n border-radius: 12px;\\n display: flex;\\n flex: 1 1 auto;\\n}\\n.messenger__messages-send__button {\\n height: 45px !important;\\n width: 45px !important;\\n border-radius: 50%;\\n border: none;\\n outline: none;\\n cursor: pointer;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n}\\n.messenger__messages-send__button--disabled {\\n cursor: not-allowed;\\n opacity: 0.5;\\n}\\n.messenger__messages-send__button:hover {\\n opacity: 0.7;\\n transition: 200ms;\\n}\\n.messenger__messages-send--file {\\n display: none;\\n}\\n.messenger__messages-send__attach {\\n cursor: pointer;\\n width: 40px;\\n}\\n.messenger__messages-send__attach--disabled {\\n cursor: not-allowed;\\n}\\n.messenger__new-chat-form {\\n overflow-y: scroll;\\n border-radius: 0 20px 20px 0;\\n height: 100%;\\n padding: 1rem;\\n}\\n@media only screen and (max-width: 768px) {\\n .messenger__new-chat-form {\\n border-radius: 20px !important;\\n }\\n}\\n.messenger__new-chat-form-header {\\n display: flex;\\n justify-content: space-between;\\n margin: 1rem 0;\\n}\\n.messenger__new-chat-form-title {\\n color: #476077;\\n margin-right: 1rem;\\n}\\n.messenger__new-chat-form-close {\\n background: none;\\n border: none;\\n cursor: pointer;\\n}\\n.messenger__new-chat-fields,\\n.messenger__disclaimer {\\n margin: 0 1rem;\\n}\\n.messenger__disclaimer {\\n border: solid 1px;\\n border-radius: 10px;\\n padding: 0.8rem;\\n margin-bottom: 1rem;\\n}\\n.messenger__new-chat-form-send {\\n border: none;\\n border-radius: 30px;\\n cursor: pointer;\\n font-weight: bolder;\\n margin: 25px 0;\\n padding: 0.5rem;\\n}\\n.messenger__new-chat-form-send:hover {\\n opacity: 0.9;\\n}\\n.messenger__new-chat-form-send--disabled {\\n cursor: not-allowed;\\n background-color: #ccc;\\n}\\n.messenger__buttons-container {\\n display: flex;\\n flex-direction: column;\\n padding-top: 1rem;\\n width: 100%;\\n}\\n.messenger__chat-button {\\n border: none;\\n border-radius: 30px;\\n color: var(--secondary-color);\\n cursor: pointer;\\n font-size: 1rem;\\n font-weight: bold;\\n margin: 0.5rem 1rem;\\n padding: 0.5rem;\\n}\\n.messenger__chat-button--disabled {\\n cursor: not-allowed;\\n}\\n.messenger__input-button {\\n border: none;\\n border-radius: 30px;\\n color: var(--secondary-color);\\n font-size: 1rem;\\n font-weight: bold;\\n margin: 0.5rem 1rem;\\n padding: 0.5rem;\\n}\\n.messenger__input-button-label {\\n color: var(--secondary-color);\\n font-weight: bold;\\n margin: 0rem 1rem;\\n}\\n.messenger__input-button::-webkit-calendar-picker-indicator {\\n filter: invert(1);\\n}\\n@media only screen and (max-width: 992px) {\\n .messenger__mobile-hide {\\n display: none !important;\\n }\\n}\\n.styles-module_wrapper__1I_qj {\\n z-index: 60 !important;\\n background-color: rgba(0, 0, 0, 0.7) !important;\\n}\\n*,\\n::after,\\n::before {\\n padding: 0;\\n margin: 0;\\n}\\n:root {\\n --secondary-color: var(--secondary-color);\\n}\\n@keyframes spin {\\n 0% {\\n transform: rotate(0deg);\\n }\\n 100% {\\n transform: rotate(360deg);\\n }\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/Messenger/components/ImagesContainer/ImagesContainer.less\",\"webpack://./src/styles/index.less\",\"webpack://./src/app/Messenger/components/Select/Select.less\",\"webpack://./src/app/Messenger/components/TextArea/Textarea.less\",\"webpack://./src/app/Messenger/components/InputFile/inputFile.less\",\"webpack://./src/app/Messenger/components/SearchInput/SearchInput.less\",\"webpack://./src/app/Messenger/components/ChatTabs/ChatTabs.less\",\"webpack://./src/app/Messenger/components/DocMessage/DocMessage.less\",\"webpack://./src/app/Messenger/components/Tooltip/Tooltip.less\",\"webpack://./src/app/Messenger/views/Messenger.less\",\"webpack://./src/styles/abstracts/mixins.less\",\"webpack://./src/styles/base/base.less\",\"webpack://./src/styles/abstracts/variables.less\",\"webpack://./src/styles/abstracts/animations.less\"],\"names\":[],\"mappings\":\"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\",\"sourcesContent\":[\".images-container {\\n width: 100%;\\n height: 90%;\\n border: 2px solid @secondary-bg-color-chat;\\n background-color: @component-background;\\n border-bottom: none;\\n border-radius: 0 @border-radius 0 0;\\n @media @tab-md {\\n border-radius: @border-radius @border-radius 0 0 !important;\\n }\\n\\n &__close {\\n width: 100%;\\n position: relative;\\n margin-top: 15px;\\n display: flex;\\n justify-content: flex-end;\\n align-items: center;\\n\\n &--icon {\\n width: 32px;\\n height: 32px;\\n cursor: pointer;\\n background-color: transparent;\\n outline: none;\\n border: none;\\n\\n &:hover {\\n opacity: 75%;\\n transition: 200ms;\\n }\\n\\n &::before,\\n &::after {\\n position: absolute;\\n right: 25px;\\n top: 0;\\n content: ' ';\\n height: 33px;\\n width: 2px;\\n background-color: red;\\n }\\n\\n &:after {\\n transform: rotate(45deg);\\n }\\n\\n &:before {\\n transform: rotate(-45deg);\\n }\\n }\\n }\\n\\n &__container {\\n width: 100%;\\n height: 100%;\\n\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n color: @title-form-color;\\n }\\n\\n &__image {\\n display: flex;\\n flex-direction: column;\\n align-items: center;\\n width: 100%;\\n padding: 0 10px;\\n max-width: 700px;\\n max-height: 300px;\\n }\\n\\n &__title-img {\\n width: 100%;\\n text-align: center;\\n word-wrap: break-word;\\n }\\n}\\n\",\".images-container {\\n width: 100%;\\n height: 90%;\\n border: 2px solid #484c52;\\n background-color: #232831;\\n border-bottom: none;\\n border-radius: 0 20px 0 0;\\n}\\n@media only screen and (max-width: 768px) {\\n .images-container {\\n border-radius: 20px 20px 0 0 !important;\\n }\\n}\\n.images-container__close {\\n width: 100%;\\n position: relative;\\n margin-top: 15px;\\n display: flex;\\n justify-content: flex-end;\\n align-items: center;\\n}\\n.images-container__close--icon {\\n width: 32px;\\n height: 32px;\\n cursor: pointer;\\n background-color: transparent;\\n outline: none;\\n border: none;\\n}\\n.images-container__close--icon:hover {\\n opacity: 75%;\\n transition: 200ms;\\n}\\n.images-container__close--icon::before,\\n.images-container__close--icon::after {\\n position: absolute;\\n right: 25px;\\n top: 0;\\n content: ' ';\\n height: 33px;\\n width: 2px;\\n background-color: red;\\n}\\n.images-container__close--icon:after {\\n transform: rotate(45deg);\\n}\\n.images-container__close--icon:before {\\n transform: rotate(-45deg);\\n}\\n.images-container__container {\\n width: 100%;\\n height: 100%;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n color: #476077;\\n}\\n.images-container__image {\\n display: flex;\\n flex-direction: column;\\n align-items: center;\\n width: 100%;\\n padding: 0 10px;\\n max-width: 700px;\\n max-height: 300px;\\n}\\n.images-container__title-img {\\n width: 100%;\\n text-align: center;\\n word-wrap: break-word;\\n}\\n.form-select {\\n margin-bottom: 1rem;\\n width: 100%;\\n}\\n.form-select__label {\\n color: #476077;\\n font-weight: bold;\\n margin: 0.5rem;\\n}\\n.form-select__input {\\n border: 1.5px solid hsl(0, 0%, 80%);\\n border-radius: 4px;\\n margin-top: 0.5rem;\\n padding: 8px 8px;\\n width: 100%;\\n}\\n.form-select__input:focus {\\n outline: #2684ff 2px solid !important;\\n}\\n.text-area {\\n margin-bottom: 1rem;\\n width: 100%;\\n}\\n.text-area__label {\\n color: #476077;\\n font-weight: bold;\\n margin: 0.5rem;\\n}\\n.text-area__input {\\n border: 1.5px solid hsl(0, 0%, 80%);\\n border-radius: 4px;\\n margin-top: 0.5rem;\\n padding: 4px 8px;\\n width: 100%;\\n}\\n.text-area__input:focus {\\n outline: #2684ff 2px solid !important;\\n}\\n.file-input {\\n margin-bottom: 1rem;\\n width: 100%;\\n}\\n.file-input__label {\\n color: #476077;\\n font-weight: bold;\\n margin: 0.5rem;\\n}\\n.file-input__container {\\n align-items: center;\\n background-color: var(--secondary-color);\\n border-radius: 10px;\\n display: flex;\\n flex-direction: column;\\n justify-content: center;\\n margin-top: 0.5rem;\\n padding: 1rem;\\n width: 100%;\\n}\\n.file-input__button {\\n border: none;\\n border-radius: 30px;\\n color: var(--secondary-color);\\n cursor: pointer;\\n font-size: 1rem;\\n font-weight: bold;\\n margin: 0.5rem 1rem;\\n padding: 0.5rem;\\n}\\n.file-input__list {\\n align-items: center;\\n background-color: var(--secondary-color);\\n border-radius: 10px;\\n display: flex;\\n justify-content: space-between;\\n margin: 0.5rem 0;\\n padding: 0.5rem;\\n}\\n.file-input__list--file-name {\\n overflow: hidden;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n max-width: 100%;\\n}\\n.file-input__delete {\\n align-items: center;\\n background: transparent;\\n border: none;\\n cursor: pointer;\\n display: flex;\\n justify-content: center;\\n}\\n.input-search {\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n width: 100%;\\n margin: 1rem 0;\\n position: relative;\\n}\\n.input-search__select {\\n border-radius: 30px 0 0 30px;\\n padding: 10px;\\n background: transparent;\\n margin-left: 1rem;\\n width: 30%;\\n}\\n.input-search__option {\\n color: black;\\n}\\n.input-search__search {\\n width: 70%;\\n margin-right: 1rem;\\n border-radius: 0 30px 30px 0;\\n padding: 9px;\\n color: var(--secondary-color);\\n border: var(--secondary-color) 1px solid;\\n background: transparent;\\n position: relative;\\n}\\n.input-search__search::placeholder {\\n color: var(--secondary-color);\\n opacity: 60%;\\n}\\n.input-search__icon {\\n border: none;\\n background: transparent;\\n position: absolute;\\n right: 2rem;\\n display: flex;\\n cursor: pointer;\\n}\\n.chat-tabs {\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n}\\n.chat-tabs__button {\\n background: transparent;\\n border: none;\\n border-bottom: 1px solid transparent;\\n cursor: pointer;\\n padding: 0.5rem 1rem;\\n margin-bottom: 0.5rem;\\n}\\n.chat-tabs__button--active {\\n border-bottom: 1px solid var(--secondary-color);\\n transition: 0.5s;\\n}\\n.messenger__messages-row--sender {\\n display: flex;\\n justify-content: flex-end;\\n margin: 10px 0;\\n}\\n.messenger__messages-sender {\\n max-width: 80%;\\n padding: 10px;\\n border-radius: 8px;\\n font-family: 'Arial', sans-serif;\\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\\n}\\n.messenger__file-card {\\n display: flex;\\n align-items: center;\\n background: rgba(0, 0, 0, 0.1);\\n border-radius: 8px;\\n padding: 10px;\\n}\\n.messenger__file-icon {\\n flex-shrink: 0;\\n width: 40px;\\n height: 40px;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n border-radius: 4px;\\n margin-right: 10px;\\n}\\n.messenger__file-details {\\n flex-grow: 1;\\n margin-right: 10px;\\n}\\n.messenger__file-name {\\n font-weight: bold;\\n font-size: 14px;\\n margin: 0;\\n}\\n.messenger__file-info {\\n font-size: 12px;\\n color: rgba(255, 255, 255, 0.8);\\n}\\n.messenger__file-download {\\n font-size: 12px;\\n text-decoration: none;\\n}\\n.messenger__file-download:hover {\\n text-decoration: underline;\\n}\\n.messenger__message--bottom {\\n display: flex;\\n justify-content: space-between;\\n align-items: center;\\n margin-top: 5px;\\n}\\n.messenger__message--date {\\n font-size: 12px;\\n color: rgba(255, 255, 255, 0.8);\\n}\\n.tooltip {\\n position: relative;\\n display: inline-block;\\n}\\n.tooltip__text {\\n visibility: hidden;\\n background-color: black;\\n color: #fff;\\n text-align: center;\\n border-radius: 5px;\\n padding: 5px;\\n position: absolute;\\n z-index: 1;\\n bottom: 125%;\\n left: -40%;\\n margin-left: -60px;\\n opacity: 0;\\n transition: opacity 0.3s, visibility 0.3s;\\n}\\n.tooltip:hover .tooltip__text {\\n visibility: visible;\\n opacity: 1;\\n}\\n.messenger__aside {\\n width: 30% !important;\\n display: flex;\\n align-items: center;\\n flex-direction: column;\\n}\\n@media only screen and (max-width: 1200px) {\\n .messenger__aside {\\n min-width: 300px;\\n }\\n}\\n@media only screen and (max-width: 992px) {\\n .messenger__aside {\\n border-radius: 20px !important;\\n width: 100% !important;\\n }\\n}\\n.messenger__aside-skeleton {\\n background-color: #232831;\\n border: 0;\\n min-height: 75px;\\n width: 100% !important;\\n}\\n.messenger__aside-empty {\\n width: 100%;\\n margin-top: 40px;\\n display: flex;\\n flex-direction: column;\\n justify-content: center;\\n align-items: center;\\n}\\n.messenger__aside-empty path {\\n fill: var(--secondary-color);\\n}\\n.messenger__aside-empty p {\\n text-align: center;\\n}\\n.messenger__aside-header {\\n width: 100% !important;\\n padding: 0 15px;\\n}\\n.messenger__scroll-content {\\n overflow-y: auto;\\n margin-bottom: 0.5rem;\\n}\\n.messenger__aside-list {\\n width: 100% !important;\\n padding: 0 10px 10px 10px;\\n height: 100%;\\n overflow-y: auto;\\n overflow-x: hidden;\\n display: flex;\\n flex-direction: column;\\n justify-content: flex-start;\\n align-items: center;\\n}\\n.messenger__aside-list > .ant-ribbon-wrapper {\\n width: 100%;\\n}\\n.messenger__aside-list > .ant-ribbon-wrapper .ant-ribbon {\\n z-index: -1;\\n top: 0;\\n}\\n.messenger__aside-item-container {\\n min-width: 100%;\\n position: relative;\\n}\\n.messenger__active-badge {\\n z-index: 15 !important;\\n}\\n.messenger__aside-protocol {\\n position: absolute;\\n right: 0;\\n top: 0;\\n border-radius: 10px;\\n background-color: var(--secondary-color);\\n padding: 0 0.5rem;\\n font-size: 0.6rem;\\n}\\n.messenger__aside-timer {\\n align-items: center;\\n display: flex;\\n font-size: 12px;\\n}\\n.messenger__aside-list-item {\\n border-radius: 0;\\n cursor: pointer;\\n display: flex;\\n flex-direction: row;\\n height: 72px;\\n padding: 5px 10px;\\n width: 100% !important;\\n}\\n.messenger__aside-list-item:hover {\\n background: #232831;\\n border-radius: 0;\\n}\\n.messenger__aside-list-item--avatar {\\n align-items: center;\\n background: #484c52;\\n border-radius: 50%;\\n color: #00a73e;\\n display: flex;\\n flex: 0 0 auto;\\n font-size: 25px;\\n font-weight: bold;\\n height: 50px;\\n justify-content: center;\\n line-height: 2.2;\\n margin: auto 10px auto 0;\\n text-transform: uppercase;\\n user-select: none;\\n width: 50px;\\n}\\n@media only screen and (max-width: 1200px) {\\n .messenger__aside-list-item--avatar {\\n height: 45px;\\n width: 45px;\\n }\\n}\\n.messenger__aside-list-item--avatar img {\\n height: 54px;\\n width: 54px;\\n border-radius: 50%;\\n}\\n.messenger__aside-list-item--info,\\n.messenger__aside-list-item--additional {\\n display: flex;\\n flex-direction: column;\\n gap: 0.5rem;\\n height: 100%;\\n}\\n.messenger__aside-list-item--info {\\n max-width: 120px;\\n min-width: 120px;\\n}\\n@media only screen and (min-width: 1600px) {\\n .messenger__aside-list-item--info {\\n max-width: 140px;\\n min-width: 140px;\\n }\\n}\\n@media only screen and (max-width: 992px) {\\n .messenger__aside-list-item--info {\\n max-width: 65%;\\n min-width: 65%;\\n }\\n}\\n@media only screen and (max-width: 576px) {\\n .messenger__aside-list-item--info {\\n max-width: 120px;\\n min-width: 120px;\\n }\\n}\\n.messenger__aside-list-item--additional {\\n align-items: flex-end;\\n font-size: 11px;\\n margin-left: 5px;\\n width: 100%;\\n}\\n.messenger__aside-list-item--unread {\\n background-color: #00a73e;\\n border-radius: 50%;\\n width: 20px;\\n height: 20px;\\n text-align: center;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n}\\n.messenger__aside-list-item--title,\\n.messenger__aside-list-item--description {\\n line-height: 1;\\n overflow: hidden;\\n margin: 0;\\n max-width: 160px;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n width: 100%;\\n}\\n.messenger__aside-list-item--title {\\n font-weight: bold;\\n font-size: 14px;\\n}\\n.messenger__aside-list-item--description {\\n font-size: 12px;\\n}\\n.messenger__messages {\\n width: 70% !important;\\n display: flex;\\n flex-direction: column;\\n justify-content: space-evenly;\\n}\\n@media only screen and (max-width: 992px) {\\n .messenger__messages {\\n width: 100% !important;\\n }\\n}\\n.messenger__messages-header,\\n.messenger__messages-send {\\n padding: 5px;\\n min-height: 10%;\\n width: 100%;\\n}\\n.messenger__messages-header {\\n border-radius: 0 20px 0 0;\\n display: flex;\\n flex-direction: row;\\n align-items: center;\\n justify-content: space-between;\\n}\\n@media only screen and (max-width: 992px) {\\n .messenger__messages-header {\\n border-radius: 20px 20px 0 0;\\n }\\n}\\n.messenger__messages-container {\\n max-height: 80%;\\n height: 100%;\\n padding: 0 24px;\\n overflow: auto;\\n overflow-x: hidden;\\n scroll-behavior: auto;\\n background-color: #dddddd;\\n}\\n.messenger__messages-container--empty {\\n width: 100%;\\n height: 100%;\\n border-radius: 0 20px 20px 0;\\n background-color: #dddddd;\\n display: flex;\\n flex-direction: column;\\n align-items: center;\\n justify-content: center;\\n}\\n.messenger__messages-container--empty path {\\n fill: #00a73e;\\n}\\n.messenger__messages-container--empty p {\\n text-align: center;\\n margin-top: 24px;\\n}\\n.messenger__messages-loading {\\n width: 100%;\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n margin-top: 10px;\\n}\\n.messenger__messages-loading div {\\n animation: spin 1s infinite linear;\\n border-left: 2px solid var(--secondary-color);\\n border-radius: 50%;\\n height: 25px;\\n margin-bottom: 10px;\\n width: 25px;\\n}\\n.messenger__messages-row--sender,\\n.messenger__messages-row--received,\\n.messenger__messages-row--system {\\n width: 100%;\\n height: fit-content;\\n margin: 10px 0;\\n display: flex;\\n align-items: center;\\n}\\n.messenger__messages-row--sender {\\n justify-content: flex-end;\\n}\\n.messenger__messages-row--received {\\n justify-content: flex-start;\\n}\\n.messenger__messages-row--system {\\n justify-content: center;\\n}\\n.messenger__messages-received,\\n.messenger__messages-sender {\\n min-width: 75px;\\n width: fit-content;\\n padding: 10px;\\n}\\n.messenger__messages-received > span,\\n.messenger__messages-sender > span {\\n color: var(--secondary-color);\\n overflow-wrap: break-word;\\n word-break: break-word;\\n width: 200px;\\n}\\n.messenger__messages-received {\\n max-width: 500px;\\n background-color: #707070;\\n border-radius: 12px 12px 12px 0;\\n}\\n.messenger__messages-received--system {\\n border-radius: 12px;\\n}\\n.messenger__messages-sender {\\n max-width: 450px;\\n margin-top: -2px;\\n background-color: #00a73e;\\n border-radius: 12px 12px 0 12px;\\n}\\n.messenger__message-title {\\n white-space: nowrap;\\n overflow: hidden;\\n max-width: 100%;\\n display: block;\\n line-height: 1;\\n padding: 0;\\n margin: 0 0 3px;\\n justify-content: flex-end;\\n font-size: 13px;\\n color: var(--secondary-color);\\n font-weight: bold;\\n filter: opacity(0.7);\\n font-weight: 700;\\n}\\n.messenger__message {\\n padding: 0;\\n margin: 0;\\n white-space: pre-wrap;\\n line-height: 1.2;\\n}\\n.messenger__message--file {\\n cursor: pointer;\\n}\\n.messenger__message--file img {\\n object-fit: scale-down;\\n}\\n.messenger__message--bottom {\\n width: 100%;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n gap: 5px;\\n margin-top: 5px;\\n}\\n.messenger__message--date {\\n font-size: 11.5px;\\n padding: 0;\\n margin-top: 5px;\\n margin-bottom: 0;\\n margin-right: 0;\\n text-align: right;\\n line-height: 14px;\\n}\\n.messenger__message-empty {\\n width: 100%;\\n margin-top: 40px;\\n display: flex;\\n flex-direction: column;\\n justify-content: center;\\n align-items: center;\\n}\\n.messenger__message-empty p {\\n text-align: center;\\n}\\n@media only screen and (max-width: 576px) {\\n .messenger__message-avatar {\\n display: none;\\n }\\n}\\n.messenger__messages-send {\\n border-radius: 0 0 20px 0;\\n border-top: 0;\\n display: flex;\\n flex-direction: row;\\n justify-content: center;\\n align-items: center;\\n}\\n@media only screen and (max-width: 992px) {\\n .messenger__messages-send {\\n border-radius: 0 0 20px 20px;\\n }\\n}\\n.messenger__messages-send--form {\\n align-items: center;\\n display: flex;\\n gap: 10px;\\n width: 100%;\\n}\\n.messenger__messages-send__input {\\n border: 0;\\n border-radius: 12px;\\n display: flex;\\n flex: 1 1 auto;\\n height: 50px;\\n line-height: 26px;\\n max-height: 90px;\\n outline: none;\\n overflow-y: auto;\\n padding: 10px 12px 9px;\\n resize: none;\\n width: 90%;\\n}\\n.messenger__messages-send__input--disabled {\\n cursor: not-allowed;\\n opacity: 0.5;\\n}\\n.messenger__messages-send__input::placeholder {\\n color: #aaaaaa;\\n}\\n.messenger__messages-send__input-container {\\n align-items: center;\\n border-radius: 12px;\\n display: flex;\\n flex: 1 1 auto;\\n}\\n.messenger__messages-send__button {\\n height: 45px !important;\\n width: 45px !important;\\n border-radius: 50%;\\n border: none;\\n outline: none;\\n cursor: pointer;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n}\\n.messenger__messages-send__button--disabled {\\n cursor: not-allowed;\\n opacity: 0.5;\\n}\\n.messenger__messages-send__button:hover {\\n opacity: 0.7;\\n transition: 200ms;\\n}\\n.messenger__messages-send--file {\\n display: none;\\n}\\n.messenger__messages-send__attach {\\n cursor: pointer;\\n width: 40px;\\n}\\n.messenger__messages-send__attach--disabled {\\n cursor: not-allowed;\\n}\\n.messenger__new-chat-form {\\n overflow-y: scroll;\\n border-radius: 0 20px 20px 0;\\n height: 100%;\\n padding: 1rem;\\n}\\n@media only screen and (max-width: 768px) {\\n .messenger__new-chat-form {\\n border-radius: 20px !important;\\n }\\n}\\n.messenger__new-chat-form-header {\\n display: flex;\\n justify-content: space-between;\\n margin: 1rem 0;\\n}\\n.messenger__new-chat-form-title {\\n color: #476077;\\n margin-right: 1rem;\\n}\\n.messenger__new-chat-form-close {\\n background: none;\\n border: none;\\n cursor: pointer;\\n}\\n.messenger__new-chat-fields,\\n.messenger__disclaimer {\\n margin: 0 1rem;\\n}\\n.messenger__disclaimer {\\n border: solid 1px;\\n border-radius: 10px;\\n padding: 0.8rem;\\n margin-bottom: 1rem;\\n}\\n.messenger__new-chat-form-send {\\n border: none;\\n border-radius: 30px;\\n cursor: pointer;\\n font-weight: bolder;\\n margin: 25px 0;\\n padding: 0.5rem;\\n}\\n.messenger__new-chat-form-send:hover {\\n opacity: 0.9;\\n}\\n.messenger__new-chat-form-send--disabled {\\n cursor: not-allowed;\\n background-color: #ccc;\\n}\\n.messenger__buttons-container {\\n display: flex;\\n flex-direction: column;\\n padding-top: 1rem;\\n width: 100%;\\n}\\n.messenger__chat-button {\\n border: none;\\n border-radius: 30px;\\n color: var(--secondary-color);\\n cursor: pointer;\\n font-size: 1rem;\\n font-weight: bold;\\n margin: 0.5rem 1rem;\\n padding: 0.5rem;\\n}\\n.messenger__chat-button--disabled {\\n cursor: not-allowed;\\n}\\n.messenger__input-button {\\n border: none;\\n border-radius: 30px;\\n color: var(--secondary-color);\\n font-size: 1rem;\\n font-weight: bold;\\n margin: 0.5rem 1rem;\\n padding: 0.5rem;\\n}\\n.messenger__input-button-label {\\n color: var(--secondary-color);\\n font-weight: bold;\\n margin: 0rem 1rem;\\n}\\n.messenger__input-button::-webkit-calendar-picker-indicator {\\n filter: invert(1);\\n}\\n@media only screen and (max-width: 992px) {\\n .messenger__mobile-hide {\\n display: none !important;\\n }\\n}\\n.styles-module_wrapper__1I_qj {\\n z-index: 60 !important;\\n background-color: rgba(0, 0, 0, 0.7) !important;\\n}\\n*,\\n::after,\\n::before {\\n padding: 0;\\n margin: 0;\\n}\\n:root {\\n --secondary-color: var(--secondary-color);\\n}\\n@keyframes spin {\\n 0% {\\n transform: rotate(0deg);\\n }\\n 100% {\\n transform: rotate(360deg);\\n }\\n}\\n\",\".form-select {\\n margin-bottom: 1rem;\\n width: 100%;\\n\\n &__label {\\n color: @title-form-color;\\n font-weight: bold;\\n margin: 0.5rem;\\n }\\n\\n &__input {\\n border: 1.5px solid hsl(0, 0%, 80%);\\n border-radius: 4px;\\n margin-top: 0.5rem;\\n padding: 8px 8px;\\n width: 100%;\\n\\n &:focus {\\n outline: #2684ff 2px solid !important;\\n }\\n }\\n}\\n\",\".text-area {\\n margin-bottom: 1rem;\\n width: 100%;\\n\\n &__label {\\n color: @title-form-color;\\n font-weight: bold;\\n margin: 0.5rem;\\n }\\n\\n &__input {\\n border: 1.5px solid hsl(0, 0%, 80%);\\n border-radius: 4px;\\n margin-top: 0.5rem;\\n padding: 4px 8px;\\n width: 100%;\\n\\n &:focus {\\n outline: #2684ff 2px solid !important;\\n }\\n }\\n}\\n\",\".file-input {\\n margin-bottom: 1rem;\\n width: 100%;\\n\\n &__label {\\n color: @title-form-color;\\n font-weight: bold;\\n margin: 0.5rem;\\n }\\n\\n &__container {\\n align-items: center;\\n background-color: var(--secondary-color);\\n border-radius: 10px;\\n display: flex;\\n flex-direction: column;\\n justify-content: center;\\n margin-top: 0.5rem;\\n padding: 1rem;\\n width: 100%;\\n }\\n\\n &__button {\\n border: none;\\n border-radius: 30px;\\n color: var(--secondary-color);\\n cursor: pointer;\\n font-size: 1rem;\\n font-weight: bold;\\n margin: 0.5rem 1rem;\\n padding: 0.5rem;\\n }\\n\\n &__list {\\n align-items: center;\\n background-color: var(--secondary-color);\\n border-radius: 10px;\\n display: flex;\\n justify-content: space-between;\\n margin: 0.5rem 0;\\n padding: 0.5rem;\\n\\n &--file-name {\\n overflow: hidden;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n max-width: 100%;\\n }\\n }\\n\\n &__delete {\\n align-items: center;\\n background: transparent;\\n border: none;\\n cursor: pointer;\\n display: flex;\\n justify-content: center;\\n }\\n}\\n\",\".input-search {\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n width: 100%;\\n margin: 1rem 0;\\n position: relative;\\n\\n &__select {\\n border-radius: 30px 0 0 30px;\\n padding: 10px;\\n background: transparent;\\n margin-left: 1rem;\\n width: 30%;\\n }\\n\\n &__option {\\n color: black;\\n }\\n\\n &__search {\\n width: 70%;\\n margin-right: 1rem;\\n border-radius: 0 30px 30px 0;\\n padding: 9px;\\n color: var(--secondary-color);\\n border: var(--secondary-color) 1px solid;\\n background: transparent;\\n position: relative;\\n\\n &::placeholder {\\n color: var(--secondary-color);\\n opacity: 60%;\\n }\\n }\\n\\n &__icon {\\n border: none;\\n background: transparent;\\n position: absolute;\\n right: 2rem;\\n display: flex;\\n cursor: pointer;\\n }\\n}\\n\",\".chat-tabs {\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n &__button {\\n background: transparent;\\n border: none;\\n border-bottom: 1px solid transparent;\\n cursor: pointer;\\n padding: 0.5rem 1rem;\\n margin-bottom: 0.5rem;\\n\\n &--active {\\n border-bottom: 1px solid var(--secondary-color);\\n transition: 0.5s;\\n }\\n }\\n}\\n\",\".messenger {\\n &__messages-row--sender {\\n display: flex;\\n justify-content: flex-end;\\n margin: 10px 0;\\n }\\n\\n &__messages-sender {\\n max-width: 80%;\\n padding: 10px;\\n border-radius: 8px;\\n font-family: 'Arial', sans-serif;\\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\\n }\\n\\n &__file-card {\\n display: flex;\\n align-items: center;\\n background: rgba(0, 0, 0, 0.1);\\n border-radius: 8px;\\n padding: 10px;\\n }\\n\\n &__file-icon {\\n flex-shrink: 0;\\n width: 40px;\\n height: 40px;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n border-radius: 4px;\\n margin-right: 10px;\\n }\\n\\n &__file-details {\\n flex-grow: 1;\\n margin-right: 10px;\\n }\\n\\n &__file-name {\\n font-weight: bold;\\n font-size: 14px;\\n margin: 0;\\n }\\n\\n &__file-info {\\n font-size: 12px;\\n color: rgba(255, 255, 255, 0.8);\\n }\\n\\n &__file-download {\\n font-size: 12px;\\n text-decoration: none;\\n }\\n\\n &__file-download:hover {\\n text-decoration: underline;\\n }\\n\\n &__message--bottom {\\n display: flex;\\n justify-content: space-between;\\n align-items: center;\\n margin-top: 5px;\\n }\\n\\n &__message--date {\\n font-size: 12px;\\n color: rgba(255, 255, 255, 0.8);\\n }\\n}\\n\",\".tooltip {\\n position: relative;\\n display: inline-block;\\n}\\n\\n.tooltip__text {\\n visibility: hidden;\\n background-color: black;\\n color: #fff;\\n text-align: center;\\n border-radius: 5px;\\n padding: 5px;\\n position: absolute;\\n z-index: 1;\\n bottom: 125%;\\n left: -40%;\\n margin-left: -60px;\\n opacity: 0;\\n transition:\\n opacity 0.3s,\\n visibility 0.3s;\\n}\\n\\n.tooltip:hover .tooltip__text {\\n visibility: visible;\\n opacity: 1;\\n}\\n\",\"@import '../components/ImagesContainer/ImagesContainer';\\n@import '../components/Select/Select.less';\\n@import '../components/TextArea/Textarea.less';\\n@import '../components/InputFile/inputFile.less';\\n@import '../components/SearchInput/SearchInput.less';\\n@import '../components/ChatTabs/ChatTabs.less';\\n@import '../components/DocMessage/DocMessage.less';\\n@import '../components/Tooltip/Tooltip.less';\\n\\n@buttons-container-height: 10rem;\\n\\n.messenger {\\n &__aside {\\n width: 30% !important;\\n\\n @media @tab-xl {\\n min-width: 300px;\\n }\\n\\n @media @tab-lg {\\n border-radius: 20px !important;\\n width: 100% !important;\\n }\\n\\n display: flex;\\n align-items: center;\\n flex-direction: column;\\n }\\n\\n &__aside-skeleton {\\n background-color: @component-background;\\n border: 0;\\n min-height: 75px;\\n width: 100% !important;\\n }\\n\\n &__aside-empty {\\n width: 100%;\\n margin-top: 40px;\\n\\n display: flex;\\n flex-direction: column;\\n justify-content: center;\\n align-items: center;\\n\\n & path {\\n fill: var(--secondary-color);\\n }\\n\\n & p {\\n text-align: center;\\n }\\n }\\n\\n &__aside-header {\\n width: 100% !important;\\n padding: 0 15px;\\n }\\n\\n &__scroll-content {\\n overflow-y: auto;\\n margin-bottom: 0.5rem;\\n }\\n\\n &__aside-list {\\n width: 100% !important;\\n padding: 0 10px 10px 10px;\\n\\n height: 100%;\\n overflow-y: auto;\\n overflow-x: hidden;\\n\\n display: flex;\\n flex-direction: column;\\n justify-content: flex-start;\\n align-items: center;\\n\\n & > .ant-ribbon-wrapper {\\n width: 100%;\\n\\n & .ant-ribbon {\\n z-index: -1;\\n top: 0;\\n }\\n }\\n }\\n\\n &__aside-item-container {\\n min-width: 100%;\\n position: relative;\\n }\\n\\n &__active-badge {\\n z-index: 15 !important;\\n }\\n\\n &__aside-protocol {\\n position: absolute;\\n right: 0;\\n top: 0;\\n border-radius: 10px;\\n background-color: var(--secondary-color);\\n padding: 0 0.5rem;\\n font-size: 0.6rem;\\n }\\n\\n &__aside-timer {\\n align-items: center;\\n display: flex;\\n font-size: 12px;\\n }\\n\\n &__aside-list-item {\\n border-radius: 0;\\n cursor: pointer;\\n display: flex;\\n flex-direction: row;\\n height: 72px;\\n padding: 5px 10px;\\n width: 100% !important;\\n\\n &:hover {\\n background: @component-background;\\n border-radius: 0;\\n }\\n\\n &--avatar {\\n align-items: center;\\n background: @secondary-bg-color-chat;\\n border-radius: 50%;\\n color: @messenger-primary-color;\\n display: flex;\\n flex: 0 0 auto;\\n font-size: 25px;\\n font-weight: bold;\\n height: 50px;\\n justify-content: center;\\n line-height: 2.2;\\n margin: auto 10px auto 0;\\n text-transform: uppercase;\\n user-select: none;\\n width: 50px;\\n\\n @media @tab-xl {\\n height: 45px;\\n width: 45px;\\n }\\n\\n & img {\\n height: 54px;\\n width: 54px;\\n border-radius: 50%;\\n }\\n }\\n\\n &--info,\\n &--additional {\\n display: flex;\\n flex-direction: column;\\n gap: 0.5rem;\\n height: 100%;\\n }\\n\\n &--info {\\n max-width: 120px;\\n min-width: 120px;\\n\\n @media @desktop-xxl {\\n max-width: 140px;\\n min-width: 140px;\\n }\\n\\n @media @tab-lg {\\n max-width: 65%;\\n min-width: 65%;\\n }\\n\\n @media @phone-sm {\\n max-width: 120px;\\n min-width: 120px;\\n }\\n }\\n\\n &--additional {\\n align-items: flex-end;\\n font-size: 11px;\\n margin-left: 5px;\\n width: 100%;\\n }\\n\\n &--unread {\\n background-color: @messenger-primary-color;\\n border-radius: 50%;\\n width: 20px;\\n height: 20px;\\n text-align: center;\\n\\n .flex-full-center();\\n }\\n\\n &--title,\\n &--description {\\n line-height: 1;\\n overflow: hidden;\\n margin: 0;\\n max-width: 160px;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n width: 100%;\\n }\\n\\n &--title {\\n font-weight: bold;\\n font-size: 14px;\\n }\\n\\n &--description {\\n font-size: 12px;\\n }\\n }\\n\\n &__messages {\\n width: 70% !important;\\n\\n display: flex;\\n flex-direction: column;\\n justify-content: space-evenly;\\n\\n @media @tab-lg {\\n width: 100% !important;\\n }\\n }\\n\\n &__messages-header,\\n &__messages-send {\\n padding: 5px;\\n min-height: 10%;\\n width: 100%;\\n }\\n\\n &__messages-header {\\n @media @tab-lg {\\n border-radius: @border-radius @border-radius 0 0;\\n }\\n\\n border-radius: 0 @border-radius 0 0;\\n display: flex;\\n flex-direction: row;\\n align-items: center;\\n justify-content: space-between;\\n }\\n\\n &__messages-container {\\n max-height: 80%;\\n height: 100%;\\n padding: 0 24px;\\n overflow: auto;\\n overflow-x: hidden;\\n scroll-behavior: auto;\\n background-color: @card-background;\\n\\n &--empty {\\n width: 100%;\\n height: 100%;\\n border-radius: 0 @border-radius @border-radius 0;\\n background-color: @card-background;\\n\\n display: flex;\\n flex-direction: column;\\n align-items: center;\\n justify-content: center;\\n\\n & path {\\n fill: @messenger-primary-color;\\n }\\n\\n & p {\\n text-align: center;\\n margin-top: 24px;\\n }\\n }\\n }\\n\\n &__messages-loading {\\n width: 100%;\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n margin-top: 10px;\\n\\n & div {\\n animation: spin 1s infinite linear;\\n border-left: 2px solid var(--secondary-color);\\n border-radius: 50%;\\n height: 25px;\\n margin-bottom: 10px;\\n width: 25px;\\n }\\n }\\n\\n &__messages-row--sender,\\n &__messages-row--received,\\n &__messages-row--system {\\n width: 100%;\\n height: fit-content;\\n margin: 10px 0;\\n display: flex;\\n align-items: center;\\n }\\n\\n &__messages-row--sender {\\n justify-content: flex-end;\\n }\\n\\n &__messages-row--received {\\n justify-content: flex-start;\\n }\\n\\n &__messages-row--system {\\n justify-content: center;\\n }\\n\\n &__messages-received,\\n &__messages-sender {\\n min-width: 75px;\\n width: fit-content;\\n padding: 10px;\\n\\n & > span {\\n color: var(--secondary-color);\\n overflow-wrap: break-word;\\n word-break: break-word;\\n width: 200px;\\n }\\n }\\n\\n &__messages-received {\\n max-width: 500px;\\n background-color: @grey-2;\\n border-radius: 12px 12px 12px 0;\\n\\n &--system {\\n border-radius: 12px;\\n }\\n }\\n\\n &__messages-sender {\\n max-width: 450px;\\n margin-top: -2px;\\n background-color: @messenger-primary-color;\\n border-radius: 12px 12px 0 12px;\\n }\\n\\n &__message-title {\\n max-width: 100%;\\n white-space: nowrap;\\n overflow: hidden;\\n max-width: 100%;\\n display: block;\\n\\n line-height: 1;\\n padding: 0;\\n margin: 0 0 3px;\\n justify-content: flex-end;\\n font-size: 13px;\\n color: var(--secondary-color);\\n font-weight: bold;\\n filter: opacity(0.7);\\n font-weight: 700;\\n }\\n\\n &__message {\\n padding: 0;\\n margin: 0;\\n white-space: pre-wrap;\\n line-height: 1.2;\\n\\n &--file {\\n cursor: pointer;\\n\\n img {\\n object-fit: scale-down;\\n }\\n }\\n\\n &--bottom {\\n width: 100%;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n gap: 5px;\\n margin-top: 5px;\\n }\\n\\n &--date {\\n font-size: 11.5px;\\n padding: 0;\\n margin-top: 5px;\\n margin-bottom: 0;\\n margin-right: 0;\\n text-align: right;\\n line-height: 14px;\\n }\\n }\\n\\n &__message-empty {\\n width: 100%;\\n margin-top: 40px;\\n\\n display: flex;\\n flex-direction: column;\\n justify-content: center;\\n align-items: center;\\n\\n & p {\\n text-align: center;\\n }\\n }\\n\\n &__message-avatar {\\n @media @phone-sm {\\n display: none;\\n }\\n }\\n\\n &__messages-send {\\n border-radius: 0 0 @border-radius 0;\\n border-top: 0;\\n\\n @media @tab-lg {\\n border-radius: 0 0 @border-radius @border-radius;\\n }\\n\\n display: flex;\\n flex-direction: row;\\n justify-content: center;\\n align-items: center;\\n\\n &--form {\\n align-items: center;\\n display: flex;\\n gap: 10px;\\n width: 100%;\\n }\\n\\n &__input {\\n border: 0;\\n border-radius: 12px;\\n display: flex;\\n flex: 1 1 auto;\\n height: 50px;\\n line-height: 26px;\\n max-height: 90px;\\n outline: none;\\n overflow-y: auto;\\n padding: 10px 12px 9px;\\n resize: none;\\n width: 90%;\\n\\n &--disabled {\\n cursor: not-allowed;\\n opacity: 0.5;\\n }\\n\\n &::placeholder {\\n color: @border-color;\\n }\\n }\\n\\n &__input-container {\\n align-items: center;\\n border-radius: 12px;\\n display: flex;\\n flex: 1 1 auto;\\n }\\n\\n &__button {\\n height: 45px !important;\\n width: 45px !important;\\n border-radius: 50%;\\n border: none;\\n outline: none;\\n cursor: pointer;\\n\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n\\n &--disabled {\\n cursor: not-allowed;\\n opacity: 0.5;\\n }\\n\\n &:hover {\\n opacity: 0.7;\\n transition: 200ms;\\n }\\n }\\n\\n &--file {\\n display: none;\\n }\\n\\n &__attach {\\n cursor: pointer;\\n width: 40px;\\n\\n &--disabled {\\n cursor: not-allowed;\\n }\\n }\\n }\\n\\n &__new-chat-form {\\n overflow-y: scroll;\\n border-radius: 0 20px 20px 0;\\n height: 100%;\\n padding: 1rem;\\n\\n @media @tab-md {\\n border-radius: 20px !important;\\n }\\n }\\n\\n &__new-chat-form-header {\\n display: flex;\\n justify-content: space-between;\\n margin: 1rem 0;\\n }\\n\\n &__new-chat-form-title {\\n color: @title-form-color;\\n margin-right: 1rem;\\n }\\n\\n &__new-chat-form-close {\\n background: none;\\n border: none;\\n cursor: pointer;\\n }\\n\\n &__new-chat-fields,\\n &__disclaimer {\\n margin: 0 1rem;\\n }\\n\\n &__disclaimer {\\n border: solid 1px;\\n border-radius: 10px;\\n padding: 0.8rem;\\n margin-bottom: 1rem;\\n }\\n\\n &__new-chat-form-send {\\n border: none;\\n border-radius: 30px;\\n cursor: pointer;\\n font-weight: bolder;\\n margin: 25px 0;\\n padding: 0.5rem;\\n\\n &:hover {\\n opacity: 0.9;\\n }\\n &--disabled {\\n cursor: not-allowed;\\n background-color: #ccc;\\n }\\n }\\n\\n &__buttons-container {\\n display: flex;\\n flex-direction: column;\\n padding-top: 1rem;\\n width: 100%;\\n }\\n\\n &__chat-button {\\n border: none;\\n border-radius: 30px;\\n color: var(--secondary-color);\\n cursor: pointer;\\n font-size: 1rem;\\n font-weight: bold;\\n margin: 0.5rem 1rem;\\n padding: 0.5rem;\\n }\\n\\n &__chat-button--disabled {\\n cursor: not-allowed;\\n }\\n\\n &__input-button {\\n border: none;\\n border-radius: 30px;\\n color: var(--secondary-color);\\n font-size: 1rem;\\n font-weight: bold;\\n margin: 0.5rem 1rem;\\n padding: 0.5rem;\\n }\\n\\n &__input-button-label {\\n color: var(--secondary-color);\\n font-weight: bold;\\n margin: 0rem 1rem;\\n }\\n\\n &__input-button::-webkit-calendar-picker-indicator {\\n filter: invert(1);\\n }\\n\\n &__mobile-hide {\\n @media @tab-lg {\\n display: none !important;\\n }\\n }\\n}\\n\\n.styles-module_wrapper__1I_qj {\\n z-index: 60 !important;\\n background-color: rgba(0, 0, 0, 70%) !important;\\n}\\n\",\".flex-full-center() {\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n}\\n\",\"*,\\n::after,\\n::before {\\n padding: 0;\\n margin: 0;\\n}\\n\",\"// ANTD MEDIA QUERIES\\n@phone-xs: ~'only screen and (max-width: 480px)';\\n@phone-sm: ~'only screen and (max-width: 576px)';\\n@tab-md: ~'only screen and (max-width: 768px)';\\n@tab-lg: ~'only screen and (max-width: 992px)';\\n@tab-lg-min: ~'only screen and (min-width: 992px)';\\n@tab-xl: ~'only screen and (max-width: 1200px)';\\n\\n// [1200 - 1600] - normal style //\\n@desktop-xxl: ~'only screen and (min-width: 1600px)';\\n\\n@grey-1: #94989d;\\n@grey-2: #707070;\\n@border-color: #aaaaaa;\\n@messenger-primary-color: #00a73e;\\n@messenger-messages-bg: #eeeeee;\\n@secondary-bg-color-chat: #484c52;\\n@card-background: #dddddd;\\n@upload-file-icon-color: #8696a0;\\n@border-radius: 20px;\\n@body-background: blue;\\n@component-background: #232831;\\n@full-content-height: calc(100vh - 23px);\\n@title-form-color: #476077;\\n@border-radius: 20px;\\n@document-message-bg: #34c759;\\n@text-color-white: #ffffff;\\n\\n:root {\\n --secondary-color: var(--secondary-color);\\n}\\n\",\"@keyframes spin {\\n 0% {\\n transform: rotate(0deg);\\n }\\n 100% {\\n transform: rotate(360deg);\\n }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n var list = [];\n\n // return the list of modules as css string\n list.toString = function toString() {\n return this.map(function (item) {\n var content = \"\";\n var needLayer = typeof item[5] !== \"undefined\";\n if (item[4]) {\n content += \"@supports (\".concat(item[4], \") {\");\n }\n if (item[2]) {\n content += \"@media \".concat(item[2], \" {\");\n }\n if (needLayer) {\n content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n }\n content += cssWithMappingToString(item);\n if (needLayer) {\n content += \"}\";\n }\n if (item[2]) {\n content += \"}\";\n }\n if (item[4]) {\n content += \"}\";\n }\n return content;\n }).join(\"\");\n };\n\n // import a list of modules into the list\n list.i = function i(modules, media, dedupe, supports, layer) {\n if (typeof modules === \"string\") {\n modules = [[null, modules, undefined]];\n }\n var alreadyImportedModules = {};\n if (dedupe) {\n for (var k = 0; k < this.length; k++) {\n var id = this[k][0];\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n for (var _k = 0; _k < modules.length; _k++) {\n var item = [].concat(modules[_k]);\n if (dedupe && alreadyImportedModules[item[0]]) {\n continue;\n }\n if (typeof layer !== \"undefined\") {\n if (typeof item[5] === \"undefined\") {\n item[5] = layer;\n } else {\n item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n item[5] = layer;\n }\n }\n if (media) {\n if (!item[2]) {\n item[2] = media;\n } else {\n item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n item[2] = media;\n }\n }\n if (supports) {\n if (!item[4]) {\n item[4] = \"\".concat(supports);\n } else {\n item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n item[4] = supports;\n }\n }\n list.push(item);\n }\n };\n return list;\n};","\"use strict\";\n\nmodule.exports = function (item) {\n var content = item[1];\n var cssMapping = item[3];\n if (!cssMapping) {\n return content;\n }\n if (typeof btoa === \"function\") {\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(cssMapping))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n var sourceMapping = \"/*# \".concat(data, \" */\");\n return [content].concat([sourceMapping]).join(\"\\n\");\n }\n return [content].join(\"\\n\");\n};","!function(e,o){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=o(require(\"dayjs\")):\"function\"==typeof define&&define.amd?define([\"dayjs\"],o):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_locale_pt_br=o(e.dayjs)}(this,(function(e){\"use strict\";function o(e){return e&&\"object\"==typeof e&&\"default\"in e?e:{default:e}}var a=o(e),s={name:\"pt-br\",weekdays:\"domingo_segunda-feira_terça-feira_quarta-feira_quinta-feira_sexta-feira_sábado\".split(\"_\"),weekdaysShort:\"dom_seg_ter_qua_qui_sex_sáb\".split(\"_\"),weekdaysMin:\"Do_2ª_3ª_4ª_5ª_6ª_Sá\".split(\"_\"),months:\"janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro\".split(\"_\"),monthsShort:\"jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez\".split(\"_\"),ordinal:function(e){return e+\"º\"},formats:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D [de] MMMM [de] YYYY\",LLL:\"D [de] MMMM [de] YYYY [às] HH:mm\",LLLL:\"dddd, D [de] MMMM [de] YYYY [às] HH:mm\"},relativeTime:{future:\"em %s\",past:\"há %s\",s:\"poucos segundos\",m:\"um minuto\",mm:\"%d minutos\",h:\"uma hora\",hh:\"%d horas\",d:\"um dia\",dd:\"%d dias\",M:\"um mês\",MM:\"%d meses\",y:\"um ano\",yy:\"%d anos\"}};return a.default.locale(s,null,!0),s}));","!function(e,o){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=o():\"function\"==typeof define&&define.amd?define(o):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_isToday=o()}(this,(function(){\"use strict\";return function(e,o,t){o.prototype.isToday=function(){var e=\"YYYY-MM-DD\",o=t();return this.format(e)===o.format(e)}}}));","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs_plugin_timezone=e()}(this,(function(){\"use strict\";var t={year:0,month:1,day:2,hour:3,minute:4,second:5},e={};return function(n,i,o){var r,a=function(t,n,i){void 0===i&&(i={});var o=new Date(t),r=function(t,n){void 0===n&&(n={});var i=n.timeZoneName||\"short\",o=t+\"|\"+i,r=e[o];return r||(r=new Intl.DateTimeFormat(\"en-US\",{hour12:!1,timeZone:t,year:\"numeric\",month:\"2-digit\",day:\"2-digit\",hour:\"2-digit\",minute:\"2-digit\",second:\"2-digit\",timeZoneName:i}),e[o]=r),r}(n,i);return r.formatToParts(o)},u=function(e,n){for(var i=a(e,n),r=[],u=0;u<i.length;u+=1){var f=i[u],s=f.type,m=f.value,c=t[s];c>=0&&(r[c]=parseInt(m,10))}var d=r[3],l=24===d?0:d,v=r[0]+\"-\"+r[1]+\"-\"+r[2]+\" \"+l+\":\"+r[4]+\":\"+r[5]+\":000\",h=+e;return(o.utc(v).valueOf()-(h-=h%1e3))/6e4},f=i.prototype;f.tz=function(t,e){void 0===t&&(t=r);var n=this.utcOffset(),i=this.toDate(),a=i.toLocaleString(\"en-US\",{timeZone:t}),u=Math.round((i-new Date(a))/1e3/60),f=o(a).$set(\"millisecond\",this.$ms).utcOffset(15*-Math.round(i.getTimezoneOffset()/15)-u,!0);if(e){var s=f.utcOffset();f=f.add(n-s,\"minute\")}return f.$x.$timezone=t,f},f.offsetName=function(t){var e=this.$x.$timezone||o.tz.guess(),n=a(this.valueOf(),e,{timeZoneName:t}).find((function(t){return\"timezonename\"===t.type.toLowerCase()}));return n&&n.value};var s=f.startOf;f.startOf=function(t,e){if(!this.$x||!this.$x.$timezone)return s.call(this,t,e);var n=o(this.format(\"YYYY-MM-DD HH:mm:ss:SSS\"));return s.call(n,t,e).tz(this.$x.$timezone,!0)},o.tz=function(t,e,n){var i=n&&e,a=n||e||r,f=u(+o(),a);if(\"string\"!=typeof t)return o(t).tz(a);var s=function(t,e,n){var i=t-60*e*1e3,o=u(i,n);if(e===o)return[i,e];var r=u(i-=60*(o-e)*1e3,n);return o===r?[i,o]:[t-60*Math.min(o,r)*1e3,Math.max(o,r)]}(o.utc(t,i).valueOf(),f,a),m=s[0],c=s[1],d=o(m).utcOffset(c);return d.$x.$timezone=a,d},o.tz.guess=function(){return Intl.DateTimeFormat().resolvedOptions().timeZone},o.tz.setDefault=function(t){r=t}}}));","!function(t,i){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=i():\"function\"==typeof define&&define.amd?define(i):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs_plugin_utc=i()}(this,(function(){\"use strict\";var t=\"minute\",i=/[+-]\\d\\d(?::?\\d\\d)?/g,e=/([+-]|\\d\\d)/g;return function(s,f,n){var u=f.prototype;n.utc=function(t){var i={date:t,utc:!0,args:arguments};return new f(i)},u.utc=function(i){var e=n(this.toDate(),{locale:this.$L,utc:!0});return i?e.add(this.utcOffset(),t):e},u.local=function(){return n(this.toDate(),{locale:this.$L,utc:!1})};var o=u.parse;u.parse=function(t){t.utc&&(this.$u=!0),this.$utils().u(t.$offset)||(this.$offset=t.$offset),o.call(this,t)};var r=u.init;u.init=function(){if(this.$u){var t=this.$d;this.$y=t.getUTCFullYear(),this.$M=t.getUTCMonth(),this.$D=t.getUTCDate(),this.$W=t.getUTCDay(),this.$H=t.getUTCHours(),this.$m=t.getUTCMinutes(),this.$s=t.getUTCSeconds(),this.$ms=t.getUTCMilliseconds()}else r.call(this)};var a=u.utcOffset;u.utcOffset=function(s,f){var n=this.$utils().u;if(n(s))return this.$u?0:n(this.$offset)?a.call(this):this.$offset;if(\"string\"==typeof s&&(s=function(t){void 0===t&&(t=\"\");var s=t.match(i);if(!s)return null;var f=(\"\"+s[0]).match(e)||[\"-\",0,0],n=f[0],u=60*+f[1]+ +f[2];return 0===u?0:\"+\"===n?u:-u}(s),null===s))return this;var u=Math.abs(s)<=16?60*s:s,o=this;if(f)return o.$offset=u,o.$u=0===s,o;if(0!==s){var r=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();(o=this.local().add(u+r,t)).$offset=u,o.$x.$localOffset=r}else o=this.utc();return o};var h=u.format;u.format=function(t){var i=t||(this.$u?\"YYYY-MM-DDTHH:mm:ss[Z]\":\"\");return h.call(this,i)},u.valueOf=function(){var t=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||this.$d.getTimezoneOffset());return this.$d.valueOf()-6e4*t},u.isUTC=function(){return!!this.$u},u.toISOString=function(){return this.toDate().toISOString()},u.toString=function(){return this.toDate().toUTCString()};var l=u.toDate;u.toDate=function(t){return\"s\"===t&&this.$offset?n(this.format(\"YYYY-MM-DD HH:mm:ss:SSS\")).toDate():l.call(this)};var c=u.diff;u.diff=function(t,i,e){if(t&&this.$u===t.$u)return c.call(this,t,i,e);var s=this.local(),f=n(t).local();return c.call(s,f,i,e)}}}));","\"use strict\";\n\nvar stylesInDOM = [];\n\nfunction getIndexByIdentifier(identifier) {\n var result = -1;\n\n for (var i = 0; i < stylesInDOM.length; i++) {\n if (stylesInDOM[i].identifier === identifier) {\n result = i;\n break;\n }\n }\n\n return result;\n}\n\nfunction modulesToDom(list, options) {\n var idCountMap = {};\n var identifiers = [];\n\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = options.base ? item[0] + options.base : item[0];\n var count = idCountMap[id] || 0;\n var identifier = \"\".concat(id, \" \").concat(count);\n idCountMap[id] = count + 1;\n var indexByIdentifier = getIndexByIdentifier(identifier);\n var obj = {\n css: item[1],\n media: item[2],\n sourceMap: item[3],\n supports: item[4],\n layer: item[5]\n };\n\n if (indexByIdentifier !== -1) {\n stylesInDOM[indexByIdentifier].references++;\n stylesInDOM[indexByIdentifier].updater(obj);\n } else {\n var updater = addElementStyle(obj, options);\n options.byIndex = i;\n stylesInDOM.splice(i, 0, {\n identifier: identifier,\n updater: updater,\n references: 1\n });\n }\n\n identifiers.push(identifier);\n }\n\n return identifiers;\n}\n\nfunction addElementStyle(obj, options) {\n var api = options.domAPI(options);\n api.update(obj);\n\n var updater = function updater(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap && newObj.supports === obj.supports && newObj.layer === obj.layer) {\n return;\n }\n\n api.update(obj = newObj);\n } else {\n api.remove();\n }\n };\n\n return updater;\n}\n\nmodule.exports = function (list, options) {\n options = options || {};\n list = list || [];\n var lastIdentifiers = modulesToDom(list, options);\n return function update(newList) {\n newList = newList || [];\n\n for (var i = 0; i < lastIdentifiers.length; i++) {\n var identifier = lastIdentifiers[i];\n var index = getIndexByIdentifier(identifier);\n stylesInDOM[index].references--;\n }\n\n var newLastIdentifiers = modulesToDom(newList, options);\n\n for (var _i = 0; _i < lastIdentifiers.length; _i++) {\n var _identifier = lastIdentifiers[_i];\n\n var _index = getIndexByIdentifier(_identifier);\n\n if (stylesInDOM[_index].references === 0) {\n stylesInDOM[_index].updater();\n\n stylesInDOM.splice(_index, 1);\n }\n }\n\n lastIdentifiers = newLastIdentifiers;\n };\n};","\"use strict\";\n\nvar memo = {};\n/* istanbul ignore next */\n\nfunction getTarget(target) {\n if (typeof memo[target] === \"undefined\") {\n var styleTarget = document.querySelector(target); // Special case to return head of iframe instead of iframe itself\n\n if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n try {\n // This will throw an exception if access to iframe is blocked\n // due to cross-origin restrictions\n styleTarget = styleTarget.contentDocument.head;\n } catch (e) {\n // istanbul ignore next\n styleTarget = null;\n }\n }\n\n memo[target] = styleTarget;\n }\n\n return memo[target];\n}\n/* istanbul ignore next */\n\n\nfunction insertBySelector(insert, style) {\n var target = getTarget(insert);\n\n if (!target) {\n throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n }\n\n target.appendChild(style);\n}\n\nmodule.exports = insertBySelector;","\"use strict\";\n\n/* istanbul ignore next */\nfunction insertStyleElement(options) {\n var element = document.createElement(\"style\");\n options.setAttributes(element, options.attributes);\n options.insert(element, options.options);\n return element;\n}\n\nmodule.exports = insertStyleElement;","\"use strict\";\n\n/* istanbul ignore next */\nfunction setAttributesWithoutAttributes(styleElement) {\n var nonce = typeof __webpack_nonce__ !== \"undefined\" ? __webpack_nonce__ : null;\n\n if (nonce) {\n styleElement.setAttribute(\"nonce\", nonce);\n }\n}\n\nmodule.exports = setAttributesWithoutAttributes;","\"use strict\";\n\n/* istanbul ignore next */\nfunction apply(styleElement, options, obj) {\n var css = \"\";\n\n if (obj.supports) {\n css += \"@supports (\".concat(obj.supports, \") {\");\n }\n\n if (obj.media) {\n css += \"@media \".concat(obj.media, \" {\");\n }\n\n var needLayer = typeof obj.layer !== \"undefined\";\n\n if (needLayer) {\n css += \"@layer\".concat(obj.layer.length > 0 ? \" \".concat(obj.layer) : \"\", \" {\");\n }\n\n css += obj.css;\n\n if (needLayer) {\n css += \"}\";\n }\n\n if (obj.media) {\n css += \"}\";\n }\n\n if (obj.supports) {\n css += \"}\";\n }\n\n var sourceMap = obj.sourceMap;\n\n if (sourceMap && typeof btoa !== \"undefined\") {\n css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n } // For old IE\n\n /* istanbul ignore if */\n\n\n options.styleTagTransform(css, styleElement, options.options);\n}\n\nfunction removeStyleElement(styleElement) {\n // istanbul ignore if\n if (styleElement.parentNode === null) {\n return false;\n }\n\n styleElement.parentNode.removeChild(styleElement);\n}\n/* istanbul ignore next */\n\n\nfunction domAPI(options) {\n var styleElement = options.insertStyleElement(options);\n return {\n update: function update(obj) {\n apply(styleElement, options, obj);\n },\n remove: function remove() {\n removeStyleElement(styleElement);\n }\n };\n}\n\nmodule.exports = domAPI;","\"use strict\";\n\n/* istanbul ignore next */\nfunction styleTagTransform(css, styleElement) {\n if (styleElement.styleSheet) {\n styleElement.styleSheet.cssText = css;\n } else {\n while (styleElement.firstChild) {\n styleElement.removeChild(styleElement.firstChild);\n }\n\n styleElement.appendChild(document.createTextNode(css));\n }\n}\n\nmodule.exports = styleTagTransform;","module.exports = \"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' version='1.1' width='256' height='256' viewBox='0 0 256 256' xml:space='preserve'%3e %3cdesc%3eCreated with Fabric.js 1.7.22%3c/desc%3e %3cdefs%3e %3c/defs%3e %3cg transform='translate(128 128) scale(0.72 0.72)' style=''%3e %3cg style='stroke: none; stroke-width: 0; stroke-dasharray: none; stroke-linecap: butt; stroke-linejoin: miter; stroke-miterlimit: 10; fill: none; fill-rule: nonzero; opacity: 1;' transform='translate(-175.05 -175.05000000000004) scale(3.89 3.89)' %3e %3cpath d='M 87.85 41.551 L 5.545 1.167 C 2.414 -0.369 -0.979 2.725 0.263 5.984 l 14.342 37.648 c 0.336 0.881 0.336 1.854 0 2.735 L 0.263 84.016 c -1.241 3.259 2.152 6.353 5.282 4.817 L 87.85 48.449 C 90.717 47.043 90.717 42.957 87.85 41.551 z' style='stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-linejoin: miter; stroke-miterlimit: 10; fill: rgb(255,255,255); fill-rule: nonzero; opacity: 1;' transform=' matrix(1 0 0 1 0 0) ' stroke-linecap='round' /%3e %3c/g%3e %3c/g%3e %3c/svg%3e\"","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_dayjs__;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","__webpack_require__.nc = undefined;","\n import API from \"!../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/less-loader/dist/cjs.js!./index.less\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/less-loader/dist/cjs.js!./index.less\";\n export default content && content.locals ? content.locals : undefined;\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"Fragment\"]: () => __WEBPACK_EXTERNAL_MODULE_react__.Fragment, [\"createContext\"]: () => __WEBPACK_EXTERNAL_MODULE_react__.createContext, [\"createElement\"]: () => __WEBPACK_EXTERNAL_MODULE_react__.createElement, [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_react__[\"default\"], [\"useCallback\"]: () => __WEBPACK_EXTERNAL_MODULE_react__.useCallback, [\"useContext\"]: () => __WEBPACK_EXTERNAL_MODULE_react__.useContext, [\"useEffect\"]: () => __WEBPACK_EXTERNAL_MODULE_react__.useEffect, [\"useMemo\"]: () => __WEBPACK_EXTERNAL_MODULE_react__.useMemo, [\"useRef\"]: () => __WEBPACK_EXTERNAL_MODULE_react__.useRef, [\"useState\"]: () => __WEBPACK_EXTERNAL_MODULE_react__.useState });","import React, { createContext, ReactNode } from 'react'\r\n\r\nconst defaultThemeVariables = {\r\n asideBg: '#eee',\r\n asideFontColor: 'var(--secondary-color)',\r\n messengerMessagesBg: '#eeeeee',\r\n headerAndSenderBg: '#232831',\r\n buttonPrimary: '#25D366',\r\n buttonPrimaryText: '#707070',\r\n buttonsDisabled: '#94989D',\r\n uploadFileIconColor: '#8696a0',\r\n messengerNotSelectedBg: '#DDDDDD',\r\n newChatFormBg: '',\r\n newChatFormRadius: '0 20px 20px 0',\r\n newChatFormTexts: '#000',\r\n newChatFormDeleteFileButton: '#DD4E4E',\r\n disclaimerPrimaryColor: '#4791FF',\r\n disclaimerSecondaryColor: '#4791FF',\r\n disclaimerTextColor: '#000',\r\n messengerSenderColor: '#00A73E',\r\n messengerIncomerColor: '#707070',\r\n messengerSystemColor: '#2A313A',\r\n borderColor: '#AAAAAA',\r\n inputBg: 'var(--secondary-color)',\r\n chatInputBorder: '',\r\n listItemHover: '',\r\n active: '',\r\n activeTabBorter: '#25D366',\r\n emptyMessagesFontColor: '#000',\r\n documentMessagesTextColor: '#fff',\r\n}\r\n\r\ntype ThemeVariables = typeof defaultThemeVariables\r\n\r\ntype ThemeContextContent = {\r\n theme: Partial<ThemeVariables>\r\n}\r\n\r\nexport const MessageThemeContext = createContext<ThemeContextContent>(\r\n {} as unknown as ThemeContextContent\r\n)\r\n\r\ntype Props = {\r\n children: ReactNode\r\n theme?: Partial<ThemeVariables>\r\n}\r\nconst MessageThemeWrapper = ({\r\n children,\r\n theme = defaultThemeVariables,\r\n}: Props) => {\r\n const config = {\r\n theme,\r\n }\r\n\r\n return (\r\n <MessageThemeContext.Provider value={config}>\r\n {children}\r\n </MessageThemeContext.Provider>\r\n )\r\n}\r\n\r\nexport default MessageThemeWrapper\r\n","import { useContext } from 'react'\r\nimport { MessageThemeContext } from '../components/MessengerThemeWrapper/MessengerThemeWrapper'\r\n\r\nconst useTheme = () => {\r\n const context = useContext(MessageThemeContext)\r\n\r\n if (context === undefined) {\r\n throw new Error('useTheme must be used within a ThemeProvider')\r\n }\r\n\r\n return context\r\n}\r\n\r\nexport default useTheme\r\n","import dayjs, { ConfigType, Dayjs } from 'dayjs'\r\nimport dayjsBR from 'dayjs/locale/pt-br'\r\nimport utc from 'dayjs/plugin/utc'\r\nimport timezone from 'dayjs/plugin/timezone'\r\nimport isToday from 'dayjs/plugin/isToday'\r\nconst serverTz = 'America/Sao_Paulo'\r\n\r\ndayjs.extend(utc)\r\ndayjs.extend(timezone)\r\ndayjs.extend(isToday)\r\ndayjs.locale(dayjsBR)\r\n\r\nexport const timeAsDayjs = (\r\n value: ConfigType = new Date(),\r\n options?: { server?: boolean; applyTimezone?: boolean }\r\n): Dayjs => {\r\n const server = options?.server\r\n const applyTimezone = options?.applyTimezone\r\n\r\n let timezone = dayjs.tz.guess()\r\n if (!(applyTimezone ?? true)) timezone = 'GMT'\r\n else if (server ?? false) timezone = serverTz\r\n\r\n return dayjs.tz(value, timezone)\r\n}\r\n\r\nexport const time = (\r\n value: ConfigType = new Date(),\r\n options?: { server?: boolean; applyTimezone?: boolean }\r\n): Date => {\r\n const server = options?.server\r\n const applyTimezone = options?.applyTimezone\r\n let aux: Dayjs\r\n\r\n if (!(applyTimezone ?? true))\r\n aux = dayjs.tz(value, 'GMT') // Set applyTimezone to false when timezone is applied incorrectly (usually when working with JSDate and timestamps)\r\n else if (server ?? false) aux = dayjs.tz(value, serverTz)\r\n else aux = dayjs.tz(value, dayjs.tz.guess())\r\n\r\n return new Date(\r\n Date.UTC(\r\n aux.year(),\r\n aux.month(),\r\n aux.date(),\r\n aux.hour(),\r\n aux.minute(),\r\n aux.second(),\r\n aux.millisecond()\r\n )\r\n )\r\n}\r\n\r\nexport class SlaDates {\r\n public seconds: number | null\r\n\r\n constructor (seconds: number) {\r\n this.seconds = seconds\r\n }\r\n\r\n private holidays = {\r\n 2023: ['09-07', '10-12', '10-17', '11-02', '11-15', '11-20', '12-25'],\r\n }\r\n\r\n private isWorkingDay (date: Dayjs) {\r\n const dayOfWeek = date.day()\r\n return dayOfWeek >= 1 && dayOfWeek <= 5 // Monday to Friday (1 to 5)\r\n }\r\n\r\n private isWorkingHour (date: Dayjs) {\r\n const hour = date.hour()\r\n return hour >= 9 && hour <= 18 // Between 9 AM and 5 PM (inclusive)\r\n }\r\n\r\n public isWeekendOrHoliday (date: Dayjs | Date | string): boolean {\r\n const weekDay = timeAsDayjs(date, { applyTimezone: false }).day()\r\n if ([6, 0].includes(weekDay)) return true\r\n\r\n const formatedDate = timeAsDayjs(date).format('MM-DD')\r\n const isHollyday = this.holidays[2023].includes(formatedDate)\r\n return isHollyday\r\n }\r\n\r\n private isHoliday (date: Dayjs) {\r\n const formatedDate = timeAsDayjs(date, { applyTimezone: false }).format(\r\n 'MM-DD'\r\n )\r\n const isHollyday = this.holidays[2023].includes(formatedDate)\r\n return isHollyday\r\n }\r\n\r\n public canUpdateClock (date: Dayjs) {\r\n const isWorking = this.isWorkingDay(date) && this.isWorkingHour(date)\r\n return !this.isWeekendOrHoliday(date) && isWorking\r\n }\r\n\r\n public getDiffInSeconds (\r\n startDate: dayjs.Dayjs,\r\n endDate: dayjs.Dayjs\r\n ): number {\r\n const diffInSeconds = endDate.diff(startDate, 'second')\r\n return diffInSeconds\r\n }\r\n\r\n calculateWorkingTime (\r\n startDate: Dayjs,\r\n endDate: Dayjs,\r\n workingHours: { start: number; end: number }\r\n ) {\r\n let current = startDate.clone()\r\n let workingTime = 0\r\n\r\n while (current.isBefore(endDate)) {\r\n // Skip weekends (Saturday and Sunday) and Holydays\r\n\r\n if (this.isWorkingDay(current) && !this.isHoliday(current)) {\r\n const startOfDay = current\r\n .clone()\r\n .startOf('day')\r\n .add(workingHours.start, 'hour')\r\n const endOfDay = current\r\n .clone()\r\n .startOf('day')\r\n .add(workingHours.end, 'hour')\r\n\r\n if (current.isBefore(startOfDay)) {\r\n // If current time is before the start of working hours, move to the start of working hours\r\n current = startOfDay.clone()\r\n }\r\n\r\n if (current.isAfter(endOfDay)) {\r\n current = current.clone().add(1, 'day').startOf('day')\r\n } else if (endDate.isAfter(endOfDay)) {\r\n // If end date is after the end of working hours, add a full working day\r\n\r\n workingTime += Math.abs(endOfDay.clone().diff(current, 'second'))\r\n current = current\r\n .clone()\r\n .add(1, 'day')\r\n .startOf('day')\r\n .add(workingHours.start, 'hour')\r\n } else {\r\n // Calculate working time for the last day (end date)\r\n workingTime += Math.abs(endDate.clone().diff(current, 'second'))\r\n\r\n break\r\n }\r\n } else {\r\n // Move to the next day\r\n current = current.clone().add(1, 'day').startOf('day')\r\n }\r\n }\r\n\r\n return workingTime\r\n }\r\n\r\n // Function to calculate the difference in seconds between two dates considering working hours\r\n getDifferenceInSeconds (\r\n startDate: Dayjs,\r\n endDate: Dayjs,\r\n workingHours: { start: number; end: number }\r\n ) {\r\n if (endDate.isBefore(startDate)) {\r\n throw new Error('End date should be after the start date.')\r\n }\r\n\r\n const workingTimeInSeconds = this.calculateWorkingTime(\r\n startDate,\r\n endDate,\r\n workingHours\r\n )\r\n return workingTimeInSeconds\r\n }\r\n\r\n static secondsInHours (currentSeconds: number) {\r\n const hours = Math.floor(currentSeconds / 3600)\r\n const minutes = Math.floor((currentSeconds % 3600) / 60)\r\n const seconds = currentSeconds % 60\r\n return `${hours.toString().padStart(2, '0')}:${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}`\r\n }\r\n\r\n static getColorsByTime (seconds: number) {\r\n const hours = seconds / 3600\r\n if (hours <= 2) {\r\n return '#00CF7B'\r\n }\r\n\r\n if (hours >= 2 && hours < 3) {\r\n return '#FF9838'\r\n }\r\n\r\n if (hours >= 3 && hours < 4) {\r\n return '#DD4E4E'\r\n }\r\n\r\n return '#151919'\r\n }\r\n}\r\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"I18nextProvider\"]: () => __WEBPACK_EXTERNAL_MODULE_react_i18next_31085753__.I18nextProvider, [\"initReactI18next\"]: () => __WEBPACK_EXTERNAL_MODULE_react_i18next_31085753__.initReactI18next, [\"useTranslation\"]: () => __WEBPACK_EXTERNAL_MODULE_react_i18next_31085753__.useTranslation });","import useTheme from '../../hooks/useThemes'\r\nimport React from 'react'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { IMesssengerAvatar } from 'types'\r\n\r\nfunction MessengerAvatar ({\r\n image,\r\n children,\r\n className = '',\r\n}: IMesssengerAvatar) {\r\n const { t } = useTranslation('messengerList')\r\n const { theme } = useTheme()\r\n return (\r\n <figure\r\n className={`${className} messenger__aside-list-item--avatar`}\r\n style={{\r\n background: theme.messengerIncomerColor,\r\n }}\r\n >\r\n {image ? (\r\n <img loading='lazy' alt={t('messengerAvatar.alt')} src={image} />\r\n ) : (\r\n children\r\n )}\r\n </figure>\r\n )\r\n}\r\n\r\nexport default MessengerAvatar\r\n","import React from 'react'\r\n\r\nexport default function TimerIcon ({ color }: { color: string }) {\r\n return (\r\n <svg\r\n width='14'\r\n height='14'\r\n viewBox='0 0 18 18'\r\n fill={color}\r\n xmlns='http://www.w3.org/2000/svg'\r\n >\r\n <path\r\n d='M9.42207 4.79883H8.57656C8.49922 4.79883 8.43594 4.86211 8.43594 4.93946V9.77871C8.43594 9.82442 8.45703 9.8666 8.49394 9.89297L11.3996 12.0147C11.4629 12.0604 11.5508 12.048 11.5965 11.9848L12.0992 11.2992C12.1467 11.2342 12.1326 11.1463 12.0693 11.1023L9.56269 9.29004V4.93946C9.56269 4.86211 9.49941 4.79883 9.42207 4.79883ZM13.2857 6.12071L16.042 6.79395C16.1299 6.81504 16.216 6.74824 16.216 6.6586L16.2301 3.81973C16.2301 3.70196 16.0947 3.63516 16.0033 3.70899L13.233 5.87285C13.2121 5.88905 13.1961 5.91083 13.187 5.93568C13.1779 5.96054 13.176 5.98746 13.1815 6.01335C13.187 6.03924 13.1997 6.06305 13.2182 6.08204C13.2366 6.10103 13.26 6.11444 13.2857 6.12071ZM16.2336 11.4135L15.2369 11.0707C15.2022 11.0588 15.1641 11.061 15.131 11.0767C15.0978 11.0925 15.0721 11.1206 15.0594 11.1551C15.026 11.2447 14.9908 11.3326 14.9539 11.4205C14.641 12.1605 14.1928 12.8268 13.6197 13.3981C13.053 13.9665 12.3815 14.4196 11.6422 14.7322C10.8764 15.056 10.0531 15.2222 9.22168 15.2209C8.38145 15.2209 7.56758 15.0574 6.80117 14.7322C6.06191 14.4196 5.39032 13.9665 4.82363 13.3981C4.25234 12.8268 3.8041 12.1605 3.48945 11.4205C3.16745 10.6542 3.00248 9.83117 3.0043 9C3.0043 8.15977 3.16777 7.34414 3.49297 6.57774C3.80586 5.8377 4.2541 5.17149 4.82715 4.6002C5.39383 4.03175 6.06542 3.57866 6.80469 3.26602C7.56758 2.94082 8.3832 2.77735 9.22344 2.77735C10.0637 2.77735 10.8775 2.94082 11.6439 3.26602C12.3832 3.57866 13.0548 4.03175 13.6215 4.6002C13.8008 4.78125 13.9695 4.96934 14.1242 5.16797L15.1754 4.34531C13.792 2.57696 11.6387 1.43965 9.21992 1.44141C5.0082 1.44317 1.62617 4.86387 1.66836 9.07735C1.71055 13.217 5.07676 16.5586 9.22344 16.5586C12.4842 16.5586 15.2615 14.4914 16.3197 11.5963C16.3461 11.5225 16.3074 11.4398 16.2336 11.4135Z'\r\n fill={color}\r\n />\r\n </svg>\r\n )\r\n}\r\n","import React, { useState, useMemo, useEffect } from 'react'\r\nimport { IList } from 'types'\r\nimport { SlaDates, timeAsDayjs } from '../classes/slaCalculations'\r\nimport MessengerAvatar from '../components/MessengerAvatar/MessengerAvatar'\r\nimport useTheme from '../hooks/useThemes'\r\nimport TimerIcon from '../icons/TimerIcon'\r\n\r\ninterface IListItem {\r\n onClick: (item: IList) => void\r\n item: IList\r\n currentId?: string\r\n canSeeDetailsChat: boolean\r\n currentViewerId: string\r\n}\r\n\r\nexport function activeItem (\r\n e: React.MouseEvent<HTMLElement, MouseEvent>,\r\n defaultClass: string,\r\n activeClass: string\r\n) {\r\n const click = document.querySelectorAll(`.${defaultClass}`)\r\n click.forEach((item) => {\r\n item.classList.remove(activeClass)\r\n })\r\n\r\n e.currentTarget.className += ` ${activeClass} `\r\n}\r\n\r\nfunction MessengerListItem ({\r\n item,\r\n onClick,\r\n canSeeDetailsChat,\r\n currentId,\r\n currentViewerId,\r\n}: IListItem) {\r\n const [unreadMessages, setUnreadMessages] = useState<\r\n typeof item.totalUnreadMessages\r\n >(item.totalUnreadMessages)\r\n const closedChat = useMemo(\r\n () =>\r\n item.status.current.state === 'final'\r\n ? 'messenger__aside-list-item--closed'\r\n : '',\r\n [item]\r\n )\r\n const [background, setBackground] = useState<string | undefined>('')\r\n const [counter, setCounter] = useState<number | null>(null)\r\n\r\n const { theme } = useTheme()\r\n const isInprogress = item.status?.current?.systemicValue === 'inprogress'\r\n\r\n const otherChatMember = useMemo(\r\n () =>\r\n item?.users.find((item) => item.uniqueCode !== currentViewerId) ||\r\n item.creator,\r\n [item?.users, currentViewerId]\r\n )\r\n\r\n useEffect(() => {\r\n let interval: NodeJS.Timer\r\n if (isInprogress && canSeeDetailsChat) {\r\n const sla = new SlaDates(\r\n timeAsDayjs(item.currentTime).diff(item.createdAt, 'second')\r\n )\r\n const diference = sla.calculateWorkingTime(\r\n timeAsDayjs(item.createdAt),\r\n timeAsDayjs(),\r\n { start: 9, end: 18 }\r\n )\r\n\r\n setCounter(diference)\r\n if (sla.canUpdateClock(timeAsDayjs())) {\r\n interval = setInterval(() => {\r\n setCounter((prev) => (prev !== null ? prev + 1 : null))\r\n }, 1000)\r\n }\r\n } else {\r\n setCounter(item.SLATimePassed ?? null)\r\n }\r\n\r\n return () => {\r\n clearInterval(interval)\r\n }\r\n }, [])\r\n\r\n useEffect(() => {\r\n setUnreadMessages(item.totalUnreadMessages)\r\n }, [item])\r\n\r\n function handleClick (\r\n e: React.MouseEvent<HTMLElement, MouseEvent>,\r\n item: IList\r\n ) {\r\n activeItem(\r\n e,\r\n 'messenger__aside-list-item',\r\n 'messenger__aside-list-item--active'\r\n )\r\n onClick(item)\r\n }\r\n\r\n function formatUnreadMessages (unread: number) {\r\n if (!unread) return 0\r\n if (unread >= 99) return 99\r\n return unread\r\n }\r\n\r\n const onMouseOver = () => {\r\n setBackground(theme?.listItemHover)\r\n }\r\n\r\n const onMouseLeave = () => {\r\n setBackground('')\r\n }\r\n\r\n const ShowTimer = () => {\r\n if (counter === null) return null\r\n\r\n return (\r\n <span\r\n className='messenger__aside-timer'\r\n style={{\r\n background: SlaDates.getColorsByTime(counter),\r\n color: 'var(--secondary-color)',\r\n width: 'fit-content',\r\n }}\r\n >\r\n <TimerIcon color='var(--secondary-color)' />\r\n \r\n <b>{SlaDates.secondsInHours(counter)}</b>\r\n </span>\r\n )\r\n }\r\n\r\n return (\r\n <div\r\n className={`messenger__aside-list-item ${closedChat}`}\r\n onClick={(e) => handleClick(e, item)}\r\n onMouseOver={onMouseOver}\r\n onMouseLeave={onMouseLeave}\r\n style={{\r\n color: theme?.asideFontColor,\r\n backgroundColor: currentId === item._id ? theme?.active : background,\r\n }}\r\n >\r\n <MessengerAvatar image={otherChatMember?.image}>\r\n {otherChatMember && otherChatMember.username\r\n ? otherChatMember.username.slice(0, 1)\r\n : ''}\r\n </MessengerAvatar>\r\n\r\n <div className='messenger__aside-list-item--info'>\r\n <p className='messenger__aside-list-item--title'>\r\n {otherChatMember?.username}\r\n </p>\r\n {item?.reason && (\r\n <p className='messenger__aside-list-item--description'>\r\n {item.reason}\r\n </p>\r\n )}\r\n {canSeeDetailsChat && <ShowTimer />}\r\n </div>\r\n\r\n {item && (\r\n <div className='messenger__aside-list-item--additional'>\r\n {canSeeDetailsChat && `#${item.protocol}`}\r\n {unreadMessages > 0 && (\r\n <div className='messenger__aside-list-item--unread'>\r\n <span>{formatUnreadMessages(unreadMessages)}</span>\r\n </div>\r\n )}\r\n </div>\r\n )}\r\n </div>\r\n )\r\n}\r\n\r\nexport default MessengerListItem\r\n","import useTheme from '../../hooks/useThemes'\r\nimport { activeItem } from '../../views/MessengerListItem'\r\nimport React from 'react'\r\n\r\ninterface IProps {\r\n handleChangeTickets: (tab: string) => void\r\n chatListTabs: { value: string; label: string }[]\r\n}\r\n\r\nfunction ChatTabs ({ handleChangeTickets, chatListTabs }: IProps) {\r\n const { theme } = useTheme()\r\n return (\r\n <div className='chat-tabs' style={{ color: theme.asideFontColor }}>\r\n {chatListTabs.map((tab, index) => {\r\n return (\r\n <button\r\n key={`chatListTab-${index}`}\r\n className={`chat-tabs__button ${index === 0 && 'chat-tabs__button--active'}`}\r\n onClick={(e) => {\r\n handleChangeTickets(tab.value)\r\n activeItem(e, 'chat-tabs__button', 'chat-tabs__button--active')\r\n }}\r\n >\r\n {tab.label}\r\n </button>\r\n )\r\n })}\r\n </div>\r\n )\r\n}\r\n\r\nexport default ChatTabs\r\n","import React from 'react'\r\nimport useTheme from '../../hooks/useThemes'\r\n\r\ninterface INewChatButton {\r\n removeActiveItem: (e: React.MouseEvent<HTMLElement, MouseEvent>) => void\r\n messegerView: 'empty' | 'messages' | 'newChat'\r\n chatButtons: {\r\n label: string\r\n onClick: () => void\r\n type: string\r\n canSee: boolean\r\n disabled?: boolean\r\n }[]\r\n}\r\n\r\nfunction ChatButtons ({ chatButtons, removeActiveItem }: INewChatButton) {\r\n const { theme } = useTheme()\r\n\r\n const getButtonType = (type: string, disabled?: boolean) => {\r\n if (type === 'primary')\r\n return {\r\n background: disabled ? theme?.buttonsDisabled : theme?.buttonPrimary,\r\n color: theme?.buttonPrimaryText,\r\n }\r\n\r\n if (type === 'outlined')\r\n return {\r\n background: 'transparent',\r\n color: theme?.asideFontColor,\r\n border: `${theme?.asideFontColor} 1px solid`,\r\n }\r\n return\r\n }\r\n\r\n return (\r\n <>\r\n {chatButtons.map((button) => {\r\n return (\r\n button.canSee && (\r\n <>\r\n <button\r\n key={`button-${button.label}`}\r\n className={\r\n button.disabled\r\n ? 'messenger__chat-button messenger__chat-button--disabled'\r\n : 'messenger__chat-button'\r\n }\r\n onClick={(event) => {\r\n button.onClick()\r\n removeActiveItem(event)\r\n }}\r\n style={getButtonType(button.type, button.disabled)}\r\n >\r\n {button.label}\r\n </button>\r\n </>\r\n )\r\n )\r\n })}\r\n </>\r\n )\r\n}\r\n\r\nexport default ChatButtons\r\n","import React from 'react'\r\nimport useTheme from '../hooks/useThemes'\r\n\r\nexport default function SearchIcon () {\r\n const { theme } = useTheme()\r\n return (\r\n <svg\r\n width='18'\r\n height='18'\r\n viewBox='0 0 18 18'\r\n fill='none'\r\n xmlns='http://www.w3.org/2000/svg'\r\n >\r\n <path\r\n d='M15.9 17.3L10.3 11.7C9.8 12.1 9.225 12.4167 8.575 12.65C7.925 12.8833 7.23333 13 6.5 13C4.68333 13 3.146 12.371 1.888 11.113C0.629333 9.85433 0 8.31667 0 6.5C0 4.68333 0.629333 3.14567 1.888 1.887C3.146 0.629 4.68333 0 6.5 0C8.31667 0 9.85433 0.629 11.113 1.887C12.371 3.14567 13 4.68333 13 6.5C13 7.23333 12.8833 7.925 12.65 8.575C12.4167 9.225 12.1 9.8 11.7 10.3L17.325 15.925C17.5083 16.1083 17.6 16.3333 17.6 16.6C17.6 16.8667 17.5 17.1 17.3 17.3C17.1167 17.4833 16.8833 17.575 16.6 17.575C16.3167 17.575 16.0833 17.4833 15.9 17.3ZM6.5 11C7.75 11 8.81267 10.5627 9.688 9.688C10.5627 8.81267 11 7.75 11 6.5C11 5.25 10.5627 4.18733 9.688 3.312C8.81267 2.43733 7.75 2 6.5 2C5.25 2 4.18733 2.43733 3.312 3.312C2.43733 4.18733 2 5.25 2 6.5C2 7.75 2.43733 8.81267 3.312 9.688C4.18733 10.5627 5.25 11 6.5 11Z'\r\n fill={theme.asideFontColor}\r\n />\r\n </svg>\r\n )\r\n}\r\n","import SearchIcon from '../../icons/SearchIcon'\r\nimport React, { useState } from 'react'\r\nimport useTheme from '../../hooks/useThemes'\r\nimport { useTranslation } from 'react-i18next'\r\n\r\ninterface IProps {\r\n searchChat: (value: string, key: string) => void\r\n searchKeys: { label: string; value: string }[]\r\n loadingSearch: boolean\r\n}\r\n\r\nfunction SearchInput ({ searchChat, searchKeys, loadingSearch }: IProps) {\r\n const { t } = useTranslation('messengerList')\r\n const [searchKey, setSearchKey] = useState<string>(searchKeys[0].value)\r\n const [searchValue, setSearchValue] = useState<string>('')\r\n const { theme } = useTheme()\r\n\r\n const onSearch = (event: React.ChangeEvent<HTMLInputElement>) => {\r\n setSearchValue(event.target.value)\r\n }\r\n\r\n const handleKeyPress = (event: React.KeyboardEvent<HTMLInputElement>) => {\r\n if (event.key === 'Enter') {\r\n searchChat(searchValue, searchKey)\r\n }\r\n }\r\n\r\n return (\r\n <div className='input-search'>\r\n <select\r\n className='input-search__select'\r\n onChange={(e) => setSearchKey(e.target.value)}\r\n style={{\r\n color: theme.asideFontColor,\r\n border: `${theme.asideFontColor} 1px solid`,\r\n }}\r\n >\r\n {searchKeys.map((item, index) => (\r\n <option\r\n className='input-search__option'\r\n key={index}\r\n value={item.value}\r\n >\r\n {item.label}\r\n </option>\r\n ))}\r\n </select>\r\n\r\n <input\r\n className='input-search__search'\r\n placeholder={t('searchInput.placeholder')}\r\n onChange={onSearch}\r\n onKeyDown={handleKeyPress}\r\n style={{\r\n color: theme.asideFontColor,\r\n border: `${theme.asideFontColor} 1px solid`,\r\n borderLeft: 0,\r\n }}\r\n />\r\n\r\n <button\r\n className='input-search__icon'\r\n onClick={() => searchChat(searchValue, searchKey)}\r\n >\r\n {loadingSearch ? (\r\n <div className='messenger__messages-loading'>\r\n <div className='messenger__messages-loading--loader' />\r\n </div>\r\n ) : (\r\n <SearchIcon />\r\n )}\r\n </button>\r\n </div>\r\n )\r\n}\r\n\r\nexport default SearchInput\r\n","import React from 'react'\r\nimport useTheme from '../hooks/useThemes'\r\n\r\nexport default function EmptyIcon () {\r\n const { theme } = useTheme()\r\n return (\r\n <svg\r\n width='26'\r\n height='32'\r\n viewBox='0 0 26 32'\r\n fill='none'\r\n xmlns='http://www.w3.org/2000/svg'\r\n >\r\n <path\r\n d='M24.4286 0H1.57143C0.939288 0 0.428574 0.510714 0.428574 1.14286V30.8571C0.428574 31.4893 0.939288 32 1.57143 32H24.4286C25.0607 32 25.5714 31.4893 25.5714 30.8571V1.14286C25.5714 0.510714 25.0607 0 24.4286 0ZM23 29.4286H3V22.25H6.49643C6.91072 23.4214 7.63929 24.475 8.60715 25.275C9.83929 26.2929 11.4 26.8571 13 26.8571C14.6 26.8571 16.1607 26.2964 17.3929 25.275C18.3607 24.475 19.0893 23.4214 19.5036 22.25H23V29.4286ZM23 20H17.7L17.5143 20.8821C17.0857 23.0179 15.1857 24.5714 13 24.5714C10.8143 24.5714 8.91429 23.0179 8.48215 20.8821L8.29643 20H3V2.57143H23V20Z'\r\n fill={theme.emptyMessagesFontColor}\r\n />\r\n </svg>\r\n )\r\n}\r\n","import React, { ReactNode, CSSProperties } from 'react'\r\n\r\ninterface IInfiniteScroll {\r\n loading: boolean\r\n more: boolean\r\n fetch: () => void\r\n children: ReactNode\r\n loadingCover: React.ReactElement\r\n root: Element | null\r\n reverse?: boolean\r\n rootMargin?: number\r\n}\r\n\r\nconst intersectDivStyle: CSSProperties = {\r\n width: 25,\r\n height: 25,\r\n visibility: 'hidden',\r\n}\r\n\r\nfunction InfiniteScroll ({\r\n loading,\r\n loadingCover,\r\n more,\r\n fetch,\r\n children,\r\n root,\r\n reverse = false,\r\n rootMargin = 400,\r\n}: IInfiniteScroll) {\r\n const [infiniteElement, setInfiniteElement] =\r\n React.useState<HTMLDivElement | null>(null)\r\n\r\n React.useEffect(() => {\r\n if (!root) return\r\n const currentElement = infiniteElement\r\n const observer = new IntersectionObserver(\r\n (entries) => {\r\n const first = entries[0]\r\n if (first.isIntersecting === true) fetch()\r\n },\r\n {\r\n root,\r\n rootMargin: rootMargin.toString() + 'px',\r\n threshold: 0.5,\r\n }\r\n )\r\n\r\n if (currentElement) {\r\n observer.observe(currentElement)\r\n }\r\n\r\n return () => {\r\n if (currentElement) observer.unobserve(currentElement)\r\n }\r\n }, [infiniteElement])\r\n\r\n if (reverse) {\r\n return (\r\n <>\r\n {more && !loading && (\r\n <div ref={setInfiniteElement} style={intersectDivStyle}></div>\r\n )}\r\n {loading && loadingCover}\r\n {children}\r\n </>\r\n )\r\n }\r\n\r\n return (\r\n <>\r\n {children}\r\n {loading && loadingCover}\r\n {more && !loading && (\r\n <div ref={setInfiniteElement} style={intersectDivStyle}></div>\r\n )}\r\n </>\r\n )\r\n}\r\n\r\nexport default InfiniteScroll\r\n","import React, { Fragment } from 'react'\r\nimport { IList } from 'types'\r\nimport ChatTabs from '../components/ChatTabs/ChatTabs'\r\nimport ChatButtons from '../components/ChatButton/ChatButton'\r\nimport SearchInput from '../components/SearchInput/SearchInput'\r\nimport MessengerListItem, { activeItem } from './MessengerListItem'\r\nimport useTheme from '../hooks/useThemes'\r\nimport EmptyIcon from '../icons/EmptyIcon'\r\nimport InfiniteScroll from '../components/InfiniteScroll/InfiniteScroll'\r\nimport { useTranslation } from 'react-i18next'\r\n\r\ninterface IMessengerList {\r\n affix?: React.ReactElement\r\n loading: boolean\r\n conversations: IList[]\r\n currentId?: string\r\n failed?: boolean\r\n showBadge: boolean\r\n tab?: 'list' | 'messages'\r\n className?: string\r\n onClick: (item: IList) => void\r\n searchChat: (search: string, key: string) => void\r\n searchKeys: { label: string; value: string }[]\r\n messegerView: 'empty' | 'messages' | 'newChat'\r\n helpDesk: boolean\r\n handleChangeTickets: (tab: string) => void\r\n loadingSearch: boolean\r\n chatListTabs: { value: string; label: string }[]\r\n chatButtons: {\r\n label: string\r\n onClick: () => void\r\n type: string\r\n canSee: boolean\r\n disabled?: boolean\r\n }[]\r\n canSeeDetailsChat: boolean\r\n hasNext: boolean\r\n onIntersect: () => void\r\n sliceCount: number\r\n currentViewerId: string\r\n}\r\n\r\nconst ListLoading = () => {\r\n const { theme } = useTheme()\r\n return (\r\n <Fragment>\r\n {new Array(5).fill('').map((_, idx) => (\r\n <button\r\n key={`asideSkeleton${idx}`}\r\n style={{\r\n background: theme.listItemHover,\r\n borderBottom: idx < 4 ? `1px solid ${theme.borderColor}` : '0',\r\n }}\r\n className='messenger__aside-skeleton'\r\n />\r\n ))}\r\n </Fragment>\r\n )\r\n}\r\n\r\nfunction MessengerList ({\r\n affix,\r\n conversations,\r\n tab,\r\n className = '',\r\n loading,\r\n failed,\r\n showBadge,\r\n currentId,\r\n onClick,\r\n searchChat,\r\n searchKeys,\r\n messegerView,\r\n helpDesk,\r\n handleChangeTickets,\r\n chatListTabs,\r\n chatButtons,\r\n loadingSearch,\r\n canSeeDetailsChat,\r\n hasNext,\r\n onIntersect,\r\n sliceCount,\r\n currentViewerId,\r\n}: IMessengerList) {\r\n const { t } = useTranslation('messengerList')\r\n const { theme } = useTheme()\r\n\r\n return (\r\n <aside\r\n className={`messenger__aside ${className} ${tab === 'messages' ? 'messenger__mobile-hide' : ''}`}\r\n style={{\r\n border: `1px solid ${theme.borderColor}`,\r\n borderRadius: '20px 0 0 20px',\r\n background: theme.asideBg,\r\n }}\r\n >\r\n <div className='messenger__buttons-container'>\r\n <ChatButtons\r\n chatButtons={chatButtons}\r\n messegerView={messegerView}\r\n removeActiveItem={(e: React.MouseEvent<HTMLElement, MouseEvent>) => {\r\n activeItem(\r\n e,\r\n 'messenger__aside-list-item',\r\n 'messenger__aside-list-item--active'\r\n )\r\n }}\r\n />\r\n\r\n {helpDesk && (\r\n <SearchInput\r\n searchKeys={searchKeys}\r\n searchChat={searchChat}\r\n loadingSearch={loadingSearch}\r\n />\r\n )}\r\n </div>\r\n\r\n {affix && (\r\n <div className='messenger__aside-header'>\r\n {React.cloneElement(affix)}\r\n </div>\r\n )}\r\n\r\n <ChatTabs\r\n chatListTabs={chatListTabs}\r\n handleChangeTickets={handleChangeTickets}\r\n />\r\n\r\n <div className='messenger__aside-list'>\r\n <InfiniteScroll\r\n root={document.querySelector('.messenger__aside-list')}\r\n loading={loading}\r\n loadingCover={<ListLoading />}\r\n more={hasNext}\r\n fetch={onIntersect}\r\n >\r\n {Array.isArray(conversations) &&\r\n conversations.length > 0 &&\r\n conversations.slice(0, sliceCount).map((item) => {\r\n return (\r\n <div\r\n key={item?._id}\r\n className={`messenger__aside-item-container ${showBadge ? 'messenger__active-badge' : ''}`}\r\n >\r\n <MessengerListItem\r\n canSeeDetailsChat={canSeeDetailsChat}\r\n currentId={currentId}\r\n item={item}\r\n onClick={onClick}\r\n currentViewerId={currentViewerId}\r\n />\r\n </div>\r\n )\r\n })}\r\n </InfiniteScroll>\r\n\r\n {failed ||\r\n (conversations?.length === 0 && !loading && (\r\n <div className='messenger__aside-empty'>\r\n <EmptyIcon />\r\n <p>{t('noChatFound')}</p>\r\n </div>\r\n ))}\r\n </div>\r\n </aside>\r\n )\r\n}\r\n\r\nexport default MessengerList\r\n","/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","import * as React from 'react'\r\nimport { SVGProps } from 'react'\r\nconst FileDoc = (props: SVGProps<SVGSVGElement>) => (\r\n <svg\r\n xmlns='http://www.w3.org/2000/svg'\r\n xmlnsXlink='http://www.w3.org/1999/xlink'\r\n id='Layer_1'\r\n width={800}\r\n height={800}\r\n data-name='Layer 1'\r\n viewBox='0 0 32 32'\r\n {...props}\r\n >\r\n <defs>\r\n <linearGradient\r\n id='doc-gradient'\r\n x1={6.65}\r\n x2={27.27}\r\n y1={6.65}\r\n y2={27.27}\r\n gradientUnits='userSpaceOnUse'\r\n >\r\n <stop offset={0} stopColor='#00a6fb' />\r\n <stop offset={1} stopColor='#0094ce' />\r\n </linearGradient>\r\n <linearGradient\r\n xlinkHref='#doc-gradient'\r\n id='doc-gradient-2'\r\n x1={6}\r\n x2={12}\r\n y1={5}\r\n y2={5}\r\n />\r\n <style>{'.cls-3{fill:#f8edeb}'}</style>\r\n </defs>\r\n <path\r\n d='M23.5 2h-12a.47.47 0 0 0-.35.15l-5 5A.47.47 0 0 0 6 7.5v20A2.5 2.5 0 0 0 8.5 30h15a2.5 2.5 0 0 0 2.5-2.5v-23A2.5 2.5 0 0 0 23.5 2Z'\r\n style={{\r\n fill: '#00a6fb',\r\n }}\r\n />\r\n <path\r\n d='M11.69 2a.47.47 0 0 0-.54.11l-5 5a.47.47 0 0 0-.15.58.5.5 0 0 0 .5.31h3A2.5 2.5 0 0 0 12 5.5v-3a.5.5 0 0 0-.31-.5Z'\r\n style={{\r\n fill: '#0094ce',\r\n }}\r\n />\r\n <path\r\n d='M16 21a2 2 0 0 1-2-2v-6a2 2 0 0 1 4 0v6a2 2 0 0 1-2 2Zm0-9a1 1 0 0 0-1 1v6a1 1 0 0 0 2 0v-6a1 1 0 0 0-1-1ZM9.5 21a.5.5 0 0 1-.5-.5v-9a.5.5 0 0 1 .5-.5 3.5 3.5 0 0 1 3.5 3.5v3A3.5 3.5 0 0 1 9.5 21Zm.5-8.95V20a2.5 2.5 0 0 0 2-2.45v-3a2.5 2.5 0 0 0-2-2.5ZM21 21a2 2 0 0 1-2-2v-6a2 2 0 0 1 4 0 .5.5 0 0 1-1 0 1 1 0 0 0-2 0v6a1 1 0 0 0 2 0 .5.5 0 0 1 1 0 2 2 0 0 1-2 2Z'\r\n className='cls-3'\r\n />\r\n </svg>\r\n)\r\nexport default FileDoc\r\n","import * as React from 'react'\r\nimport { SVGProps } from 'react'\r\nconst SvgComponent = (props: SVGProps<SVGSVGElement>) => (\r\n <svg\r\n xmlns='http://www.w3.org/2000/svg'\r\n xmlnsXlink='http://www.w3.org/1999/xlink'\r\n id='Layer_1'\r\n width={800}\r\n height={800}\r\n data-name='Layer 1'\r\n viewBox='0 0 32 32'\r\n {...props}\r\n >\r\n <defs>\r\n <linearGradient\r\n id='pdf-gradient'\r\n x1={6.65}\r\n x2={27.27}\r\n y1={6.65}\r\n y2={27.27}\r\n gradientUnits='userSpaceOnUse'\r\n >\r\n <stop offset={0} stopColor='#ef6461' />\r\n <stop offset={1} stopColor='#e83d3d' />\r\n </linearGradient>\r\n <linearGradient\r\n xlinkHref='#pdf-gradient'\r\n id='pdf-gradient-2'\r\n x1={6}\r\n x2={12}\r\n y1={5}\r\n y2={5}\r\n />\r\n <style>{'.cls-3{fill:#f8edeb}'}</style>\r\n </defs>\r\n <path\r\n d='M23.5 2h-12a.47.47 0 0 0-.35.15l-5 5A.47.47 0 0 0 6 7.5v20A2.5 2.5 0 0 0 8.5 30h15a2.5 2.5 0 0 0 2.5-2.5v-23A2.5 2.5 0 0 0 23.5 2Z'\r\n style={{\r\n fill: 'url(#pdf-gradient)',\r\n }}\r\n />\r\n <path\r\n d='M11.69 2a.47.47 0 0 0-.54.11l-5 5a.47.47 0 0 0-.15.58.5.5 0 0 0 .5.31h3A2.5 2.5 0 0 0 12 5.5v-3a.5.5 0 0 0-.31-.5Z'\r\n style={{\r\n fill: 'url(#pdf-gradient-2)',\r\n }}\r\n />\r\n <path\r\n d='M15.5 11h-1a.5.5 0 0 0-.5.5v9a.5.5 0 0 0 .5.5h1a2.5 2.5 0 0 0 2.5-2.5v-5a2.5 2.5 0 0 0-2.5-2.5Zm1.5 7.5a1.5 1.5 0 0 1-1.5 1.5H15v-8h.5a1.5 1.5 0 0 1 1.5 1.5ZM11.5 11h-2a.5.5 0 0 0-.5.5v9a.5.5 0 0 0 1 0V17h1.5a1.5 1.5 0 0 0 1.5-1.5v-3a1.5 1.5 0 0 0-1.5-1.5Zm.5 4.5a.5.5 0 0 1-.5.5H10v-4h1.5a.5.5 0 0 1 .5.5ZM22.5 15H20v-3h2.5a.5.5 0 0 0 0-1h-3a.5.5 0 0 0-.5.5v9a.5.5 0 0 0 1 0V16h2.5a.5.5 0 0 0 0-1Z'\r\n className='cls-3'\r\n />\r\n </svg>\r\n)\r\nexport default SvgComponent\r\n","import * as React from 'react'\r\nimport { SVGProps } from 'react'\r\n\r\nconst CSVFileIcon = (props: SVGProps<SVGSVGElement>) => (\r\n <svg\r\n xmlns='http://www.w3.org/2000/svg'\r\n width={40}\r\n height={40}\r\n viewBox='0 0 32 32'\r\n {...props}\r\n >\r\n <rect width='32' height='32' rx='5' fill='#21A366' />\r\n <text\r\n x='16'\r\n y='22'\r\n textAnchor='middle'\r\n fontSize='12'\r\n fill='#fff'\r\n fontWeight='bold'\r\n >\r\n CSV\r\n </text>\r\n </svg>\r\n)\r\n\r\nexport default CSVFileIcon\r\n","import * as React from 'react'\r\nimport { SVGProps } from 'react'\r\n\r\nconst MP4FileIcon = (props: SVGProps<SVGSVGElement>) => (\r\n <svg\r\n xmlns='http://www.w3.org/2000/svg'\r\n width={40}\r\n height={40}\r\n viewBox='0 0 32 32'\r\n {...props}\r\n >\r\n <rect width='32' height='32' rx='5' fill='#E67E22' />\r\n <text\r\n x='16'\r\n y='22'\r\n textAnchor='middle'\r\n fontSize='12'\r\n fill='#fff'\r\n fontWeight='bold'\r\n >\r\n MP4\r\n </text>\r\n </svg>\r\n)\r\n\r\nexport default MP4FileIcon\r\n","import React from 'react'\r\nimport FileDoc from '../../icons/DOCFileIcon'\r\nimport FilePdf from '../../icons/PDFFileIcon'\r\nimport CSVFileIcon from '../../icons/CSVFileIcon'\r\nimport MP4FileIcon from '../../icons/MP4FileIcon'\r\nimport { useTranslation } from 'react-i18next'\r\n\r\nconst RenderFileIcon = ({\r\n fileType,\r\n b64,\r\n}: {\r\n fileType?: string\r\n b64?: string\r\n}) => {\r\n const { t } = useTranslation('messengerMessages')\r\n\r\n if (fileType === 'application/pdf') {\r\n return <FilePdf width='40' height='40' />\r\n } else if (\r\n fileType === 'application/msword' ||\r\n fileType ===\r\n 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'\r\n ) {\r\n return <FileDoc width='40' height='40' />\r\n } else if (fileType === 'text/csv') {\r\n return <CSVFileIcon width='40' height='40' />\r\n } else if (fileType === 'video/mp4') {\r\n return <MP4FileIcon width='40' height='40' />\r\n } else {\r\n return (\r\n <img\r\n alt={t('renderFileIcon.altImage')}\r\n src={b64}\r\n className='images-container__image'\r\n />\r\n )\r\n }\r\n}\r\n\r\nexport default RenderFileIcon\r\n","import React, { useEffect, useState } from 'react'\r\nimport { IImagesContainer } from 'types'\r\nimport RenderFileIcon from '../RenderFileIcon/RenderFileIcon'\r\n\r\nfunction ImagesContainer ({ file, onClose }: IImagesContainer) {\r\n const [fileInfo, setFileInfo] = useState<{ name: string; type: string }>({\r\n name: '',\r\n type: '',\r\n })\r\n\r\n const [b64, setB64] = useState<string>('')\r\n\r\n useEffect(() => {\r\n function getBase64 (file: File) {\r\n return new Promise((resolve, reject) => {\r\n const reader = new FileReader()\r\n reader.readAsDataURL(file)\r\n reader.onload = () => resolve(reader.result)\r\n reader.onerror = (error) => reject(error)\r\n })\r\n }\r\n\r\n if (file) getBase64(file).then((base64) => setB64(base64 as string))\r\n }, [file])\r\n\r\n useEffect(() => {\r\n if (file) {\r\n setFileInfo({\r\n name: file.name,\r\n type: file.type,\r\n })\r\n }\r\n }, [file])\r\n\r\n return (\r\n <div className='images-container'>\r\n <div className='images-container__close'>\r\n <button className='images-container__close--icon' onClick={onClose} />\r\n </div>\r\n\r\n <div className='images-container__container'>\r\n <div className='images-container__image'>\r\n <RenderFileIcon fileType={fileInfo.type} b64={b64} />\r\n <span className='images-container__title-img'>{fileInfo.name}</span>\r\n </div>\r\n </div>\r\n </div>\r\n )\r\n}\r\n\r\nexport default ImagesContainer\r\n","import React, { useState, useCallback, useEffect } from 'react';\n\nfunction styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nvar css_248z = \".styles-module_wrapper__1I_qj {\\n z-index: 1;\\n display: flex;\\n align-items: center;\\n position: fixed;\\n padding: 0px 60px 0px 60px;\\n left: 0;\\n top: 0;\\n width: 100%;\\n height: 100%;\\n background-color: black;\\n box-sizing: border-box;\\n}\\n\\n.styles-module_content__2jwZj {\\n margin: auto;\\n padding: 0;\\n width: 90%;\\n height: 100%;\\n max-height: 100%;\\n text-align: center;\\n}\\n\\n.styles-module_slide__1zrfk {\\n height: 100%;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n}\\n\\n.styles-module_image__2hdkJ {\\n max-height: 100%;\\n max-width: 100%;\\n user-select: none;\\n -moz-user-select: none;\\n -webkit-user-select: none;\\n}\\n\\n.styles-module_close__2I1sI {\\n color: white;\\n position: absolute;\\n top: 15px;\\n right: 15px;\\n font-size: 40px;\\n font-weight: bold;\\n opacity: 0.2;\\n cursor: pointer;\\n}\\n\\n.styles-module_close__2I1sI:hover {\\n opacity: 1;\\n}\\n\\n.styles-module_navigation__1pqAE {\\n height: 80%;\\n color: white;\\n cursor: pointer;\\n position: absolute;\\n font-size: 60px;\\n line-height: 60px;\\n font-weight: bold;\\n display: flex;\\n align-items: center;\\n opacity: 0.2;\\n padding: 0 15px;\\n user-select: none;\\n -moz-user-select: none;\\n -webkit-user-select: none;\\n}\\n\\n.styles-module_navigation__1pqAE:hover {\\n opacity: 1;\\n}\\n\\n@media (hover: none) {\\n .styles-module_navigation__1pqAE:hover {\\n opacity: 0.2;\\n }\\n}\\n\\n.styles-module_prev__KqFRp {\\n left: 0;\\n}\\n\\n.styles-module_next__1uQwZ {\\n right: 0;\\n}\\n\\n@media (max-width: 900px) {\\n .styles-module_wrapper__1I_qj {\\n padding: 0;\\n }\\n}\\n\";\nvar styles = {\"wrapper\":\"styles-module_wrapper__1I_qj\",\"content\":\"styles-module_content__2jwZj\",\"slide\":\"styles-module_slide__1zrfk\",\"image\":\"styles-module_image__2hdkJ\",\"close\":\"styles-module_close__2I1sI\",\"navigation\":\"styles-module_navigation__1pqAE\",\"prev\":\"styles-module_prev__KqFRp\",\"next\":\"styles-module_next__1uQwZ\"};\nstyleInject(css_248z);\n\nconst ReactSimpleImageViewer = (props) => {\n var _a;\n const [currentIndex, setCurrentIndex] = useState((_a = props.currentIndex) !== null && _a !== void 0 ? _a : 0);\n const changeImage = useCallback((delta) => {\n let nextIndex = (currentIndex + delta) % props.src.length;\n if (nextIndex < 0)\n nextIndex = props.src.length - 1;\n setCurrentIndex(nextIndex);\n }, [currentIndex]);\n const handleClick = useCallback((event) => {\n var _a;\n if (!event.target || !props.closeOnClickOutside) {\n return;\n }\n const checkId = event.target.id === 'ReactSimpleImageViewer';\n const checkClass = event.target.classList.contains('react-simple-image-viewer__slide');\n if (checkId || checkClass) {\n event.stopPropagation();\n (_a = props.onClose) === null || _a === void 0 ? void 0 : _a.call(props);\n }\n }, [props.onClose]);\n const handleKeyDown = useCallback((event) => {\n var _a;\n if (event.key === \"Escape\") {\n (_a = props.onClose) === null || _a === void 0 ? void 0 : _a.call(props);\n }\n if ([\"ArrowLeft\", \"h\"].includes(event.key)) {\n changeImage(-1);\n }\n if ([\"ArrowRight\", \"l\"].includes(event.key)) {\n changeImage(1);\n }\n }, [props.onClose, changeImage]);\n const handleWheel = useCallback((event) => {\n if (event.wheelDeltaY > 0) {\n changeImage(-1);\n }\n else {\n changeImage(1);\n }\n }, [changeImage]);\n useEffect(() => {\n document.addEventListener(\"keydown\", handleKeyDown);\n if (!props.disableScroll) {\n document.addEventListener(\"wheel\", handleWheel);\n }\n return () => {\n document.removeEventListener(\"keydown\", handleKeyDown);\n if (!props.disableScroll) {\n document.removeEventListener(\"wheel\", handleWheel);\n }\n };\n }, [handleKeyDown, handleWheel]);\n return (React.createElement(\"div\", { id: \"ReactSimpleImageViewer\", className: `${styles.wrapper} react-simple-image-viewer__modal`, onKeyDown: handleKeyDown, onClick: handleClick, style: props.backgroundStyle },\n React.createElement(\"span\", { className: `${styles.close} react-simple-image-viewer__close`, onClick: () => { var _a; return (_a = props.onClose) === null || _a === void 0 ? void 0 : _a.call(props); } }, props.closeComponent || \"×\"),\n props.src.length > 1 && (React.createElement(\"span\", { className: `${styles.navigation} ${styles.prev} react-simple-image-viewer__previous`, onClick: () => changeImage(-1) }, props.leftArrowComponent || \"❮\")),\n props.src.length > 1 && (React.createElement(\"span\", { className: `${styles.navigation} ${styles.next} react-simple-image-viewer__next`, onClick: () => changeImage(1) }, props.rightArrowComponent || \"❯\")),\n React.createElement(\"div\", { className: `${styles.content} react-simple-image-viewer__modal-content`, onClick: handleClick },\n React.createElement(\"div\", { className: `${styles.slide} react-simple-image-viewer__slide` },\n React.createElement(\"img\", { className: styles.image, src: props.src[currentIndex], alt: \"\" })))));\n};\n\nexport { ReactSimpleImageViewer as default };\n//# sourceMappingURL=index.esm.js.map\n","import React from 'react'\r\n\r\nfunction DownloadMinimalistIcon ({\r\n width,\r\n height,\r\n color,\r\n}: {\r\n width: string\r\n height: string\r\n color: string\r\n}) {\r\n return (\r\n <svg\r\n xmlns='http://www.w3.org/2000/svg'\r\n width={width}\r\n height={height}\r\n viewBox='0 0 24 24'\r\n fill='none'\r\n >\r\n <path\r\n d='M12.5535 16.5061C12.4114 16.6615 12.2106 16.75 12 16.75C11.7894 16.75 11.5886 16.6615 11.4465 16.5061L7.44648 12.1311C7.16698 11.8254 7.18822 11.351 7.49392 11.0715C7.79963 10.792 8.27402 10.8132 8.55352 11.1189L11.25 14.0682V3C11.25 2.58579 11.5858 2.25 12 2.25C12.4142 2.25 12.75 2.58579 12.75 3V14.0682L15.4465 11.1189C15.726 10.8132 16.2004 10.792 16.5061 11.0715C16.8118 11.351 16.833 11.8254 16.5535 12.1311L12.5535 16.5061Z'\r\n fill={color}\r\n />\r\n <path\r\n d='M3.75 15C3.75 14.5858 3.41422 14.25 3 14.25C2.58579 14.25 2.25 14.5858 2.25 15V15.0549C2.24998 16.4225 2.24996 17.5248 2.36652 18.3918C2.48754 19.2919 2.74643 20.0497 3.34835 20.6516C3.95027 21.2536 4.70814 21.5125 5.60825 21.6335C6.47522 21.75 7.57754 21.75 8.94513 21.75H15.0549C16.4225 21.75 17.5248 21.75 18.3918 21.6335C19.2919 21.5125 20.0497 21.2536 20.6517 20.6516C21.2536 20.0497 21.5125 19.2919 21.6335 18.3918C21.75 17.5248 21.75 16.4225 21.75 15.0549V15C21.75 14.5858 21.4142 14.25 21 14.25C20.5858 14.25 20.25 14.5858 20.25 15C20.25 16.4354 20.2484 17.4365 20.1469 18.1919C20.0482 18.9257 19.8678 19.3142 19.591 19.591C19.3142 19.8678 18.9257 20.0482 18.1919 20.1469C17.4365 20.2484 16.4354 20.25 15 20.25H9C7.56459 20.25 6.56347 20.2484 5.80812 20.1469C5.07435 20.0482 4.68577 19.8678 4.40901 19.591C4.13225 19.3142 3.9518 18.9257 3.85315 18.1919C3.75159 17.4365 3.75 16.4354 3.75 15Z'\r\n fill={color}\r\n />\r\n <defs>\r\n <clipPath id='clip0_23_2'>\r\n <rect width='32' height='32' fill='@text-color' />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n )\r\n}\r\n\r\nexport default DownloadMinimalistIcon\r\n","import React from 'react'\r\nimport DownloadMinimalistIcon from '../../icons/DownloadMinimalistIcon'\r\nimport { IMessagesBalloon } from 'types'\r\nimport RenderFileIcon from '../RenderFileIcon/RenderFileIcon'\r\n\r\nexport function formatFileSize (size = 0) {\r\n if (size % 1 === 0) {\r\n return `${size.toFixed(0)} MB`\r\n }\r\n return `${size.toFixed(2)} MB`\r\n}\r\n\r\nfunction DocMessage ({ file }: IMessagesBalloon) {\r\n const fileType = file?.location?.split('.').pop()?.toUpperCase()\r\n const fileName = file && file.originalname\r\n const filePages = file && file.pages\r\n const fileSize = file && formatFileSize(file?.size)\r\n\r\n return (\r\n <div className='messenger__messages-row--sender'>\r\n <span>\r\n {\r\n <div className='messenger__file-card'>\r\n <div className='messenger__file-icon'>\r\n <RenderFileIcon fileType={file?.mimetype} />\r\n </div>\r\n <div className='messenger__file-details'>\r\n <p className='messenger__file-name'>{fileName}</p>\r\n <p className='messenger__file-info'>\r\n {filePages && filePages + ' página(s) •'} {fileSize} •{' '}\r\n {fileType}\r\n </p>\r\n </div>\r\n <a\r\n href={file?.location}\r\n target='_blank'\r\n rel='noopener noreferrer'\r\n className='messenger__file-download'\r\n style={{ color: 'blue' }}\r\n >\r\n <DownloadMinimalistIcon width='24' height='24' color='white' />\r\n </a>\r\n </div>\r\n }\r\n </span>\r\n </div>\r\n )\r\n}\r\n\r\nexport default DocMessage\r\n","import useTheme from '../../hooks/useThemes'\r\nimport React, { useCallback, useState } from 'react'\r\nimport { Iimages, IInconmingMessage } from 'types'\r\nimport MessengerAvatar from '../MessengerAvatar/MessengerAvatar'\r\nimport ReactSimpleImageViewer from '../../../../../node_modules/react-simple-image-viewer'\r\nimport DocMessage from '../DocMessage/DocMessage'\r\nimport { useTranslation } from 'react-i18next'\r\n\r\ninterface IMessagesWithFile {\r\n file:\r\n | Iimages\r\n | {\r\n contentType: string\r\n location: string\r\n mimetype: string\r\n originalname: string\r\n size?: number\r\n pages?: number\r\n key?: string\r\n }\r\n | undefined\r\n message: string\r\n date: string\r\n openImageViewer: (index: number) => void\r\n id: string\r\n formatDate: (date: string | Date) => string | undefined\r\n currentImage: number\r\n}\r\n\r\nexport const MessageImage = ({ ...rest }) => {\r\n const { t } = useTranslation('messengerMessages')\r\n return (\r\n <div className='messenger__message--file'>\r\n <img\r\n {...rest}\r\n width={200}\r\n height={200}\r\n alt={t('incommingMessage.messageImage')}\r\n />\r\n </div>\r\n )\r\n}\r\n\r\nconst MessageWithFile = ({\r\n file,\r\n message,\r\n date,\r\n openImageViewer,\r\n id,\r\n formatDate,\r\n currentImage,\r\n}: IMessagesWithFile) => {\r\n const isImage = (\r\n file:\r\n | {\r\n contentType: string\r\n location: string\r\n mimetype: string\r\n originalname: string\r\n size?: number\r\n pages?: number\r\n key?: string\r\n }\r\n | Iimages\r\n | undefined\r\n ): file is Iimages => {\r\n if (!file) return false\r\n if (['image/png', 'image/jpeg'].includes(file?.mimetype ?? '')) {\r\n return true\r\n }\r\n return false\r\n }\r\n\r\n return (\r\n <>\r\n {isImage(file) ? (\r\n <MessageImage\r\n src={file?.location}\r\n onClick={() => openImageViewer(currentImage)}\r\n />\r\n ) : (\r\n file && (\r\n <DocMessage\r\n file={file}\r\n message={message}\r\n date={date}\r\n read={false}\r\n id={id}\r\n formatDate={formatDate}\r\n />\r\n )\r\n )}\r\n </>\r\n )\r\n}\r\n\r\nfunction IncomingMessage ({\r\n date,\r\n message,\r\n user,\r\n hasFile,\r\n file,\r\n isSystemMessage,\r\n formatDate,\r\n id,\r\n}: IInconmingMessage) {\r\n const { theme } = useTheme()\r\n const [currentImage, setCurrentImage] = useState(0)\r\n const [isViewerOpen, setIsViewerOpen] = useState(false)\r\n\r\n const openImageViewer = useCallback((index: number) => {\r\n setCurrentImage(index)\r\n setIsViewerOpen(true)\r\n }, [])\r\n\r\n const closeImageViewer = () => {\r\n setCurrentImage(0)\r\n setIsViewerOpen(false)\r\n }\r\n\r\n return (\r\n <div className='messenger__messages-row--received' id={id}>\r\n {(user.avatar || user.name) && !isSystemMessage && (\r\n <div className='messenger__message-avatar mr-2'>\r\n <MessengerAvatar image={user.avatar}>\r\n {user.name.slice(0, 1)}\r\n </MessengerAvatar>\r\n </div>\r\n )}\r\n\r\n <div\r\n className='messenger__messages-received'\r\n style={{ background: theme?.messengerIncomerColor }}\r\n >\r\n {!isSystemMessage && (\r\n <p className='messenger__message-title'>{user.name}</p>\r\n )}\r\n\r\n <span>\r\n {hasFile && (\r\n <MessageWithFile\r\n file={file}\r\n message={message}\r\n date={date}\r\n openImageViewer={openImageViewer}\r\n id={id}\r\n formatDate={formatDate}\r\n currentImage={currentImage}\r\n />\r\n )}\r\n {message && <p className='messenger__message'>{message}</p>}\r\n <p className='messenger__message--date'>\r\n {formatDate(date) ?? new Date(date).toLocaleString()}\r\n </p>\r\n </span>\r\n </div>\r\n {file && isViewerOpen && (\r\n <ReactSimpleImageViewer\r\n src={[file.location]}\r\n currentIndex={0}\r\n disableScroll={false}\r\n closeOnClickOutside={true}\r\n onClose={closeImageViewer}\r\n />\r\n )}\r\n </div>\r\n )\r\n}\r\n\r\nexport default IncomingMessage\r\n","import React from 'react'\r\n\r\nexport default function ReadIcon ({ fill }: { fill: string }) {\r\n return (\r\n <svg\r\n width='15'\r\n height='15'\r\n viewBox='0 0 30 24'\r\n fill='none'\r\n xmlns='http://www.w3.org/2000/svg'\r\n >\r\n <path\r\n d='M29.2857 0.5H26.7893C26.4393 0.5 26.1071 0.660714 25.8929 0.935714L11.1679 19.5893L4.10714 10.6429C4.00033 10.5072 3.86419 10.3976 3.70893 10.3221C3.55367 10.2467 3.38334 10.2074 3.21071 10.2071H0.714286C0.475 10.2071 0.342857 10.4821 0.489286 10.6679L10.2714 23.0607C10.7286 23.6393 11.6071 23.6393 12.0679 23.0607L29.5107 0.957143C29.6571 0.775 29.525 0.5 29.2857 0.5V0.5Z'\r\n fill={fill}\r\n />\r\n </svg>\r\n )\r\n}\r\n","import useTheme from '../../hooks/useThemes'\r\nimport React, { useCallback, useState } from 'react'\r\nimport { IMessagesBalloon } from 'types'\r\nimport ReadIcon from '../../icons/ReadIcon'\r\nimport ReactSimpleImageViewer from 'react-simple-image-viewer'\r\nimport { MessageImage } from '../IncomingMessage/IncomingMessage'\r\nimport DocMessage from '../DocMessage/DocMessage'\r\n\r\nfunction SenderMessages ({\r\n date,\r\n message,\r\n read,\r\n hasFile,\r\n file,\r\n formatDate,\r\n id,\r\n}: IMessagesBalloon) {\r\n const [currentImage, setCurrentImage] = useState(0)\r\n const [isViewerOpen, setIsViewerOpen] = useState(false)\r\n const { theme } = useTheme()\r\n\r\n const openImageViewer = useCallback((index: number) => {\r\n setCurrentImage(index)\r\n setIsViewerOpen(true)\r\n }, [])\r\n\r\n const closeImageViewer = () => {\r\n setCurrentImage(0)\r\n setIsViewerOpen(false)\r\n }\r\n\r\n const isDoc = [\r\n 'application/msword',\r\n 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',\r\n 'application/pdf',\r\n 'text/csv',\r\n 'video/mp4',\r\n ].includes(file?.mimetype ?? '')\r\n\r\n return (\r\n <div className='messenger__messages-row--sender'>\r\n <div\r\n className='messenger__messages-sender'\r\n id={id}\r\n style={{\r\n background: theme?.messengerSenderColor,\r\n color: theme?.documentMessagesTextColor,\r\n }}\r\n >\r\n <span>\r\n {hasFile &&\r\n (isDoc ? (\r\n <DocMessage\r\n date={date}\r\n message={message}\r\n read={read}\r\n file={file}\r\n formatDate={formatDate}\r\n id={id}\r\n />\r\n ) : (\r\n <MessageImage\r\n src={file?.location}\r\n onClick={() => openImageViewer(currentImage)}\r\n />\r\n ))}\r\n\r\n <p className='messenger__message'>{message}</p>\r\n <div className='messenger__message--bottom'>\r\n <p className='messenger__message--date'>\r\n {formatDate(date) ?? new Date(date).toString()}\r\n </p>\r\n <ReadIcon fill={read ? '#00efff' : 'white'} />\r\n </div>\r\n </span>\r\n </div>\r\n\r\n {file && !isDoc && isViewerOpen && (\r\n <ReactSimpleImageViewer\r\n src={[file.location]}\r\n currentIndex={0}\r\n disableScroll={false}\r\n closeOnClickOutside={true}\r\n onClose={closeImageViewer}\r\n />\r\n )}\r\n </div>\r\n )\r\n}\r\n\r\nexport default SenderMessages\r\n","import React from 'react'\r\nimport useTheme from '../../hooks/useThemes'\r\nimport { IInconmingMessage } from 'types'\r\n\r\nfunction SystemMessage ({ date, message, formatDate, id }: IInconmingMessage) {\r\n const { theme } = useTheme()\r\n\r\n return (\r\n <div className='messenger__messages-row--system' id={id}>\r\n <div\r\n className='messenger__messages-received messenger__messages-received--system'\r\n style={{ background: theme?.messengerSystemColor }}\r\n >\r\n <span>\r\n <p className='messenger__message'>{message}</p>\r\n <p className='messenger__message--date'>\r\n {formatDate(date) ?? new Date(date).toString()}\r\n </p>\r\n </span>\r\n </div>\r\n </div>\r\n )\r\n}\r\n\r\nexport default SystemMessage\r\n","import React from 'react'\r\nimport { Iimages, IMessages } from 'types'\r\nimport IncomingMessage from '../IncomingMessage/IncomingMessage'\r\nimport SenderMessages from '../SenderMessages/SenderMessages'\r\nimport SystemMessage from '../SystemMessage/SystemMessage'\r\n\r\nfunction MessageBalloon ({\r\n item,\r\n creatorId,\r\n formatDate,\r\n id,\r\n}: {\r\n item: IMessages\r\n creatorId?: string\r\n formatDate: (date: string | Date) => string | undefined\r\n id: string\r\n}) {\r\n if (item.isSystemMessage) {\r\n return (\r\n <SystemMessage\r\n formatDate={formatDate}\r\n date={item.createdAt}\r\n message={item.content}\r\n id={item.senderId}\r\n user={{ name: 'System' }}\r\n />\r\n )\r\n }\r\n\r\n if (\r\n item.sender.uniqueCode &&\r\n !item.isSystemMessage &&\r\n item.sender.uniqueCode === creatorId\r\n ) {\r\n return (\r\n <>\r\n <SenderMessages\r\n id={id}\r\n formatDate={formatDate}\r\n message={item.content}\r\n date={item.createdAt}\r\n read={item.everybodyHasRead}\r\n hasFile={item.hasFile}\r\n file={item.file}\r\n />\r\n\r\n {item.images &&\r\n item.images.map((image: Iimages, index: number) => (\r\n <SenderMessages\r\n key={image.key}\r\n id={`${id}image-${index}`}\r\n formatDate={formatDate}\r\n date={item.createdAt}\r\n file={image}\r\n message=''\r\n hasFile={true}\r\n read={item.everybodyHasRead}\r\n />\r\n ))}\r\n </>\r\n )\r\n }\r\n\r\n return (\r\n <>\r\n <IncomingMessage\r\n id={id}\r\n formatDate={formatDate}\r\n date={item.createdAt}\r\n message={item.content}\r\n hasFile={item.hasFile}\r\n isSystemMessage={item.isSystemMessage}\r\n file={item.file}\r\n user={{\r\n avatar: item.sender?.image,\r\n name: item.sender.username,\r\n }}\r\n />\r\n\r\n {item.images &&\r\n item.images.map((image: Iimages, index: number) => (\r\n <IncomingMessage\r\n key={image.key}\r\n id={`${id}image-${index}`}\r\n formatDate={formatDate}\r\n date={item.createdAt}\r\n file={image}\r\n message=''\r\n hasFile={true}\r\n user={{\r\n avatar: item.sender?.image,\r\n name: item.sender.username,\r\n }}\r\n />\r\n ))}\r\n </>\r\n )\r\n}\r\n\r\nexport default MessageBalloon\r\n","import React from 'react'\r\n\r\nfunction MessageIcon ({ width, height }: { width: string; height: string }) {\r\n return (\r\n <svg\r\n width={width}\r\n height={height}\r\n viewBox='0 0 32 32'\r\n fill='none'\r\n xmlns='http://www.w3.org/2000/svg'\r\n >\r\n <g clipPath='url(#clip0_23_2)'>\r\n <path\r\n d='M14.2857 16C14.2857 16.4547 14.4663 16.8907 14.7878 17.2122C15.1093 17.5337 15.5453 17.7143 16 17.7143C16.4547 17.7143 16.8907 17.5337 17.2122 17.2122C17.5337 16.8907 17.7143 16.4547 17.7143 16C17.7143 15.5453 17.5337 15.1093 17.2122 14.7878C16.8907 14.4663 16.4547 14.2857 16 14.2857C15.5453 14.2857 15.1093 14.4663 14.7878 14.7878C14.4663 15.1093 14.2857 15.5453 14.2857 16V16ZM21.4286 16C21.4286 16.4547 21.6092 16.8907 21.9307 17.2122C22.2522 17.5337 22.6882 17.7143 23.1429 17.7143C23.5975 17.7143 24.0336 17.5337 24.355 17.2122C24.6765 16.8907 24.8572 16.4547 24.8572 16C24.8572 15.5453 24.6765 15.1093 24.355 14.7878C24.0336 14.4663 23.5975 14.2857 23.1429 14.2857C22.6882 14.2857 22.2522 14.4663 21.9307 14.7878C21.6092 15.1093 21.4286 15.5453 21.4286 16ZM7.14286 16C7.14286 16.4547 7.32347 16.8907 7.64497 17.2122C7.96646 17.5337 8.40249 17.7143 8.85715 17.7143C9.31181 17.7143 9.74784 17.5337 10.0693 17.2122C10.3908 16.8907 10.5714 16.4547 10.5714 16C10.5714 15.5453 10.3908 15.1093 10.0693 14.7878C9.74784 14.4663 9.31181 14.2857 8.85715 14.2857C8.40249 14.2857 7.96646 14.4663 7.64497 14.7878C7.32347 15.1093 7.14286 15.5453 7.14286 16V16ZM30.7572 9.8C29.95 7.88214 28.7929 6.16071 27.3179 4.68214C25.8532 3.21213 24.1144 2.04365 22.2 1.24286C20.2357 0.417857 18.15 0 16 0H15.9286C13.7643 0.0107143 11.6679 0.439286 9.69643 1.28214C7.79842 2.09115 6.07595 3.2617 4.62501 4.72857C3.16429 6.20357 2.01786 7.91786 1.225 9.82857C0.403576 11.8071 -0.01071 13.9107 4.25255e-06 16.075C0.012123 18.5553 0.598904 20.999 1.71429 23.2143V28.6429C1.71429 29.0786 1.88738 29.4964 2.19547 29.8045C2.50357 30.1126 2.92143 30.2857 3.35715 30.2857H8.78929C11.0046 31.4011 13.4483 31.9879 15.9286 32H16.0036C18.1429 32 20.2179 31.5857 22.1714 30.775C24.0762 29.9838 25.8085 28.8289 27.2714 27.375C28.7464 25.9143 29.9072 24.2071 30.7179 22.3036C31.5607 20.3321 31.9893 18.2357 32 16.0714C32.0107 13.8964 31.5893 11.7857 30.7572 9.8V9.8ZM25.3607 25.4429C22.8571 27.9214 19.5357 29.2857 16 29.2857H15.9393C13.7857 29.275 11.6464 28.7393 9.75715 27.7321L9.45715 27.5714H4.42858V22.5429L4.26786 22.2429C3.26072 20.3536 2.725 18.2143 2.71429 16.0607C2.7 12.5 4.06072 9.15714 6.55715 6.63929C9.05001 4.12143 12.3821 2.72857 15.9429 2.71429H16.0036C17.7893 2.71429 19.5214 3.06071 21.1536 3.74643C22.7464 4.41429 24.175 5.375 25.4036 6.60357C26.6286 7.82857 27.5929 9.26071 28.2607 10.8536C28.9536 12.5036 29.3 14.2536 29.2929 16.0607C29.2714 19.6179 27.875 22.95 25.3607 25.4429V25.4429Z'\r\n fill='black'\r\n />\r\n </g>\r\n <defs>\r\n <clipPath id='clip0_23_2'>\r\n <rect width='32' height='32' fill='@text-color' />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n )\r\n}\r\n\r\nexport default MessageIcon\r\n","import React from 'react'\r\n\r\ninterface IProps {\r\n color: string\r\n}\r\nexport default function TrashIcon ({ color }: IProps) {\r\n return (\r\n <svg\r\n width='13'\r\n height='17'\r\n viewBox='0 0 13 17'\r\n fill='none'\r\n xmlns='http://www.w3.org/2000/svg'\r\n >\r\n <path\r\n d='M13 0.928571H9.75L8.82143 0H4.17857L3.25 0.928571H0V2.78571H13M0.928571 14.8571C0.928571 15.3497 1.12423 15.8221 1.47252 16.1703C1.8208 16.5186 2.29317 16.7143 2.78571 16.7143H10.2143C10.7068 16.7143 11.1792 16.5186 11.5275 16.1703C11.8758 15.8221 12.0714 15.3497 12.0714 14.8571V3.71429H0.928571V14.8571Z'\r\n fill={color}\r\n />\r\n </svg>\r\n )\r\n}\r\n","import TrashIcon from '../../icons/TrashIcon'\r\nimport React, { useMemo } from 'react'\r\nimport useTheme from '../../hooks/useThemes'\r\nimport { useTranslation } from 'react-i18next'\r\n\r\ninterface IProps {\r\n fileList: File[]\r\n onUpdateFile: (files: File) => void\r\n label: string\r\n onRemoveFile: (files: File) => void\r\n maxSize: string\r\n loading: boolean\r\n}\r\n\r\nfunction InputFile ({\r\n fileList,\r\n onUpdateFile,\r\n label,\r\n onRemoveFile,\r\n maxSize,\r\n loading,\r\n}: IProps) {\r\n const { theme } = useTheme()\r\n const { t } = useTranslation('newFormChat')\r\n\r\n const validateFileType = useMemo(\r\n () => (allowedTypes: string[], file?: File) => {\r\n if (file?.type) {\r\n return allowedTypes.includes(file.type)\r\n }\r\n const extension = file?.name.split('.').pop()?.toLowerCase()\r\n return extension ? allowedTypes.includes(`.${extension}`) : false\r\n },\r\n []\r\n )\r\n\r\n const onUpload = () => {\r\n const input = document.querySelector('.file-input__input') as HTMLElement\r\n input?.click()\r\n }\r\n\r\n const onChange = (e: React.ChangeEvent<HTMLInputElement>) => {\r\n const file = e?.target?.files?.[0]\r\n\r\n const isAllowedType = validateFileType(\r\n [\r\n 'image/png',\r\n 'image/jpeg',\r\n 'application/pdf',\r\n 'application/msword',\r\n 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',\r\n 'text/csv',\r\n 'video/mp4',\r\n ],\r\n file\r\n )\r\n if (!isAllowedType) {\r\n console.error(t('inputFile.documentSendError'))\r\n return false\r\n }\r\n\r\n if (file) onUpdateFile(file)\r\n return true\r\n }\r\n\r\n const removeItem = (file: File) => {\r\n if (fileList.some((item) => item === file)) {\r\n onRemoveFile(file)\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n <div className='file-input'>\r\n <label\r\n style={{ color: theme.newChatFormTexts }}\r\n htmlFor=''\r\n className='file-input__label'\r\n >\r\n {label}\r\n </label>\r\n <div\r\n className='file-input__container'\r\n style={{\r\n backgroundColor: theme.inputBg,\r\n color: theme.newChatFormTexts,\r\n }}\r\n >\r\n <input\r\n className='file-input__input'\r\n type='file'\r\n id='docpicker'\r\n hidden\r\n accept='.jpg, .jpeg, .png, .pdf, .doc, .docx, .csv, .mp4'\r\n onChange={(event) => onChange(event)}\r\n />\r\n\r\n <h4>{t('inputFile.chooseFile')}</h4>\r\n <button\r\n className='file-input__button'\r\n type='button'\r\n onClick={onUpload}\r\n style={{\r\n background: theme?.buttonPrimary,\r\n color: theme?.buttonPrimaryText,\r\n }}\r\n >\r\n {t('inputFile.chooseFile')}\r\n </button>\r\n\r\n {loading ? (\r\n ''\r\n ) : (\r\n <p>\r\n {t('inputFile.allowDocuments')}(\r\n {t('inputFile.allowSizeDocument', { maxSize })})\r\n </p>\r\n )}\r\n </div>\r\n </div>\r\n\r\n <div>\r\n {fileList &&\r\n fileList.map((item) => (\r\n <div\r\n className='file-input__list'\r\n key={item.name}\r\n style={{\r\n backgroundColor: theme.inputBg,\r\n color: theme.newChatFormTexts,\r\n }}\r\n >\r\n <span className='file-input__list--file-name'>{item.name}</span>\r\n <button\r\n className='file-input__delete'\r\n onClick={() => removeItem(item)}\r\n >\r\n <TrashIcon color={theme.newChatFormDeleteFileButton || 'red'} />\r\n </button>\r\n </div>\r\n ))}\r\n </div>\r\n </>\r\n )\r\n}\r\n\r\nexport default InputFile\r\n","import React from 'react'\r\nimport useTheme from '../../hooks/useThemes'\r\ninterface IProps {\r\n options: {\r\n label: string\r\n value: string\r\n }[]\r\n label: string\r\n onChange: (value: string) => void\r\n name: string\r\n placeholder: string\r\n value: string\r\n}\r\n\r\nfunction SelectNew ({\r\n options,\r\n name,\r\n placeholder,\r\n label,\r\n onChange,\r\n value,\r\n}: IProps) {\r\n const { theme } = useTheme()\r\n return (\r\n <div className='form-select'>\r\n <label\r\n htmlFor={name}\r\n className='form-select__label'\r\n style={{ color: theme.newChatFormTexts }}\r\n >\r\n {label}\r\n </label>\r\n <select\r\n name={name}\r\n className='form-select__input'\r\n onChange={(e) => onChange(e.target.value)}\r\n value={value}\r\n style={{\r\n backgroundColor: theme.inputBg,\r\n color: theme.newChatFormTexts,\r\n }}\r\n >\r\n <option value='' disabled hidden>\r\n {placeholder}\r\n </option>\r\n {options.map((motivo) => (\r\n <option key={motivo.value} value={motivo.value}>\r\n {motivo.label}\r\n </option>\r\n ))}\r\n </select>\r\n </div>\r\n )\r\n}\r\n\r\nexport default SelectNew\r\n","import React from 'react'\r\nimport useTheme from '../../hooks/useThemes'\r\ninterface IProps {\r\n label: string\r\n onChange: (value: string) => void\r\n name: string\r\n placeholder: string\r\n}\r\n\r\nfunction Textarea ({ name, placeholder, label, onChange }: IProps) {\r\n const { theme } = useTheme()\r\n return (\r\n <div className='text-area'>\r\n <label\r\n htmlFor={name}\r\n className='text-area__label'\r\n style={{ color: theme.newChatFormTexts }}\r\n >\r\n {label}\r\n </label>\r\n <textarea\r\n style={{\r\n backgroundColor: theme.inputBg,\r\n color: theme.newChatFormTexts,\r\n }}\r\n name={name}\r\n placeholder={placeholder}\r\n className='text-area__input'\r\n onChange={(e) => onChange(e.target.value)}\r\n />\r\n </div>\r\n )\r\n}\r\n\r\nexport default Textarea\r\n","import React from 'react'\r\nimport useTheme from '../hooks/useThemes'\r\n\r\nexport default function CloseIcon () {\r\n const { theme } = useTheme()\r\n return (\r\n <svg\r\n width='21'\r\n height='21'\r\n viewBox='0 0 21 21'\r\n fill='none'\r\n xmlns='http://www.w3.org/2000/svg'\r\n >\r\n <path\r\n d='M13.4519 10.9583L20.435 3.9751C20.7664 3.64426 20.9529 3.19532 20.9533 2.72704C20.9537 2.25875 20.7681 1.80949 20.4372 1.47807C20.1064 1.14665 19.6574 0.960225 19.1892 0.959812C18.7209 0.959398 18.2716 1.14503 17.9402 1.47586L10.957 8.45902L3.97388 1.47586C3.64246 1.14444 3.19296 0.958252 2.72426 0.958252C2.25556 0.958252 1.80606 1.14444 1.47464 1.47586C1.14322 1.80728 0.957031 2.25678 0.957031 2.72548C0.957031 3.19418 1.14322 3.64368 1.47464 3.9751L8.4578 10.9583L1.47464 17.9414C1.14322 18.2728 0.957031 18.7223 0.957031 19.191C0.957031 19.6597 1.14322 20.1092 1.47464 20.4406C1.80606 20.7721 2.25556 20.9583 2.72426 20.9583C3.19296 20.9583 3.64246 20.7721 3.97388 20.4406L10.957 13.4575L17.9402 20.4406C18.2716 20.7721 18.7211 20.9583 19.1898 20.9583C19.6585 20.9583 20.108 20.7721 20.4394 20.4406C20.7708 20.1092 20.957 19.6597 20.957 19.191C20.957 18.7223 20.7708 18.2728 20.4394 17.9414L13.4519 10.9583Z'\r\n fill={theme.newChatFormTexts ?? '#476077'}\r\n />\r\n </svg>\r\n )\r\n}\r\n","import React, { FormEvent, useState } from 'react'\r\n\r\nimport InputFile from '../components/InputFile/InputFile'\r\nimport Select from '../components/Select/Select'\r\nimport Textarea from '../components/TextArea/TextArea'\r\nimport useTheme from '../hooks/useThemes'\r\nimport CloseIcon from '../icons/CloseIcon'\r\nimport { IOption } from 'types'\r\nimport { useTranslation } from 'react-i18next'\r\n\r\ninterface IProps {\r\n submitNewChat: (values: FormData) => void\r\n cancelNewChat: () => void\r\n reasons: Array<IOption>\r\n products: Array<IOption>\r\n loading: boolean\r\n maxFileSize: string\r\n loadingResources: boolean\r\n}\r\n\r\nfunction NewChatForm ({\r\n submitNewChat,\r\n cancelNewChat,\r\n reasons,\r\n products,\r\n loading,\r\n maxFileSize,\r\n loadingResources,\r\n}: IProps) {\r\n const [reason, setReason] = useState<string>(reasons?.[0]?.value)\r\n const [product, setProduct] = useState<string>(products?.[0]?.value)\r\n const [message, setMessage] = useState<string>()\r\n const [fileList, setFileList] = useState<File[]>([])\r\n const { t } = useTranslation('newFormChat')\r\n\r\n const { theme } = useTheme()\r\n\r\n const onSubmit = (event: FormEvent) => {\r\n const data2 = new FormData()\r\n event.preventDefault()\r\n\r\n fileList.forEach((file) => {\r\n data2.append(`documents`, file, file.name)\r\n })\r\n\r\n if (reason) data2.append('reason', reason)\r\n if (product) data2.append('product', product)\r\n\r\n if (message) data2.append('message', message)\r\n submitNewChat(data2)\r\n }\r\n\r\n const onUpdateFile = (file: File) => {\r\n setFileList((files) => [...files, file])\r\n }\r\n\r\n const onRemoveFile = (file: File) => {\r\n setFileList(fileList.filter((item: File) => item !== file))\r\n }\r\n\r\n return (\r\n <div\r\n className='messenger__new-chat-form'\r\n style={{\r\n backgroundColor: theme.newChatFormBg,\r\n borderRadius: theme.newChatFormRadius,\r\n }}\r\n >\r\n <div className='messenger__new-chat-form-header'>\r\n <h2 className='messenger__new-chat-form-title'>\r\n <b style={{ color: theme.newChatFormTexts }}>{t('newChat')}</b>\r\n </h2>\r\n\r\n <button\r\n onClick={cancelNewChat}\r\n className='messenger__new-chat-form-close'\r\n >\r\n <CloseIcon />\r\n </button>\r\n </div>\r\n\r\n <h3\r\n className='messenger__disclaimer'\r\n style={{\r\n borderColor: theme.disclaimerPrimaryColor,\r\n color: theme.disclaimerTextColor,\r\n backgroundColor: theme.disclaimerSecondaryColor,\r\n }}\r\n >\r\n {t('description.1')} <b>{t('description.1/2bold')}</b>{' '}\r\n {t('description.2')}\r\n </h3>\r\n\r\n <form onSubmit={onSubmit} className='messenger__new-chat-fields'>\r\n <Select\r\n onChange={(value) => setReason(value)}\r\n options={reasons}\r\n placeholder={t('fields.reasons.placeholder')}\r\n name='reasons'\r\n value={reason}\r\n label={t('fields.reasons.label')}\r\n />\r\n\r\n <Select\r\n onChange={(value) => setProduct(value)}\r\n options={products}\r\n placeholder={t('fields.product.placeholder')}\r\n value={product}\r\n name='product'\r\n label={t('fields.product.label')}\r\n />\r\n\r\n <InputFile\r\n fileList={fileList}\r\n onUpdateFile={onUpdateFile}\r\n onRemoveFile={onRemoveFile}\r\n label={t('fields.document.label')}\r\n maxSize={maxFileSize}\r\n loading={loadingResources}\r\n />\r\n\r\n <Textarea\r\n onChange={(value) => setMessage(value)}\r\n placeholder={t('fields.message.placeholder')}\r\n name='message'\r\n label={t('fields.message.label')}\r\n />\r\n\r\n <button\r\n className={`w-100 ${!loading ? 'messenger__new-chat-form-send' : 'messenger__new-chat-form-send messenger__new-chat-form-send--disabled'}`}\r\n disabled={loading}\r\n type='submit'\r\n style={{\r\n backgroundColor: !loading ? theme.buttonPrimary : '#ccc',\r\n color: theme.buttonPrimaryText,\r\n }}\r\n >\r\n {!loading ? t('buttons.send') : t('buttons.sendingButton')}\r\n </button>\r\n </form>\r\n </div>\r\n )\r\n}\r\n\r\nexport default NewChatForm\r\n","import React from 'react'\r\nimport useTheme from '../hooks/useThemes'\r\n\r\nexport default function AttachFileIcon ({ ...rest }) {\r\n const { theme } = useTheme()\r\n return (\r\n <svg\r\n width='26'\r\n height='28'\r\n viewBox='0 0 26 28'\r\n xmlns='http://www.w3.org/2000/svg'\r\n {...rest}\r\n >\r\n <path\r\n d='M22.5464 2.73571C19.1821 -0.628572 13.7036 -0.628572 10.3429 2.73571L1.02143 12.05C0.960715 12.1107 0.928572 12.1929 0.928572 12.2786C0.928572 12.3643 0.960715 12.4464 1.02143 12.5071L2.33929 13.825C2.39953 13.885 2.48107 13.9186 2.56607 13.9186C2.65108 13.9186 2.73262 13.885 2.79286 13.825L12.1143 4.51071C13.2714 3.35357 14.8107 2.71786 16.4464 2.71786C18.0821 2.71786 19.6214 3.35357 20.775 4.51071C21.9321 5.66786 22.5679 7.20714 22.5679 8.83929C22.5679 10.475 21.9321 12.0107 20.775 13.1679L11.275 22.6643L9.73572 24.2036C8.29643 25.6429 5.95714 25.6429 4.51786 24.2036C3.82143 23.5071 3.43929 22.5821 3.43929 21.5964C3.43929 20.6107 3.82143 19.6857 4.51786 18.9893L13.9429 9.56786C14.1821 9.33214 14.4964 9.2 14.8321 9.2H14.8357C15.1714 9.2 15.4821 9.33214 15.7179 9.56786C15.9571 9.80714 16.0857 10.1214 16.0857 10.4571C16.0857 10.7893 15.9536 11.1036 15.7179 11.3393L8.01429 19.0357C7.95357 19.0964 7.92143 19.1786 7.92143 19.2643C7.92143 19.35 7.95357 19.4321 8.01429 19.4929L9.33214 20.8107C9.39238 20.8707 9.47393 20.9044 9.55893 20.9044C9.64393 20.9044 9.72548 20.8707 9.78572 20.8107L17.4857 13.1107C18.1964 12.4 18.5857 11.4571 18.5857 10.4536C18.5857 9.45 18.1929 8.50357 17.4857 7.79643C16.0179 6.32857 13.6321 6.33214 12.1643 7.79643L11.25 8.71429L2.74286 17.2179C2.16547 17.7919 1.70778 18.4748 1.39634 19.227C1.0849 19.9793 0.925905 20.7858 0.928572 21.6C0.928572 23.2536 1.575 24.8071 2.74286 25.975C3.95357 27.1821 5.53929 27.7857 7.125 27.7857C8.71072 27.7857 10.2964 27.1821 11.5036 25.975L22.5464 14.9393C24.1714 13.3107 25.0714 11.1429 25.0714 8.83929C25.075 6.53214 24.175 4.36429 22.5464 2.73571Z'\r\n fill={theme.uploadFileIconColor}\r\n />\r\n </svg>\r\n )\r\n}\r\n","import React, { ReactNode } from 'react'\r\n\r\ninterface ToolTipProps {\r\n text: string\r\n children: ReactNode\r\n}\r\n\r\nconst ToolTip: React.FC<ToolTipProps> = ({ text, children }) => {\r\n return (\r\n <div className='tooltip'>\r\n {children}\r\n <div className='tooltip__text'>{text}</div>\r\n </div>\r\n )\r\n}\r\n\r\nexport default ToolTip\r\n","import useTheme from '../../hooks/useThemes'\r\nimport React, {\r\n Fragment,\r\n MutableRefObject,\r\n useMemo,\r\n useRef,\r\n useState,\r\n} from 'react'\r\nimport { IList } from 'types'\r\nimport AttachFileIcon from '../../../Messenger/icons/AttachFileIcon'\r\nimport rightArrow from '../../../../assets/right-arrow.svg'\r\nimport { SpinLoading } from '../../views/MessengerMessages'\r\nimport ToolTip from '../Tooltip/Tooltip'\r\nimport { useTranslation } from 'react-i18next'\r\n\r\ninterface IProps {\r\n allowImages: boolean\r\n current?: IList\r\n onSubmit: (value: FormData, callback: () => void) => void\r\n file?: File | null\r\n updateFile: (file: File | null) => void\r\n isLoading?: boolean\r\n maxFileSize: string\r\n}\r\n\r\nfunction AllowDocuments ({\r\n allowImages,\r\n attachFile,\r\n handleFile,\r\n closedChat,\r\n maxFileField,\r\n}: {\r\n allowImages: boolean\r\n attachFile: MutableRefObject<HTMLInputElement | null>\r\n handleFile: (e: React.ChangeEvent<HTMLInputElement>) => void\r\n closedChat: boolean\r\n maxFileField: string\r\n}) {\r\n const { t } = useTranslation('messengerMessages')\r\n\r\n if (allowImages) {\r\n return (\r\n <Fragment>\r\n <input\r\n type='file'\r\n size={1}\r\n className='messenger__messages-send--file'\r\n ref={attachFile}\r\n onChange={handleFile}\r\n accept='.jpg, .jpeg, .png, .pdf, .doc, .docx, .mp4, .csv'\r\n />\r\n\r\n <ToolTip text={t('sendMessageForm.maxFileField', { maxFileField })}>\r\n <AttachFileIcon\r\n className={`messenger__messages-send__attach ${closedChat ? 'messenger__messages-send__attach--disabled' : ''}`}\r\n onClick={() => (!closedChat ? attachFile.current?.click() : null)}\r\n />\r\n </ToolTip>\r\n </Fragment>\r\n )\r\n }\r\n\r\n return <></>\r\n}\r\n\r\nfunction SendMessageForm ({\r\n allowImages,\r\n current,\r\n onSubmit,\r\n file,\r\n updateFile,\r\n isLoading,\r\n maxFileSize,\r\n}: IProps) {\r\n const { t } = useTranslation('messengerMessages')\r\n const [formHeight, setFormHeight] = useState<number>(100)\r\n const [sending, setSending] = useState<boolean>(false)\r\n\r\n const inputRef: MutableRefObject<HTMLTextAreaElement | null> = useRef(null)\r\n const attachFile: MutableRefObject<HTMLInputElement | null> = useRef(null)\r\n\r\n const closedChat = useMemo(\r\n () => current?.status.current.state === 'final',\r\n [current]\r\n )\r\n\r\n const { theme } = useTheme()\r\n\r\n function correctTextAreaHeight (styleConfig: {\r\n height: number\r\n overflow: string\r\n }) {\r\n const textarea = inputRef.current\r\n if (textarea) {\r\n textarea.style.height = `${styleConfig.height}px`\r\n textarea.style.overflowY = styleConfig.overflow\r\n }\r\n }\r\n\r\n function resetHeights () {\r\n const inicialFormHeight = 100\r\n const inicialTextAreaHeight = 50\r\n setFormHeight(inicialFormHeight)\r\n correctTextAreaHeight({ height: inicialTextAreaHeight, overflow: 'hidden' })\r\n }\r\n\r\n function adjustFormHeight (textareaRef: typeof inputRef.current) {\r\n if (textareaRef) {\r\n const initialHeight = 50\r\n const maxHeight = 80\r\n const newHeight = textareaRef.scrollHeight\r\n\r\n if (newHeight > maxHeight) {\r\n correctTextAreaHeight({\r\n height: maxHeight,\r\n overflow: 'auto',\r\n })\r\n return maxHeight + initialHeight\r\n }\r\n\r\n correctTextAreaHeight({\r\n height: initialHeight,\r\n overflow: 'auto',\r\n })\r\n return initialHeight * 2\r\n }\r\n\r\n return formHeight\r\n }\r\n\r\n function handleTextareaChange () {\r\n const textarea = inputRef.current\r\n setFormHeight(adjustFormHeight(textarea))\r\n }\r\n\r\n function handleSubmit (e?: React.FormEvent<HTMLFormElement>) {\r\n e?.preventDefault()\r\n if (sending) return\r\n setSending(true)\r\n\r\n const data = new FormData()\r\n if (file) data.append('file', file)\r\n if (inputRef.current?.value) data.append('message', inputRef.current?.value)\r\n\r\n onSubmit(data, () => {\r\n if (inputRef.current) inputRef.current.value = ''\r\n if (file) updateFile(null)\r\n setSending(false)\r\n resetHeights()\r\n })\r\n }\r\n\r\n function handleFile (e: React.ChangeEvent<HTMLInputElement>) {\r\n if (e.target.files) {\r\n const file = e.target.files[0]\r\n const allowedTypes = [\r\n 'image/png',\r\n 'image/jpeg',\r\n 'application/pdf',\r\n 'application/msword',\r\n 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',\r\n 'text/csv',\r\n 'video/mp4',\r\n ]\r\n const allowedExtensions = [\r\n 'png',\r\n 'jpeg',\r\n 'jpg',\r\n 'pdf',\r\n 'doc',\r\n 'docx',\r\n 'csv',\r\n 'mp4',\r\n ]\r\n const fileType = file?.type\r\n const fileExtension = file?.name.split('.').pop()?.toLowerCase()\r\n const isAllowed = fileType\r\n ? allowedTypes.includes(fileType)\r\n : fileExtension\r\n ? allowedExtensions.includes(fileExtension)\r\n : false\r\n if (isAllowed) {\r\n updateFile(file)\r\n }\r\n }\r\n }\r\n\r\n return (\r\n <form\r\n onSubmit={handleSubmit}\r\n className='messenger__messages-send--form'\r\n style={{\r\n height: `${formHeight}px`,\r\n maxHeight: '150px',\r\n }}\r\n >\r\n <div className='messenger__messages-send__input-container'>\r\n <textarea\r\n onChange={handleTextareaChange}\r\n placeholder={\r\n closedChat\r\n ? t('sendMessageForm.chatEnded')\r\n : t('sendMessageForm.typeMessage')\r\n }\r\n ref={inputRef}\r\n onKeyDown={(e) => {\r\n if (e.key === 'Enter' && !e.shiftKey) {\r\n e.preventDefault()\r\n handleSubmit()\r\n }\r\n }}\r\n className={`messenger__messages-send__input ${closedChat || sending ? 'messenger__messages-send__input--disabled' : ''} `}\r\n disabled={closedChat || sending}\r\n style={{\r\n backgroundColor: theme?.inputBg,\r\n }}\r\n />\r\n\r\n <AllowDocuments\r\n allowImages={allowImages}\r\n handleFile={handleFile}\r\n attachFile={attachFile}\r\n closedChat={closedChat}\r\n maxFileField={maxFileSize}\r\n />\r\n </div>\r\n\r\n {isLoading ? (\r\n <div className='messenger__messages-sending'>\r\n <SpinLoading />\r\n </div>\r\n ) : (\r\n <button\r\n type='submit'\r\n className={`messenger__messages-send__button ${closedChat || sending ? 'messenger__messages-send__button--disabled' : ''}`}\r\n disabled={closedChat || sending}\r\n style={{\r\n backgroundColor: theme?.buttonPrimary,\r\n }}\r\n >\r\n <img\r\n alt={t('sendMessageForm.rightIcon')}\r\n height={25}\r\n width={25}\r\n className='ml-1'\r\n src={rightArrow}\r\n />\r\n </button>\r\n )}\r\n </form>\r\n )\r\n}\r\n\r\nexport default SendMessageForm\r\n","import React, {\r\n Fragment,\r\n useState,\r\n useRef,\r\n MutableRefObject,\r\n useEffect,\r\n} from 'react'\r\nimport ImagesContainer from '../components/ImagesContainer/ImagesContainer'\r\nimport MessageBalloon from '../components/MessageBallon/MessageBalloon'\r\n\r\nimport MessageIcon from '../icons/MessageIcon'\r\n\r\nimport { ICommonProps, IList, IMessages, IOption } from 'types'\r\nimport useTheme from '../hooks/useThemes'\r\n\r\nimport NewChatForm from './NewFormChat'\r\nimport EmptyIcon from '../icons/EmptyIcon'\r\nimport SendMessageForm from '../components/SendMessageForm/SendMessageForm'\r\nimport InfiniteScroll from '../components/InfiniteScroll/InfiniteScroll'\r\nimport { formatFileSize } from '../components/DocMessage/DocMessage'\r\nimport { useTranslation } from 'react-i18next'\r\n\r\ninterface IScrollableContainer {\r\n loading: boolean\r\n onIntersect: () => Promise<void>\r\n hasNext: boolean\r\n}\r\n\r\ntype MessengerView = 'empty' | 'messages' | 'newChat'\r\n\r\ninterface IMessengerMessages extends ICommonProps, IScrollableContainer {\r\n header: React.ReactElement\r\n current?: IList\r\n creatorId?: string\r\n allowImages: boolean\r\n tab?: 'list' | 'messages'\r\n messegerView: MessengerView\r\n className?: string\r\n messages: IMessages[]\r\n onSubmit: (value: FormData, callback: () => void) => Promise<void>\r\n cancelNewChat: () => void\r\n formatDate: (date: string | Date) => string | undefined\r\n reasons: Array<IOption>\r\n products: Array<IOption>\r\n submitNewChat: (values: FormData) => void\r\n newChatLoading: boolean\r\n maxFileSize: () => Promise<{ data: { data: { maxFileSize: number } } }>\r\n}\r\n\r\ninterface IMessengerForm {\r\n children: React.ReactNode\r\n messegerView: MessengerView\r\n reasons: Array<IOption>\r\n products: Array<IOption>\r\n submitNewChat: (values: FormData) => void\r\n cancelNewChat: () => void\r\n newChatLoading: boolean\r\n maxFileSize: string\r\n loadingResources: boolean\r\n}\r\n\r\nfunction MessagesContainerView ({\r\n children,\r\n messegerView,\r\n submitNewChat,\r\n cancelNewChat,\r\n reasons,\r\n products,\r\n newChatLoading,\r\n maxFileSize,\r\n loadingResources,\r\n}: IMessengerForm) {\r\n const { theme } = useTheme()\r\n const { t } = useTranslation('messengerMessages')\r\n\r\n if (messegerView === 'empty') {\r\n return (\r\n <div\r\n className='messenger__messages-container--empty'\r\n style={{ backgroundColor: theme?.messengerNotSelectedBg }}\r\n >\r\n <MessageIcon width='72' height='72' />\r\n <p>{t('selectConversation')}</p>\r\n </div>\r\n )\r\n }\r\n\r\n if (messegerView === 'newChat') {\r\n return (\r\n <NewChatForm\r\n reasons={reasons}\r\n products={products}\r\n submitNewChat={submitNewChat}\r\n cancelNewChat={cancelNewChat}\r\n loading={newChatLoading}\r\n maxFileSize={maxFileSize}\r\n loadingResources={loadingResources}\r\n />\r\n )\r\n }\r\n\r\n return <>{children}</>\r\n}\r\n\r\nexport function SpinLoading () {\r\n return (\r\n <div className='messenger__messages-loading'>\r\n <div className='messenger__messages-loading--loader' />\r\n </div>\r\n )\r\n}\r\n\r\nfunction Messages ({\r\n messages,\r\n creatorId,\r\n formatDate,\r\n loading,\r\n}: {\r\n messages: IMessages[]\r\n creatorId?: string\r\n formatDate: (date: string | Date) => string | undefined\r\n loading: boolean\r\n}) {\r\n const { theme } = useTheme()\r\n const { t } = useTranslation('messengerMessages')\r\n\r\n if (!messages || (messages.length === 0 && !loading)) {\r\n return (\r\n <div\r\n className='messenger__message-empty'\r\n style={{ color: theme.emptyMessagesFontColor }}\r\n >\r\n <EmptyIcon />\r\n <p>{t('noMessagesFound')}</p>\r\n </div>\r\n )\r\n }\r\n\r\n return (\r\n <>\r\n {messages.map((item, idx) => {\r\n return (\r\n <Fragment key={`${item.ticketId}_${item.senderId}_${idx}`}>\r\n <MessageBalloon\r\n id={`message_${idx}`}\r\n formatDate={formatDate}\r\n creatorId={creatorId}\r\n item={item}\r\n />\r\n </Fragment>\r\n )\r\n })}\r\n </>\r\n )\r\n}\r\n\r\nconst onScrollToBottom = (\r\n scrollContainer: MutableRefObject<HTMLDivElement | null>\r\n) => {\r\n if (scrollContainer.current) {\r\n scrollContainer.current.scrollTop = Number.MAX_SAFE_INTEGER\r\n }\r\n}\r\n\r\nfunction MessagesContainer ({\r\n children,\r\n fowardRef,\r\n ...rest\r\n}: {\r\n children: React.ReactNode\r\n fowardRef: MutableRefObject<HTMLDivElement | null>\r\n} & React.DetailedHTMLProps<\r\n React.HTMLAttributes<HTMLDivElement>,\r\n HTMLDivElement\r\n>) {\r\n const { theme } = useTheme()\r\n\r\n return (\r\n <div\r\n {...rest}\r\n ref={fowardRef}\r\n className='messenger__messages-container'\r\n style={{\r\n padding: '1rem',\r\n backgroundColor: theme?.messengerMessagesBg,\r\n border: `1px solid ${theme.borderColor}`,\r\n }}\r\n >\r\n {children}\r\n </div>\r\n )\r\n}\r\n\r\nfunction ScrollableContainer ({\r\n children,\r\n loading,\r\n onIntersect,\r\n hasNext,\r\n scrollContainerFowardRef,\r\n}: {\r\n children: React.ReactNode\r\n scrollContainerFowardRef: MutableRefObject<HTMLDivElement | null>\r\n} & IScrollableContainer) {\r\n const intersetRootMargin = 300\r\n\r\n const getElementScrollHeight = (divRef: HTMLDivElement | null) => {\r\n if (!divRef) return null\r\n return divRef.scrollHeight\r\n }\r\n\r\n const getElementScrollTop = (divRef: HTMLDivElement | null) => {\r\n if (!divRef) return null\r\n return divRef.scrollTop\r\n }\r\n\r\n const calculateScrollToDecrease = (\r\n elementBeforeIntersetHeight: number,\r\n elementAfterIntersectHeight: number,\r\n intersetRootMargin: number\r\n ) => {\r\n return (\r\n Math.abs(elementAfterIntersectHeight - elementBeforeIntersetHeight) +\r\n intersetRootMargin\r\n )\r\n }\r\n\r\n const isNill = (value: number | null | undefined) => {\r\n return value === null && value === undefined\r\n }\r\n\r\n const onFetchInfiniteScroll = async () => {\r\n const elementBeforeIntersetHeight = getElementScrollHeight(\r\n scrollContainerFowardRef.current\r\n )\r\n\r\n await onIntersect()\r\n\r\n const elementAfterIntersectHeight = getElementScrollHeight(\r\n scrollContainerFowardRef.current\r\n )\r\n\r\n if (\r\n scrollContainerFowardRef.current &&\r\n !isNill(elementBeforeIntersetHeight) &&\r\n !isNill(elementAfterIntersectHeight)\r\n ) {\r\n const currentScrollTop =\r\n getElementScrollTop(scrollContainerFowardRef.current) || 0\r\n scrollContainerFowardRef.current.scrollTop = calculateScrollToDecrease(\r\n elementAfterIntersectHeight as number,\r\n elementBeforeIntersetHeight as number,\r\n currentScrollTop\r\n )\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n onScrollToBottom(scrollContainerFowardRef)\r\n }, [])\r\n\r\n return (\r\n <MessagesContainer fowardRef={scrollContainerFowardRef}>\r\n <InfiniteScroll\r\n root={document.querySelector('.messenger__messages-container')}\r\n loading={loading}\r\n loadingCover={<SpinLoading />}\r\n more={hasNext}\r\n fetch={onFetchInfiniteScroll}\r\n rootMargin={intersetRootMargin}\r\n reverse\r\n >\r\n {children}\r\n </InfiniteScroll>\r\n </MessagesContainer>\r\n )\r\n}\r\n\r\nfunction MessengerMessages ({\r\n header,\r\n tab,\r\n className = '',\r\n current,\r\n messages,\r\n allowImages,\r\n creatorId,\r\n loading,\r\n onSubmit,\r\n submitNewChat,\r\n cancelNewChat,\r\n reasons,\r\n products,\r\n messegerView,\r\n formatDate,\r\n hasNext,\r\n onIntersect,\r\n newChatLoading,\r\n maxFileSize,\r\n}: IMessengerMessages) {\r\n const { t } = useTranslation('messengerMessages')\r\n const [file, setFile] = useState<File | null>()\r\n const scrollContainerRef = useRef<HTMLDivElement | null>(null)\r\n const [isSending, setIsSending] = useState(false)\r\n const [maxSize, setMaxSize] = useState<string>('')\r\n\r\n const { theme } = useTheme()\r\n\r\n const styleClassnames = {\r\n mobile: tab === 'list' ? 'messenger__mobile-hide' : '',\r\n }\r\n\r\n const updateFile = (file: File | null) => {\r\n setFile(file)\r\n }\r\n\r\n const onSubmitNewMessage = async (\r\n message: FormData,\r\n callback: () => void\r\n ) => {\r\n setIsSending(true)\r\n try {\r\n await onSubmit(message, callback)\r\n onScrollToBottom(scrollContainerRef)\r\n } finally {\r\n setIsSending(false)\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n const fetchMaxFileSize = async () => {\r\n try {\r\n const response = await maxFileSize()\r\n const size = formatFileSize(response.data.data.maxFileSize)\r\n setMaxSize(size)\r\n } catch (error) {\r\n console.error(t('errorSearchingMaxFileSize'), error)\r\n }\r\n }\r\n\r\n fetchMaxFileSize()\r\n }, [maxSize])\r\n\r\n return (\r\n <div\r\n className={`messenger__messages ${className} ${styleClassnames.mobile} `}\r\n >\r\n <MessagesContainerView\r\n newChatLoading={newChatLoading}\r\n reasons={reasons}\r\n products={products}\r\n submitNewChat={submitNewChat}\r\n cancelNewChat={cancelNewChat}\r\n messegerView={messegerView}\r\n maxFileSize={maxSize}\r\n loadingResources={loading}\r\n >\r\n {file ? (\r\n <ImagesContainer file={file} onClose={() => setFile(null)} />\r\n ) : (\r\n <>\r\n <div\r\n className='messenger__messages-header'\r\n style={{\r\n backgroundColor: theme?.headerAndSenderBg,\r\n border: `1px solid ${theme.borderColor}`,\r\n }}\r\n >\r\n {React.cloneElement(header)}\r\n </div>\r\n\r\n {loading && !messages.length ? (\r\n <MessagesContainer fowardRef={scrollContainerRef}>\r\n <SpinLoading />\r\n </MessagesContainer>\r\n ) : (\r\n <ScrollableContainer\r\n scrollContainerFowardRef={scrollContainerRef}\r\n loading={loading}\r\n hasNext={hasNext}\r\n onIntersect={onIntersect}\r\n >\r\n <Messages\r\n formatDate={formatDate}\r\n messages={messages}\r\n creatorId={creatorId}\r\n loading={loading}\r\n />\r\n </ScrollableContainer>\r\n )}\r\n </>\r\n )}\r\n\r\n <div\r\n className='messenger__messages-send'\r\n style={{\r\n backgroundColor: theme?.headerAndSenderBg,\r\n border: `1px solid ${theme.borderColor}`,\r\n }}\r\n >\r\n <SendMessageForm\r\n allowImages={allowImages}\r\n onSubmit={onSubmitNewMessage}\r\n file={file}\r\n updateFile={updateFile}\r\n current={current}\r\n isLoading={isSending}\r\n maxFileSize={maxSize}\r\n />\r\n </div>\r\n </MessagesContainerView>\r\n </div>\r\n )\r\n}\r\n\r\nexport default MessengerMessages\r\n","import { useState } from 'react'\r\nimport { IList } from 'types'\r\n\r\ntype _viewDesktop = 'empty' | 'messages' | 'newChat'\r\ntype _viewMobile = 'list' | 'messages'\r\n\r\nexport const useConversations = () => {\r\n const SLICE = 15\r\n const [sliceCount, setSliceCount] = useState(SLICE)\r\n const [conversations, setConversations] = useState<IList[]>([])\r\n const [currentChat, setCurrentChat] = useState<IList>()\r\n const [viewDesktop, setViewDesktop] = useState<_viewDesktop>('empty')\r\n const [viewMobile, setViewMobile] = useState<'list' | 'messages'>('list')\r\n\r\n const changeViewDesktop = (view: _viewDesktop) => {\r\n setViewDesktop(view)\r\n }\r\n\r\n const changeViewMobile = (view: _viewMobile) => {\r\n setViewMobile(view)\r\n }\r\n\r\n const selectChat = (chat: IList) => {\r\n setCurrentChat(chat)\r\n }\r\n\r\n const onIntersect = () => {\r\n setSliceCount((prev) => {\r\n const count = prev + SLICE\r\n return count\r\n })\r\n }\r\n\r\n const hasNext = () => {\r\n return conversations.length >= sliceCount\r\n }\r\n\r\n const resetConversations = () => {\r\n setConversations([])\r\n }\r\n\r\n const mapConversationsUnread = (prev: IList[]) => (id: string) => {\r\n return (prev || []).map((conversation) => {\r\n if (conversation?._id === id) {\r\n return {\r\n ...conversation,\r\n totalUnreadMessages: 0,\r\n }\r\n }\r\n\r\n return conversation\r\n })\r\n }\r\n\r\n const reorderConversations = (conversations: IList[], ticketId?: string) => {\r\n const index = conversations.findIndex(\r\n (conversation) => conversation._id === ticketId\r\n )\r\n if (index !== -1) {\r\n const conversationToMove = conversations.splice(index, 1)[0]\r\n conversations.unshift(conversationToMove)\r\n }\r\n }\r\n\r\n const mapConversationsIncrementUnread =\r\n (prev: IList[], ticketId?: string) => (id: string) => {\r\n const updatedConversations = (prev || []).map((conversation) => {\r\n if (conversation._id === id) {\r\n return {\r\n ...conversation,\r\n totalUnreadMessages:\r\n ticketId === id ? 0 : conversation.totalUnreadMessages + 1,\r\n }\r\n }\r\n return conversation\r\n })\r\n\r\n reorderConversations(updatedConversations, ticketId)\r\n\r\n return updatedConversations\r\n }\r\n\r\n const setAsRead = (id: string) => {\r\n setConversations((prev) => mapConversationsUnread(prev)(id))\r\n }\r\n\r\n const addConversations = (\r\n conversations: IList[],\r\n goToNewConversation?: (chat: IList) => void\r\n ) => {\r\n setConversations(conversations)\r\n\r\n if (goToNewConversation) goToNewConversation(conversations[0])\r\n }\r\n\r\n const addOneUnreadToTicket = (ticketId: string, currentChat?: string) => {\r\n setConversations((prev) => {\r\n return mapConversationsIncrementUnread(prev, currentChat)(ticketId)\r\n })\r\n }\r\n\r\n const removeClosedConversation = (ticketId: string) => {\r\n const filtred = conversations.filter(\r\n (conversation) => conversation._id !== ticketId\r\n )\r\n addConversations(filtred)\r\n }\r\n\r\n const closeIfIsCurrent = (ticketId: string) => {\r\n if (ticketId === currentChat?._id) {\r\n changeViewDesktop('empty')\r\n changeViewMobile('list')\r\n }\r\n }\r\n\r\n const onCloseChat = (ticketId: string) => {\r\n removeClosedConversation(ticketId)\r\n closeIfIsCurrent(ticketId)\r\n }\r\n\r\n const reset = () => {\r\n setSliceCount(SLICE)\r\n resetConversations()\r\n }\r\n\r\n return {\r\n onIntersect,\r\n reset,\r\n conversations,\r\n hasNext,\r\n addConversations,\r\n addOneUnreadToTicket,\r\n setAsRead,\r\n sliceCount,\r\n currentChat,\r\n selectChat,\r\n onCloseChat,\r\n changeViewDesktop,\r\n viewDesktop,\r\n changeViewMobile,\r\n viewMobile,\r\n }\r\n}\r\n","import { useState } from 'react'\r\nimport { IMessages, ISocketMessage } from 'types'\r\n\r\nexport const useMessages = () => {\r\n const [messages, setMessages] = useState<IMessages[]>([])\r\n const [totalMessages, setTotalMessages] = useState<number>(0)\r\n\r\n const addMessages = (messages: IMessages[]) => {\r\n setMessages(messages)\r\n }\r\n const addTotalMessages = (total: number) => {\r\n setTotalMessages(total)\r\n }\r\n\r\n const incrementMessages = (ticket: ISocketMessage, currentChatId: string) => {\r\n const existentMessage = messages.find(\r\n (item) => item.messagecode === ticket.message.messagecode\r\n )\r\n if (ticket.message.ticketId === currentChatId && !existentMessage) {\r\n addMessages([...messages, ticket.message])\r\n }\r\n }\r\n\r\n const updateMesssagesAsRead = (\r\n ticket: ISocketMessage,\r\n currentChatId: string\r\n ) => {\r\n if (ticket.markAsRead || currentChatId === ticket?.message?.ticketId) {\r\n const readMessages = messages.map((message) => ({\r\n ...message,\r\n everybodyHasRead: true,\r\n }))\r\n addMessages(readMessages)\r\n }\r\n }\r\n\r\n const hasOlderMessages = () => {\r\n return messages.length > 9 && messages.length < totalMessages\r\n }\r\n\r\n return {\r\n addMessages,\r\n messages,\r\n incrementMessages,\r\n updateMesssagesAsRead,\r\n addTotalMessages,\r\n hasOlderMessages,\r\n }\r\n}\r\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_i18next__[\"default\"] });","import i18n from 'i18next'\r\nimport { initReactI18next } from 'react-i18next'\r\n\r\nimport pt from './locales/pt.json'\r\nimport en from './locales/en.json'\r\n\r\nconst resources = makeResources()\r\nfunction makeResources () {\r\n return {\r\n en: {\r\n newFormChat: en.newFormChat,\r\n messengerMessages: en.messengerMessages,\r\n messengerList: en.messengerList,\r\n },\r\n pt: {\r\n newFormChat: pt.newFormChat,\r\n messengerMessages: pt.messengerMessages,\r\n messengerList: pt.messengerList,\r\n },\r\n }\r\n}\r\n\r\ni18n.use(initReactI18next).init({\r\n resources,\r\n lng: 'pt',\r\n fallbackLng: 'pt',\r\n interpolation: {\r\n escapeValue: false,\r\n },\r\n})\r\n\r\nexport default i18n\r\n\r\nexport function setLanguage (lang: string) {\r\n i18n.changeLanguage(lang)\r\n}\r\n","import React, { ReactNode, useEffect } from 'react'\r\nimport { I18nextProvider } from 'react-i18next'\r\nimport defaultI18n from '../i18n'\r\n\r\ninterface ChatProviderProps {\r\n children: ReactNode\r\n locale?: string\r\n}\r\n\r\nconsole.log('ChatProvider render')\r\n\r\nfunction ChatProvider ({ children, locale }: ChatProviderProps) {\r\n useEffect(() => {\r\n if (locale) {\r\n defaultI18n.changeLanguage(locale)\r\n }\r\n }, [locale])\r\n\r\n return <I18nextProvider i18n={defaultI18n}>{children}</I18nextProvider>\r\n}\r\n\r\nexport default ChatProvider\r\n"],"names":["___CSS_LOADER_EXPORT___","push","module","id","exports","cssWithMappingToString","list","toString","this","map","item","content","needLayer","concat","length","join","i","modules","media","dedupe","supports","layer","undefined","alreadyImportedModules","k","_k","cssMapping","btoa","base64","unescape","encodeURIComponent","JSON","stringify","data","sourceMapping","e","o","default","a","s","name","weekdays","split","weekdaysShort","weekdaysMin","months","monthsShort","ordinal","formats","LT","LTS","L","LL","LLL","LLLL","relativeTime","future","past","m","mm","h","hh","d","dd","M","MM","y","yy","locale","t","prototype","isToday","format","year","month","day","hour","minute","second","n","r","Date","timeZoneName","Intl","DateTimeFormat","hour12","timeZone","formatToParts","u","f","type","value","c","parseInt","l","v","utc","valueOf","tz","utcOffset","toDate","toLocaleString","Math","round","$set","$ms","getTimezoneOffset","add","$x","$timezone","offsetName","guess","find","toLowerCase","startOf","call","min","max","resolvedOptions","setDefault","date","args","arguments","$L","local","parse","$u","$utils","$offset","init","$d","$y","getUTCFullYear","$M","getUTCMonth","$D","getUTCDate","$W","getUTCDay","$H","getUTCHours","$m","getUTCMinutes","$s","getUTCSeconds","getUTCMilliseconds","match","abs","$localOffset","isUTC","toISOString","toUTCString","diff","stylesInDOM","getIndexByIdentifier","identifier","result","modulesToDom","options","idCountMap","identifiers","base","count","indexByIdentifier","obj","css","sourceMap","references","updater","addElementStyle","byIndex","splice","api","domAPI","update","newObj","remove","lastIdentifiers","newList","index","newLastIdentifiers","_i","_index","memo","insert","style","target","styleTarget","document","querySelector","window","HTMLIFrameElement","contentDocument","head","getTarget","Error","appendChild","element","createElement","setAttributes","attributes","styleElement","nonce","setAttribute","insertStyleElement","styleTagTransform","apply","parentNode","removeChild","removeStyleElement","styleSheet","cssText","firstChild","createTextNode","__WEBPACK_EXTERNAL_MODULE_dayjs__","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","__esModule","definition","key","Object","defineProperty","enumerable","get","prop","hasOwnProperty","nc","x","__WEBPACK_EXTERNAL_MODULE_react__","Fragment","createContext","useCallback","useContext","useEffect","useMemo","useRef","useState","defaultThemeVariables","asideBg","asideFontColor","messengerMessagesBg","headerAndSenderBg","buttonPrimary","buttonPrimaryText","buttonsDisabled","uploadFileIconColor","messengerNotSelectedBg","newChatFormBg","newChatFormRadius","newChatFormTexts","newChatFormDeleteFileButton","disclaimerPrimaryColor","disclaimerSecondaryColor","disclaimerTextColor","messengerSenderColor","messengerIncomerColor","messengerSystemColor","borderColor","inputBg","chatInputBorder","listItemHover","active","activeTabBorter","emptyMessagesFontColor","documentMessagesTextColor","MessageThemeContext","children","theme","config","Provider","context","serverTz","timeAsDayjs","server","applyTimezone","timezone","seconds","holidays","isWorkingDay","dayOfWeek","isWorkingHour","isWeekendOrHoliday","weekDay","includes","formatedDate","isHoliday","canUpdateClock","isWorking","getDiffInSeconds","startDate","endDate","calculateWorkingTime","workingHours","current","clone","workingTime","isBefore","startOfDay","start","endOfDay","end","isAfter","getDifferenceInSeconds","secondsInHours","currentSeconds","hours","floor","minutes","padStart","getColorsByTime","__WEBPACK_EXTERNAL_MODULE_react_i18next_31085753__","I18nextProvider","initReactI18next","useTranslation","image","className","background","loading","alt","src","TimerIcon","color","width","height","viewBox","fill","xmlns","activeItem","defaultClass","activeClass","querySelectorAll","forEach","classList","currentTarget","unread","onClick","canSeeDetailsChat","currentId","currentViewerId","totalUnreadMessages","unreadMessages","setUnreadMessages","closedChat","status","state","setBackground","counter","setCounter","isInprogress","systemicValue","otherChatMember","users","uniqueCode","creator","interval","sla","SlaDates","currentTime","createdAt","diference","setInterval","prev","SLATimePassed","clearInterval","handleClick","onMouseOver","onMouseLeave","backgroundColor","_id","username","slice","reason","protocol","handleChangeTickets","chatListTabs","tab","label","chatButtons","removeActiveItem","button","canSee","disabled","event","border","SearchIcon","searchChat","searchKeys","loadingSearch","searchKey","setSearchKey","searchValue","setSearchValue","onChange","placeholder","onKeyDown","borderLeft","EmptyIcon","intersectDivStyle","visibility","loadingCover","more","fetch","root","reverse","rootMargin","infiniteElement","setInfiniteElement","currentElement","observer","IntersectionObserver","entries","isIntersecting","threshold","observe","unobserve","ref","ListLoading","Array","_","idx","borderBottom","affix","conversations","failed","showBadge","messegerView","helpDesk","hasNext","onIntersect","sliceCount","borderRadius","ChatButton","isArray","__assign","assign","p","__rest","indexOf","getOwnPropertySymbols","propertyIsEnumerable","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","step","next","rejected","done","then","__generator","body","g","sent","trys","ops","verb","Symbol","iterator","op","TypeError","pop","create","__spreadArray","to","from","pack","ar","props","xmlnsXlink","x1","x2","y1","y2","gradientUnits","offset","stopColor","xlinkHref","rx","textAnchor","fontSize","fontWeight","fileType","b64","file","onClose","fileInfo","setFileInfo","setB64","reader","FileReader","readAsDataURL","onload","onerror","error","getBase64","insertAt","getElementsByTagName","insertBefore","styleInject","ReactSimpleImageViewer","_a","currentIndex","setCurrentIndex","changeImage","delta","nextIndex","closeOnClickOutside","checkId","checkClass","contains","stopPropagation","handleKeyDown","handleWheel","wheelDeltaY","addEventListener","disableScroll","removeEventListener","backgroundStyle","closeComponent","leftArrowComponent","rightArrowComponent","formatFileSize","size","toFixed","location","toUpperCase","fileName","originalname","filePages","pages","fileSize","mimetype","href","rel","MessageImage","rest","MessageWithFile","message","openImageViewer","formatDate","currentImage","isImage","read","user","hasFile","isSystemMessage","setCurrentImage","isViewerOpen","setIsViewerOpen","avatar","ReadIcon","isDoc","creatorId","senderId","sender","everybodyHasRead","images","clipPath","TrashIcon","fileList","onUpdateFile","onRemoveFile","maxSize","validateFileType","allowedTypes","extension","htmlFor","hidden","accept","files","console","input","click","some","motivo","CloseIcon","submitNewChat","cancelNewChat","reasons","products","maxFileSize","loadingResources","setReason","product","setProduct","setMessage","setFileList","onSubmit","data2","FormData","preventDefault","append","Select","filter","AttachFileIcon","text","AllowDocuments","allowImages","attachFile","handleFile","maxFileField","updateFile","isLoading","formHeight","setFormHeight","sending","setSending","inputRef","correctTextAreaHeight","styleConfig","textarea","overflowY","overflow","handleSubmit","maxHeight","textareaRef","scrollHeight","initialHeight","adjustFormHeight","shiftKey","fileExtension","SpinLoading","MessagesContainerView","newChatLoading","Messages","messages","ticketId","onScrollToBottom","scrollContainer","scrollTop","Number","MAX_SAFE_INTEGER","MessagesContainer","fowardRef","padding","ScrollableContainer","scrollContainerFowardRef","getElementScrollHeight","divRef","isNill","elementBeforeIntersetHeight","elementAfterIntersectHeight","currentScrollTop","intersetRootMargin","calculateScrollToDecrease","header","setFile","scrollContainerRef","isSending","setIsSending","setMaxSize","styleClassnames","mobile","response","callback","useConversations","setSliceCount","setConversations","currentChat","setCurrentChat","viewDesktop","setViewDesktop","viewMobile","setViewMobile","changeViewDesktop","view","changeViewMobile","addConversations","goToNewConversation","reset","addOneUnreadToTicket","updatedConversations","conversation","findIndex","conversationToMove","unshift","reorderConversations","mapConversationsIncrementUnread","setAsRead","mapConversationsUnread","selectChat","chat","onCloseChat","filtred","removeClosedConversation","closeIfIsCurrent","useMessages","setMessages","totalMessages","setTotalMessages","addMessages","incrementMessages","ticket","currentChatId","existentMessage","messagecode","updateMesssagesAsRead","markAsRead","readMessages","addTotalMessages","total","hasOlderMessages","__WEBPACK_EXTERNAL_MODULE_i18next__","resources","en","newFormChat","messengerMessages","messengerList","pt","lng","fallbackLng","interpolation","escapeValue","setLanguage","lang","log","i18n"],"sourceRoot":""}
|