impact-ui 5.0.2-alpha.1 → 5.0.2-alpha.2
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/components/Badge/index.js +1 -1
- package/dist/components/Badge/stroke/strokeOnlyLabelBadges/index.js +1 -1
- package/dist/components/Panel/Panel.types.d.ts +0 -7
- 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 +2 -5
- package/dist/components/TableChat/EmptyContainer.js +3 -3
- package/dist/components/TableChat/TableChatSidePanel.d.ts +1 -2
- package/dist/components/TableChat/TableChatSidePanel.d.ts.map +1 -1
- package/dist/components/TableChat/TableChatSidePanel.js +23 -214
- package/dist/components/TableChat/components/TableChatLeftSection/AddChatContainer/AddChatContainer.js +1 -1
- package/dist/components/TableChat/components/TableChatLeftSection/ChatChannelItem.d.ts +2 -4
- package/dist/components/TableChat/components/TableChatLeftSection/ChatChannelItem.d.ts.map +1 -1
- package/dist/components/TableChat/components/TableChatLeftSection/ChatChannelItem.js +24 -55
- package/dist/components/TableChat/components/TableChatLeftSection/ChatChannelList.d.ts.map +1 -1
- package/dist/components/TableChat/components/TableChatLeftSection/ChatChannelList.js +2 -3
- package/dist/components/TableChat/components/TableChatLeftSection/ChatHeaderNavigation.d.ts.map +1 -1
- package/dist/components/TableChat/components/TableChatLeftSection/ChatHeaderNavigation.js +43 -20
- package/dist/components/TableChat/components/TableChatLeftSection/TableChatChannelHeader.d.ts.map +1 -1
- package/dist/components/TableChat/components/TableChatLeftSection/TableChatChannelHeader.js +2 -37
- package/dist/components/TableChat/components/TableChatRightSection/AvatarGroup/AvatarGroup.d.ts.map +1 -1
- package/dist/components/TableChat/components/TableChatRightSection/AvatarGroup/AvatarGroup.js +18 -54
- package/dist/components/TableChat/components/TableChatRightSection/ChatDefaultMessageType/ChatDefaultMessageType.d.ts +1 -4
- package/dist/components/TableChat/components/TableChatRightSection/ChatDefaultMessageType/ChatDefaultMessageType.d.ts.map +1 -1
- package/dist/components/TableChat/components/TableChatRightSection/ChatDefaultMessageType/ChatDefaultMessageType.js +81 -90
- package/dist/components/TableChat/components/TableChatRightSection/ChatDeleteMessageType/ChatDeletedMessageType.js +2 -2
- package/dist/components/TableChat/components/TableChatRightSection/ChatEditedMessageType/ChatEditedMessageType.js +65 -0
- package/dist/components/TableChat/components/TableChatRightSection/ChatHeader/ChatHeader.d.ts.map +1 -1
- package/dist/components/TableChat/components/TableChatRightSection/ChatHeader/ChatHeader.js +4 -11
- package/dist/components/TableChat/components/TableChatRightSection/ChatHeader/ChatHeaderAction.d.ts.map +1 -1
- package/dist/components/TableChat/components/TableChatRightSection/ChatHeader/ChatHeaderAction.js +56 -67
- package/dist/components/TableChat/components/TableChatRightSection/ChatHeader/ChatHeaderInfo.d.ts +1 -8
- package/dist/components/TableChat/components/TableChatRightSection/ChatHeader/ChatHeaderInfo.d.ts.map +1 -1
- package/dist/components/TableChat/components/TableChatRightSection/ChatHeader/ChatHeaderInfo.js +4 -170
- package/dist/components/TableChat/components/TableChatRightSection/ChatInput/ChatInput.d.ts +1 -5
- package/dist/components/TableChat/components/TableChatRightSection/ChatInput/ChatInput.d.ts.map +1 -1
- package/dist/components/TableChat/components/TableChatRightSection/ChatInput/ChatInput.js +124 -138
- package/dist/components/TableChat/components/TableChatRightSection/ChatMessages/ChatMessage.d.ts +9 -11
- package/dist/components/TableChat/components/TableChatRightSection/ChatMessages/ChatMessage.d.ts.map +1 -1
- package/dist/components/TableChat/components/TableChatRightSection/ChatMessages/ChatMessage.js +106 -102
- package/dist/components/TableChat/components/TableChatRightSection/ChatNotificationSettings/ChatNotificationSettings.js +17 -0
- package/dist/components/TableChat/components/TableChatRightSection/DateSeparator/DateSeparator.d.ts.map +1 -1
- package/dist/components/TableChat/components/TableChatRightSection/DateSeparator/DateSeparator.js +1 -4
- package/dist/components/TableChat/components/TableChatRightSection/ReplyBadge/ReplyBadge.d.ts +1 -2
- package/dist/components/TableChat/components/TableChatRightSection/ReplyBadge/ReplyBadge.d.ts.map +1 -1
- package/dist/components/TableChat/components/TableChatRightSection/TableChatRightSection.d.ts.map +1 -1
- package/dist/components/TableChat/components/TableChatRightSection/TableChatRightSection.js +215 -327
- package/dist/components/TableChat/components/chatConfig.js +1 -0
- package/dist/components/TableV36/AgGridHeader.d.ts.map +1 -1
- package/dist/components/TableV36/AgGridHeader.js +22 -3
- package/dist/components/TableV36/index.d.ts.map +1 -1
- package/dist/components/TableV36/index.js +8 -135
- package/dist/components/TableV36/tableHeader.d.ts +1 -5
- package/dist/components/TableV36/tableHeader.d.ts.map +1 -1
- package/dist/components/TableV36/tableHeader.js +11 -36
- package/dist/locales/de-DE.json.d.ts +3 -16
- package/dist/locales/de-DE.json.js +3 -15
- package/dist/locales/en-US.json.d.ts +3 -16
- package/dist/locales/en-US.json.js +3 -15
- package/dist/locales/es-ES.json.d.ts +3 -16
- package/dist/locales/es-ES.json.js +3 -15
- package/dist/mcp-component-registry.json +7 -1
- package/dist/node_modules/@impactsmartsuite/impact-icons/dist/index.js +156 -250
- package/dist/stories/tableV36ChatApiMock.d.ts +74 -222
- package/dist/stories/tableV36ChatApiMock.d.ts.map +1 -1
- package/package.json +2 -2
- package/dist/_virtual/Check.js +0 -4
- package/dist/components/TableChat/components/TableChatLeftSection/ChatFilterChips/ChatFilterChips.d.ts +0 -11
- package/dist/components/TableChat/components/TableChatLeftSection/ChatFilterChips/ChatFilterChips.d.ts.map +0 -1
- package/dist/components/TableChat/components/TableChatLeftSection/ChatFilterChips/ChatFilterChips.js +0 -57
- package/dist/components/TableChat/components/TableChatRightSection/ChatInlineEdit/ChatInlineEdit.d.ts +0 -12
- package/dist/components/TableChat/components/TableChatRightSection/ChatInlineEdit/ChatInlineEdit.d.ts.map +0 -1
- package/dist/components/TableChat/components/TableChatRightSection/ChatInlineEdit/ChatInlineEdit.js +0 -132
- package/dist/components/TableChat/components/TableChatRightSection/ReplyBadge/ReplyBadge.js +0 -29
- package/dist/components/TableV36/withChatIndicator.d.ts +0 -3
- package/dist/components/TableV36/withChatIndicator.d.ts.map +0 -1
- package/dist/components/TableV36/withChatIndicator.js +0 -89
- package/dist/node_modules/@mui/icons-material/Check.js +0 -17
package/dist/components/TableChat/components/TableChatRightSection/ChatInlineEdit/ChatInlineEdit.js
DELETED
|
@@ -1,132 +0,0 @@
|
|
|
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}.chat-inline-edit{align-items:flex-end;box-sizing:border-box;display:flex;flex-direction:column;gap:20px;max-width:529px;width:100%}.chat-inline-edit__meta{align-items:center;display:flex;gap:8px;justify-content:flex-end;min-height:24px;width:100%}.chat-inline-edit__pin{align-items:center;background:#0000;border:none;cursor:pointer;display:inline-flex;height:16px;justify-content:center;padding:0;width:16px}.chat-inline-edit__pin img{display:block;height:16px;width:16px}.chat-inline-edit__timestamp{color:#60697d;font-size:12px;font-weight:500;letter-spacing:.12px;line-height:1.6;white-space:nowrap}.chat-inline-edit__field{background:#fff;border:1px solid #4259ee;border-radius:8px;box-sizing:border-box;min-height:66px;padding:5px;width:100%}.chat-inline-edit__textarea{background:#0000;border:none;box-sizing:border-box;color:#1f2b4d;display:block;font-family:Manrope,sans-serif;font-size:14px;font-weight:500;letter-spacing:.14px;line-height:1.6;margin:0;max-height:200px;min-height:54px;outline:none;overflow-y:auto;padding:0;resize:none;width:100%}.chat-inline-edit__actions{align-items:flex-start;display:flex;gap:12px;justify-content:flex-end}.chat-inline-edit__actions .ia-styles.ia-btn{max-height:28px;min-height:28px;padding:4px 12px}.chat-message.user-message>.message-content .chat-inline-edit{margin-left:auto}')),document.head.appendChild(e)}}catch(i){console.error("vite-plugin-css-injected-by-js",i)}}();
|
|
2
|
-
import { jsxs, jsx } from "react/jsx-runtime";
|
|
3
|
-
import { useRef, useState, useEffect } from "react";
|
|
4
|
-
import { getAssetUrl } from "../../../../../utils/assetBase.js";
|
|
5
|
-
import { Button } from "../../../../Button/index.js";
|
|
6
|
-
|
|
7
|
-
import { useTranslation } from "../../../../../i18n/useTranslation.js";
|
|
8
|
-
const PinnedIcon = getAssetUrl("icons/pinedIcon.svg");
|
|
9
|
-
const UnpinIcon = getAssetUrl("icons/unpinedIcon.svg");
|
|
10
|
-
const stripHtml = (raw) => {
|
|
11
|
-
if (typeof raw !== "string") return "";
|
|
12
|
-
return raw.replace(/<br\s*\/?>/gi, "\n").replace(/<\/p>/gi, "\n").replace(/<[^>]*>/g, "").replace(/\n{3,}/g, "\n\n").trim();
|
|
13
|
-
};
|
|
14
|
-
const toHtmlContent = (plain) => {
|
|
15
|
-
const escaped = plain.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">");
|
|
16
|
-
return escaped.split(/\n/).map((line) => `<p>${line || "<br>"}</p>`).join("");
|
|
17
|
-
};
|
|
18
|
-
const ChatInlineEdit = ({
|
|
19
|
-
content,
|
|
20
|
-
timestamp,
|
|
21
|
-
pinned = false,
|
|
22
|
-
isPinChatIconvisible = false,
|
|
23
|
-
onPin,
|
|
24
|
-
onCancel,
|
|
25
|
-
onUpdate
|
|
26
|
-
}) => {
|
|
27
|
-
const { t } = useTranslation();
|
|
28
|
-
const textareaRef = useRef(null);
|
|
29
|
-
const [value, setValue] = useState(() => stripHtml(content));
|
|
30
|
-
const [saving, setSaving] = useState(false);
|
|
31
|
-
const [showPinned, setShowPinned] = useState(pinned);
|
|
32
|
-
useEffect(() => {
|
|
33
|
-
setValue(stripHtml(content));
|
|
34
|
-
}, [content]);
|
|
35
|
-
useEffect(() => {
|
|
36
|
-
setShowPinned(pinned);
|
|
37
|
-
}, [pinned]);
|
|
38
|
-
useEffect(() => {
|
|
39
|
-
const el = textareaRef.current;
|
|
40
|
-
if (!el) return;
|
|
41
|
-
el.focus();
|
|
42
|
-
el.setSelectionRange(el.value.length, el.value.length);
|
|
43
|
-
el.style.height = "auto";
|
|
44
|
-
el.style.height = `${Math.max(66, el.scrollHeight)}px`;
|
|
45
|
-
}, []);
|
|
46
|
-
const handleChange = (e) => {
|
|
47
|
-
setValue(e.target.value);
|
|
48
|
-
const el = e.target;
|
|
49
|
-
el.style.height = "auto";
|
|
50
|
-
el.style.height = `${Math.max(66, el.scrollHeight)}px`;
|
|
51
|
-
};
|
|
52
|
-
const handlePin = async () => {
|
|
53
|
-
if (!onPin) return;
|
|
54
|
-
try {
|
|
55
|
-
const response = await onPin(!showPinned);
|
|
56
|
-
if (response != null) {
|
|
57
|
-
setShowPinned(Boolean((response == null ? void 0 : response.isPinned) ?? !showPinned));
|
|
58
|
-
} else {
|
|
59
|
-
setShowPinned(!showPinned);
|
|
60
|
-
}
|
|
61
|
-
} catch (error) {
|
|
62
|
-
console.error("[ChatInlineEdit] Pin failed:", error);
|
|
63
|
-
}
|
|
64
|
-
};
|
|
65
|
-
const handleUpdate = async () => {
|
|
66
|
-
const trimmed = value.trim();
|
|
67
|
-
if (!trimmed || saving) return;
|
|
68
|
-
setSaving(true);
|
|
69
|
-
try {
|
|
70
|
-
await (onUpdate == null ? void 0 : onUpdate(toHtmlContent(trimmed)));
|
|
71
|
-
} catch (error) {
|
|
72
|
-
console.error("[ChatInlineEdit] Update failed:", error);
|
|
73
|
-
} finally {
|
|
74
|
-
setSaving(false);
|
|
75
|
-
}
|
|
76
|
-
};
|
|
77
|
-
const handleKeyDown = (e) => {
|
|
78
|
-
if (e.key === "Escape") {
|
|
79
|
-
e.preventDefault();
|
|
80
|
-
onCancel == null ? void 0 : onCancel();
|
|
81
|
-
}
|
|
82
|
-
if ((e.metaKey || e.ctrlKey) && e.key === "Enter") {
|
|
83
|
-
e.preventDefault();
|
|
84
|
-
handleUpdate();
|
|
85
|
-
}
|
|
86
|
-
};
|
|
87
|
-
return /* @__PURE__ */ jsxs("div", { className: "chat-inline-edit", children: [
|
|
88
|
-
/* @__PURE__ */ jsxs("div", { className: "chat-inline-edit__meta", children: [
|
|
89
|
-
isPinChatIconvisible ? /* @__PURE__ */ jsx(
|
|
90
|
-
"button",
|
|
91
|
-
{
|
|
92
|
-
"aria-label": showPinned ? t("tableChat.channelItem.unpinChat") : t("tableChat.channelItem.pinChat"),
|
|
93
|
-
className: "chat-inline-edit__pin",
|
|
94
|
-
type: "button",
|
|
95
|
-
onClick: handlePin,
|
|
96
|
-
children: /* @__PURE__ */ jsx("img", { alt: "", src: showPinned ? PinnedIcon : UnpinIcon })
|
|
97
|
-
}
|
|
98
|
-
) : null,
|
|
99
|
-
timestamp ? /* @__PURE__ */ jsx("span", { className: "chat-inline-edit__timestamp", children: timestamp }) : null
|
|
100
|
-
] }),
|
|
101
|
-
/* @__PURE__ */ jsx("div", { className: "chat-inline-edit__field", children: /* @__PURE__ */ jsx(
|
|
102
|
-
"textarea",
|
|
103
|
-
{
|
|
104
|
-
ref: textareaRef,
|
|
105
|
-
"aria-label": t("tableChat.input.editingMessage"),
|
|
106
|
-
className: "chat-inline-edit__textarea",
|
|
107
|
-
rows: 2,
|
|
108
|
-
value,
|
|
109
|
-
onChange: handleChange,
|
|
110
|
-
onKeyDown: handleKeyDown
|
|
111
|
-
}
|
|
112
|
-
) }),
|
|
113
|
-
/* @__PURE__ */ jsxs("div", { className: "chat-inline-edit__actions", children: [
|
|
114
|
-
/* @__PURE__ */ jsx(Button, { size: "small", type: "default", variant: "secondary", onClick: onCancel, children: t("common.cancel") }),
|
|
115
|
-
/* @__PURE__ */ jsx(
|
|
116
|
-
Button,
|
|
117
|
-
{
|
|
118
|
-
disabled: !value.trim() || saving,
|
|
119
|
-
loading: saving,
|
|
120
|
-
size: "small",
|
|
121
|
-
type: "default",
|
|
122
|
-
variant: "primary",
|
|
123
|
-
onClick: handleUpdate,
|
|
124
|
-
children: t("tableChat.message.update")
|
|
125
|
-
}
|
|
126
|
-
)
|
|
127
|
-
] })
|
|
128
|
-
] });
|
|
129
|
-
};
|
|
130
|
-
export {
|
|
131
|
-
ChatInlineEdit
|
|
132
|
-
};
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
!function(){"use strict";try{if("undefined"!=typeof document){var e=document.createElement("style");e.appendChild(document.createTextNode(".reply-badge{align-items:center;display:flex;gap:12px;margin-top:10px}.reply-badge .reply-button-container{align-items:center;display:flex;gap:4px}.reply-badge .reply-button-container .reply-icon{color:#7a8294;margin-bottom:6px}")),document.head.appendChild(e)}}catch(t){console.error("vite-plugin-css-injected-by-js",t)}}();
|
|
2
|
-
import { jsxs, jsx } from "react/jsx-runtime";
|
|
3
|
-
|
|
4
|
-
import { Button } from "../../../../Button/index.js";
|
|
5
|
-
import { ReplyChatIcon as ReplyChatIcon_default } from "../../../../../node_modules/@impactsmartsuite/impact-icons/dist/index.js";
|
|
6
|
-
import { useTranslation } from "../../../../../i18n/useTranslation.js";
|
|
7
|
-
const ReplyBadge = ({
|
|
8
|
-
text,
|
|
9
|
-
action,
|
|
10
|
-
onReplyClick,
|
|
11
|
-
onActionClick,
|
|
12
|
-
className = "reply-badge",
|
|
13
|
-
showIcon = true,
|
|
14
|
-
showAction = true
|
|
15
|
-
}) => {
|
|
16
|
-
const { t } = useTranslation();
|
|
17
|
-
const resolvedText = text ?? t("tableChat.replyBadge.reply");
|
|
18
|
-
const resolvedAction = action ?? t("tableChat.replyBadge.finalize");
|
|
19
|
-
return /* @__PURE__ */ jsxs("div", { className, children: [
|
|
20
|
-
/* @__PURE__ */ jsxs("div", { className: "reply-button-container", children: [
|
|
21
|
-
/* @__PURE__ */ jsx(ReplyChatIcon_default, { className: "reply-icon", width: 16, height: 11 }),
|
|
22
|
-
/* @__PURE__ */ jsx(Button, { variant: "url", onClick: onReplyClick, children: resolvedText })
|
|
23
|
-
] }),
|
|
24
|
-
showAction && resolvedAction ? /* @__PURE__ */ jsx(Button, { onClick: onActionClick, variant: "tertiary", children: resolvedAction }) : null
|
|
25
|
-
] });
|
|
26
|
-
};
|
|
27
|
-
export {
|
|
28
|
-
ReplyBadge
|
|
29
|
-
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"withChatIndicator.d.ts","sourceRoot":"","sources":["../../../src/components/TableV36/withChatIndicator.tsx"],"names":[],"mappings":"AAsGA,eAAO,MAAM,6BAA6B,GAAI,aAAQ,QAgBrD,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,aAAQ,QAA4C,CAAC"}
|
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
import { jsx, Fragment, jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { memo, useEffect } from "react";
|
|
3
|
-
import { getAssetUrl } from "../../utils/assetBase.js";
|
|
4
|
-
import { Badge } from "../Badge/index.js";
|
|
5
|
-
const ChatIconSrc = getAssetUrl("icons/chatIndicator.svg");
|
|
6
|
-
const PLAIN_VALUE_CELL = "__impactPlainValueCell";
|
|
7
|
-
const isTruncated = (element) => {
|
|
8
|
-
if (!element) return false;
|
|
9
|
-
return element.clientWidth < element.scrollWidth || element.clientHeight < element.scrollHeight;
|
|
10
|
-
};
|
|
11
|
-
const chatIndicatorWrapperCache = /* @__PURE__ */ new WeakMap();
|
|
12
|
-
const undefinedRendererKey = { __undefinedRenderer: true };
|
|
13
|
-
const undefinedWrapperCache = /* @__PURE__ */ new Map();
|
|
14
|
-
const createChatIndicatorWrapper = (Renderer) => {
|
|
15
|
-
const ChatIndicatorCell = memo((props) => {
|
|
16
|
-
const { getRowChatMeta, onRowChatIndicatorClick } = props.context || {};
|
|
17
|
-
const displayValue = props.valueFormatted !== void 0 && props.valueFormatted !== null ? props.valueFormatted : props.value;
|
|
18
|
-
const safeValue = displayValue !== null && typeof displayValue === "object" ? JSON.stringify(displayValue) : displayValue ?? "";
|
|
19
|
-
const Content = Renderer ? /* @__PURE__ */ jsx(Renderer, { ...props }) : /* @__PURE__ */ jsx(Fragment, { children: safeValue });
|
|
20
|
-
const meta = typeof getRowChatMeta === "function" ? getRowChatMeta(props.data) : null;
|
|
21
|
-
const totalChats = (meta == null ? void 0 : meta.totalChats) ?? 0;
|
|
22
|
-
const showIndicator = Boolean(meta) && totalChats > 0;
|
|
23
|
-
useEffect(() => {
|
|
24
|
-
if (typeof props.setTooltip !== "function") return;
|
|
25
|
-
if (safeValue === "" || safeValue == null) return;
|
|
26
|
-
props.setTooltip(String(safeValue), () => {
|
|
27
|
-
const cell = props.eParentOfValue ?? props.eGridCell;
|
|
28
|
-
if (!cell) return false;
|
|
29
|
-
const valueEl = showIndicator ? cell.querySelector(".table-row-chat-indicator-value") : cell.querySelector(".ag-cell-value") || cell;
|
|
30
|
-
return isTruncated(valueEl ?? cell);
|
|
31
|
-
});
|
|
32
|
-
});
|
|
33
|
-
if (!showIndicator) {
|
|
34
|
-
return Content;
|
|
35
|
-
}
|
|
36
|
-
const resolvedChats = (meta == null ? void 0 : meta.resolvedChats) ?? 0;
|
|
37
|
-
const handleClick = (event) => {
|
|
38
|
-
event.stopPropagation();
|
|
39
|
-
event.preventDefault();
|
|
40
|
-
onRowChatIndicatorClick == null ? void 0 : onRowChatIndicatorClick(props.data, meta);
|
|
41
|
-
};
|
|
42
|
-
return /* @__PURE__ */ jsxs("div", { className: "table-row-chat-indicator-cell", children: [
|
|
43
|
-
/* @__PURE__ */ jsx("div", { className: "table-row-chat-indicator-value", children: Content }),
|
|
44
|
-
/* @__PURE__ */ jsxs("div", { "aria-label": "Open row chats", className: "table-row-chat-indicator", children: [
|
|
45
|
-
/* @__PURE__ */ jsx(
|
|
46
|
-
"img",
|
|
47
|
-
{
|
|
48
|
-
alt: "",
|
|
49
|
-
className: "table-row-chat-indicator-icon",
|
|
50
|
-
src: ChatIconSrc,
|
|
51
|
-
onClick: handleClick
|
|
52
|
-
}
|
|
53
|
-
),
|
|
54
|
-
/* @__PURE__ */ jsx(
|
|
55
|
-
Badge,
|
|
56
|
-
{
|
|
57
|
-
color: "info",
|
|
58
|
-
label: `${resolvedChats}/${totalChats}`,
|
|
59
|
-
size: "small",
|
|
60
|
-
variant: "stroke"
|
|
61
|
-
}
|
|
62
|
-
)
|
|
63
|
-
] })
|
|
64
|
-
] });
|
|
65
|
-
});
|
|
66
|
-
ChatIndicatorCell.displayName = `withChatIndicator(${(Renderer == null ? void 0 : Renderer.displayName) || (Renderer == null ? void 0 : Renderer.name) || "Cell"})`;
|
|
67
|
-
ChatIndicatorCell[PLAIN_VALUE_CELL] = false;
|
|
68
|
-
return ChatIndicatorCell;
|
|
69
|
-
};
|
|
70
|
-
const getCachedChatIndicatorWrapper = (Renderer) => {
|
|
71
|
-
if (Renderer == null) {
|
|
72
|
-
if (!undefinedWrapperCache.has(undefinedRendererKey)) {
|
|
73
|
-
undefinedWrapperCache.set(undefinedRendererKey, createChatIndicatorWrapper(void 0));
|
|
74
|
-
}
|
|
75
|
-
return undefinedWrapperCache.get(undefinedRendererKey);
|
|
76
|
-
}
|
|
77
|
-
if (typeof Renderer !== "function") {
|
|
78
|
-
return Renderer;
|
|
79
|
-
}
|
|
80
|
-
let cached = chatIndicatorWrapperCache.get(Renderer);
|
|
81
|
-
if (!cached) {
|
|
82
|
-
cached = createChatIndicatorWrapper(Renderer);
|
|
83
|
-
chatIndicatorWrapperCache.set(Renderer, cached);
|
|
84
|
-
}
|
|
85
|
-
return cached;
|
|
86
|
-
};
|
|
87
|
-
export {
|
|
88
|
-
getCachedChatIndicatorWrapper
|
|
89
|
-
};
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { __exports as Check } from "../../../_virtual/Check.js";
|
|
2
|
-
import require$$0 from "@babel/runtime/helpers/interopRequireDefault";
|
|
3
|
-
import { __require as requireCreateSvgIcon } from "./utils/createSvgIcon.js";
|
|
4
|
-
import require$$2 from "react/jsx-runtime";
|
|
5
|
-
var _interopRequireDefault = require$$0;
|
|
6
|
-
Object.defineProperty(Check, "__esModule", {
|
|
7
|
-
value: true
|
|
8
|
-
});
|
|
9
|
-
var default_1 = Check.default = void 0;
|
|
10
|
-
var _createSvgIcon = _interopRequireDefault(requireCreateSvgIcon());
|
|
11
|
-
var _jsxRuntime = require$$2;
|
|
12
|
-
default_1 = Check.default = (0, _createSvgIcon.default)(/* @__PURE__ */ (0, _jsxRuntime.jsx)("path", {
|
|
13
|
-
d: "M9 16.17 4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z"
|
|
14
|
-
}), "Check");
|
|
15
|
-
export {
|
|
16
|
-
default_1 as default
|
|
17
|
-
};
|