@servicetitan/titan-chatbot-ui 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.0.1 (Fri Sep 19 2025)
2
26
 
3
27
  #### 🐛 Bug Fix
@@ -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;AAS9D,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;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,CA6ErC,CAAC"}
@@ -9,12 +9,13 @@ import { useEffect, useMemo } from 'react';
9
9
  import { ChatbotToChatProviderAdapter } from './chatbot-to-chat-provider-adapter';
10
10
  import { ChatFilters } from './filters/chatbot-filters';
11
11
  import { ChatbotMessageAnswer } from './messages/chatbot-message-answer';
12
+ import { ChatbotMessageQuestion } from './messages/chatbot-message-question';
12
13
  import { ChatbotMessageTimeout } from './messages/chatbot-message-timeout';
13
14
  import { ChatbotMessageTyping } from './messages/chatbot-message-typing';
14
15
  import { ChatbotMessageWelcome } from './messages/chatbot-message-welcome';
15
16
  import { ChatbotMessageTemplateAgent } from './templates/chatbot-message-template-agent';
16
17
  export const Chatbot = observer(({ botIcon, botName, className, customizations, onReady, style }) => {
17
- var _a;
18
+ var _a, _b;
18
19
  const [chatUiStore, chatUiBackendStore] = useDependencies(CHATBOT_UI_STORE_TOKEN, CHATBOT_UI_BACKEND_STORE_TOKEN);
19
20
  useEffect(() => {
20
21
  const init = async () => {
@@ -48,6 +49,10 @@ export const Chatbot = observer(({ botIcon, botName, className, customizations,
48
49
  },
49
50
  messages: [
50
51
  ...((_d = customizations === null || customizations === void 0 ? void 0 : customizations.messages) !== null && _d !== void 0 ? _d : []),
52
+ {
53
+ predicate: (message) => !message.participant.isAgent && message.type === 'message',
54
+ component: ChatbotMessageQuestion,
55
+ },
51
56
  {
52
57
  predicate: (message) => message.type === 'welcome',
53
58
  component: ChatbotMessageWelcome,
@@ -65,6 +70,9 @@ export const Chatbot = observer(({ botIcon, botName, className, customizations,
65
70
  messageTemplates: templateCustomizations,
66
71
  };
67
72
  }, [customizations]);
68
- return (_jsx(ChatbotToChatProviderAdapter, { children: _jsxs(Stack, { direction: "column", className: className, style: style, children: [_jsx(Chat, { className: "flex-grow-1 h-0", customizations: customizationsMerged }), Boolean((_a = customizationsMerged.filters) === null || _a === void 0 ? void 0 : _a.enabled) && (_jsx(ChatFilters, { className: "p-x-3 p-b-2" }))] }) }));
73
+ const isFilterEnabled = Boolean((_a = customizationsMerged.filters) === null || _a === void 0 ? void 0 : _a.enabled);
74
+ const isTopFilter = Boolean(isFilterEnabled && ((_b = customizationsMerged.filters) === null || _b === void 0 ? void 0 : _b.position) === 'top');
75
+ const isBottomFilter = isFilterEnabled && !isTopFilter;
76
+ return (_jsx(ChatbotToChatProviderAdapter, { children: _jsxs(Stack, { direction: "column", className: className, style: style, children: [isTopFilter && _jsx(ChatFilters, { className: "p-x-3 p-y-2" }), _jsx(Chat, { className: "flex-grow-1 h-0", customizations: customizationsMerged }), isBottomFilter && _jsx(ChatFilters, { className: "p-x-3 p-b-2" })] }) }));
69
77
  });
70
78
  //# 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,6 @@
1
+ import { runChatbotMessageQuestionSharedTests } from '@servicetitan/cypress-shared';
2
+ import { ChatbotMessageQuestion } from '../chatbot-message-question';
3
+ describe('[ChatbotMessageQuestion]', () => {
4
+ runChatbotMessageQuestionSharedTests(ChatbotMessageQuestion);
5
+ });
6
+ //# 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,oCAAoC,EAAE,MAAM,8BAA8B,CAAC;AACpF,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAErE,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;IACtC,oCAAoC,CAAC,sBAAsB,CAAC,CAAC;AACjE,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';
3
+ import { observer } from 'mobx-react';
4
+ export const ChatbotMessageQuestion = observer(({ message }) => {
5
+ return (_jsx(MessageContentText, { message: message, className: "m-y-half-i", "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,6BAA6B,CAAC;AAEjE,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,YAAY,aACd,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",
3
- "version": "4.2.0",
3
+ "version": "4.3.1",
4
4
  "description": "Chatbot experience UI package",
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": "^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": "^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": {
@@ -40,7 +40,7 @@
40
40
  "react-dom": ">=18"
41
41
  },
42
42
  "devDependencies": {
43
- "@servicetitan/cypress-shared": "^4.2.0",
43
+ "@servicetitan/cypress-shared": "^4.3.1",
44
44
  "cypress": "^15.2.0"
45
45
  },
46
46
  "keywords": [
@@ -53,5 +53,5 @@
53
53
  "cli": {
54
54
  "webpack": false
55
55
  },
56
- "gitHead": "165f0a686b7a040223f6a0928b10d1d8cf6033e6"
56
+ "gitHead": "7cce005ccee14dcf26a03e9643bcf582a13031ed"
57
57
  }
@@ -17,6 +17,7 @@ import { CSSProperties, FC, useEffect, useMemo } from 'react';
17
17
  import { ChatbotToChatProviderAdapter } from './chatbot-to-chat-provider-adapter';
18
18
  import { ChatFilters } from './filters/chatbot-filters';
19
19
  import { ChatbotMessageAnswer } from './messages/chatbot-message-answer';
20
+ import { ChatbotMessageQuestion } from './messages/chatbot-message-question';
20
21
  import { ChatbotMessageTimeout } from './messages/chatbot-message-timeout';
21
22
  import { ChatbotMessageTyping } from './messages/chatbot-message-typing';
22
23
  import { ChatbotMessageWelcome } from './messages/chatbot-message-welcome';
@@ -69,6 +70,11 @@ export const Chatbot: FC<IChatbotProps> = observer(
69
70
  },
70
71
  messages: [
71
72
  ...(customizations?.messages ?? []),
73
+ {
74
+ predicate: (message: ChatMessageModelText) =>
75
+ !message.participant.isAgent && message.type === 'message',
76
+ component: ChatbotMessageQuestion,
77
+ },
72
78
  {
73
79
  predicate: (message: ChatMessageModelWelcome) => message.type === 'welcome',
74
80
  component: ChatbotMessageWelcome,
@@ -88,13 +94,17 @@ export const Chatbot: FC<IChatbotProps> = observer(
88
94
  };
89
95
  }, [customizations]);
90
96
 
97
+ const isFilterEnabled = Boolean(customizationsMerged.filters?.enabled);
98
+ const isTopFilter = Boolean(
99
+ isFilterEnabled && customizationsMerged.filters?.position === 'top'
100
+ );
101
+ const isBottomFilter = isFilterEnabled && !isTopFilter;
91
102
  return (
92
103
  <ChatbotToChatProviderAdapter>
93
104
  <Stack direction="column" className={className} style={style}>
105
+ {isTopFilter && <ChatFilters className="p-x-3 p-y-2" />}
94
106
  <Chat className="flex-grow-1 h-0" customizations={customizationsMerged} />
95
- {Boolean(customizationsMerged.filters?.enabled) && (
96
- <ChatFilters className="p-x-3 p-b-2" />
97
- )}
107
+ {isBottomFilter && <ChatFilters className="p-x-3 p-b-2" />}
98
108
  </Stack>
99
109
  </ChatbotToChatProviderAdapter>
100
110
  );
@@ -0,0 +1,6 @@
1
+ import { runChatbotMessageQuestionSharedTests } from '@servicetitan/cypress-shared';
2
+ import { ChatbotMessageQuestion } from '../chatbot-message-question';
3
+
4
+ describe('[ChatbotMessageQuestion]', () => {
5
+ runChatbotMessageQuestionSharedTests(ChatbotMessageQuestion);
6
+ });
@@ -0,0 +1,16 @@
1
+ import { MessageContentText } from '@servicetitan/titan-chat-ui';
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-y-half-i"
12
+ data-cy="titan-chatbot-message-question"
13
+ />
14
+ );
15
+ }
16
+ );