@servicetitan/titan-chatbot-ui-anvil2 7.1.2 → 8.0.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 +13 -0
- package/dist/components/chatbot/__tests-cy__/chatbot-help-center.test.js +5 -2
- package/dist/components/chatbot/__tests-cy__/chatbot-help-center.test.js.map +1 -1
- package/dist/components/chatbot/__tests-cy__/chatbot-live.test.js +5 -2
- package/dist/components/chatbot/__tests-cy__/chatbot-live.test.js.map +1 -1
- package/dist/components/chatbot/__tests-cy__/chatbot-titan-chatbot.test.js +5 -2
- package/dist/components/chatbot/__tests-cy__/chatbot-titan-chatbot.test.js.map +1 -1
- package/dist/components/chatbot/__tests-cy__/chatbot.test.js +5 -2
- package/dist/components/chatbot/__tests-cy__/chatbot.test.js.map +1 -1
- package/dist/components/chatbot/chatbot-to-chat-provider-adapter.js +12 -9
- package/dist/components/chatbot/chatbot-to-chat-provider-adapter.js.map +1 -1
- package/dist/components/chatbot/chatbot.js +54 -33
- package/dist/components/chatbot/chatbot.js.map +1 -1
- package/dist/components/chatbot/chatbot.module.less.d.ts +3 -0
- package/dist/components/chatbot/dialog/__tests-cy__/chatbot-restart-dialog.test.js +5 -2
- package/dist/components/chatbot/dialog/__tests-cy__/chatbot-restart-dialog.test.js.map +1 -1
- package/dist/components/chatbot/dialog/__tests-cy__/chatbot-restart-link.test.js +5 -2
- package/dist/components/chatbot/dialog/__tests-cy__/chatbot-restart-link.test.js.map +1 -1
- package/dist/components/chatbot/dialog/chatbot-restart-dialog.js +42 -6
- package/dist/components/chatbot/dialog/chatbot-restart-dialog.js.map +1 -1
- package/dist/components/chatbot/dialog/chatbot-restart-link.js +20 -4
- package/dist/components/chatbot/dialog/chatbot-restart-link.js.map +1 -1
- package/dist/components/chatbot/feedback/__tests-cy__/chatbot-message-feedback-form-guardrail.test.js +5 -2
- package/dist/components/chatbot/feedback/__tests-cy__/chatbot-message-feedback-form-guardrail.test.js.map +1 -1
- package/dist/components/chatbot/feedback/__tests-cy__/chatbot-message-feedback-form.test.js +5 -2
- package/dist/components/chatbot/feedback/__tests-cy__/chatbot-message-feedback-form.test.js.map +1 -1
- package/dist/components/chatbot/feedback/__tests-cy__/chatbot-message-feedback-popover.test.js +5 -2
- package/dist/components/chatbot/feedback/__tests-cy__/chatbot-message-feedback-popover.test.js.map +1 -1
- package/dist/components/chatbot/feedback/__tests-cy__/chatbot-session-feedback-modal.test.js +5 -2
- package/dist/components/chatbot/feedback/__tests-cy__/chatbot-session-feedback-modal.test.js.map +1 -1
- package/dist/components/chatbot/feedback/chatbot-message-feedback-form-guardrail.js +42 -6
- package/dist/components/chatbot/feedback/chatbot-message-feedback-form-guardrail.js.map +1 -1
- package/dist/components/chatbot/feedback/chatbot-message-feedback-form.js +67 -5
- package/dist/components/chatbot/feedback/chatbot-message-feedback-form.js.map +1 -1
- package/dist/components/chatbot/feedback/chatbot-message-feedback-form.module.less +2 -4
- package/dist/components/chatbot/feedback/chatbot-message-feedback-form.module.less.d.ts +4 -0
- package/dist/components/chatbot/feedback/chatbot-message-feedback-popover.js +168 -22
- package/dist/components/chatbot/feedback/chatbot-message-feedback-popover.js.map +1 -1
- package/dist/components/chatbot/feedback/chatbot-message-feedback-popover.module.less +0 -2
- package/dist/components/chatbot/feedback/chatbot-message-feedback-popover.module.less.d.ts +6 -0
- package/dist/components/chatbot/feedback/chatbot-message-feedback.js +8 -4
- package/dist/components/chatbot/feedback/chatbot-message-feedback.js.map +1 -1
- package/dist/components/chatbot/feedback/chatbot-session-feedback-link.js +17 -4
- package/dist/components/chatbot/feedback/chatbot-session-feedback-link.js.map +1 -1
- package/dist/components/chatbot/feedback/chatbot-session-feedback-modal.js +99 -11
- package/dist/components/chatbot/feedback/chatbot-session-feedback-modal.js.map +1 -1
- package/dist/components/chatbot/filters/__tests-cy__/chatbot-filters.test.js +5 -2
- package/dist/components/chatbot/filters/__tests-cy__/chatbot-filters.test.js.map +1 -1
- package/dist/components/chatbot/filters/chatbot-filter-button.js +15 -9
- package/dist/components/chatbot/filters/chatbot-filter-button.js.map +1 -1
- package/dist/components/chatbot/filters/chatbot-filter.js +127 -33
- package/dist/components/chatbot/filters/chatbot-filter.js.map +1 -1
- package/dist/components/chatbot/filters/chatbot-filter.module.css +10 -13
- package/dist/components/chatbot/filters/chatbot-filter.module.css.d.ts +6 -0
- package/dist/components/chatbot/filters/chatbot-filters.js +11 -2
- package/dist/components/chatbot/filters/chatbot-filters.js.map +1 -1
- package/dist/components/chatbot/filters/chatbot-filters.module.less +1 -1
- package/dist/components/chatbot/filters/chatbot-filters.module.less.d.ts +3 -0
- package/dist/components/chatbot/messages/__tests-cy__/chatbot-links.test.js +5 -2
- package/dist/components/chatbot/messages/__tests-cy__/chatbot-links.test.js.map +1 -1
- package/dist/components/chatbot/messages/__tests-cy__/chatbot-message-answer-readonly.test.js +5 -2
- package/dist/components/chatbot/messages/__tests-cy__/chatbot-message-answer-readonly.test.js.map +1 -1
- package/dist/components/chatbot/messages/__tests-cy__/chatbot-message-answer.test.js +5 -2
- package/dist/components/chatbot/messages/__tests-cy__/chatbot-message-answer.test.js.map +1 -1
- package/dist/components/chatbot/messages/__tests-cy__/chatbot-message-question.test.js +5 -2
- package/dist/components/chatbot/messages/__tests-cy__/chatbot-message-question.test.js.map +1 -1
- package/dist/components/chatbot/messages/__tests-cy__/chatbot-message-typing.test.js +5 -2
- package/dist/components/chatbot/messages/__tests-cy__/chatbot-message-typing.test.js.map +1 -1
- package/dist/components/chatbot/messages/chatbot-links.js +46 -8
- package/dist/components/chatbot/messages/chatbot-links.js.map +1 -1
- package/dist/components/chatbot/messages/chatbot-links.module.less +5 -7
- package/dist/components/chatbot/messages/chatbot-links.module.less.d.ts +5 -0
- package/dist/components/chatbot/messages/chatbot-message-agent-footer.js +27 -6
- package/dist/components/chatbot/messages/chatbot-message-agent-footer.js.map +1 -1
- package/dist/components/chatbot/messages/chatbot-message-answer-readonly.js +24 -8
- package/dist/components/chatbot/messages/chatbot-message-answer-readonly.js.map +1 -1
- package/dist/components/chatbot/messages/chatbot-message-answer.js +34 -13
- package/dist/components/chatbot/messages/chatbot-message-answer.js.map +1 -1
- package/dist/components/chatbot/messages/chatbot-message-answer.module.less.d.ts +3 -0
- package/dist/components/chatbot/messages/chatbot-message-question.js +8 -2
- package/dist/components/chatbot/messages/chatbot-message-question.js.map +1 -1
- package/dist/components/chatbot/messages/chatbot-message-timeout.js +14 -6
- package/dist/components/chatbot/messages/chatbot-message-timeout.js.map +1 -1
- package/dist/components/chatbot/messages/chatbot-message-typing.js +30 -14
- package/dist/components/chatbot/messages/chatbot-message-typing.js.map +1 -1
- package/dist/components/chatbot/messages/chatbot-message-welcome.js +22 -2
- package/dist/components/chatbot/messages/chatbot-message-welcome.js.map +1 -1
- package/dist/components/chatbot/templates/chatbot-message-template-agent-readonly.js +14 -4
- package/dist/components/chatbot/templates/chatbot-message-template-agent-readonly.js.map +1 -1
- package/dist/components/chatbot/templates/chatbot-message-template-agent.js +10 -3
- package/dist/components/chatbot/templates/chatbot-message-template-agent.js.map +1 -1
- package/dist/components/chatbot/templates/chatbot-message-template-user-readonly.js +8 -2
- package/dist/components/chatbot/templates/chatbot-message-template-user-readonly.js.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/package.json +8 -8
- package/src/components/chatbot/feedback/chatbot-message-feedback-form.module.less +2 -4
- package/src/components/chatbot/feedback/chatbot-message-feedback-popover.module.less +0 -2
- package/src/components/chatbot/filters/chatbot-filter.module.css +10 -13
- package/src/components/chatbot/filters/chatbot-filters.module.less +1 -1
- package/src/components/chatbot/messages/chatbot-links.module.less +5 -7
- package/tsconfig.tsbuildinfo +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,16 @@
|
|
|
1
|
+
# v8.0.0 (Wed Jun 03 2026)
|
|
2
|
+
|
|
3
|
+
#### 💥 Breaking Change
|
|
4
|
+
|
|
5
|
+
- SPA-8584: Upgrade Platform Packages in Titan Chatbot UI [#90](https://github.com/servicetitan/titan-chatbot-client/pull/90) ([@AlexYarmolchuk](https://github.com/AlexYarmolchuk) [@Copilot](https://github.com/Copilot))
|
|
6
|
+
|
|
7
|
+
#### Authors: 2
|
|
8
|
+
|
|
9
|
+
- [@Copilot](https://github.com/Copilot)
|
|
10
|
+
- Alexandr Yarmolchuk ([@AlexYarmolchuk](https://github.com/AlexYarmolchuk))
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
1
14
|
# v7.0.0 (Wed May 20 2026)
|
|
2
15
|
|
|
3
16
|
#### 💥 Breaking Change
|
|
@@ -2,7 +2,10 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
2
2
|
import { AnvilProvider } from '@servicetitan/anvil2';
|
|
3
3
|
import { runChatbotHelpCenterSharedTests } from '@servicetitan/cypress-shared';
|
|
4
4
|
import { Chatbot } from '../chatbot';
|
|
5
|
-
describe('[Chatbot with Help Center API]', ()
|
|
6
|
-
runChatbotHelpCenterSharedTests(Chatbot, component
|
|
5
|
+
describe('[Chatbot with Help Center API]', ()=>{
|
|
6
|
+
runChatbotHelpCenterSharedTests(Chatbot, (component)=>/*#__PURE__*/ _jsx(AnvilProvider, {
|
|
7
|
+
children: component
|
|
8
|
+
}));
|
|
7
9
|
});
|
|
10
|
+
|
|
8
11
|
//# sourceMappingURL=chatbot-help-center.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/chatbot/__tests-cy__/chatbot-help-center.test.tsx"],"sourcesContent":["import { AnvilProvider } from '@servicetitan/anvil2';\nimport { runChatbotHelpCenterSharedTests } from '@servicetitan/cypress-shared';\nimport { Chatbot } from '../chatbot';\n\ndescribe('[Chatbot with Help Center API]', () => {\n runChatbotHelpCenterSharedTests(Chatbot, component => (\n <AnvilProvider>{component}</AnvilProvider>\n ));\n});\n"],"names":["AnvilProvider","runChatbotHelpCenterSharedTests","Chatbot","describe","component"],"mappings":";AAAA,SAASA,aAAa,QAAQ,uBAAuB;AACrD,SAASC,+BAA+B,QAAQ,+BAA+B;AAC/E,SAASC,OAAO,QAAQ,aAAa;AAErCC,SAAS,kCAAkC;IACvCF,gCAAgCC,SAASE,CAAAA,0BACrC,KAACJ;sBAAeI;;AAExB"}
|
|
@@ -2,7 +2,10 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
2
2
|
import { AnvilProvider } from '@servicetitan/anvil2';
|
|
3
3
|
import { runChatbotLiveSharedTests } from '@servicetitan/cypress-shared';
|
|
4
4
|
import { Chatbot } from '../chatbot';
|
|
5
|
-
describe('[Chatbot]', ()
|
|
6
|
-
runChatbotLiveSharedTests(Chatbot, component
|
|
5
|
+
describe('[Chatbot]', ()=>{
|
|
6
|
+
runChatbotLiveSharedTests(Chatbot, (component)=>/*#__PURE__*/ _jsx(AnvilProvider, {
|
|
7
|
+
children: component
|
|
8
|
+
}));
|
|
7
9
|
});
|
|
10
|
+
|
|
8
11
|
//# sourceMappingURL=chatbot-live.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/chatbot/__tests-cy__/chatbot-live.test.tsx"],"sourcesContent":["import { AnvilProvider } from '@servicetitan/anvil2';\nimport { runChatbotLiveSharedTests } from '@servicetitan/cypress-shared';\nimport { Chatbot } from '../chatbot';\n\ndescribe('[Chatbot]', () => {\n runChatbotLiveSharedTests(Chatbot, component => <AnvilProvider>{component}</AnvilProvider>);\n});\n"],"names":["AnvilProvider","runChatbotLiveSharedTests","Chatbot","describe","component"],"mappings":";AAAA,SAASA,aAAa,QAAQ,uBAAuB;AACrD,SAASC,yBAAyB,QAAQ,+BAA+B;AACzE,SAASC,OAAO,QAAQ,aAAa;AAErCC,SAAS,aAAa;IAClBF,0BAA0BC,SAASE,CAAAA,0BAAa,KAACJ;sBAAeI;;AACpE"}
|
|
@@ -2,7 +2,10 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
2
2
|
import { AnvilProvider } from '@servicetitan/anvil2';
|
|
3
3
|
import { runChatbotTitanChatbotSharedTests } from '@servicetitan/cypress-shared';
|
|
4
4
|
import { Chatbot } from '../chatbot';
|
|
5
|
-
describe('[Chatbot with Titan Chat API]', ()
|
|
6
|
-
runChatbotTitanChatbotSharedTests(Chatbot, component
|
|
5
|
+
describe('[Chatbot with Titan Chat API]', ()=>{
|
|
6
|
+
runChatbotTitanChatbotSharedTests(Chatbot, (component)=>/*#__PURE__*/ _jsx(AnvilProvider, {
|
|
7
|
+
children: component
|
|
8
|
+
}));
|
|
7
9
|
});
|
|
10
|
+
|
|
8
11
|
//# sourceMappingURL=chatbot-titan-chatbot.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/chatbot/__tests-cy__/chatbot-titan-chatbot.test.tsx"],"sourcesContent":["import { AnvilProvider } from '@servicetitan/anvil2';\nimport { runChatbotTitanChatbotSharedTests } from '@servicetitan/cypress-shared';\nimport { Chatbot } from '../chatbot';\n\ndescribe('[Chatbot with Titan Chat API]', () => {\n runChatbotTitanChatbotSharedTests(Chatbot, component => (\n <AnvilProvider>{component}</AnvilProvider>\n ));\n});\n"],"names":["AnvilProvider","runChatbotTitanChatbotSharedTests","Chatbot","describe","component"],"mappings":";AAAA,SAASA,aAAa,QAAQ,uBAAuB;AACrD,SAASC,iCAAiC,QAAQ,+BAA+B;AACjF,SAASC,OAAO,QAAQ,aAAa;AAErCC,SAAS,iCAAiC;IACtCF,kCAAkCC,SAASE,CAAAA,0BACvC,KAACJ;sBAAeI;;AAExB"}
|
|
@@ -2,7 +2,10 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
2
2
|
import { AnvilProvider } from '@servicetitan/anvil2';
|
|
3
3
|
import { runChatbotSharedTests } from '@servicetitan/cypress-shared';
|
|
4
4
|
import { Chatbot } from '../chatbot';
|
|
5
|
-
describe('[Chatbot]', ()
|
|
6
|
-
runChatbotSharedTests(Chatbot, component
|
|
5
|
+
describe('[Chatbot]', ()=>{
|
|
6
|
+
runChatbotSharedTests(Chatbot, (component)=>/*#__PURE__*/ _jsx(AnvilProvider, {
|
|
7
|
+
children: component
|
|
8
|
+
}));
|
|
7
9
|
});
|
|
10
|
+
|
|
8
11
|
//# sourceMappingURL=chatbot.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/chatbot/__tests-cy__/chatbot.test.tsx"],"sourcesContent":["import { AnvilProvider } from '@servicetitan/anvil2';\nimport { runChatbotSharedTests } from '@servicetitan/cypress-shared';\nimport { Chatbot } from '../chatbot';\n\ndescribe('[Chatbot]', () => {\n runChatbotSharedTests(Chatbot, component => <AnvilProvider>{component}</AnvilProvider>);\n});\n"],"names":["AnvilProvider","runChatbotSharedTests","Chatbot","describe","component"],"mappings":";AAAA,SAASA,aAAa,QAAQ,uBAAuB;AACrD,SAASC,qBAAqB,QAAQ,+BAA+B;AACrE,SAASC,OAAO,QAAQ,aAAa;AAErCC,SAAS,aAAa;IAClBF,sBAAsBC,SAASE,CAAAA,0BAAa,KAACJ;sBAAeI;;AAChE"}
|
|
@@ -1,21 +1,24 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { Provider, useDependencies } from '@servicetitan/react-ioc';
|
|
3
|
-
import { CHAT_UI_BACKEND_STORE_TOKEN, CHAT_UI_STORE_TOKEN
|
|
4
|
-
import { CHATBOT_UI_BACKEND_STORE_TOKEN, CHATBOT_UI_STORE_TOKEN
|
|
3
|
+
import { CHAT_UI_BACKEND_STORE_TOKEN, CHAT_UI_STORE_TOKEN } from '@servicetitan/titan-chat-ui-common';
|
|
4
|
+
import { CHATBOT_UI_BACKEND_STORE_TOKEN, CHATBOT_UI_STORE_TOKEN } from '@servicetitan/titan-chatbot-api';
|
|
5
5
|
/**
|
|
6
6
|
* Passes the Chatbot UI store and backend store to the Chat UI providers.
|
|
7
|
-
*/
|
|
8
|
-
export const ChatbotToChatProviderAdapter = ({ children }) => {
|
|
7
|
+
*/ export const ChatbotToChatProviderAdapter = ({ children })=>{
|
|
9
8
|
const [chatbotUiStore, chatbotUiBackendStore] = useDependencies(CHATBOT_UI_STORE_TOKEN, CHATBOT_UI_BACKEND_STORE_TOKEN);
|
|
10
|
-
return
|
|
9
|
+
return /*#__PURE__*/ _jsx(Provider, {
|
|
10
|
+
singletons: [
|
|
11
11
|
{
|
|
12
12
|
provide: CHAT_UI_STORE_TOKEN,
|
|
13
|
-
useValue: chatbotUiStore
|
|
13
|
+
useValue: chatbotUiStore
|
|
14
14
|
},
|
|
15
15
|
{
|
|
16
16
|
provide: CHAT_UI_BACKEND_STORE_TOKEN,
|
|
17
|
-
useValue: chatbotUiBackendStore
|
|
18
|
-
}
|
|
19
|
-
],
|
|
17
|
+
useValue: chatbotUiBackendStore
|
|
18
|
+
}
|
|
19
|
+
],
|
|
20
|
+
children: children
|
|
21
|
+
});
|
|
20
22
|
};
|
|
23
|
+
|
|
21
24
|
//# sourceMappingURL=chatbot-to-chat-provider-adapter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../../src/components/chatbot/chatbot-to-chat-provider-adapter.tsx"],"sourcesContent":["import { Provider, useDependencies } from '@servicetitan/react-ioc';\nimport {\n CHAT_UI_BACKEND_STORE_TOKEN,\n CHAT_UI_STORE_TOKEN,\n} from '@servicetitan/titan-chat-ui-common';\nimport {\n CHATBOT_UI_BACKEND_STORE_TOKEN,\n CHATBOT_UI_STORE_TOKEN,\n} from '@servicetitan/titan-chatbot-api';\nimport { FC, PropsWithChildren } from 'react';\n\n/**\n * Passes the Chatbot UI store and backend store to the Chat UI providers.\n */\nexport const ChatbotToChatProviderAdapter: FC<PropsWithChildren> = ({ children }) => {\n const [chatbotUiStore, chatbotUiBackendStore] = useDependencies(\n CHATBOT_UI_STORE_TOKEN,\n CHATBOT_UI_BACKEND_STORE_TOKEN\n );\n return (\n <Provider\n singletons={[\n {\n provide: CHAT_UI_STORE_TOKEN,\n useValue: chatbotUiStore,\n },\n {\n provide: CHAT_UI_BACKEND_STORE_TOKEN,\n useValue: chatbotUiBackendStore,\n },\n ]}\n >\n {children}\n </Provider>\n );\n};\n"],"names":["Provider","useDependencies","CHAT_UI_BACKEND_STORE_TOKEN","CHAT_UI_STORE_TOKEN","CHATBOT_UI_BACKEND_STORE_TOKEN","CHATBOT_UI_STORE_TOKEN","ChatbotToChatProviderAdapter","children","chatbotUiStore","chatbotUiBackendStore","singletons","provide","useValue"],"mappings":";AAAA,SAASA,QAAQ,EAAEC,eAAe,QAAQ,0BAA0B;AACpE,SACIC,2BAA2B,EAC3BC,mBAAmB,QAChB,qCAAqC;AAC5C,SACIC,8BAA8B,EAC9BC,sBAAsB,QACnB,kCAAkC;AAGzC;;CAEC,GACD,OAAO,MAAMC,+BAAsD,CAAC,EAAEC,QAAQ,EAAE;IAC5E,MAAM,CAACC,gBAAgBC,sBAAsB,GAAGR,gBAC5CI,wBACAD;IAEJ,qBACI,KAACJ;QACGU,YAAY;YACR;gBACIC,SAASR;gBACTS,UAAUJ;YACd;YACA;gBACIG,SAAST;gBACTU,UAAUH;YACd;SACH;kBAEAF;;AAGb,EAAE"}
|
|
@@ -2,8 +2,8 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
2
2
|
import { Flex } from '@servicetitan/anvil2';
|
|
3
3
|
import { useDependencies } from '@servicetitan/react-ioc';
|
|
4
4
|
import { Chat } from '@servicetitan/titan-chat-ui-anvil2';
|
|
5
|
-
import { ChatParticipantIcon
|
|
6
|
-
import { CHATBOT_UI_BACKEND_STORE_TOKEN, CHATBOT_UI_STORE_TOKEN
|
|
5
|
+
import { ChatParticipantIcon } from '@servicetitan/titan-chat-ui-common';
|
|
6
|
+
import { CHATBOT_UI_BACKEND_STORE_TOKEN, CHATBOT_UI_STORE_TOKEN } from '@servicetitan/titan-chatbot-api';
|
|
7
7
|
import { observer } from 'mobx-react';
|
|
8
8
|
import { useEffect, useMemo } from 'react';
|
|
9
9
|
import { ChatbotToChatProviderAdapter } from './chatbot-to-chat-provider-adapter';
|
|
@@ -15,28 +15,28 @@ import { ChatbotMessageTimeout } from './messages/chatbot-message-timeout';
|
|
|
15
15
|
import { ChatbotMessageTyping } from './messages/chatbot-message-typing';
|
|
16
16
|
import { ChatbotMessageWelcome } from './messages/chatbot-message-welcome';
|
|
17
17
|
import { ChatbotMessageTemplateAgent } from './templates/chatbot-message-template-agent';
|
|
18
|
-
export const Chatbot = observer(({ botIcon, botName, className, customizations, onReady, style })
|
|
19
|
-
var
|
|
18
|
+
export const Chatbot = observer(({ botIcon, botName, className, customizations, onReady, style })=>{
|
|
19
|
+
var _customizationsMerged_filters, _customizationsMerged_filters1;
|
|
20
20
|
const [chatUiStore, chatUiBackendStore] = useDependencies(CHATBOT_UI_STORE_TOKEN, CHATBOT_UI_BACKEND_STORE_TOKEN);
|
|
21
|
-
useEffect(()
|
|
22
|
-
const init = async ()
|
|
21
|
+
useEffect(()=>{
|
|
22
|
+
const init = async ()=>{
|
|
23
23
|
chatUiBackendStore.subscribe();
|
|
24
24
|
await chatUiStore.run({
|
|
25
25
|
agentName: botName !== null && botName !== void 0 ? botName : 'Titan',
|
|
26
|
-
agentIcon: botIcon !== null && botIcon !== void 0 ? botIcon : ChatParticipantIcon.Bot
|
|
26
|
+
agentIcon: botIcon !== null && botIcon !== void 0 ? botIcon : ChatParticipantIcon.Bot
|
|
27
27
|
});
|
|
28
28
|
onReady === null || onReady === void 0 ? void 0 : onReady();
|
|
29
29
|
};
|
|
30
|
-
init().then(()
|
|
31
|
-
return ()
|
|
32
|
-
|
|
30
|
+
init().then(()=>{});
|
|
31
|
+
return ()=>chatUiBackendStore.unsubscribe();
|
|
32
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
33
33
|
}, []);
|
|
34
|
-
const customizationsMerged = useMemo(()
|
|
35
|
-
var
|
|
36
|
-
const templateCustomizations = (
|
|
37
|
-
templateCustomizations.agent = (
|
|
38
|
-
predicate: message
|
|
39
|
-
component: ChatbotMessageTemplateAgent
|
|
34
|
+
const customizationsMerged = useMemo(()=>{
|
|
35
|
+
var _ref, _templateCustomizations_agent, _ref1, _ref2;
|
|
36
|
+
const templateCustomizations = (_ref = customizations === null || customizations === void 0 ? void 0 : customizations.messageTemplates) !== null && _ref !== void 0 ? _ref : {};
|
|
37
|
+
templateCustomizations.agent = (_templateCustomizations_agent = templateCustomizations.agent) !== null && _templateCustomizations_agent !== void 0 ? _templateCustomizations_agent : {
|
|
38
|
+
predicate: (message)=>message.participant.isAgent,
|
|
39
|
+
component: ChatbotMessageTemplateAgent
|
|
40
40
|
};
|
|
41
41
|
return {
|
|
42
42
|
loadingComponent: customizations === null || customizations === void 0 ? void 0 : customizations.loadingComponent,
|
|
@@ -45,35 +45,56 @@ export const Chatbot = observer(({ botIcon, botName, className, customizations,
|
|
|
45
45
|
filters: customizations === null || customizations === void 0 ? void 0 : customizations.filters,
|
|
46
46
|
feedback: customizations === null || customizations === void 0 ? void 0 : customizations.feedback,
|
|
47
47
|
footerComponent: customizations === null || customizations === void 0 ? void 0 : customizations.footerComponent,
|
|
48
|
-
messageTyping: (
|
|
49
|
-
component: ChatbotMessageTyping
|
|
48
|
+
messageTyping: (_ref1 = customizations === null || customizations === void 0 ? void 0 : customizations.messageTyping) !== null && _ref1 !== void 0 ? _ref1 : {
|
|
49
|
+
component: ChatbotMessageTyping
|
|
50
50
|
},
|
|
51
51
|
messages: [
|
|
52
|
-
...(
|
|
52
|
+
...(_ref2 = customizations === null || customizations === void 0 ? void 0 : customizations.messages) !== null && _ref2 !== void 0 ? _ref2 : [],
|
|
53
53
|
{
|
|
54
|
-
predicate: (message)
|
|
55
|
-
component: ChatbotMessageQuestion
|
|
54
|
+
predicate: (message)=>!message.participant.isAgent && message.type === 'message',
|
|
55
|
+
component: ChatbotMessageQuestion
|
|
56
56
|
},
|
|
57
57
|
{
|
|
58
|
-
predicate: (message)
|
|
59
|
-
component: ChatbotMessageWelcome
|
|
58
|
+
predicate: (message)=>message.type === 'welcome',
|
|
59
|
+
component: ChatbotMessageWelcome
|
|
60
60
|
},
|
|
61
61
|
{
|
|
62
|
-
predicate: (message)
|
|
63
|
-
component: ChatbotMessageAnswer
|
|
62
|
+
predicate: (message)=>message.participant.isAgent && message.type === 'message',
|
|
63
|
+
component: ChatbotMessageAnswer
|
|
64
64
|
},
|
|
65
65
|
{
|
|
66
|
-
predicate: (message)
|
|
66
|
+
predicate: (message)=>message.type === 'timeout',
|
|
67
67
|
component: ChatbotMessageTimeout,
|
|
68
|
-
isSystem: true
|
|
69
|
-
}
|
|
68
|
+
isSystem: true
|
|
69
|
+
}
|
|
70
70
|
],
|
|
71
|
-
messageTemplates: templateCustomizations
|
|
71
|
+
messageTemplates: templateCustomizations
|
|
72
72
|
};
|
|
73
|
-
}, [
|
|
74
|
-
|
|
75
|
-
|
|
73
|
+
}, [
|
|
74
|
+
customizations
|
|
75
|
+
]);
|
|
76
|
+
const isFilterEnabled = Boolean((_customizationsMerged_filters = customizationsMerged.filters) === null || _customizationsMerged_filters === void 0 ? void 0 : _customizationsMerged_filters.enabled);
|
|
77
|
+
const isTopFilter = Boolean(isFilterEnabled && ((_customizationsMerged_filters1 = customizationsMerged.filters) === null || _customizationsMerged_filters1 === void 0 ? void 0 : _customizationsMerged_filters1.position) === 'top');
|
|
76
78
|
const isBottomFilter = isFilterEnabled && !isTopFilter;
|
|
77
|
-
return
|
|
79
|
+
return /*#__PURE__*/ _jsx(ChatbotToChatProviderAdapter, {
|
|
80
|
+
children: /*#__PURE__*/ _jsxs(Flex, {
|
|
81
|
+
direction: "column",
|
|
82
|
+
className: className,
|
|
83
|
+
style: style,
|
|
84
|
+
children: [
|
|
85
|
+
isTopFilter && /*#__PURE__*/ _jsx(ChatFilters, {
|
|
86
|
+
className: "p-inline-6 p-block-4"
|
|
87
|
+
}),
|
|
88
|
+
/*#__PURE__*/ _jsx(Chat, {
|
|
89
|
+
className: Styles.chat,
|
|
90
|
+
customizations: customizationsMerged
|
|
91
|
+
}),
|
|
92
|
+
isBottomFilter && /*#__PURE__*/ _jsx(ChatFilters, {
|
|
93
|
+
className: "p-inline-6 p-block-end-4"
|
|
94
|
+
})
|
|
95
|
+
]
|
|
96
|
+
})
|
|
97
|
+
});
|
|
78
98
|
});
|
|
99
|
+
|
|
79
100
|
//# sourceMappingURL=chatbot.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../../src/components/chatbot/chatbot.tsx"],"sourcesContent":["import { Flex } from '@servicetitan/anvil2';\nimport { useDependencies } from '@servicetitan/react-ioc';\nimport { Chat } from '@servicetitan/titan-chat-ui-anvil2';\nimport {\n ChatMessageModelText,\n ChatMessageModelTimeout,\n ChatMessageModelWelcome,\n ChatParticipantIcon,\n} from '@servicetitan/titan-chat-ui-common';\nimport {\n CHATBOT_UI_BACKEND_STORE_TOKEN,\n CHATBOT_UI_STORE_TOKEN,\n ChatbotCustomizations,\n} from '@servicetitan/titan-chatbot-api';\nimport { observer } from 'mobx-react';\nimport { CSSProperties, FC, useEffect, useMemo } from 'react';\nimport { ChatbotToChatProviderAdapter } from './chatbot-to-chat-provider-adapter';\nimport * as Styles from './chatbot.module.less';\nimport { ChatFilters } from './filters/chatbot-filters';\nimport { ChatbotMessageAnswer } from './messages/chatbot-message-answer';\nimport { ChatbotMessageQuestion } from './messages/chatbot-message-question';\nimport { ChatbotMessageTimeout } from './messages/chatbot-message-timeout';\nimport { ChatbotMessageTyping } from './messages/chatbot-message-typing';\nimport { ChatbotMessageWelcome } from './messages/chatbot-message-welcome';\nimport { ChatbotMessageTemplateAgent } from './templates/chatbot-message-template-agent';\n\nexport interface IChatbotProps {\n className?: string;\n style?: CSSProperties;\n customizations?: ChatbotCustomizations;\n botIcon?: ChatParticipantIcon;\n botName?: string;\n onReady?: () => void;\n}\n\nexport const Chatbot: FC<IChatbotProps> = observer(\n ({ botIcon, botName, className, customizations, onReady, style }) => {\n const [chatUiStore, chatUiBackendStore] = useDependencies(\n CHATBOT_UI_STORE_TOKEN,\n CHATBOT_UI_BACKEND_STORE_TOKEN\n );\n useEffect(() => {\n const init = async () => {\n chatUiBackendStore.subscribe();\n await chatUiStore.run({\n agentName: botName ?? 'Titan',\n agentIcon: botIcon ?? ChatParticipantIcon.Bot,\n });\n onReady?.();\n };\n init().then(() => {});\n return () => chatUiBackendStore.unsubscribe();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const customizationsMerged = useMemo<ChatbotCustomizations>(() => {\n const templateCustomizations = customizations?.messageTemplates ?? {};\n templateCustomizations.agent = templateCustomizations.agent ?? {\n predicate: message => message.participant.isAgent,\n component: ChatbotMessageTemplateAgent,\n };\n return {\n loadingComponent: customizations?.loadingComponent,\n input: customizations?.input,\n error: customizations?.error,\n filters: customizations?.filters,\n feedback: customizations?.feedback,\n footerComponent: customizations?.footerComponent,\n messageTyping: customizations?.messageTyping ?? {\n component: ChatbotMessageTyping,\n },\n messages: [\n ...(customizations?.messages ?? []),\n {\n predicate: (message: ChatMessageModelText) =>\n !message.participant.isAgent && message.type === 'message',\n component: ChatbotMessageQuestion,\n },\n {\n predicate: (message: ChatMessageModelWelcome) => message.type === 'welcome',\n component: ChatbotMessageWelcome,\n },\n {\n predicate: (message: ChatMessageModelText) =>\n message.participant.isAgent && message.type === 'message',\n component: ChatbotMessageAnswer,\n },\n {\n predicate: (message: ChatMessageModelTimeout) => message.type === 'timeout',\n component: ChatbotMessageTimeout,\n isSystem: true,\n },\n ],\n messageTemplates: templateCustomizations,\n };\n }, [customizations]);\n\n const isFilterEnabled = Boolean(customizationsMerged.filters?.enabled);\n const isTopFilter = Boolean(\n isFilterEnabled && customizationsMerged.filters?.position === 'top'\n );\n const isBottomFilter = isFilterEnabled && !isTopFilter;\n return (\n <ChatbotToChatProviderAdapter>\n <Flex direction=\"column\" className={className} style={style}>\n {isTopFilter && <ChatFilters className=\"p-inline-6 p-block-4\" />}\n <Chat className={Styles.chat} customizations={customizationsMerged} />\n {isBottomFilter && <ChatFilters className=\"p-inline-6 p-block-end-4\" />}\n </Flex>\n </ChatbotToChatProviderAdapter>\n );\n }\n);\n"],"names":["Flex","useDependencies","Chat","ChatParticipantIcon","CHATBOT_UI_BACKEND_STORE_TOKEN","CHATBOT_UI_STORE_TOKEN","observer","useEffect","useMemo","ChatbotToChatProviderAdapter","Styles","ChatFilters","ChatbotMessageAnswer","ChatbotMessageQuestion","ChatbotMessageTimeout","ChatbotMessageTyping","ChatbotMessageWelcome","ChatbotMessageTemplateAgent","Chatbot","botIcon","botName","className","customizations","onReady","style","customizationsMerged","chatUiStore","chatUiBackendStore","init","subscribe","run","agentName","agentIcon","Bot","then","unsubscribe","templateCustomizations","messageTemplates","agent","predicate","message","participant","isAgent","component","loadingComponent","input","error","filters","feedback","footerComponent","messageTyping","messages","type","isSystem","isFilterEnabled","Boolean","enabled","isTopFilter","position","isBottomFilter","direction","chat"],"mappings":"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"}
|
|
@@ -2,7 +2,10 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
2
2
|
import { AnvilProvider } from '@servicetitan/anvil2';
|
|
3
3
|
import { runChatbotRestartDialogSharedTests } from '@servicetitan/cypress-shared';
|
|
4
4
|
import { ChatbotRestartDialog } from '../chatbot-restart-dialog';
|
|
5
|
-
describe('[ChatbotRestartDialog]', ()
|
|
6
|
-
runChatbotRestartDialogSharedTests(ChatbotRestartDialog, component
|
|
5
|
+
describe('[ChatbotRestartDialog]', ()=>{
|
|
6
|
+
runChatbotRestartDialogSharedTests(ChatbotRestartDialog, (component)=>/*#__PURE__*/ _jsx(AnvilProvider, {
|
|
7
|
+
children: component
|
|
8
|
+
}));
|
|
7
9
|
});
|
|
10
|
+
|
|
8
11
|
//# sourceMappingURL=chatbot-restart-dialog.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../../../../src/components/chatbot/dialog/__tests-cy__/chatbot-restart-dialog.test.tsx"],"sourcesContent":["import { AnvilProvider } from '@servicetitan/anvil2';\nimport { runChatbotRestartDialogSharedTests } from '@servicetitan/cypress-shared';\nimport { ChatbotRestartDialog } from '../chatbot-restart-dialog';\n\ndescribe('[ChatbotRestartDialog]', () => {\n runChatbotRestartDialogSharedTests(ChatbotRestartDialog, component => (\n <AnvilProvider>{component}</AnvilProvider>\n ));\n});\n"],"names":["AnvilProvider","runChatbotRestartDialogSharedTests","ChatbotRestartDialog","describe","component"],"mappings":";AAAA,SAASA,aAAa,QAAQ,uBAAuB;AACrD,SAASC,kCAAkC,QAAQ,+BAA+B;AAClF,SAASC,oBAAoB,QAAQ,4BAA4B;AAEjEC,SAAS,0BAA0B;IAC/BF,mCAAmCC,sBAAsBE,CAAAA,0BACrD,KAACJ;sBAAeI;;AAExB"}
|
|
@@ -2,7 +2,10 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
2
2
|
import { AnvilProvider } from '@servicetitan/anvil2';
|
|
3
3
|
import { runChatbotRestartLinkSharedTests } from '@servicetitan/cypress-shared';
|
|
4
4
|
import { ChatbotRestartLink } from '../chatbot-restart-link';
|
|
5
|
-
describe('[ChatbotRestartLink]', ()
|
|
6
|
-
runChatbotRestartLinkSharedTests(ChatbotRestartLink, component
|
|
5
|
+
describe('[ChatbotRestartLink]', ()=>{
|
|
6
|
+
runChatbotRestartLinkSharedTests(ChatbotRestartLink, (component)=>/*#__PURE__*/ _jsx(AnvilProvider, {
|
|
7
|
+
children: component
|
|
8
|
+
}));
|
|
7
9
|
});
|
|
10
|
+
|
|
8
11
|
//# sourceMappingURL=chatbot-restart-link.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../../../../src/components/chatbot/dialog/__tests-cy__/chatbot-restart-link.test.tsx"],"sourcesContent":["import { AnvilProvider } from '@servicetitan/anvil2';\nimport { runChatbotRestartLinkSharedTests } from '@servicetitan/cypress-shared';\nimport { ChatbotRestartLink } from '../chatbot-restart-link';\n\ndescribe('[ChatbotRestartLink]', () => {\n runChatbotRestartLinkSharedTests(ChatbotRestartLink, component => (\n <AnvilProvider>{component}</AnvilProvider>\n ));\n});\n"],"names":["AnvilProvider","runChatbotRestartLinkSharedTests","ChatbotRestartLink","describe","component"],"mappings":";AAAA,SAASA,aAAa,QAAQ,uBAAuB;AACrD,SAASC,gCAAgC,QAAQ,+BAA+B;AAChF,SAASC,kBAAkB,QAAQ,0BAA0B;AAE7DC,SAAS,wBAAwB;IAC7BF,iCAAiCC,oBAAoBE,CAAAA,0BACjD,KAACJ;sBAAeI;;AAExB"}
|
|
@@ -3,18 +3,54 @@ import { Button, Dialog, Flex } from '@servicetitan/anvil2';
|
|
|
3
3
|
import { useDependencies } from '@servicetitan/react-ioc';
|
|
4
4
|
import { CHATBOT_UI_STORE_TOKEN } from '@servicetitan/titan-chatbot-api';
|
|
5
5
|
import { useCallback, useState } from 'react';
|
|
6
|
-
export const ChatbotRestartDialog = ({ confirmText, onClose
|
|
6
|
+
export const ChatbotRestartDialog = ({ confirmText, onClose })=>{
|
|
7
7
|
const [isRestartDialogOpen, setIsRestartDialogOpen] = useState(true);
|
|
8
8
|
const [chatbotUiStore] = useDependencies(CHATBOT_UI_STORE_TOKEN);
|
|
9
|
-
const handleCloseDialog = useCallback(()
|
|
9
|
+
const handleCloseDialog = useCallback(()=>{
|
|
10
10
|
setIsRestartDialogOpen(false);
|
|
11
11
|
onClose();
|
|
12
|
-
}, [
|
|
13
|
-
|
|
12
|
+
}, [
|
|
13
|
+
onClose
|
|
14
|
+
]);
|
|
15
|
+
const handleRestart = useCallback(()=>{
|
|
14
16
|
setIsRestartDialogOpen(false);
|
|
15
17
|
onClose();
|
|
16
18
|
chatbotUiStore.restart();
|
|
17
|
-
}, [
|
|
18
|
-
|
|
19
|
+
}, [
|
|
20
|
+
onClose,
|
|
21
|
+
chatbotUiStore
|
|
22
|
+
]);
|
|
23
|
+
return /*#__PURE__*/ _jsxs(Dialog, {
|
|
24
|
+
open: isRestartDialogOpen,
|
|
25
|
+
"data-cy": "titan-chatbot-restart-dialog",
|
|
26
|
+
children: [
|
|
27
|
+
/*#__PURE__*/ _jsx(Dialog.Content, {
|
|
28
|
+
children: /*#__PURE__*/ _jsx(Flex, {
|
|
29
|
+
className: "m-block-start-4",
|
|
30
|
+
children: confirmText
|
|
31
|
+
})
|
|
32
|
+
}),
|
|
33
|
+
/*#__PURE__*/ _jsx(Dialog.Footer, {
|
|
34
|
+
children: /*#__PURE__*/ _jsx(Flex, {
|
|
35
|
+
justifyContent: "flex-end",
|
|
36
|
+
children: /*#__PURE__*/ _jsxs(Flex, {
|
|
37
|
+
gap: "3",
|
|
38
|
+
children: [
|
|
39
|
+
/*#__PURE__*/ _jsx(Button, {
|
|
40
|
+
onClick: handleCloseDialog,
|
|
41
|
+
children: "Cancel"
|
|
42
|
+
}),
|
|
43
|
+
/*#__PURE__*/ _jsx(Button, {
|
|
44
|
+
appearance: "primary",
|
|
45
|
+
onClick: handleRestart,
|
|
46
|
+
children: "Restart"
|
|
47
|
+
})
|
|
48
|
+
]
|
|
49
|
+
})
|
|
50
|
+
})
|
|
51
|
+
})
|
|
52
|
+
]
|
|
53
|
+
});
|
|
19
54
|
};
|
|
55
|
+
|
|
20
56
|
//# sourceMappingURL=chatbot-restart-dialog.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/chatbot/dialog/chatbot-restart-dialog.tsx"],"sourcesContent":["import { Button, Dialog, Flex } from '@servicetitan/anvil2';\nimport { useDependencies } from '@servicetitan/react-ioc';\nimport { CHATBOT_UI_STORE_TOKEN } from '@servicetitan/titan-chatbot-api';\nimport { FC, useCallback, useState } from 'react';\n\nexport const ChatbotRestartDialog: FC<{ confirmText: string; onClose: () => void }> = ({\n confirmText,\n onClose,\n}) => {\n const [isRestartDialogOpen, setIsRestartDialogOpen] = useState(true);\n const [chatbotUiStore] = useDependencies(CHATBOT_UI_STORE_TOKEN);\n\n const handleCloseDialog = useCallback(() => {\n setIsRestartDialogOpen(false);\n onClose();\n }, [onClose]);\n\n const handleRestart = useCallback(() => {\n setIsRestartDialogOpen(false);\n onClose();\n chatbotUiStore.restart();\n }, [onClose, chatbotUiStore]);\n\n return (\n <Dialog open={isRestartDialogOpen} data-cy=\"titan-chatbot-restart-dialog\">\n <Dialog.Content>\n <Flex className=\"m-block-start-4\">{confirmText}</Flex>\n </Dialog.Content>\n <Dialog.Footer>\n <Flex justifyContent=\"flex-end\">\n <Flex gap=\"3\">\n <Button onClick={handleCloseDialog}>Cancel</Button>\n <Button appearance=\"primary\" onClick={handleRestart}>\n Restart\n </Button>\n </Flex>\n </Flex>\n </Dialog.Footer>\n </Dialog>\n );\n};\n"],"names":["Button","Dialog","Flex","useDependencies","CHATBOT_UI_STORE_TOKEN","useCallback","useState","ChatbotRestartDialog","confirmText","onClose","isRestartDialogOpen","setIsRestartDialogOpen","chatbotUiStore","handleCloseDialog","handleRestart","restart","open","data-cy","Content","className","Footer","justifyContent","gap","onClick","appearance"],"mappings":";AAAA,SAASA,MAAM,EAAEC,MAAM,EAAEC,IAAI,QAAQ,uBAAuB;AAC5D,SAASC,eAAe,QAAQ,0BAA0B;AAC1D,SAASC,sBAAsB,QAAQ,kCAAkC;AACzE,SAAaC,WAAW,EAAEC,QAAQ,QAAQ,QAAQ;AAElD,OAAO,MAAMC,uBAAyE,CAAC,EACnFC,WAAW,EACXC,OAAO,EACV;IACG,MAAM,CAACC,qBAAqBC,uBAAuB,GAAGL,SAAS;IAC/D,MAAM,CAACM,eAAe,GAAGT,gBAAgBC;IAEzC,MAAMS,oBAAoBR,YAAY;QAClCM,uBAAuB;QACvBF;IACJ,GAAG;QAACA;KAAQ;IAEZ,MAAMK,gBAAgBT,YAAY;QAC9BM,uBAAuB;QACvBF;QACAG,eAAeG,OAAO;IAC1B,GAAG;QAACN;QAASG;KAAe;IAE5B,qBACI,MAACX;QAAOe,MAAMN;QAAqBO,WAAQ;;0BACvC,KAAChB,OAAOiB,OAAO;0BACX,cAAA,KAAChB;oBAAKiB,WAAU;8BAAmBX;;;0BAEvC,KAACP,OAAOmB,MAAM;0BACV,cAAA,KAAClB;oBAAKmB,gBAAe;8BACjB,cAAA,MAACnB;wBAAKoB,KAAI;;0CACN,KAACtB;gCAAOuB,SAASV;0CAAmB;;0CACpC,KAACb;gCAAOwB,YAAW;gCAAUD,SAAST;0CAAe;;;;;;;;AAQ7E,EAAE"}
|
|
@@ -4,13 +4,29 @@ import { useDependencies } from '@servicetitan/react-ioc';
|
|
|
4
4
|
import { CHATBOT_UI_STORE_TOKEN } from '@servicetitan/titan-chatbot-api';
|
|
5
5
|
import { Fragment, useCallback, useState } from 'react';
|
|
6
6
|
import { ChatbotRestartDialog } from './chatbot-restart-dialog';
|
|
7
|
-
export const ChatbotRestartLink = ({ children, onClick, ...rest })
|
|
7
|
+
export const ChatbotRestartLink = ({ children, onClick, ...rest })=>{
|
|
8
8
|
const [chatbotUiStore] = useDependencies(CHATBOT_UI_STORE_TOKEN);
|
|
9
9
|
const [isRestartDialogOpen, setIsRestartDialogOpen] = useState(false);
|
|
10
|
-
const handleRestartOpen = useCallback((event)
|
|
10
|
+
const handleRestartOpen = useCallback((event)=>{
|
|
11
11
|
setIsRestartDialogOpen(true);
|
|
12
12
|
onClick === null || onClick === void 0 ? void 0 : onClick(event);
|
|
13
|
-
}, [
|
|
14
|
-
|
|
13
|
+
}, [
|
|
14
|
+
onClick
|
|
15
|
+
]);
|
|
16
|
+
return /*#__PURE__*/ _jsxs(Fragment, {
|
|
17
|
+
children: [
|
|
18
|
+
/*#__PURE__*/ _jsx(Link, {
|
|
19
|
+
...rest,
|
|
20
|
+
onClick: handleRestartOpen,
|
|
21
|
+
"data-cy": "titan-chatbot-restart-session",
|
|
22
|
+
children: children
|
|
23
|
+
}),
|
|
24
|
+
isRestartDialogOpen && /*#__PURE__*/ _jsx(ChatbotRestartDialog, {
|
|
25
|
+
confirmText: `Restart ${chatbotUiStore.agent.name} session?`,
|
|
26
|
+
onClose: ()=>setIsRestartDialogOpen(false)
|
|
27
|
+
})
|
|
28
|
+
]
|
|
29
|
+
});
|
|
15
30
|
};
|
|
31
|
+
|
|
16
32
|
//# sourceMappingURL=chatbot-restart-link.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/chatbot/dialog/chatbot-restart-link.tsx"],"sourcesContent":["import { Link, LinkProps } from '@servicetitan/anvil2';\nimport { useDependencies } from '@servicetitan/react-ioc';\nimport { CHATBOT_UI_STORE_TOKEN } from '@servicetitan/titan-chatbot-api';\nimport { FC, Fragment, MouseEvent, useCallback, useState } from 'react';\nimport { ChatbotRestartDialog } from './chatbot-restart-dialog';\n\nexport const ChatbotRestartLink: FC<LinkProps> = ({ children, onClick, ...rest }) => {\n const [chatbotUiStore] = useDependencies(CHATBOT_UI_STORE_TOKEN);\n const [isRestartDialogOpen, setIsRestartDialogOpen] = useState(false);\n\n const handleRestartOpen = useCallback(\n (event: MouseEvent<HTMLAnchorElement>) => {\n setIsRestartDialogOpen(true);\n onClick?.(event);\n },\n [onClick]\n );\n\n return (\n <Fragment>\n <Link {...rest} onClick={handleRestartOpen} data-cy=\"titan-chatbot-restart-session\">\n {children}\n </Link>\n {isRestartDialogOpen && (\n <ChatbotRestartDialog\n confirmText={`Restart ${chatbotUiStore.agent.name} session?`}\n onClose={() => setIsRestartDialogOpen(false)}\n />\n )}\n </Fragment>\n );\n};\n"],"names":["Link","useDependencies","CHATBOT_UI_STORE_TOKEN","Fragment","useCallback","useState","ChatbotRestartDialog","ChatbotRestartLink","children","onClick","rest","chatbotUiStore","isRestartDialogOpen","setIsRestartDialogOpen","handleRestartOpen","event","data-cy","confirmText","agent","name","onClose"],"mappings":";AAAA,SAASA,IAAI,QAAmB,uBAAuB;AACvD,SAASC,eAAe,QAAQ,0BAA0B;AAC1D,SAASC,sBAAsB,QAAQ,kCAAkC;AACzE,SAAaC,QAAQ,EAAcC,WAAW,EAAEC,QAAQ,QAAQ,QAAQ;AACxE,SAASC,oBAAoB,QAAQ,2BAA2B;AAEhE,OAAO,MAAMC,qBAAoC,CAAC,EAAEC,QAAQ,EAAEC,OAAO,EAAE,GAAGC,MAAM;IAC5E,MAAM,CAACC,eAAe,GAAGV,gBAAgBC;IACzC,MAAM,CAACU,qBAAqBC,uBAAuB,GAAGR,SAAS;IAE/D,MAAMS,oBAAoBV,YACtB,CAACW;QACGF,uBAAuB;QACvBJ,oBAAAA,8BAAAA,QAAUM;IACd,GACA;QAACN;KAAQ;IAGb,qBACI,MAACN;;0BACG,KAACH;gBAAM,GAAGU,IAAI;gBAAED,SAASK;gBAAmBE,WAAQ;0BAC/CR;;YAEJI,qCACG,KAACN;gBACGW,aAAa,CAAC,QAAQ,EAAEN,eAAeO,KAAK,CAACC,IAAI,CAAC,SAAS,CAAC;gBAC5DC,SAAS,IAAMP,uBAAuB;;;;AAK1D,EAAE"}
|
|
@@ -2,7 +2,10 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
2
2
|
import { AnvilProvider } from '@servicetitan/anvil2';
|
|
3
3
|
import { runChatbotMessageFeedbackFormGuardrailSharedTests } from '@servicetitan/cypress-shared';
|
|
4
4
|
import { ChatbotMessageFeedbackFormGuardrail } from '../chatbot-message-feedback-form-guardrail';
|
|
5
|
-
describe('[ChatbotMessageFeedbackFormGuardrail]', ()
|
|
6
|
-
runChatbotMessageFeedbackFormGuardrailSharedTests(ChatbotMessageFeedbackFormGuardrail, component
|
|
5
|
+
describe('[ChatbotMessageFeedbackFormGuardrail]', ()=>{
|
|
6
|
+
runChatbotMessageFeedbackFormGuardrailSharedTests(ChatbotMessageFeedbackFormGuardrail, (component)=>/*#__PURE__*/ _jsx(AnvilProvider, {
|
|
7
|
+
children: component
|
|
8
|
+
}));
|
|
7
9
|
});
|
|
10
|
+
|
|
8
11
|
//# sourceMappingURL=chatbot-message-feedback-form-guardrail.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../../../../src/components/chatbot/feedback/__tests-cy__/chatbot-message-feedback-form-guardrail.test.tsx"],"sourcesContent":["import { AnvilProvider } from '@servicetitan/anvil2';\nimport { runChatbotMessageFeedbackFormGuardrailSharedTests } from '@servicetitan/cypress-shared';\nimport { ChatbotMessageFeedbackFormGuardrail } from '../chatbot-message-feedback-form-guardrail';\n\ndescribe('[ChatbotMessageFeedbackFormGuardrail]', () => {\n runChatbotMessageFeedbackFormGuardrailSharedTests(\n ChatbotMessageFeedbackFormGuardrail,\n component => <AnvilProvider>{component}</AnvilProvider>\n );\n});\n"],"names":["AnvilProvider","runChatbotMessageFeedbackFormGuardrailSharedTests","ChatbotMessageFeedbackFormGuardrail","describe","component"],"mappings":";AAAA,SAASA,aAAa,QAAQ,uBAAuB;AACrD,SAASC,iDAAiD,QAAQ,+BAA+B;AACjG,SAASC,mCAAmC,QAAQ,6CAA6C;AAEjGC,SAAS,yCAAyC;IAC9CF,kDACIC,qCACAE,CAAAA,0BAAa,KAACJ;sBAAeI;;AAErC"}
|
|
@@ -2,7 +2,10 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
2
2
|
import { AnvilProvider } from '@servicetitan/anvil2';
|
|
3
3
|
import { runChatbotMessageFeedbackFormSharedTests } from '@servicetitan/cypress-shared';
|
|
4
4
|
import { ChatbotMessageFeedbackForm } from '../chatbot-message-feedback-form';
|
|
5
|
-
describe('[ChatbotMessageFeedbackForm]', ()
|
|
6
|
-
runChatbotMessageFeedbackFormSharedTests(ChatbotMessageFeedbackForm, component
|
|
5
|
+
describe('[ChatbotMessageFeedbackForm]', ()=>{
|
|
6
|
+
runChatbotMessageFeedbackFormSharedTests(ChatbotMessageFeedbackForm, (component)=>/*#__PURE__*/ _jsx(AnvilProvider, {
|
|
7
|
+
children: component
|
|
8
|
+
}));
|
|
7
9
|
});
|
|
10
|
+
|
|
8
11
|
//# sourceMappingURL=chatbot-message-feedback-form.test.js.map
|
package/dist/components/chatbot/feedback/__tests-cy__/chatbot-message-feedback-form.test.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../../../../src/components/chatbot/feedback/__tests-cy__/chatbot-message-feedback-form.test.tsx"],"sourcesContent":["import { AnvilProvider } from '@servicetitan/anvil2';\nimport { runChatbotMessageFeedbackFormSharedTests } from '@servicetitan/cypress-shared';\nimport { ChatbotMessageFeedbackForm } from '../chatbot-message-feedback-form';\n\ndescribe('[ChatbotMessageFeedbackForm]', () => {\n runChatbotMessageFeedbackFormSharedTests(ChatbotMessageFeedbackForm, component => (\n <AnvilProvider>{component}</AnvilProvider>\n ));\n});\n"],"names":["AnvilProvider","runChatbotMessageFeedbackFormSharedTests","ChatbotMessageFeedbackForm","describe","component"],"mappings":";AAAA,SAASA,aAAa,QAAQ,uBAAuB;AACrD,SAASC,wCAAwC,QAAQ,+BAA+B;AACxF,SAASC,0BAA0B,QAAQ,mCAAmC;AAE9EC,SAAS,gCAAgC;IACrCF,yCAAyCC,4BAA4BE,CAAAA,0BACjE,KAACJ;sBAAeI;;AAExB"}
|
package/dist/components/chatbot/feedback/__tests-cy__/chatbot-message-feedback-popover.test.js
CHANGED
|
@@ -2,7 +2,10 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
2
2
|
import { AnvilProvider } from '@servicetitan/anvil2';
|
|
3
3
|
import { runChatbotMessageFeedbackPopoverSharedTests } from '@servicetitan/cypress-shared';
|
|
4
4
|
import { ChatbotMessageFeedbackPopover } from '../chatbot-message-feedback-popover';
|
|
5
|
-
describe('[ChatbotMessageFeedbackPopover]', ()
|
|
6
|
-
runChatbotMessageFeedbackPopoverSharedTests(ChatbotMessageFeedbackPopover, component
|
|
5
|
+
describe('[ChatbotMessageFeedbackPopover]', ()=>{
|
|
6
|
+
runChatbotMessageFeedbackPopoverSharedTests(ChatbotMessageFeedbackPopover, (component)=>/*#__PURE__*/ _jsx(AnvilProvider, {
|
|
7
|
+
children: component
|
|
8
|
+
}));
|
|
7
9
|
});
|
|
10
|
+
|
|
8
11
|
//# sourceMappingURL=chatbot-message-feedback-popover.test.js.map
|
package/dist/components/chatbot/feedback/__tests-cy__/chatbot-message-feedback-popover.test.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../../../../src/components/chatbot/feedback/__tests-cy__/chatbot-message-feedback-popover.test.tsx"],"sourcesContent":["import { AnvilProvider } from '@servicetitan/anvil2';\nimport { runChatbotMessageFeedbackPopoverSharedTests } from '@servicetitan/cypress-shared';\nimport { ChatbotMessageFeedbackPopover } from '../chatbot-message-feedback-popover';\n\ndescribe('[ChatbotMessageFeedbackPopover]', () => {\n runChatbotMessageFeedbackPopoverSharedTests(ChatbotMessageFeedbackPopover, component => (\n <AnvilProvider>{component}</AnvilProvider>\n ));\n});\n"],"names":["AnvilProvider","runChatbotMessageFeedbackPopoverSharedTests","ChatbotMessageFeedbackPopover","describe","component"],"mappings":";AAAA,SAASA,aAAa,QAAQ,uBAAuB;AACrD,SAASC,2CAA2C,QAAQ,+BAA+B;AAC3F,SAASC,6BAA6B,QAAQ,sCAAsC;AAEpFC,SAAS,mCAAmC;IACxCF,4CAA4CC,+BAA+BE,CAAAA,0BACvE,KAACJ;sBAAeI;;AAExB"}
|
package/dist/components/chatbot/feedback/__tests-cy__/chatbot-session-feedback-modal.test.js
CHANGED
|
@@ -2,7 +2,10 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
2
2
|
import { AnvilProvider } from '@servicetitan/anvil2';
|
|
3
3
|
import { runChatbotSessionFeedbackModalSharedTests } from '@servicetitan/cypress-shared';
|
|
4
4
|
import { ChatbotSessionFeedbackModal } from '../chatbot-session-feedback-modal';
|
|
5
|
-
describe('[ChatbotSessionFeedbackModal]', ()
|
|
6
|
-
runChatbotSessionFeedbackModalSharedTests(ChatbotSessionFeedbackModal, component
|
|
5
|
+
describe('[ChatbotSessionFeedbackModal]', ()=>{
|
|
6
|
+
runChatbotSessionFeedbackModalSharedTests(ChatbotSessionFeedbackModal, (component)=>/*#__PURE__*/ _jsx(AnvilProvider, {
|
|
7
|
+
children: component
|
|
8
|
+
}));
|
|
7
9
|
});
|
|
10
|
+
|
|
8
11
|
//# sourceMappingURL=chatbot-session-feedback-modal.test.js.map
|