@servicetitan/titan-chat-ui 2.0.1 → 2.0.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/CHANGELOG.md +13 -0
- package/dist/components/chat/__tests-cy__/chat-messages.test.js +14 -13
- package/dist/components/chat/__tests-cy__/chat-messages.test.js.map +1 -1
- package/dist/components/chat/__tests-cy__/chat.test.js +21 -20
- package/dist/components/chat/__tests-cy__/chat.test.js.map +1 -1
- package/dist/components/chat/chat-error.js +1 -1
- package/dist/components/chat/chat-error.js.map +1 -1
- package/dist/components/chat/chat-message-template-user.js +1 -1
- package/dist/components/chat/chat-message-template-user.js.map +1 -1
- package/dist/components/chat/chat.js +1 -1
- package/dist/components/chat/chat.js.map +1 -1
- package/dist/components/messages/__tests-cy__/message-agent.test.js +13 -22
- package/dist/components/messages/__tests-cy__/message-agent.test.js.map +1 -1
- package/dist/components/messages/__tests-cy__/message-system.test.js +3 -2
- package/dist/components/messages/__tests-cy__/message-system.test.js.map +1 -1
- package/dist/components/messages/__tests-cy__/message-timeout.test.js +6 -11
- package/dist/components/messages/__tests-cy__/message-timeout.test.js.map +1 -1
- package/dist/components/messages/__tests-cy__/message-typing.test.js +10 -9
- package/dist/components/messages/__tests-cy__/message-typing.test.js.map +1 -1
- package/dist/components/messages/__tests-cy__/message-user.test.js +5 -9
- package/dist/components/messages/__tests-cy__/message-user.test.js.map +1 -1
- package/dist/components/messages/message-agent.d.ts +3 -2
- package/dist/components/messages/message-agent.d.ts.map +1 -1
- package/dist/components/messages/message-agent.js +4 -5
- package/dist/components/messages/message-agent.js.map +1 -1
- package/dist/components/messages/message-avatar.d.ts.map +1 -1
- package/dist/components/messages/message-avatar.js +5 -1
- package/dist/components/messages/message-avatar.js.map +1 -1
- package/dist/components/messages/message-system.d.ts +2 -2
- package/dist/components/messages/message-system.d.ts.map +1 -1
- package/dist/components/messages/message-system.js +2 -2
- package/dist/components/messages/message-system.js.map +1 -1
- package/dist/components/messages/message-timeout.d.ts +1 -2
- package/dist/components/messages/message-timeout.d.ts.map +1 -1
- package/dist/components/messages/message-timeout.js +2 -4
- package/dist/components/messages/message-timeout.js.map +1 -1
- package/dist/components/messages/message-typing.d.ts +1 -2
- package/dist/components/messages/message-typing.d.ts.map +1 -1
- package/dist/components/messages/message-typing.js +1 -5
- package/dist/components/messages/message-typing.js.map +1 -1
- package/dist/components/messages/message-user.d.ts +1 -2
- package/dist/components/messages/message-user.d.ts.map +1 -1
- package/dist/components/messages/message-user.js +3 -6
- package/dist/components/messages/message-user.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/stores/__tests__/chat-input.store.test.js +5 -1
- package/dist/stores/__tests__/chat-input.store.test.js.map +1 -1
- package/dist/stores/__tests__/chat-ui.store.test.d.ts +2 -0
- package/dist/stores/__tests__/chat-ui.store.test.d.ts.map +1 -0
- package/dist/stores/__tests__/chat-ui.store.test.js +424 -0
- package/dist/stores/__tests__/chat-ui.store.test.js.map +1 -0
- package/dist/stores/chat-ui.store.d.ts.map +1 -1
- package/dist/stores/chat-ui.store.js +9 -10
- package/dist/stores/chat-ui.store.js.map +1 -1
- package/dist/utils/__tests__/text-utils.test.d.ts +2 -0
- package/dist/utils/__tests__/text-utils.test.d.ts.map +1 -0
- package/dist/utils/__tests__/text-utils.test.js +59 -0
- package/dist/utils/__tests__/text-utils.test.js.map +1 -0
- package/dist/utils/text-utils.d.ts +0 -5
- package/dist/utils/text-utils.d.ts.map +1 -1
- package/dist/utils/text-utils.js +2 -51
- package/dist/utils/text-utils.js.map +1 -1
- package/package.json +9 -3
- package/src/components/chat/__tests-cy__/chat-messages.test.tsx +17 -17
- package/src/components/chat/__tests-cy__/chat.test.tsx +21 -20
- package/src/components/chat/chat-error.tsx +1 -1
- package/src/components/chat/chat-message-template-user.tsx +2 -2
- package/src/components/chat/chat.tsx +1 -1
- package/src/components/messages/__tests-cy__/message-agent.test.tsx +13 -31
- package/src/components/messages/__tests-cy__/message-system.test.tsx +3 -2
- package/src/components/messages/__tests-cy__/message-timeout.test.tsx +6 -13
- package/src/components/messages/__tests-cy__/message-typing.test.tsx +10 -9
- package/src/components/messages/__tests-cy__/message-user.test.tsx +5 -14
- package/src/components/messages/message-agent.tsx +18 -12
- package/src/components/messages/message-avatar.tsx +7 -3
- package/src/components/messages/message-system.tsx +5 -4
- package/src/components/messages/message-timeout.tsx +9 -8
- package/src/components/messages/message-typing.tsx +12 -16
- package/src/components/messages/message-user.tsx +7 -11
- package/src/index.ts +1 -0
- package/src/stores/__tests__/chat-input.store.test.ts +5 -1
- package/src/stores/__tests__/chat-ui.store.test.ts +531 -0
- package/src/stores/chat-ui.store.ts +9 -10
- package/src/utils/__tests__/text-utils.test.ts +70 -0
- package/src/utils/text-utils.ts +2 -59
- package/tsconfig.json +5 -0
- package/tsconfig.tsbuildinfo +1 -1
- package/dist/models/component.d.ts +0 -4
- package/dist/models/component.d.ts.map +0 -1
- package/dist/models/component.js +0 -2
- package/dist/models/component.js.map +0 -1
- package/dist/utils/test-utils.d.ts +0 -5
- package/dist/utils/test-utils.d.ts.map +0 -1
- package/dist/utils/test-utils.js +0 -17
- package/dist/utils/test-utils.js.map +0 -1
- package/src/models/component.ts +0 -3
- package/src/utils/test-utils.ts +0 -22
package/src/utils/text-utils.ts
CHANGED
|
@@ -6,12 +6,12 @@ export function formatChatMessageDate(date: Date) {
|
|
|
6
6
|
}
|
|
7
7
|
|
|
8
8
|
export const getFirstName = (name: string): string => {
|
|
9
|
-
const parts = name.split(' ');
|
|
9
|
+
const parts = name.trim().split(' ');
|
|
10
10
|
return parts[0];
|
|
11
11
|
};
|
|
12
12
|
|
|
13
13
|
export const getNameInitials = (name: string): string => {
|
|
14
|
-
const parts = name.split(' ');
|
|
14
|
+
const parts = name.trim().split(' ');
|
|
15
15
|
return parts
|
|
16
16
|
.filter(Boolean)
|
|
17
17
|
.splice(0, 2)
|
|
@@ -34,60 +34,3 @@ export const extractFilenameAndExt = (fileName: string): [string, string] => {
|
|
|
34
34
|
fileName.substring(lastIndex + 1, fileName.length),
|
|
35
35
|
];
|
|
36
36
|
};
|
|
37
|
-
|
|
38
|
-
export const ellipsisText = (
|
|
39
|
-
text: string,
|
|
40
|
-
lineLength: number,
|
|
41
|
-
linesCount: number,
|
|
42
|
-
lastLineLength: number = lineLength
|
|
43
|
-
): { lines: string[]; isCut: boolean } => {
|
|
44
|
-
let lines = text.split('\n').map(l => l.trim());
|
|
45
|
-
let isCut = false;
|
|
46
|
-
let charsLeft = lineLength * linesCount - lastLineLength;
|
|
47
|
-
let linesLeft = linesCount;
|
|
48
|
-
for (let i = 0; i < lines.length; i++) {
|
|
49
|
-
let line = lines[i];
|
|
50
|
-
let linesInRow = Math.trunc(line.length / lineLength);
|
|
51
|
-
if (line.length % lineLength > 0) {
|
|
52
|
-
linesInRow++;
|
|
53
|
-
}
|
|
54
|
-
if (linesInRow === 0) {
|
|
55
|
-
linesInRow = 1;
|
|
56
|
-
}
|
|
57
|
-
linesLeft -= linesInRow;
|
|
58
|
-
|
|
59
|
-
line = line.slice(0, charsLeft);
|
|
60
|
-
lines[i] = line;
|
|
61
|
-
charsLeft = charsLeft - Math.max(lineLength, line.length);
|
|
62
|
-
if (charsLeft <= 0 || linesLeft <= 0) {
|
|
63
|
-
isCut = line.length >= lineLength - lastLineLength || i < lines.length - 1;
|
|
64
|
-
lines = lines.slice(0, i + 1);
|
|
65
|
-
if (line.length >= lineLength - lastLineLength) {
|
|
66
|
-
lines[i] = lines[i] + '...';
|
|
67
|
-
}
|
|
68
|
-
break;
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
return {
|
|
72
|
-
isCut,
|
|
73
|
-
lines,
|
|
74
|
-
};
|
|
75
|
-
};
|
|
76
|
-
|
|
77
|
-
export function extractContentFromHtml(html: string) {
|
|
78
|
-
const span = document.createElement('span');
|
|
79
|
-
span.innerHTML = html;
|
|
80
|
-
|
|
81
|
-
function getTextLoop(element: Node) {
|
|
82
|
-
const texts: string[] = [];
|
|
83
|
-
Array.from(element.childNodes).forEach(node => {
|
|
84
|
-
if (node.nodeType === Node.TEXT_NODE && node.textContent) {
|
|
85
|
-
texts.push(node.textContent.trim());
|
|
86
|
-
} else {
|
|
87
|
-
texts.push(...getTextLoop(node));
|
|
88
|
-
}
|
|
89
|
-
});
|
|
90
|
-
return texts;
|
|
91
|
-
}
|
|
92
|
-
return getTextLoop(span).join(' ');
|
|
93
|
-
}
|