@servicetitan/titan-chatbot-ui-anvil2 4.2.0 → 4.3.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/CHANGELOG.md CHANGED
@@ -1,3 +1,27 @@
1
+ # v4.3.1 (Fri Oct 17 2025)
2
+
3
+ #### 🐛 Bug Fix
4
+
5
+ - SPA-7194: Filter position customization [#64](https://github.com/servicetitan/titan-chatbot-client/pull/64) ([@AlexYarmolchuk](https://github.com/AlexYarmolchuk))
6
+
7
+ #### Authors: 1
8
+
9
+ - Alexandr Yarmolchuk ([@AlexYarmolchuk](https://github.com/AlexYarmolchuk))
10
+
11
+ ---
12
+
13
+ # v4.3.0 (Wed Oct 08 2025)
14
+
15
+ #### 🚀 Enhancement
16
+
17
+ - SPA-7396: Updated API contract. Improved markdown rendering. Exposed markdown text component [#63](https://github.com/servicetitan/titan-chatbot-client/pull/63) ([@AlexYarmolchuk](https://github.com/AlexYarmolchuk))
18
+
19
+ #### Authors: 1
20
+
21
+ - Alexandr Yarmolchuk ([@AlexYarmolchuk](https://github.com/AlexYarmolchuk))
22
+
23
+ ---
24
+
1
25
  # v4.2.0 (Tue Oct 07 2025)
2
26
 
3
27
  #### 🚀 Enhancement
@@ -1 +1 @@
1
- {"version":3,"file":"chatbot.d.ts","sourceRoot":"","sources":["../../../src/components/chatbot/chatbot.tsx"],"names":[],"mappings":"AAGA,OAAO,EAIH,mBAAmB,EACtB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAGH,qBAAqB,EACxB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,aAAa,EAAE,EAAE,EAAsB,MAAM,OAAO,CAAC;AAU9D,MAAM,WAAW,aAAa;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,cAAc,CAAC,EAAE,qBAAqB,CAAC;IACvC,OAAO,CAAC,EAAE,mBAAmB,CAAC;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB;AAED,eAAO,MAAM,OAAO,EAAE,EAAE,CAAC,aAAa,CAoErC,CAAC"}
1
+ {"version":3,"file":"chatbot.d.ts","sourceRoot":"","sources":["../../../src/components/chatbot/chatbot.tsx"],"names":[],"mappings":"AAGA,OAAO,EAIH,mBAAmB,EACtB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAGH,qBAAqB,EACxB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,aAAa,EAAE,EAAE,EAAsB,MAAM,OAAO,CAAC;AAW9D,MAAM,WAAW,aAAa;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,cAAc,CAAC,EAAE,qBAAqB,CAAC;IACvC,OAAO,CAAC,EAAE,mBAAmB,CAAC;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB;AAED,eAAO,MAAM,OAAO,EAAE,EAAE,CAAC,aAAa,CA6ErC,CAAC"}
@@ -10,12 +10,13 @@ import { ChatbotToChatProviderAdapter } from './chatbot-to-chat-provider-adapter
10
10
  import * as Styles from './chatbot.module.less';
11
11
  import { ChatFilters } from './filters/chatbot-filters';
12
12
  import { ChatbotMessageAnswer } from './messages/chatbot-message-answer';
13
+ import { ChatbotMessageQuestion } from './messages/chatbot-message-question';
13
14
  import { ChatbotMessageTimeout } from './messages/chatbot-message-timeout';
14
15
  import { ChatbotMessageTyping } from './messages/chatbot-message-typing';
15
16
  import { ChatbotMessageWelcome } from './messages/chatbot-message-welcome';
16
17
  import { ChatbotMessageTemplateAgent } from './templates/chatbot-message-template-agent';
17
18
  export const Chatbot = observer(({ botIcon, botName, className, customizations, onReady, style }) => {
18
- var _a;
19
+ var _a, _b;
19
20
  const [chatUiStore, chatUiBackendStore] = useDependencies(CHATBOT_UI_STORE_TOKEN, CHATBOT_UI_BACKEND_STORE_TOKEN);
20
21
  useEffect(() => {
21
22
  const init = async () => {
@@ -49,6 +50,10 @@ export const Chatbot = observer(({ botIcon, botName, className, customizations,
49
50
  },
50
51
  messages: [
51
52
  ...((_d = customizations === null || customizations === void 0 ? void 0 : customizations.messages) !== null && _d !== void 0 ? _d : []),
53
+ {
54
+ predicate: (message) => !message.participant.isAgent && message.type === 'message',
55
+ component: ChatbotMessageQuestion,
56
+ },
52
57
  {
53
58
  predicate: (message) => message.type === 'welcome',
54
59
  component: ChatbotMessageWelcome,
@@ -66,6 +71,9 @@ export const Chatbot = observer(({ botIcon, botName, className, customizations,
66
71
  messageTemplates: templateCustomizations,
67
72
  };
68
73
  }, [customizations]);
69
- return (_jsx(ChatbotToChatProviderAdapter, { children: _jsxs(Flex, { direction: "column", className: className, style: style, children: [_jsx(Chat, { className: Styles.chat, customizations: customizationsMerged }), Boolean((_a = customizationsMerged.filters) === null || _a === void 0 ? void 0 : _a.enabled) && (_jsx(ChatFilters, { className: "p-inline-6 p-block-end-4" }))] }) }));
74
+ const isFilterEnabled = Boolean((_a = customizationsMerged.filters) === null || _a === void 0 ? void 0 : _a.enabled);
75
+ const isTopFilter = Boolean(isFilterEnabled && ((_b = customizationsMerged.filters) === null || _b === void 0 ? void 0 : _b.position) === 'top');
76
+ const isBottomFilter = isFilterEnabled && !isTopFilter;
77
+ return (_jsx(ChatbotToChatProviderAdapter, { children: _jsxs(Flex, { direction: "column", className: className, style: style, children: [isTopFilter && _jsx(ChatFilters, { className: "p-inline-6 p-block-4" }), _jsx(Chat, { className: Styles.chat, customizations: customizationsMerged }), isBottomFilter && _jsx(ChatFilters, { className: "p-inline-6 p-block-end-4" })] }) }));
70
78
  });
71
79
  //# sourceMappingURL=chatbot.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chatbot.js","sourceRoot":"","sources":["../../../src/components/chatbot/chatbot.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chatbot.js","sourceRoot":"","sources":["../../../src/components/chatbot/chatbot.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=chatbot-message-question.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chatbot-message-question.test.d.ts","sourceRoot":"","sources":["../../../../../src/components/chatbot/messages/__tests-cy__/chatbot-message-question.test.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { AnvilProvider } from '@servicetitan/anvil2';
3
+ import { runChatbotMessageQuestionSharedTests } from '@servicetitan/cypress-shared';
4
+ import { ChatbotMessageQuestion } from '../chatbot-message-question';
5
+ describe('[ChatbotMessageQuestion]', () => {
6
+ runChatbotMessageQuestionSharedTests(ChatbotMessageQuestion, component => (_jsx(AnvilProvider, { children: component })));
7
+ });
8
+ //# sourceMappingURL=chatbot-message-question.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chatbot-message-question.test.js","sourceRoot":"","sources":["../../../../../src/components/chatbot/messages/__tests-cy__/chatbot-message-question.test.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,oCAAoC,EAAE,MAAM,8BAA8B,CAAC;AACpF,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAErE,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;IACtC,oCAAoC,CAAC,sBAAsB,EAAE,SAAS,CAAC,EAAE,CAAC,CACtE,KAAC,aAAa,cAAE,SAAS,GAAiB,CAC7C,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { ChatMessageModelText } from '@servicetitan/titan-chat-ui-common';
2
+ import { FC } from 'react';
3
+ export declare const ChatbotMessageQuestion: FC<{
4
+ message: ChatMessageModelText;
5
+ }>;
6
+ //# sourceMappingURL=chatbot-message-question.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chatbot-message-question.d.ts","sourceRoot":"","sources":["../../../../src/components/chatbot/messages/chatbot-message-question.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAE1E,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAE3B,eAAO,MAAM,sBAAsB,EAAE,EAAE,CAAC;IAAE,OAAO,EAAE,oBAAoB,CAAA;CAAE,CAUxE,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { MessageContentText } from '@servicetitan/titan-chat-ui-anvil2';
3
+ import { observer } from 'mobx-react';
4
+ export const ChatbotMessageQuestion = observer(({ message }) => {
5
+ return (_jsx(MessageContentText, { message: message, className: "m-block-1", "data-cy": "titan-chatbot-message-question" }));
6
+ });
7
+ //# sourceMappingURL=chatbot-message-question.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chatbot-message-question.js","sourceRoot":"","sources":["../../../../src/components/chatbot/messages/chatbot-message-question.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAExE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGtC,MAAM,CAAC,MAAM,sBAAsB,GAA0C,QAAQ,CACjF,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;IACZ,OAAO,CACH,KAAC,kBAAkB,IACf,OAAO,EAAE,OAAO,EAChB,SAAS,EAAC,WAAW,aACb,gCAAgC,GAC1C,CACL,CAAC;AACN,CAAC,CACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@servicetitan/titan-chatbot-ui-anvil2",
3
- "version": "4.2.0",
3
+ "version": "4.3.1",
4
4
  "description": "Chatbot experience UI package (Anvil2 version)",
5
5
  "repository": {
6
6
  "type": "git",
@@ -17,9 +17,9 @@
17
17
  "push:local": "yalc push"
18
18
  },
19
19
  "dependencies": {
20
- "@servicetitan/titan-chat-ui-anvil2": "^4.2.0",
21
- "@servicetitan/titan-chat-ui-common": "^4.2.0",
22
- "@servicetitan/titan-chatbot-api": "^4.2.0",
20
+ "@servicetitan/titan-chat-ui-anvil2": "^4.3.1",
21
+ "@servicetitan/titan-chat-ui-common": "^4.3.1",
22
+ "@servicetitan/titan-chatbot-api": "^4.3.1",
23
23
  "nanoid": "^5.1.5"
24
24
  },
25
25
  "peerDependencies": {
@@ -36,7 +36,7 @@
36
36
  "react-dom": ">=18"
37
37
  },
38
38
  "devDependencies": {
39
- "@servicetitan/cypress-shared": "^4.2.0",
39
+ "@servicetitan/cypress-shared": "^4.3.1",
40
40
  "cypress": "^15.2.0"
41
41
  },
42
42
  "keywords": [
@@ -49,5 +49,5 @@
49
49
  "cli": {
50
50
  "webpack": false
51
51
  },
52
- "gitHead": "165f0a686b7a040223f6a0928b10d1d8cf6033e6"
52
+ "gitHead": "7cce005ccee14dcf26a03e9643bcf582a13031ed"
53
53
  }
@@ -18,6 +18,7 @@ import { ChatbotToChatProviderAdapter } from './chatbot-to-chat-provider-adapter
18
18
  import * as Styles from './chatbot.module.less';
19
19
  import { ChatFilters } from './filters/chatbot-filters';
20
20
  import { ChatbotMessageAnswer } from './messages/chatbot-message-answer';
21
+ import { ChatbotMessageQuestion } from './messages/chatbot-message-question';
21
22
  import { ChatbotMessageTimeout } from './messages/chatbot-message-timeout';
22
23
  import { ChatbotMessageTyping } from './messages/chatbot-message-typing';
23
24
  import { ChatbotMessageWelcome } from './messages/chatbot-message-welcome';
@@ -70,6 +71,11 @@ export const Chatbot: FC<IChatbotProps> = observer(
70
71
  },
71
72
  messages: [
72
73
  ...(customizations?.messages ?? []),
74
+ {
75
+ predicate: (message: ChatMessageModelText) =>
76
+ !message.participant.isAgent && message.type === 'message',
77
+ component: ChatbotMessageQuestion,
78
+ },
73
79
  {
74
80
  predicate: (message: ChatMessageModelWelcome) => message.type === 'welcome',
75
81
  component: ChatbotMessageWelcome,
@@ -89,13 +95,17 @@ export const Chatbot: FC<IChatbotProps> = observer(
89
95
  };
90
96
  }, [customizations]);
91
97
 
98
+ const isFilterEnabled = Boolean(customizationsMerged.filters?.enabled);
99
+ const isTopFilter = Boolean(
100
+ isFilterEnabled && customizationsMerged.filters?.position === 'top'
101
+ );
102
+ const isBottomFilter = isFilterEnabled && !isTopFilter;
92
103
  return (
93
104
  <ChatbotToChatProviderAdapter>
94
105
  <Flex direction="column" className={className} style={style}>
106
+ {isTopFilter && <ChatFilters className="p-inline-6 p-block-4" />}
95
107
  <Chat className={Styles.chat} customizations={customizationsMerged} />
96
- {Boolean(customizationsMerged.filters?.enabled) && (
97
- <ChatFilters className="p-inline-6 p-block-end-4" />
98
- )}
108
+ {isBottomFilter && <ChatFilters className="p-inline-6 p-block-end-4" />}
99
109
  </Flex>
100
110
  </ChatbotToChatProviderAdapter>
101
111
  );
@@ -0,0 +1,9 @@
1
+ import { AnvilProvider } from '@servicetitan/anvil2';
2
+ import { runChatbotMessageQuestionSharedTests } from '@servicetitan/cypress-shared';
3
+ import { ChatbotMessageQuestion } from '../chatbot-message-question';
4
+
5
+ describe('[ChatbotMessageQuestion]', () => {
6
+ runChatbotMessageQuestionSharedTests(ChatbotMessageQuestion, component => (
7
+ <AnvilProvider>{component}</AnvilProvider>
8
+ ));
9
+ });
@@ -0,0 +1,16 @@
1
+ import { MessageContentText } from '@servicetitan/titan-chat-ui-anvil2';
2
+ import { ChatMessageModelText } from '@servicetitan/titan-chat-ui-common';
3
+ import { observer } from 'mobx-react';
4
+ import { FC } from 'react';
5
+
6
+ export const ChatbotMessageQuestion: FC<{ message: ChatMessageModelText }> = observer(
7
+ ({ message }) => {
8
+ return (
9
+ <MessageContentText
10
+ message={message}
11
+ className="m-block-1"
12
+ data-cy="titan-chatbot-message-question"
13
+ />
14
+ );
15
+ }
16
+ );