impact-ui 5.0.1-chart.1 → 5.0.2-alpha.1
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/_virtual/Check.js +4 -0
- package/dist/components/Badge/index.js +1 -1
- package/dist/components/Badge/stroke/strokeOnlyLabelBadges/index.js +1 -1
- package/dist/components/Breadcrumbs/Breadcrumbs.types.d.ts +1 -0
- package/dist/components/Breadcrumbs/Breadcrumbs.types.d.ts.map +1 -1
- package/dist/components/Breadcrumbs/index.d.ts +1 -1
- package/dist/components/Breadcrumbs/index.d.ts.map +1 -1
- package/dist/components/Breadcrumbs/index.js +8 -4
- package/dist/components/Chart/index.d.ts +1 -4
- package/dist/components/Chart/index.d.ts.map +1 -1
- package/dist/components/Chart/index.js +3 -43
- package/dist/components/Panel/Panel.types.d.ts +7 -0
- package/dist/components/Panel/Panel.types.d.ts.map +1 -1
- package/dist/components/Panel/index.d.ts +1 -1
- package/dist/components/Panel/index.d.ts.map +1 -1
- package/dist/components/Panel/index.js +5 -2
- package/dist/components/TableChat/EmptyContainer.js +3 -3
- package/dist/components/TableChat/TableChatSidePanel.d.ts +2 -1
- package/dist/components/TableChat/TableChatSidePanel.d.ts.map +1 -1
- package/dist/components/TableChat/TableChatSidePanel.js +214 -23
- package/dist/components/TableChat/components/TableChatLeftSection/AddChatContainer/AddChatContainer.js +1 -1
- package/dist/components/TableChat/components/TableChatLeftSection/ChatChannelItem.d.ts +4 -2
- package/dist/components/TableChat/components/TableChatLeftSection/ChatChannelItem.d.ts.map +1 -1
- package/dist/components/TableChat/components/TableChatLeftSection/ChatChannelItem.js +55 -24
- package/dist/components/TableChat/components/TableChatLeftSection/ChatChannelList.d.ts.map +1 -1
- package/dist/components/TableChat/components/TableChatLeftSection/ChatChannelList.js +3 -2
- package/dist/components/TableChat/components/TableChatLeftSection/ChatFilterChips/ChatFilterChips.d.ts +11 -0
- package/dist/components/TableChat/components/TableChatLeftSection/ChatFilterChips/ChatFilterChips.d.ts.map +1 -0
- package/dist/components/TableChat/components/TableChatLeftSection/ChatFilterChips/ChatFilterChips.js +57 -0
- package/dist/components/TableChat/components/TableChatLeftSection/ChatHeaderNavigation.d.ts.map +1 -1
- package/dist/components/TableChat/components/TableChatLeftSection/ChatHeaderNavigation.js +20 -43
- package/dist/components/TableChat/components/TableChatLeftSection/TableChatChannelHeader.d.ts.map +1 -1
- package/dist/components/TableChat/components/TableChatLeftSection/TableChatChannelHeader.js +37 -2
- package/dist/components/TableChat/components/TableChatRightSection/AvatarGroup/AvatarGroup.d.ts.map +1 -1
- package/dist/components/TableChat/components/TableChatRightSection/AvatarGroup/AvatarGroup.js +54 -18
- package/dist/components/TableChat/components/TableChatRightSection/ChatDefaultMessageType/ChatDefaultMessageType.d.ts +4 -1
- package/dist/components/TableChat/components/TableChatRightSection/ChatDefaultMessageType/ChatDefaultMessageType.d.ts.map +1 -1
- package/dist/components/TableChat/components/TableChatRightSection/ChatDefaultMessageType/ChatDefaultMessageType.js +90 -81
- package/dist/components/TableChat/components/TableChatRightSection/ChatDeleteMessageType/ChatDeletedMessageType.js +2 -2
- package/dist/components/TableChat/components/TableChatRightSection/ChatHeader/ChatHeader.d.ts.map +1 -1
- package/dist/components/TableChat/components/TableChatRightSection/ChatHeader/ChatHeader.js +11 -4
- package/dist/components/TableChat/components/TableChatRightSection/ChatHeader/ChatHeaderAction.d.ts.map +1 -1
- package/dist/components/TableChat/components/TableChatRightSection/ChatHeader/ChatHeaderAction.js +67 -56
- package/dist/components/TableChat/components/TableChatRightSection/ChatHeader/ChatHeaderInfo.d.ts +8 -1
- package/dist/components/TableChat/components/TableChatRightSection/ChatHeader/ChatHeaderInfo.d.ts.map +1 -1
- package/dist/components/TableChat/components/TableChatRightSection/ChatHeader/ChatHeaderInfo.js +170 -4
- package/dist/components/TableChat/components/TableChatRightSection/ChatInlineEdit/ChatInlineEdit.d.ts +12 -0
- package/dist/components/TableChat/components/TableChatRightSection/ChatInlineEdit/ChatInlineEdit.d.ts.map +1 -0
- package/dist/components/TableChat/components/TableChatRightSection/ChatInlineEdit/ChatInlineEdit.js +132 -0
- package/dist/components/TableChat/components/TableChatRightSection/ChatInput/ChatInput.d.ts +5 -1
- package/dist/components/TableChat/components/TableChatRightSection/ChatInput/ChatInput.d.ts.map +1 -1
- package/dist/components/TableChat/components/TableChatRightSection/ChatInput/ChatInput.js +138 -124
- package/dist/components/TableChat/components/TableChatRightSection/ChatMessages/ChatMessage.d.ts +11 -9
- package/dist/components/TableChat/components/TableChatRightSection/ChatMessages/ChatMessage.d.ts.map +1 -1
- package/dist/components/TableChat/components/TableChatRightSection/ChatMessages/ChatMessage.js +102 -106
- package/dist/components/TableChat/components/TableChatRightSection/ChatNotificationSettings/ChatNotificationSettings.js +0 -17
- package/dist/components/TableChat/components/TableChatRightSection/DateSeparator/DateSeparator.d.ts.map +1 -1
- package/dist/components/TableChat/components/TableChatRightSection/DateSeparator/DateSeparator.js +4 -1
- package/dist/components/TableChat/components/TableChatRightSection/ReplyBadge/ReplyBadge.d.ts +2 -1
- package/dist/components/TableChat/components/TableChatRightSection/ReplyBadge/ReplyBadge.d.ts.map +1 -1
- package/dist/components/TableChat/components/TableChatRightSection/ReplyBadge/ReplyBadge.js +29 -0
- package/dist/components/TableChat/components/TableChatRightSection/TableChatRightSection.d.ts.map +1 -1
- package/dist/components/TableChat/components/TableChatRightSection/TableChatRightSection.js +327 -215
- package/dist/components/TableChat/components/chatConfig.js +0 -1
- package/dist/components/TableV36/AdvanceSearchModalItem.d.ts.map +1 -1
- package/dist/components/TableV36/advanceSearchModal.d.ts.map +1 -1
- package/dist/components/TableV36/filterUtils.d.ts +21 -0
- package/dist/components/TableV36/filterUtils.d.ts.map +1 -1
- package/dist/components/TableV36/filterUtils.js +126 -16
- package/dist/components/TableV36/filterUtils.test.d.ts +2 -0
- package/dist/components/TableV36/filterUtils.test.d.ts.map +1 -0
- package/dist/components/TableV36/index.d.ts.map +1 -1
- package/dist/components/TableV36/index.js +140 -12
- package/dist/components/TableV36/tableFunctions.d.ts.map +1 -1
- package/dist/components/TableV36/tableFunctions.js +73 -17
- package/dist/components/TableV36/tableHeader.d.ts +5 -1
- package/dist/components/TableV36/tableHeader.d.ts.map +1 -1
- package/dist/components/TableV36/tableHeader.js +36 -11
- package/dist/components/TableV36/withChatIndicator.d.ts +3 -0
- package/dist/components/TableV36/withChatIndicator.d.ts.map +1 -0
- package/dist/components/TableV36/withChatIndicator.js +89 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/locales/de-DE.json.d.ts +17 -3
- package/dist/locales/de-DE.json.js +16 -3
- package/dist/locales/en-US.json.d.ts +17 -3
- package/dist/locales/en-US.json.js +16 -3
- package/dist/locales/es-ES.json.d.ts +17 -3
- package/dist/locales/es-ES.json.js +16 -3
- package/dist/mcp-component-registry.json +8 -7
- package/dist/node_modules/@impactsmartsuite/impact-icons/dist/index.js +6 -2
- package/dist/node_modules/@mui/icons-material/Check.js +17 -0
- package/dist/stories/tableV36ChatApiMock.d.ts +222 -74
- package/dist/stories/tableV36ChatApiMock.d.ts.map +1 -1
- package/dist/utils/helper.d.ts +2 -0
- package/dist/utils/helper.d.ts.map +1 -1
- package/package.json +2 -2
- package/dist/components/TableChat/components/TableChatRightSection/ChatEditedMessageType/ChatEditedMessageType.js +0 -65
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
!function(){"use strict";try{if("undefined"!=typeof document){var e=document.createElement("style");e.appendChild(document.createTextNode('@keyframes ia-shimmer-horizontal{0%{background-position:100% 0}to{background-position:0 0}}@keyframes ia-shimmer-vertical{0%{background-position:0 100%}to{background-position:0 0}}@property --ia-shimmer-angle{syntax:"<angle>";inherits:false;initial-value:0deg}@keyframes ia-shimmer-circular{0%{--ia-shimmer-angle:0deg}to{--ia-shimmer-angle:360deg}}.ia-shimmer{animation:ia-shimmer-horizontal 1.6s ease-in-out infinite;animation-direction:normal;background-color:#e8edf5;background-image:linear-gradient(90deg,#e8edf5,#eceef4 22%,#e8edf5 48%,#d5dbe8 62%,#e8edf5);background-repeat:no-repeat;background-size:300% 100%}@media (prefers-reduced-motion:reduce){.ia-shimmer{animation:none;background-image:linear-gradient(90deg,#e8edf5,#eceef4 40%,#d5dbe8);background-size:100% 100%}}.ia-shimmer--ltr{animation:ia-shimmer-horizontal 1.6s ease-in-out infinite;animation-direction:normal;background-color:#e8edf5;background-image:linear-gradient(90deg,#e8edf5,#eceef4 22%,#e8edf5 48%,#d5dbe8 62%,#e8edf5);background-repeat:no-repeat;background-size:300% 100%}@media (prefers-reduced-motion:reduce){.ia-shimmer--ltr{animation:none;background-image:linear-gradient(90deg,#e8edf5,#eceef4 40%,#d5dbe8);background-size:100% 100%}}.ia-shimmer--rtl{animation:ia-shimmer-horizontal 1.6s ease-in-out infinite;animation-direction:reverse;background-color:#e8edf5;background-image:linear-gradient(270deg,#e8edf5,#eceef4 22%,#e8edf5 48%,#d5dbe8 62%,#e8edf5);background-repeat:no-repeat;background-size:300% 100%}@media (prefers-reduced-motion:reduce){.ia-shimmer--rtl{animation:none;background-image:linear-gradient(270deg,#e8edf5,#eceef4 40%,#d5dbe8);background-size:100% 100%}}.ia-shimmer--btt{animation:ia-shimmer-vertical 1.6s ease-in-out infinite;animation-direction:reverse;background-color:#e8edf5;background-image:linear-gradient(0deg,#e8edf5,#eceef4 22%,#e8edf5 48%,#d5dbe8 62%,#e8edf5);background-repeat:no-repeat;background-size:100% 300%}@media (prefers-reduced-motion:reduce){.ia-shimmer--btt{animation:none;background-image:linear-gradient(0deg,#e8edf5,#eceef4 40%,#d5dbe8);background-size:100% 100%}}.ia-shimmer--ttb{animation:ia-shimmer-vertical 1.6s ease-in-out infinite;animation-direction:normal;background-color:#e8edf5;background-image:linear-gradient(0deg,#e8edf5,#eceef4 22%,#e8edf5 48%,#d5dbe8 62%,#e8edf5);background-repeat:no-repeat;background-size:100% 300%}@media (prefers-reduced-motion:reduce){.ia-shimmer--ttb{animation:none;background-image:linear-gradient(0deg,#e8edf5,#eceef4 40%,#d5dbe8);background-size:100% 100%}}.ia-shimmer--circular{background-color:#e8edf5;background-repeat:no-repeat;--ia-shimmer-angle:0deg;animation:ia-shimmer-circular 1.6s linear infinite;background-image:conic-gradient(from var(--ia-shimmer-angle),#eceef4 0deg,#e8edf5 80deg,#d5dbe8 160deg,#e8edf5 260deg,#eceef4 1turn);background-size:100% 100%}@media (prefers-reduced-motion:reduce){.ia-shimmer--circular{animation:none;background-image:conic-gradient(from 0deg,#eceef4,#e8edf5,#d5dbe8,#e8edf5 1turn)}}:root{--ia-focus-color:#4259ee;--ia-focus-bg:#fff;--ia-focus-ring-width:2px;--ia-focus-ring-offset:2px;--ia-modal-backdrop:#0d152ccc}*,:after,:before{box-sizing:border-box}body,textarea{font-style:normal;font-weight:500}a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{border:0;font-size:100%;font:inherit;margin:0;padding:0;vertical-align:initial}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:"";content:none}table{border-collapse:collapse;border-spacing:0}body{font-family:Manrope,sans-serif}.impact-notification-separator{background-color:#d9dde7;display:inline-block;height:16px;width:1.5px}.impact-notification-horizontal-separator{background-color:#d9dde7;display:inline-block;height:1px;width:100%}ul.storybook-order-list{list-style-type:disc;padding-left:12px}ul.storybook-order-list li{font-size:12px;line-height:20px;padding-bottom:8px}ul.storybook-order-list li strong{font-weight:800}ul.storybook-order-child-list{list-style-type:circle;padding-left:20px}ul.storybook-order-child-list li{font-size:12px;line-height:20px;padding-bottom:8px}ul.storybook-order-child-list li strong{font-weight:800}.table-chat-right-section-container{background:#fff;border-radius:10px;box-sizing:border-box;display:flex;flex:1 1 0;flex-direction:column;height:100%;
|
|
1
|
+
!function(){"use strict";try{if("undefined"!=typeof document){var e=document.createElement("style");e.appendChild(document.createTextNode('@keyframes ia-shimmer-horizontal{0%{background-position:100% 0}to{background-position:0 0}}@keyframes ia-shimmer-vertical{0%{background-position:0 100%}to{background-position:0 0}}@property --ia-shimmer-angle{syntax:"<angle>";inherits:false;initial-value:0deg}@keyframes ia-shimmer-circular{0%{--ia-shimmer-angle:0deg}to{--ia-shimmer-angle:360deg}}.ia-shimmer{animation:ia-shimmer-horizontal 1.6s ease-in-out infinite;animation-direction:normal;background-color:#e8edf5;background-image:linear-gradient(90deg,#e8edf5,#eceef4 22%,#e8edf5 48%,#d5dbe8 62%,#e8edf5);background-repeat:no-repeat;background-size:300% 100%}@media (prefers-reduced-motion:reduce){.ia-shimmer{animation:none;background-image:linear-gradient(90deg,#e8edf5,#eceef4 40%,#d5dbe8);background-size:100% 100%}}.ia-shimmer--ltr{animation:ia-shimmer-horizontal 1.6s ease-in-out infinite;animation-direction:normal;background-color:#e8edf5;background-image:linear-gradient(90deg,#e8edf5,#eceef4 22%,#e8edf5 48%,#d5dbe8 62%,#e8edf5);background-repeat:no-repeat;background-size:300% 100%}@media (prefers-reduced-motion:reduce){.ia-shimmer--ltr{animation:none;background-image:linear-gradient(90deg,#e8edf5,#eceef4 40%,#d5dbe8);background-size:100% 100%}}.ia-shimmer--rtl{animation:ia-shimmer-horizontal 1.6s ease-in-out infinite;animation-direction:reverse;background-color:#e8edf5;background-image:linear-gradient(270deg,#e8edf5,#eceef4 22%,#e8edf5 48%,#d5dbe8 62%,#e8edf5);background-repeat:no-repeat;background-size:300% 100%}@media (prefers-reduced-motion:reduce){.ia-shimmer--rtl{animation:none;background-image:linear-gradient(270deg,#e8edf5,#eceef4 40%,#d5dbe8);background-size:100% 100%}}.ia-shimmer--btt{animation:ia-shimmer-vertical 1.6s ease-in-out infinite;animation-direction:reverse;background-color:#e8edf5;background-image:linear-gradient(0deg,#e8edf5,#eceef4 22%,#e8edf5 48%,#d5dbe8 62%,#e8edf5);background-repeat:no-repeat;background-size:100% 300%}@media (prefers-reduced-motion:reduce){.ia-shimmer--btt{animation:none;background-image:linear-gradient(0deg,#e8edf5,#eceef4 40%,#d5dbe8);background-size:100% 100%}}.ia-shimmer--ttb{animation:ia-shimmer-vertical 1.6s ease-in-out infinite;animation-direction:normal;background-color:#e8edf5;background-image:linear-gradient(0deg,#e8edf5,#eceef4 22%,#e8edf5 48%,#d5dbe8 62%,#e8edf5);background-repeat:no-repeat;background-size:100% 300%}@media (prefers-reduced-motion:reduce){.ia-shimmer--ttb{animation:none;background-image:linear-gradient(0deg,#e8edf5,#eceef4 40%,#d5dbe8);background-size:100% 100%}}.ia-shimmer--circular{background-color:#e8edf5;background-repeat:no-repeat;--ia-shimmer-angle:0deg;animation:ia-shimmer-circular 1.6s linear infinite;background-image:conic-gradient(from var(--ia-shimmer-angle),#eceef4 0deg,#e8edf5 80deg,#d5dbe8 160deg,#e8edf5 260deg,#eceef4 1turn);background-size:100% 100%}@media (prefers-reduced-motion:reduce){.ia-shimmer--circular{animation:none;background-image:conic-gradient(from 0deg,#eceef4,#e8edf5,#d5dbe8,#e8edf5 1turn)}}:root{--ia-focus-color:#4259ee;--ia-focus-bg:#fff;--ia-focus-ring-width:2px;--ia-focus-ring-offset:2px;--ia-modal-backdrop:#0d152ccc}*,:after,:before{box-sizing:border-box}body,textarea{font-style:normal;font-weight:500}a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{border:0;font-size:100%;font:inherit;margin:0;padding:0;vertical-align:initial}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:"";content:none}table{border-collapse:collapse;border-spacing:0}body{font-family:Manrope,sans-serif}.impact-notification-separator{background-color:#d9dde7;display:inline-block;height:16px;width:1.5px}.impact-notification-horizontal-separator{background-color:#d9dde7;display:inline-block;height:1px;width:100%}ul.storybook-order-list{list-style-type:disc;padding-left:12px}ul.storybook-order-list li{font-size:12px;line-height:20px;padding-bottom:8px}ul.storybook-order-list li strong{font-weight:800}ul.storybook-order-child-list{list-style-type:circle;padding-left:20px}ul.storybook-order-child-list li{font-size:12px;line-height:20px;padding-bottom:8px}ul.storybook-order-child-list li strong{font-weight:800}.table-chat-right-section-container{background:#fff;border-radius:10px;box-shadow:0 0 4px #0000001f;box-sizing:border-box;display:flex;flex:1 1 0;flex-direction:column;height:100%;overflow:hidden;width:100%}.table-chat-right-section-container-empty{background:#fff;border-radius:10px;display:flex;flex-direction:column;height:100%;max-width:640px;position:relative;width:100%}.clear-chat-bar{align-items:center;display:flex;flex-shrink:0;justify-content:flex-end;padding:24px 32px}.chat-messages-area{display:flex;flex:1;flex-direction:column;min-height:0;position:relative}.floating-date-badge{left:50%;opacity:0;pointer-events:none;position:absolute;top:8px;transform:translate(-50%);transition:opacity .3s ease;z-index:4}.floating-date-badge--visible{opacity:1;transition:none}.table-chat-messages{background:#fff;box-sizing:border-box;display:flex;flex:1;flex-direction:column;gap:16px;justify-content:flex-start;margin-bottom:10px;min-width:0;overflow-x:hidden;overflow-y:auto;padding:16px 32px}.system-info-row{align-items:center;display:flex;padding:4px 0;width:100%}.empty-state-container,.system-info-row{justify-content:center}.message-wrapper{box-sizing:border-box;display:flex;flex-direction:column;gap:4px;min-width:0;position:relative;width:100%}.table-chat-empty-state{align-items:center;color:#7a8294;display:flex;flex-direction:column;font-size:14px;gap:20px;justify-content:center;max-width:641px;padding:0 60px;text-align:center}.table-chat-empty-state p{margin:0}.infinite-scroll-trigger{min-height:60px;padding:16px}.infinite-scroll-loading,.infinite-scroll-trigger{align-items:center;display:flex;justify-content:center}.infinite-scroll-loading{width:100%}.infinite-scroll-placeholder{height:1px;width:100%}.infinite-scroll-error{align-items:center;background:#e155541a;border-radius:8px;color:#e15554;display:flex;flex-direction:column;justify-content:center;margin:8px 0;padding:16px;text-align:center}.infinite-scroll-error p{font-size:12px;margin:0 0 8px}.add_member_btn{border-radius:25px!important;margin:0 auto;width:200px}.add_members_modal{width:320px!important}.modal-header-search-input-container{align-items:center;display:flex;margin-bottom:16px;width:100%}.modal-header-search-input-container .menu-header-search-icon{margin-top:4px;width:20px}')),document.head.appendChild(e)}}catch(i){console.error("vite-plugin-css-injected-by-js",i)}}();
|
|
2
2
|
import { jsxs, jsx, Fragment } from "react/jsx-runtime";
|
|
3
3
|
import React__default, { useRef, useState, useCallback, useEffect } from "react";
|
|
4
4
|
import { getAssetUrl } from "../../../../utils/assetBase.js";
|
|
@@ -7,6 +7,7 @@ import { ChatInput } from "./ChatInput/ChatInput.js";
|
|
|
7
7
|
import { ChatMessage } from "./ChatMessages/ChatMessage.js";
|
|
8
8
|
import { DateSeparator } from "./DateSeparator/DateSeparator.js";
|
|
9
9
|
import { Avatar } from "../../../Avatar/index.js";
|
|
10
|
+
import { Badge } from "../../../Badge/index.js";
|
|
10
11
|
import { Button } from "../../../Button/index.js";
|
|
11
12
|
import { Checkbox } from "../../../Checkbox/index.js";
|
|
12
13
|
import { Input } from "../../../Input/index.js";
|
|
@@ -62,8 +63,13 @@ const TableChatRightSection = ({
|
|
|
62
63
|
const [inputValue, setInputValue] = useState("");
|
|
63
64
|
const [messages, setMessages] = useState(propMessages);
|
|
64
65
|
const [showClearChat, setShowClearChat] = useState(false);
|
|
66
|
+
const [floatingDateLabel, setFloatingDateLabel] = useState("");
|
|
67
|
+
const [floatingDateVisible, setFloatingDateVisible] = useState(false);
|
|
68
|
+
const floatingDateTimerRef = useRef(null);
|
|
69
|
+
const scrollRafRef = useRef(null);
|
|
65
70
|
const [isEditMode, setIsEditMode] = useState(false);
|
|
66
71
|
const [editingMessage, setEditingMessage] = useState(null);
|
|
72
|
+
const [replyingToMessage, setReplyingToMessage] = useState(null);
|
|
67
73
|
const [searchResults, setSearchResults] = useState([]);
|
|
68
74
|
const [isSearchActive, setIsSearchActive] = useState(false);
|
|
69
75
|
const [searchQuery, setSearchQuery] = useState("");
|
|
@@ -156,6 +162,12 @@ const TableChatRightSection = ({
|
|
|
156
162
|
setEnableInfiniteScroll(false);
|
|
157
163
|
}
|
|
158
164
|
}, [chatId]);
|
|
165
|
+
useEffect(() => {
|
|
166
|
+
setReplyingToMessage(null);
|
|
167
|
+
setIsEditMode(false);
|
|
168
|
+
setEditingMessage(null);
|
|
169
|
+
setInputValue("");
|
|
170
|
+
}, [chatId]);
|
|
159
171
|
useEffect(() => {
|
|
160
172
|
const trigger = messageConfig.messagesClearedTrigger;
|
|
161
173
|
if (trigger && trigger > 0 && chatId) {
|
|
@@ -411,69 +423,96 @@ const TableChatRightSection = ({
|
|
|
411
423
|
}
|
|
412
424
|
}, [realTimeMessages, chatId, currentTopicId, autoScroll]);
|
|
413
425
|
const handleSend = async (payload) => {
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
} else if (inputChatConfig.onSend) {
|
|
426
|
+
var _a2;
|
|
427
|
+
if (inputChatConfig.onSend) {
|
|
417
428
|
try {
|
|
418
|
-
const
|
|
429
|
+
const sendPayload = replyingToMessage ? {
|
|
430
|
+
...payload,
|
|
431
|
+
replyToMessageId: replyingToMessage.id,
|
|
432
|
+
quote: {
|
|
433
|
+
authorLabel: replyingToMessage.authorName || ((_a2 = replyingToMessage.otherProps) == null ? void 0 : _a2.sender_name) || (replyingToMessage.author === "user" ? t("tableChat.message.you") : void 0),
|
|
434
|
+
authorName: replyingToMessage.authorName,
|
|
435
|
+
content: replyingToMessage.content,
|
|
436
|
+
messageId: replyingToMessage.id
|
|
437
|
+
}
|
|
438
|
+
} : payload;
|
|
439
|
+
const response = await inputChatConfig.onSend(sendPayload, chatId);
|
|
419
440
|
if (onRealTimeMessageUpdate && response) {
|
|
420
441
|
onRealTimeMessageUpdate(response);
|
|
421
442
|
}
|
|
422
443
|
setInputValue("");
|
|
444
|
+
exitReplyMode();
|
|
423
445
|
} catch (error) {
|
|
424
446
|
console.error("Error sending message:", error);
|
|
425
447
|
}
|
|
426
448
|
} else {
|
|
427
449
|
setInputValue("");
|
|
450
|
+
exitReplyMode();
|
|
428
451
|
}
|
|
429
452
|
};
|
|
430
453
|
const handleUpdateMessage = async (updatedContent) => {
|
|
431
454
|
var _a2;
|
|
432
455
|
if (messageConfig.onMessageUpdate && editingMessage) {
|
|
433
456
|
try {
|
|
434
|
-
const
|
|
457
|
+
const content = typeof updatedContent === "string" ? updatedContent : updatedContent == null ? void 0 : updatedContent.content;
|
|
458
|
+
const response = await messageConfig.onMessageUpdate(editingMessage.id, {
|
|
459
|
+
content,
|
|
460
|
+
...typeof updatedContent === "object" && updatedContent !== null ? updatedContent : {}
|
|
461
|
+
});
|
|
435
462
|
exitEditMode();
|
|
436
463
|
const isRealTimeMessage = editingMessage.isRealTime || ((_a2 = editingMessage.otherProps) == null ? void 0 : _a2.isRealTime);
|
|
437
464
|
if (isRealTimeMessage) {
|
|
438
465
|
if (onRealTimeMessageUpdate && response) {
|
|
439
466
|
onRealTimeMessageUpdate(response);
|
|
440
467
|
}
|
|
441
|
-
} else {
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
468
|
+
} else if (response) {
|
|
469
|
+
setMessages(
|
|
470
|
+
(prevMessages) => prevMessages.map((msg) => {
|
|
471
|
+
if (msg.id !== editingMessage.id) return msg;
|
|
472
|
+
if (response.content != null || response.author != null) {
|
|
473
|
+
return { ...msg, ...response, edited: true, content: response.content ?? content };
|
|
474
|
+
}
|
|
475
|
+
return { ...msg, content, edited: true };
|
|
476
|
+
})
|
|
477
|
+
);
|
|
478
|
+
} else if (content) {
|
|
479
|
+
setMessages(
|
|
480
|
+
(prevMessages) => prevMessages.map(
|
|
481
|
+
(msg) => msg.id === editingMessage.id ? { ...msg, content, edited: true } : msg
|
|
482
|
+
)
|
|
483
|
+
);
|
|
452
484
|
}
|
|
453
485
|
} catch (error) {
|
|
454
486
|
console.error("Error updating message:", error);
|
|
487
|
+
throw error;
|
|
455
488
|
}
|
|
456
489
|
}
|
|
457
490
|
};
|
|
458
491
|
const handleEditMessage = (message) => {
|
|
492
|
+
exitReplyMode();
|
|
459
493
|
setIsEditMode(true);
|
|
460
494
|
setEditingMessage(message);
|
|
461
|
-
setInputValue(message.content || "");
|
|
462
495
|
};
|
|
463
496
|
const exitEditMode = () => {
|
|
464
497
|
setIsEditMode(false);
|
|
465
498
|
setEditingMessage(null);
|
|
466
|
-
|
|
499
|
+
};
|
|
500
|
+
const handleInlineSaveEdit = async (content) => {
|
|
501
|
+
await handleUpdateMessage({ content });
|
|
502
|
+
};
|
|
503
|
+
const exitReplyMode = () => {
|
|
504
|
+
setReplyingToMessage(null);
|
|
467
505
|
};
|
|
468
506
|
const handleReply = async (messageId) => {
|
|
469
|
-
|
|
470
|
-
|
|
507
|
+
exitEditMode();
|
|
508
|
+
const message = messages.find((msg) => msg.id === messageId) || (isSearchActive ? searchResults.find((msg) => msg.id === messageId) : null);
|
|
509
|
+
if (message) {
|
|
510
|
+
setReplyingToMessage(message);
|
|
471
511
|
}
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
if (inputChatConfig.onMessageBookmark) {
|
|
475
|
-
await inputChatConfig.onMessageBookmark(messageId, chatId);
|
|
512
|
+
if (inputChatConfig.onMessageReply) {
|
|
513
|
+
await inputChatConfig.onMessageReply(messageId, chatId, message);
|
|
476
514
|
}
|
|
515
|
+
onMessageReply == null ? void 0 : onMessageReply(messageId, chatId);
|
|
477
516
|
};
|
|
478
517
|
const handlePin = async (messageId, pinned, chatId2, item) => {
|
|
479
518
|
var _a2;
|
|
@@ -484,11 +523,6 @@ const TableChatRightSection = ({
|
|
|
484
523
|
console.error("Error pinning message:", error);
|
|
485
524
|
}
|
|
486
525
|
};
|
|
487
|
-
const handleMore = async (messageId) => {
|
|
488
|
-
if (inputChatConfig.onMessageMore) {
|
|
489
|
-
await inputChatConfig.onMessageMore(messageId, chatId);
|
|
490
|
-
}
|
|
491
|
-
};
|
|
492
526
|
const markMessageAsDeleted = (messageId) => {
|
|
493
527
|
setMessages((prevMessages) => {
|
|
494
528
|
return prevMessages.map((msg) => {
|
|
@@ -694,6 +728,60 @@ const TableChatRightSection = ({
|
|
|
694
728
|
}
|
|
695
729
|
}
|
|
696
730
|
};
|
|
731
|
+
const { locale } = useTranslation();
|
|
732
|
+
const formatFloatingDate = useCallback(
|
|
733
|
+
(rawDate) => {
|
|
734
|
+
if (!rawDate) return "";
|
|
735
|
+
const today = /* @__PURE__ */ new Date();
|
|
736
|
+
const msgDate = new Date(rawDate);
|
|
737
|
+
if (isNaN(msgDate.getTime())) return "";
|
|
738
|
+
const diffDays = (new Date(today.getFullYear(), today.getMonth(), today.getDate()) - new Date(msgDate.getFullYear(), msgDate.getMonth(), msgDate.getDate())) / (1e3 * 60 * 60 * 24);
|
|
739
|
+
if (diffDays === 0) return t("tableChat.dateSeparator.today");
|
|
740
|
+
if (diffDays === 1) return t("tableChat.dateSeparator.yesterday");
|
|
741
|
+
if (diffDays > 1 && diffDays < 7)
|
|
742
|
+
return msgDate.toLocaleDateString(locale, { weekday: "long" });
|
|
743
|
+
return msgDate.toLocaleDateString(locale, {
|
|
744
|
+
year: "numeric",
|
|
745
|
+
month: "short",
|
|
746
|
+
day: "numeric"
|
|
747
|
+
});
|
|
748
|
+
},
|
|
749
|
+
[t, locale]
|
|
750
|
+
);
|
|
751
|
+
useEffect(() => {
|
|
752
|
+
const container = messagesRef.current;
|
|
753
|
+
if (!container) return;
|
|
754
|
+
const handleScroll = () => {
|
|
755
|
+
if (scrollRafRef.current) return;
|
|
756
|
+
scrollRafRef.current = requestAnimationFrame(() => {
|
|
757
|
+
scrollRafRef.current = null;
|
|
758
|
+
const separators = container.querySelectorAll("[data-date-iso]");
|
|
759
|
+
const containerTop = container.getBoundingClientRect().top;
|
|
760
|
+
let activeLabel = "";
|
|
761
|
+
for (const el of separators) {
|
|
762
|
+
if (el.getBoundingClientRect().bottom <= containerTop + 8) {
|
|
763
|
+
activeLabel = el.getAttribute("data-date-label") || "";
|
|
764
|
+
} else {
|
|
765
|
+
break;
|
|
766
|
+
}
|
|
767
|
+
}
|
|
768
|
+
if (activeLabel) {
|
|
769
|
+
setFloatingDateLabel(activeLabel);
|
|
770
|
+
setFloatingDateVisible(true);
|
|
771
|
+
clearTimeout(floatingDateTimerRef.current);
|
|
772
|
+
floatingDateTimerRef.current = setTimeout(() => {
|
|
773
|
+
setFloatingDateVisible(false);
|
|
774
|
+
}, 2e3);
|
|
775
|
+
}
|
|
776
|
+
});
|
|
777
|
+
};
|
|
778
|
+
container.addEventListener("scroll", handleScroll, { passive: true });
|
|
779
|
+
return () => {
|
|
780
|
+
container.removeEventListener("scroll", handleScroll);
|
|
781
|
+
cancelAnimationFrame(scrollRafRef.current);
|
|
782
|
+
clearTimeout(floatingDateTimerRef.current);
|
|
783
|
+
};
|
|
784
|
+
}, []);
|
|
697
785
|
return /* @__PURE__ */ jsxs("div", { className: `table-chat-right-section-container ${className}`, children: [
|
|
698
786
|
chatId ? /* @__PURE__ */ jsx(
|
|
699
787
|
ChatHeader,
|
|
@@ -710,10 +798,9 @@ const TableChatRightSection = ({
|
|
|
710
798
|
title
|
|
711
799
|
}
|
|
712
800
|
) : null,
|
|
713
|
-
messages.length > 0
|
|
801
|
+
messages.length > 0 ? /* @__PURE__ */ jsx("div", { className: "clear-chat-bar", children: /* @__PURE__ */ jsx(
|
|
714
802
|
Button,
|
|
715
803
|
{
|
|
716
|
-
className: "clear-chat-button",
|
|
717
804
|
size: "small",
|
|
718
805
|
variant: "text",
|
|
719
806
|
onClick: (event) => {
|
|
@@ -722,216 +809,241 @@ const TableChatRightSection = ({
|
|
|
722
809
|
},
|
|
723
810
|
children: t("tableChat.right.clearChat")
|
|
724
811
|
}
|
|
725
|
-
) }),
|
|
726
|
-
/* @__PURE__ */ jsxs(
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
/* @__PURE__ */ jsx(
|
|
812
|
+
) }) : null,
|
|
813
|
+
/* @__PURE__ */ jsxs("div", { className: "chat-messages-area", children: [
|
|
814
|
+
floatingDateLabel ? /* @__PURE__ */ jsx(
|
|
815
|
+
"div",
|
|
816
|
+
{
|
|
817
|
+
"aria-live": "polite",
|
|
818
|
+
className: `floating-date-badge date-separator ${floatingDateVisible ? "floating-date-badge--visible" : ""}`,
|
|
819
|
+
children: /* @__PURE__ */ jsx(Badge, { color: "default", label: floatingDateLabel, size: "small", variant: "stroke" })
|
|
820
|
+
}
|
|
821
|
+
) : null,
|
|
822
|
+
/* @__PURE__ */ jsxs(
|
|
823
|
+
"div",
|
|
824
|
+
{
|
|
825
|
+
ref: messagesRef,
|
|
826
|
+
className: `table-chat-messages ${groupedItems.length === 0 && !hasMore ? "empty-state-container" : ""}`,
|
|
827
|
+
children: [
|
|
828
|
+
hasMore && /* @__PURE__ */ jsx("div", { ref: loadMoreRef, className: "infinite-scroll-trigger", children: isLoadingMore ? /* @__PURE__ */ jsx("div", { className: "infinite-scroll-loading", children: /* @__PURE__ */ jsx(Loader, { size: "medium" }) }) : /* @__PURE__ */ jsx("div", { className: "infinite-scroll-placeholder" }) }),
|
|
829
|
+
isSearchLoading ? /* @__PURE__ */ jsx("div", { className: "table-chat-loading-state", children: /* @__PURE__ */ jsx(ChatMessageListSkeleton, { messageCount: 4 }) }) : groupedItems.length === 0 && !hasMore ? /* @__PURE__ */ jsx("div", { className: "table-chat-empty-state", children: isSearchActive ? /* @__PURE__ */ jsx(
|
|
743
830
|
EmptyContainer,
|
|
744
831
|
{
|
|
745
|
-
subTitle: t("tableChat.right.
|
|
746
|
-
title: t("tableChat.right.
|
|
832
|
+
subTitle: t("tableChat.right.tryDifferentKeyword"),
|
|
833
|
+
title: t("tableChat.right.noMessagesFound", {
|
|
834
|
+
query: searchQuery
|
|
835
|
+
})
|
|
747
836
|
}
|
|
748
|
-
),
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
837
|
+
) : /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
838
|
+
/* @__PURE__ */ jsx(
|
|
839
|
+
EmptyContainer,
|
|
840
|
+
{
|
|
841
|
+
subTitle: t("tableChat.right.noConversationSubtitle"),
|
|
842
|
+
title: t("tableChat.right.noConversationTitle")
|
|
843
|
+
}
|
|
844
|
+
),
|
|
845
|
+
/* @__PURE__ */ jsx(
|
|
846
|
+
Button,
|
|
847
|
+
{
|
|
848
|
+
disabled: showAddMembersLoading,
|
|
849
|
+
size: "large",
|
|
850
|
+
type: "default",
|
|
851
|
+
variant: "secondary",
|
|
852
|
+
onClick: () => setShowAddMembers(true),
|
|
853
|
+
className: "add_member_btn",
|
|
854
|
+
iconPlacement: "right",
|
|
855
|
+
children: showAddMembersLoading ? t("tableChat.right.adding") : t("tableChat.right.addMembers")
|
|
856
|
+
}
|
|
857
|
+
)
|
|
858
|
+
] }) }) : groupedItems.map((item, index) => {
|
|
859
|
+
var _a2, _b2, _c;
|
|
860
|
+
if (item.type === "date-separator") {
|
|
861
|
+
const dateLabel = formatFloatingDate(item.date);
|
|
862
|
+
return /* @__PURE__ */ jsx(
|
|
863
|
+
"div",
|
|
864
|
+
{
|
|
865
|
+
"data-date-iso": new Date(item.date).toISOString(),
|
|
866
|
+
"data-date-label": dateLabel,
|
|
867
|
+
children: /* @__PURE__ */ jsx(DateSeparator, { date: item.date })
|
|
868
|
+
},
|
|
869
|
+
item.id
|
|
870
|
+
);
|
|
760
871
|
}
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
return /* @__PURE__ */ jsx(DateSeparator, { date: item.date, format: "relative" }, item.id);
|
|
766
|
-
}
|
|
767
|
-
return /* @__PURE__ */ jsx("div", { className: "message-wrapper", "data-message-id": item.id, children: /* @__PURE__ */ jsx(
|
|
768
|
-
ChatMessage,
|
|
769
|
-
{
|
|
770
|
-
author: item.author,
|
|
771
|
-
authorAvatar: item.authorAvatar,
|
|
772
|
-
authorName: item.authorName,
|
|
773
|
-
content: item.content,
|
|
774
|
-
deleted: item.deleted || ((_a2 = item.otherProps) == null ? void 0 : _a2.deleted) || false,
|
|
775
|
-
edited: item.edited || false,
|
|
776
|
-
isHighlighted: highlightedMessageId === item.id,
|
|
777
|
-
isPinChatIconvisible: messageConfig == null ? void 0 : messageConfig.isPinChatIconVisible,
|
|
778
|
-
isThreadIconVisible: messageConfig == null ? void 0 : messageConfig.isThreadIconVisible,
|
|
779
|
-
messageId: item.id,
|
|
780
|
-
pinned: item.isPinned,
|
|
781
|
-
priority: item.priority,
|
|
782
|
-
showActions: messageConfig.showActions ?? item.showActions !== false,
|
|
783
|
-
timestamp: item.timestamp,
|
|
784
|
-
type: item.type,
|
|
785
|
-
onBookmark: () => {
|
|
786
|
-
handleBookmark(item.id);
|
|
787
|
-
onMessageBookmark == null ? void 0 : onMessageBookmark(item.id, chatId);
|
|
788
|
-
},
|
|
789
|
-
onEdit: () => handleEditMessage(item),
|
|
790
|
-
onMessageDelete: handleMessageDelete,
|
|
791
|
-
onMore: () => {
|
|
792
|
-
handleMore(item.id);
|
|
793
|
-
onMessageMore == null ? void 0 : onMessageMore(item.id, chatId);
|
|
794
|
-
},
|
|
795
|
-
onPin: async (pinned) => {
|
|
796
|
-
return await handlePin(item.id, pinned, chatId, item);
|
|
797
|
-
},
|
|
798
|
-
onRefetchMessages: async () => {
|
|
799
|
-
return messages;
|
|
800
|
-
},
|
|
801
|
-
onReply: () => {
|
|
802
|
-
handleReply(item.id);
|
|
803
|
-
onMessageReply == null ? void 0 : onMessageReply(item.id, chatId);
|
|
804
|
-
},
|
|
805
|
-
onThreadClick: () => {
|
|
806
|
-
var _a3;
|
|
807
|
-
onThreadClick == null ? void 0 : onThreadClick(item.id, chatId);
|
|
808
|
-
(_a3 = messageConfig == null ? void 0 : messageConfig.onThreadClick) == null ? void 0 : _a3.call(messageConfig, item.id, chatId);
|
|
809
|
-
},
|
|
810
|
-
highlightColor,
|
|
811
|
-
isUser: currentUserId ? item.senderId === currentUserId || ((_b2 = item.otherProps) == null ? void 0 : _b2.sender_id) === currentUserId || item.senderId === String(currentUserId) || ((_c = item.otherProps) == null ? void 0 : _c.sender_id) === String(currentUserId) || item.author === "user" : item.author === "user"
|
|
872
|
+
if (item.type === "system" || item.type === "info") {
|
|
873
|
+
const label = typeof item.content === "string" ? item.content.replace(/<[^>]*>/g, "").trim() : item.text || item.label || "";
|
|
874
|
+
if (!label) return null;
|
|
875
|
+
return /* @__PURE__ */ jsx("div", { className: "system-info-row", "data-message-id": item.id, children: /* @__PURE__ */ jsx(Badge, { color: "info", label, size: "small", variant: "subtle" }) }, item.id);
|
|
812
876
|
}
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
handleMemberSearch(e.target.value);
|
|
845
|
-
}
|
|
846
|
-
}
|
|
847
|
-
) }),
|
|
848
|
-
memberList.length > 0 ? filteredMemberList.length > 0 ? /* @__PURE__ */ jsx("ul", { style: { listStyle: "none", padding: 0, margin: 0 }, children: filteredMemberList.map((user, index) => /* @__PURE__ */ jsxs(
|
|
849
|
-
"li",
|
|
850
|
-
{
|
|
851
|
-
style: {
|
|
852
|
-
display: "flex",
|
|
853
|
-
alignItems: "center",
|
|
854
|
-
gap: "10px",
|
|
855
|
-
marginBottom: "8px"
|
|
856
|
-
//
|
|
857
|
-
},
|
|
858
|
-
children: [
|
|
859
|
-
/* @__PURE__ */ jsx(
|
|
860
|
-
Checkbox,
|
|
861
|
-
{
|
|
862
|
-
defaultChecked: true,
|
|
863
|
-
checked: addMembers.includes(user.value),
|
|
864
|
-
variant: "default",
|
|
865
|
-
onChange: () => {
|
|
866
|
-
addInChat(user.value);
|
|
867
|
-
}
|
|
868
|
-
}
|
|
869
|
-
),
|
|
870
|
-
/* @__PURE__ */ jsx(
|
|
871
|
-
Avatar,
|
|
872
|
-
{
|
|
873
|
-
label: user.label,
|
|
874
|
-
size: "small",
|
|
875
|
-
src: "static/media/avatar_sample.b13b667a.jpeg",
|
|
876
|
-
type: "withoutPicture"
|
|
877
|
-
}
|
|
878
|
-
),
|
|
879
|
-
/* @__PURE__ */ jsx("span", { children: user.label })
|
|
880
|
-
]
|
|
877
|
+
const isUserMessage = currentUserId ? item.senderId === currentUserId || ((_a2 = item.otherProps) == null ? void 0 : _a2.sender_id) === currentUserId || item.senderId === String(currentUserId) || ((_b2 = item.otherProps) == null ? void 0 : _b2.sender_id) === String(currentUserId) || item.author === "user" : item.author === "user";
|
|
878
|
+
return /* @__PURE__ */ jsx("div", { className: "message-wrapper", "data-message-id": item.id, children: /* @__PURE__ */ jsx(
|
|
879
|
+
ChatMessage,
|
|
880
|
+
{
|
|
881
|
+
authorAvatar: item.authorAvatar,
|
|
882
|
+
authorName: item.authorName,
|
|
883
|
+
content: item.content,
|
|
884
|
+
deleted: item.deleted || ((_c = item.otherProps) == null ? void 0 : _c.deleted) || false,
|
|
885
|
+
edited: item.edited || false,
|
|
886
|
+
highlightColor,
|
|
887
|
+
isEditing: isEditMode && (editingMessage == null ? void 0 : editingMessage.id) === item.id,
|
|
888
|
+
isHighlighted: highlightedMessageId === item.id,
|
|
889
|
+
isPinChatIconvisible: messageConfig == null ? void 0 : messageConfig.isPinChatIconVisible,
|
|
890
|
+
isThreadIconVisible: messageConfig == null ? void 0 : messageConfig.isThreadIconVisible,
|
|
891
|
+
isUser: isUserMessage,
|
|
892
|
+
messageId: item.id,
|
|
893
|
+
pinned: item.isPinned,
|
|
894
|
+
priority: item.priority,
|
|
895
|
+
quote: item.quote,
|
|
896
|
+
moreOptions: typeof (messageConfig == null ? void 0 : messageConfig.moreOptions) === "function" ? messageConfig.moreOptions(item) : messageConfig == null ? void 0 : messageConfig.moreOptions,
|
|
897
|
+
showDeleteOption: (messageConfig == null ? void 0 : messageConfig.showDeleteOption) !== false,
|
|
898
|
+
showEditOption: (messageConfig == null ? void 0 : messageConfig.showEditOption) !== false,
|
|
899
|
+
showFinalize: (messageConfig == null ? void 0 : messageConfig.showFinalize) !== false,
|
|
900
|
+
showReplyActions: (messageConfig == null ? void 0 : messageConfig.showReplyActions) !== false && item.showReplyBadge !== false,
|
|
901
|
+
timestamp: item.timestamp,
|
|
902
|
+
type: item.type,
|
|
903
|
+
onCancelEdit: exitEditMode,
|
|
904
|
+
onEdit: () => handleEditMessage(item),
|
|
905
|
+
onFinalize: () => {
|
|
906
|
+
var _a3;
|
|
907
|
+
(_a3 = messageConfig == null ? void 0 : messageConfig.onFinalize) == null ? void 0 : _a3.call(messageConfig, item.id, chatId, item);
|
|
881
908
|
},
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
|
|
891
|
-
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
})
|
|
909
|
+
onMessageDelete: handleMessageDelete,
|
|
910
|
+
onPin: async (pinned) => {
|
|
911
|
+
return await handlePin(item.id, pinned, chatId, item);
|
|
912
|
+
},
|
|
913
|
+
onReply: () => {
|
|
914
|
+
handleReply(item.id);
|
|
915
|
+
},
|
|
916
|
+
onSaveEdit: handleInlineSaveEdit,
|
|
917
|
+
onThreadClick: () => {
|
|
918
|
+
var _a3;
|
|
919
|
+
onThreadClick == null ? void 0 : onThreadClick(item.id, chatId);
|
|
920
|
+
(_a3 = messageConfig == null ? void 0 : messageConfig.onThreadClick) == null ? void 0 : _a3.call(messageConfig, item.id, chatId);
|
|
895
921
|
}
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
}
|
|
899
|
-
),
|
|
900
|
-
infiniteScrollError && /* @__PURE__ */ jsxs("div", { className: "infinite-scroll-error", children: [
|
|
901
|
-
/* @__PURE__ */ jsx("p", { children: t("tableChat.right.loadOlderFailed") }),
|
|
922
|
+
}
|
|
923
|
+
) }, item.id);
|
|
924
|
+
}),
|
|
902
925
|
/* @__PURE__ */ jsx(
|
|
903
|
-
|
|
926
|
+
Modal,
|
|
904
927
|
{
|
|
928
|
+
className: "test-modal add_members_modal",
|
|
929
|
+
loading: showAddMembersLoading,
|
|
930
|
+
open: showAddMembers,
|
|
931
|
+
primaryButtonLabel: showAddMembersLoading ? t("tableChat.right.adding") : t("tableChat.right.add"),
|
|
932
|
+
primaryButtonProps: {
|
|
933
|
+
disabled: !addMembers.length > 0 || showAddMembersLoading
|
|
934
|
+
},
|
|
935
|
+
secondaryButtonLabel: t("common.cancel"),
|
|
905
936
|
size: "small",
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
|
|
937
|
+
title: t("tableChat.right.addMembers"),
|
|
938
|
+
onClose: () => {
|
|
939
|
+
setShowAddMembers(false);
|
|
940
|
+
},
|
|
941
|
+
onPrimaryButtonClick: saveMembersInChat,
|
|
942
|
+
onSecondaryButtonClick: () => {
|
|
943
|
+
setShowAddMembers(false);
|
|
909
944
|
},
|
|
910
|
-
children:
|
|
945
|
+
children: /* @__PURE__ */ jsxs(React__default.Fragment, { children: [
|
|
946
|
+
/* @__PURE__ */ jsx("div", { className: "modal-header-search-input-container", children: /* @__PURE__ */ jsx(
|
|
947
|
+
Input,
|
|
948
|
+
{
|
|
949
|
+
className: "modal-header-search-input",
|
|
950
|
+
leftIcon: /* @__PURE__ */ jsx("img", { alt: "search", className: "menu-header-search-icon", src: SearchIcon }),
|
|
951
|
+
placeholder: t("tableChat.right.searchMembers"),
|
|
952
|
+
value: memberSearchQuery,
|
|
953
|
+
onChange: (e) => {
|
|
954
|
+
handleMemberSearch(e.target.value);
|
|
955
|
+
}
|
|
956
|
+
}
|
|
957
|
+
) }),
|
|
958
|
+
memberList.length > 0 ? filteredMemberList.length > 0 ? /* @__PURE__ */ jsx("ul", { style: { listStyle: "none", padding: 0, margin: 0 }, children: filteredMemberList.map((user, index) => /* @__PURE__ */ jsxs(
|
|
959
|
+
"li",
|
|
960
|
+
{
|
|
961
|
+
style: {
|
|
962
|
+
display: "flex",
|
|
963
|
+
alignItems: "center",
|
|
964
|
+
gap: "10px",
|
|
965
|
+
marginBottom: "8px"
|
|
966
|
+
//
|
|
967
|
+
},
|
|
968
|
+
children: [
|
|
969
|
+
/* @__PURE__ */ jsx(
|
|
970
|
+
Checkbox,
|
|
971
|
+
{
|
|
972
|
+
defaultChecked: true,
|
|
973
|
+
checked: addMembers.includes(user.value),
|
|
974
|
+
variant: "default",
|
|
975
|
+
onChange: () => {
|
|
976
|
+
addInChat(user.value);
|
|
977
|
+
}
|
|
978
|
+
}
|
|
979
|
+
),
|
|
980
|
+
/* @__PURE__ */ jsx(
|
|
981
|
+
Avatar,
|
|
982
|
+
{
|
|
983
|
+
label: user.label,
|
|
984
|
+
size: "small",
|
|
985
|
+
src: "static/media/avatar_sample.b13b667a.jpeg",
|
|
986
|
+
type: "withoutPicture"
|
|
987
|
+
}
|
|
988
|
+
),
|
|
989
|
+
/* @__PURE__ */ jsx("span", { children: user.label })
|
|
990
|
+
]
|
|
991
|
+
},
|
|
992
|
+
user.id || index
|
|
993
|
+
)) }) : /* @__PURE__ */ jsx(
|
|
994
|
+
"div",
|
|
995
|
+
{
|
|
996
|
+
style: {
|
|
997
|
+
textAlign: "center",
|
|
998
|
+
padding: "20px",
|
|
999
|
+
color: "#666",
|
|
1000
|
+
fontSize: "14px"
|
|
1001
|
+
},
|
|
1002
|
+
children: t("tableChat.right.noMembersFound", {
|
|
1003
|
+
query: memberSearchQuery
|
|
1004
|
+
})
|
|
1005
|
+
}
|
|
1006
|
+
) : t("common.loading")
|
|
1007
|
+
] }, ".0")
|
|
911
1008
|
}
|
|
912
|
-
)
|
|
913
|
-
|
|
914
|
-
|
|
915
|
-
|
|
916
|
-
|
|
1009
|
+
),
|
|
1010
|
+
infiniteScrollError && /* @__PURE__ */ jsxs("div", { className: "infinite-scroll-error", children: [
|
|
1011
|
+
/* @__PURE__ */ jsx("p", { children: t("tableChat.right.loadOlderFailed") }),
|
|
1012
|
+
/* @__PURE__ */ jsx(
|
|
1013
|
+
Button,
|
|
1014
|
+
{
|
|
1015
|
+
size: "small",
|
|
1016
|
+
variant: "text",
|
|
1017
|
+
onClick: () => {
|
|
1018
|
+
window.location.reload();
|
|
1019
|
+
},
|
|
1020
|
+
children: t("tableChat.right.retry")
|
|
1021
|
+
}
|
|
1022
|
+
)
|
|
1023
|
+
] })
|
|
1024
|
+
]
|
|
1025
|
+
}
|
|
1026
|
+
)
|
|
1027
|
+
] }),
|
|
917
1028
|
chatId ? /* @__PURE__ */ jsx(
|
|
918
1029
|
ChatInput,
|
|
919
1030
|
{
|
|
920
1031
|
chatId,
|
|
921
|
-
|
|
922
|
-
isEditMode,
|
|
1032
|
+
isReplyMode: Boolean(replyingToMessage),
|
|
923
1033
|
maxLength,
|
|
924
1034
|
messageConfig,
|
|
925
1035
|
placeholder: resolvedPlaceholder,
|
|
926
1036
|
quickActionLabel: (_a = inputChatConfig.inputConfig) == null ? void 0 : _a.quickActionLabel,
|
|
1037
|
+
replyingToMessage,
|
|
927
1038
|
showFormatting,
|
|
928
1039
|
showQuickAction: (_b = inputChatConfig.inputConfig) == null ? void 0 : _b.showQuickAction,
|
|
929
1040
|
value: inputValue,
|
|
930
1041
|
onAttach: onAttachFile,
|
|
931
|
-
|
|
1042
|
+
onCancelReply: exitReplyMode,
|
|
932
1043
|
onChange: setInputValue,
|
|
933
1044
|
onEmojiClick,
|
|
934
1045
|
onImageUpload,
|
|
1046
|
+
onQuickAction: inputChatConfig == null ? void 0 : inputChatConfig.onQuickAction,
|
|
935
1047
|
onSend: handleSend
|
|
936
1048
|
}
|
|
937
1049
|
) : null,
|