@servicetitan/titan-chat-ui-anvil2 5.2.4 → 5.3.0
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 +12 -0
- package/dist/components/chat/chat-message.d.ts.map +1 -1
- package/dist/components/chat/chat-message.js +1 -1
- package/dist/components/chat/chat-message.js.map +1 -1
- package/dist/components/message-content/message-content-text.d.ts +1 -0
- package/dist/components/message-content/message-content-text.d.ts.map +1 -1
- package/dist/components/message-content/message-content-text.js +3 -2
- package/dist/components/message-content/message-content-text.js.map +1 -1
- package/package.json +4 -4
- package/src/components/chat/chat-message.tsx +1 -0
- package/src/components/message-content/message-content-text.tsx +12 -2
- package/tsconfig.tsbuildinfo +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,15 @@
|
|
|
1
|
+
# v5.3.0 (Fri Jan 09 2026)
|
|
2
|
+
|
|
3
|
+
#### 🚀 Enhancement
|
|
4
|
+
|
|
5
|
+
- SPA-7821: ISH: chatbot input sanitization [#80](https://github.com/servicetitan/titan-chatbot-client/pull/80) ([@AlexYarmolchuk](https://github.com/AlexYarmolchuk))
|
|
6
|
+
|
|
7
|
+
#### Authors: 1
|
|
8
|
+
|
|
9
|
+
- Alexandr Yarmolchuk ([@AlexYarmolchuk](https://github.com/AlexYarmolchuk))
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
1
13
|
# v5.2.4 (Fri Jan 09 2026)
|
|
2
14
|
|
|
3
15
|
#### 🐛 Bug Fix
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-message.d.ts","sourceRoot":"","sources":["../../../src/components/chat/chat-message.tsx"],"names":[],"mappings":"AACA,OAAO,EAIH,iBAAiB,EAEpB,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,EAAE,EAAgC,MAAM,OAAO,CAAC;AAMzD;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,EAAE,CAAC,iBAAiB,
|
|
1
|
+
{"version":3,"file":"chat-message.d.ts","sourceRoot":"","sources":["../../../src/components/chat/chat-message.tsx"],"names":[],"mappings":"AACA,OAAO,EAIH,iBAAiB,EAEpB,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,EAAE,EAAgC,MAAM,OAAO,CAAC;AAMzD;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,EAAE,CAAC,iBAAiB,CA+D7C,CAAC"}
|
|
@@ -24,7 +24,7 @@ export const ChatMessage = observer(({ message, omitAvatar, omitTimestamp }) =>
|
|
|
24
24
|
switch (message.type) {
|
|
25
25
|
case 'message':
|
|
26
26
|
case 'welcome':
|
|
27
|
-
messageContentNode = (_jsx(MessageContentText, { message: message }));
|
|
27
|
+
messageContentNode = (_jsx(MessageContentText, { useMarkdown: message.participant.isAgent, message: message }));
|
|
28
28
|
break;
|
|
29
29
|
case 'file':
|
|
30
30
|
messageContentNode = (_jsx(MessageContentFile, { message: message }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-message.js","sourceRoot":"","sources":["../../../src/components/chat/chat-message.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"chat-message.js","sourceRoot":"","sources":["../../../src/components/chat/chat-message.tsx"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@ import { FC } from 'react';
|
|
|
3
3
|
interface IMessageContentTextProps {
|
|
4
4
|
className?: string;
|
|
5
5
|
message: ChatMessageModelText | ChatMessageModelWelcome;
|
|
6
|
+
useMarkdown?: boolean;
|
|
6
7
|
['data-cy']?: string;
|
|
7
8
|
}
|
|
8
9
|
export declare const MessageContentText: FC<IMessageContentTextProps>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-content-text.d.ts","sourceRoot":"","sources":["../../../src/components/message-content/message-content-text.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAEnG,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"message-content-text.d.ts","sourceRoot":"","sources":["../../../src/components/message-content/message-content-text.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAEnG,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAI3B,UAAU,wBAAwB;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,oBAAoB,GAAG,uBAAuB,CAAC;IACxD,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,kBAAkB,EAAE,EAAE,CAAC,wBAAwB,CAa3D,CAAC"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { observer } from 'mobx-react';
|
|
3
3
|
import { MarkdownText } from '../common/markdown-text';
|
|
4
|
-
|
|
4
|
+
import { MultilineText } from '../common/multiline-text';
|
|
5
|
+
export const MessageContentText = observer(({ className, message, useMarkdown = true, ...rest }) => {
|
|
5
6
|
var _a;
|
|
6
7
|
const dataCy = (_a = rest['data-cy']) !== null && _a !== void 0 ? _a : 'titan-chat-text';
|
|
7
|
-
return _jsx(
|
|
8
|
+
return (_jsx("div", { className: className, "data-cy": dataCy, children: useMarkdown ? (_jsx(MarkdownText, { text: message.message, "data-cy": "titan-chat-text-markdown" })) : (_jsx(MultilineText, { text: message.message, "data-cy": "titan-chat-text-multiline" })) }));
|
|
8
9
|
});
|
|
9
10
|
//# sourceMappingURL=message-content-text.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-content-text.js","sourceRoot":"","sources":["../../../src/components/message-content/message-content-text.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"message-content-text.js","sourceRoot":"","sources":["../../../src/components/message-content/message-content-text.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AASzD,MAAM,CAAC,MAAM,kBAAkB,GAAiC,QAAQ,CACpE,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,GAAG,IAAI,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE;;IACpD,MAAM,MAAM,GAAG,MAAA,IAAI,CAAC,SAAS,CAAC,mCAAI,iBAAiB,CAAC;IACpD,OAAO,CACH,cAAK,SAAS,EAAE,SAAS,aAAW,MAAM,YACrC,WAAW,CAAC,CAAC,CAAC,CACX,KAAC,YAAY,IAAC,IAAI,EAAE,OAAO,CAAC,OAAO,aAAU,0BAA0B,GAAG,CAC7E,CAAC,CAAC,CAAC,CACA,KAAC,aAAa,IAAC,IAAI,EAAE,OAAO,CAAC,OAAO,aAAU,2BAA2B,GAAG,CAC/E,GACC,CACT,CAAC;AACN,CAAC,CACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@servicetitan/titan-chat-ui-anvil2",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.3.0",
|
|
4
4
|
"description": "Chat experience UI package (Anvil2 version)",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
"push:local": "yalc push"
|
|
18
18
|
},
|
|
19
19
|
"dependencies": {
|
|
20
|
-
"@servicetitan/titan-chat-ui-common": "^5.
|
|
20
|
+
"@servicetitan/titan-chat-ui-common": "^5.3.0",
|
|
21
21
|
"dompurify": "^3.2.6",
|
|
22
22
|
"lodash": "4.17.21",
|
|
23
23
|
"nanoid": "^5.1.5",
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
"react-dom": ">=18"
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {
|
|
42
|
-
"@servicetitan/cypress-shared": "^5.
|
|
42
|
+
"@servicetitan/cypress-shared": "^5.3.0",
|
|
43
43
|
"cypress": "^15.2.0"
|
|
44
44
|
},
|
|
45
45
|
"keywords": [
|
|
@@ -52,5 +52,5 @@
|
|
|
52
52
|
"cli": {
|
|
53
53
|
"webpack": false
|
|
54
54
|
},
|
|
55
|
-
"gitHead": "
|
|
55
|
+
"gitHead": "8b6cbe5dd27a1c2a8bcbfe755f7eed15228b35fa"
|
|
56
56
|
}
|
|
@@ -2,16 +2,26 @@ import { ChatMessageModelText, ChatMessageModelWelcome } from '@servicetitan/tit
|
|
|
2
2
|
import { observer } from 'mobx-react';
|
|
3
3
|
import { FC } from 'react';
|
|
4
4
|
import { MarkdownText } from '../common/markdown-text';
|
|
5
|
+
import { MultilineText } from '../common/multiline-text';
|
|
5
6
|
|
|
6
7
|
interface IMessageContentTextProps {
|
|
7
8
|
className?: string;
|
|
8
9
|
message: ChatMessageModelText | ChatMessageModelWelcome;
|
|
10
|
+
useMarkdown?: boolean;
|
|
9
11
|
['data-cy']?: string;
|
|
10
12
|
}
|
|
11
13
|
|
|
12
14
|
export const MessageContentText: FC<IMessageContentTextProps> = observer(
|
|
13
|
-
({ className, message, ...rest }) => {
|
|
15
|
+
({ className, message, useMarkdown = true, ...rest }) => {
|
|
14
16
|
const dataCy = rest['data-cy'] ?? 'titan-chat-text';
|
|
15
|
-
return
|
|
17
|
+
return (
|
|
18
|
+
<div className={className} data-cy={dataCy}>
|
|
19
|
+
{useMarkdown ? (
|
|
20
|
+
<MarkdownText text={message.message} data-cy="titan-chat-text-markdown" />
|
|
21
|
+
) : (
|
|
22
|
+
<MultilineText text={message.message} data-cy="titan-chat-text-multiline" />
|
|
23
|
+
)}
|
|
24
|
+
</div>
|
|
25
|
+
);
|
|
16
26
|
}
|
|
17
27
|
);
|