@microsoft/omnichannel-chat-widget 1.3.1-main.da9dc59 → 1.4.1-main.3c12a8b
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/lib/cjs/assets/Icons.js +8 -2
- package/lib/cjs/common/telemetry/loggers/ariaTelemetryLogger.js +2 -22
- package/lib/cjs/common/utils.js +19 -2
- package/lib/cjs/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.js +4 -1
- package/lib/cjs/components/livechatwidget/common/createAdapter.js +5 -0
- package/lib/cjs/components/livechatwidget/common/endChat.js +77 -17
- package/lib/cjs/components/livechatwidget/common/initWebChatComposer.js +6 -0
- package/lib/cjs/components/livechatwidget/common/renderSurveyHelpers.js +11 -9
- package/lib/cjs/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +31 -17
- package/lib/cjs/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.js +5 -2
- package/lib/cjs/components/webchatcontainerstateful/WebChatContainerStateful.js +13 -7
- package/lib/cjs/components/webchatcontainerstateful/common/defaultProps/defaultMiddlewareLocalizedTexts.js +6 -3
- package/lib/cjs/components/webchatcontainerstateful/common/mockchatsdk.js +3 -0
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/NotificationScenarios.js +1 -0
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware.js +40 -101
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachments/Attachment.js +92 -0
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachments/AttachmentContent.js +17 -0
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachments/AttachmentIcon.js +21 -0
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachments/DownloadBlockedAttachment.js +36 -0
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachments/FileScanStatus.js +14 -0
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachments/MaliciousAttachment.js +24 -0
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachments/ScanInProgressAttachment.js +24 -0
- package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachments/Spinner.js +41 -0
- package/lib/cjs/contexts/common/LiveChatWidgetActionType.js +1 -0
- package/lib/cjs/contexts/common/LiveChatWidgetContextInitialState.js +2 -1
- package/lib/cjs/contexts/createReducer.js +8 -0
- package/lib/esm/assets/Icons.js +4 -1
- package/lib/esm/common/telemetry/loggers/ariaTelemetryLogger.js +2 -22
- package/lib/esm/common/utils.js +16 -0
- package/lib/esm/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.js +5 -2
- package/lib/esm/components/livechatwidget/common/createAdapter.js +5 -0
- package/lib/esm/components/livechatwidget/common/endChat.js +76 -20
- package/lib/esm/components/livechatwidget/common/initWebChatComposer.js +6 -0
- package/lib/esm/components/livechatwidget/common/renderSurveyHelpers.js +11 -9
- package/lib/esm/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +34 -20
- package/lib/esm/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.js +6 -3
- package/lib/esm/components/webchatcontainerstateful/WebChatContainerStateful.js +13 -7
- package/lib/esm/components/webchatcontainerstateful/common/defaultProps/defaultMiddlewareLocalizedTexts.js +6 -3
- package/lib/esm/components/webchatcontainerstateful/common/mockchatsdk.js +3 -0
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/NotificationScenarios.js +1 -0
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware.js +36 -96
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachments/Attachment.js +84 -0
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachments/AttachmentContent.js +9 -0
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachments/AttachmentIcon.js +13 -0
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachments/DownloadBlockedAttachment.js +28 -0
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachments/FileScanStatus.js +7 -0
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachments/MaliciousAttachment.js +16 -0
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachments/ScanInProgressAttachment.js +16 -0
- package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachments/Spinner.js +33 -0
- package/lib/esm/contexts/common/LiveChatWidgetActionType.js +1 -0
- package/lib/esm/contexts/common/LiveChatWidgetContextInitialState.js +2 -1
- package/lib/esm/contexts/createReducer.js +8 -0
- package/lib/types/assets/Icons.d.ts +3 -0
- package/lib/types/common/utils.d.ts +9 -0
- package/lib/types/components/livechatwidget/common/endChat.d.ts +6 -2
- package/lib/types/components/livechatwidget/common/renderSurveyHelpers.d.ts +1 -1
- package/lib/types/components/webchatcontainerstateful/common/mockchatsdk.d.ts +1 -0
- package/lib/types/components/webchatcontainerstateful/webchatcontroller/enums/NotificationScenarios.d.ts +1 -0
- package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachments/Attachment.d.ts +2 -0
- package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachments/AttachmentContent.d.ts +2 -0
- package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachments/AttachmentIcon.d.ts +2 -0
- package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachments/DownloadBlockedAttachment.d.ts +2 -0
- package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachments/FileScanStatus.d.ts +6 -0
- package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachments/MaliciousAttachment.d.ts +2 -0
- package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachments/ScanInProgressAttachment.d.ts +2 -0
- package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachments/Spinner.d.ts +2 -0
- package/lib/types/contexts/common/ILiveChatWidgetContext.d.ts +2 -1
- package/lib/types/contexts/common/ILiveChatWidgetLocalizedTexts.d.ts +16 -0
- package/lib/types/contexts/common/LiveChatWidgetActionType.d.ts +2 -1
- package/package.json +5 -3
package/lib/cjs/assets/Icons.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.WordIcon = exports.VisioIcon = exports.VideoIcon = exports.PowerpointIcon = exports.PDFIcon = exports.OneNoteIcon = exports.NotificationAlertIcon = exports.ImageIcon = exports.ExcelIcon = exports.BlankIcon = exports.AudioIcon = exports.ArchiveIcon = exports.AlertIcon = void 0;
|
|
6
|
+
exports.WordIcon = exports.VisioIcon = exports.VideoIcon = exports.PowerpointIcon = exports.PDFIcon = exports.OneNoteIcon = exports.NotificationAlertIcon = exports.MaliciousFileIcon = exports.ImageIcon = exports.FileScanInProgressIcon = exports.ExcelIcon = exports.CrossIcon = exports.BlankIcon = exports.AudioIcon = exports.ArchiveIcon = exports.AlertIcon = void 0;
|
|
7
7
|
const ArchiveIcon = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMDQ4IDIwNDgiIHdpZHRoPSIxMnB4IiBoZWlnaHQ9IjEycHgiPg0KPHBhdGggZD0iTTE3OTIgMHEyNyAwIDUwIDEwdDQwIDI3IDI4IDQxIDEwIDUwdjQ4MHEwIDQ1LTkgNzd0LTI0IDU4LTMxIDQ2LTMxIDQwLTIzIDQ0LTEwIDU1djk5MnEwIDI3LTEwIDUwdC0yNyA0MC00MSAyOC01MCAxMEgyNTZWMGgxNTM2ek02NDAgMTI4djM4NGgyNTZWMTI4SDY0MHptMTAyNCA4MDBxMC0zMS05LTU0dC0yNC00NC0zMS00MS0zMS00NS0yMy01OC0xMC03OFYxMjhoLTUxMnY1MTJINzY4djEyOEg2NDBWNjQwSDUxMlYxMjhIMzg0djE3OTJoMzg0di0xMjhoMTI4djEyOGg3NjhWOTI4em0xMjgtODAwaC0xMjh2NDgwcTAgMjQgNCA0MnQxMyAzMyAyMCAyOSAyNyAzMnExNS0xNyAyNi0zMXQyMC0zMCAxMy0zMyA1LTQyVjEyOHpNNjQwIDg5NmgxMjh2MTI4SDY0MFY4OTZ6bTAgMjU2aDEyOHYxMjhINjQwdi0xMjh6bTAgMjU2aDEyOHYxMjhINjQwdi0xMjh6bTEyOCAyNTZ2MTI4SDY0MHYtMTI4aDEyOHptMC03NjhWNzY4aDEyOHYxMjhINzY4em0wIDI1NnYtMTI4aDEyOHYxMjhINzY4em0wIDI1NnYtMTI4aDEyOHYxMjhINzY4em0wIDI1NnYtMTI4aDEyOHYxMjhINzY4eiIgLz4NCjwvc3ZnPg==";
|
|
8
8
|
exports.ArchiveIcon = ArchiveIcon;
|
|
9
9
|
const AudioIcon = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciDQogICAgdmlld0JveD0iMCAwIDIwNDggMjA0OCINCiAgICB3aWR0aD0iMTJweCINCiAgICBoZWlnaHQ9IjEycHgiPg0KICAgIDxwYXRoIGQ9Ik0xNzkyIDE0MDhxMCA2Mi0yOSAxMDl0LTc2IDgwLTEwNCA1MC0xMTEgMTdxLTU0IDAtMTExLTE3dC0xMDMtNDktNzYtODAtMzAtMTEwcTAtNjEgMjktMTA5dDc2LTgwIDEwNC01MCAxMTEtMTdxNTEgMCAxMDAgMTJ0OTIgMzlWMjI2TDc2OCA0NTB2MTIxNHEwIDYyLTI5IDEwOXQtNzYgODAtMTA0IDUwLTExMSAxN3EtNTQgMC0xMTEtMTd0LTEwMy00OS03Ni04MC0zMC0xMTBxMC02MSAyOS0xMDl0NzYtODAgMTA0LTUwIDExMS0xN3E1MSAwIDEwMCAxMnQ5MiAzOVYzNTBMMTc5MiA2MnYxMzQ2eiIgLz4NCjwvc3ZnPg==";
|
|
@@ -29,4 +29,10 @@ exports.WordIcon = WordIcon;
|
|
|
29
29
|
const AlertIcon = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/PjwhRE9DVFlQRSBzdmcgIFBVQkxJQyAnLS8vVzNDLy9EVEQgU1ZHIDEuMC8vRU4nICAnaHR0cDovL3d3dy53My5vcmcvVFIvMjAwMS9SRUMtU1ZHLTIwMDEwOTA0L0RURC9zdmcxMC5kdGQnPjxzdmcgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMjQgMjQiIGlkPSJMYXllcl8xIiB2ZXJzaW9uPSIxLjAiIHZpZXdCb3g9IjAgMCAyNCAyNCIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PHBhdGggZD0iTTEzLDE3aC0ydi0yaDJWMTd6IE0xMywxM2gtMlY3aDJWMTN6Ii8+PGc+PHBhdGggZD0iTTEyLDRjNC40LDAsOCwzLjYsOCw4cy0zLjYsOC04LDhzLTgtMy42LTgtOFM3LjYsNCwxMiw0IE0xMiwyQzYuNSwyLDIsNi41LDIsMTJjMCw1LjUsNC41LDEwLDEwLDEwczEwLTQuNSwxMC0xMCAgIEMyMiw2LjUsMTcuNSwyLDEyLDJMMTIsMnoiLz48L2c+PC9zdmc+";
|
|
30
30
|
exports.AlertIcon = AlertIcon;
|
|
31
31
|
const NotificationAlertIcon = "data:image/svg+xml;base64,PHN2ZyBhcmlhLWxhYmVsPSJXYXJuaW5nIiBoZWlnaHQ9IjE5IiB2aWV3Qm94PSIwIDAgMTkgMTkiIHdpZHRoPSIxOSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNOS4zNzUgMEMxMC4yNDA5IDAgMTEuMDcxIDAuMTEwNjc3IDExLjg2NTIgMC4zMzIwMzFDMTIuNjY2IDAuNTUzMzg1IDEzLjQxNDcgMC44NjkxNDEgMTQuMTExMyAxLjI3OTNDMTQuODA3OSAxLjY4Mjk0IDE1LjQzOTUgMi4xNzEyMiAxNi4wMDU5IDIuNzQ0MTRDMTYuNTc4OCAzLjMxMDU1IDE3LjA2NzEgMy45NDIwNiAxNy40NzA3IDQuNjM4NjdDMTcuODgwOSA1LjMzNTI5IDE4LjE5NjYgNi4wODM5OCAxOC40MTggNi44ODQ3N0MxOC42MzkzIDcuNjc5MDQgMTguNzUgOC41MDkxMSAxOC43NSA5LjM3NUMxOC43NSAxMC4yNDA5IDE4LjYzOTMgMTEuMDc0MiAxOC40MTggMTEuODc1QzE4LjE5NjYgMTIuNjY5MyAxNy44ODA5IDEzLjQxNDcgMTcuNDcwNyAxNC4xMTEzQzE3LjA2NzEgMTQuODA3OSAxNi41Nzg4IDE1LjQ0MjcgMTYuMDA1OSAxNi4wMTU2QzE1LjQzOTUgMTYuNTgyIDE0LjgwNzkgMTcuMDcwMyAxNC4xMTEzIDE3LjQ4MDVDMTMuNDE0NyAxNy44ODQxIDEyLjY2NiAxOC4xOTY2IDExLjg2NTIgMTguNDE4QzExLjA3MSAxOC42MzkzIDEwLjI0MDkgMTguNzUgOS4zNzUgMTguNzVDOC41MDkxMSAxOC43NSA3LjY3NTc4IDE4LjYzOTMgNi44NzUgMTguNDE4QzYuMDgwNzMgMTguMTk2NiA1LjMzNTI5IDE3Ljg4NDEgNC42Mzg2NyAxNy40ODA1QzMuOTQyMDYgMTcuMDcwMyAzLjMwNzI5IDE2LjU4MiAyLjczNDM4IDE2LjAxNTZDMi4xNjc5NyAxNS40NDI3IDEuNjc5NjkgMTQuODA3OSAxLjI2OTUzIDE0LjExMTNDMC44NjU4ODUgMTMuNDE0NyAwLjU1MzM4NSAxMi42NjkzIDAuMzMyMDMxIDExLjg3NUMwLjExMDY3NyAxMS4wNzQyIDAgMTAuMjQwOSAwIDkuMzc1QzAgOC41MDkxMSAwLjExMDY3NyA3LjY3OTA0IDAuMzMyMDMxIDYuODg0NzdDMC41NTMzODUgNi4wODM5OCAwLjg2NTg4NSA1LjMzNTI5IDEuMjY5NTMgNC42Mzg2N0MxLjY3OTY5IDMuOTQyMDYgMi4xNjc5NyAzLjMxMDU1IDIuNzM0MzggMi43NDQxNEMzLjMwNzI5IDIuMTcxMjIgMy45NDIwNiAxLjY4Mjk0IDQuNjM4NjcgMS4yNzkzQzUuMzM1MjkgMC44NjkxNDEgNi4wODA3MyAwLjU1MzM4NSA2Ljg3NSAwLjMzMjAzMUM3LjY3NTc4IDAuMTEwNjc3IDguNTA5MTEgMCA5LjM3NSAwWk05LjM3NSAxNy41QzEwLjExNzIgMTcuNSAxMC44MzMzIDE3LjQwMjMgMTEuNTIzNCAxNy4yMDdDMTIuMjIwMSAxNy4wMTE3IDEyLjg2NzggMTYuNzM4MyAxMy40NjY4IDE2LjM4NjdDMTQuMDcyMyAxNi4wMzUyIDE0LjYyMjQgMTUuNjEyIDE1LjExNzIgMTUuMTE3MkMxNS42MTIgMTQuNjIyNCAxNi4wMzUyIDE0LjA3NTUgMTYuMzg2NyAxMy40NzY2QzE2LjczODMgMTIuODcxMSAxNy4wMTE3IDEyLjIyMzMgMTcuMjA3IDExLjUzMzJDMTcuNDAyMyAxMC44NDMxIDE3LjUgMTAuMTIzNyAxNy41IDkuMzc1QzE3LjUgOC42MzI4MSAxNy40MDIzIDcuOTE2NjcgMTcuMjA3IDcuMjI2NTZDMTcuMDExNyA2LjUyOTk1IDE2LjczODMgNS44ODIxNiAxNi4zODY3IDUuMjgzMkMxNi4wMzUyIDQuNjc3NzMgMTUuNjEyIDQuMTI3NiAxNS4xMTcyIDMuNjMyODFDMTQuNjIyNCAzLjEzODAyIDE0LjA3MjMgMi43MTQ4NCAxMy40NjY4IDIuMzYzMjhDMTIuODY3OCAyLjAxMTcyIDEyLjIyMDEgMS43MzgyOCAxMS41MjM0IDEuNTQyOTdDMTAuODMzMyAxLjM0NzY2IDEwLjExNzIgMS4yNSA5LjM3NSAxLjI1QzguNjI2MyAxLjI1IDcuOTA2OSAxLjM0NzY2IDcuMjE2OCAxLjU0Mjk3QzYuNTI2NjkgMS43MzgyOCA1Ljg3ODkxIDIuMDExNzIgNS4yNzM0NCAyLjM2MzI4QzQuNjc0NDggMi43MTQ4NCA0LjEyNzYgMy4xMzgwMiAzLjYzMjgxIDMuNjMyODFDMy4xMzgwMiA0LjEyNzYgMi43MTQ4NCA0LjY3NzczIDIuMzYzMjggNS4yODMyQzIuMDExNzIgNS44ODIxNiAxLjczODI4IDYuNTI5OTUgMS41NDI5NyA3LjIyNjU2QzEuMzQ3NjYgNy45MTY2NyAxLjI1IDguNjMyODEgMS4yNSA5LjM3NUMxLjI1IDEwLjExNzIgMS4zNDc2NiAxMC44MzY2IDEuNTQyOTcgMTEuNTMzMkMxLjczODI4IDEyLjIyMzMgMi4wMTE3MiAxMi44NzExIDIuMzYzMjggMTMuNDc2NkMyLjcxNDg0IDE0LjA3NTUgMy4xMzgwMiAxNC42MjI0IDMuNjMyODEgMTUuMTE3MkM0LjEyNzYgMTUuNjEyIDQuNjc0NDggMTYuMDM1MiA1LjI3MzQ0IDE2LjM4NjdDNS44Nzg5MSAxNi43MzgzIDYuNTI2NjkgMTcuMDExNyA3LjIxNjggMTcuMjA3QzcuOTA2OSAxNy40MDIzIDguNjI2MyAxNy41IDkuMzc1IDE3LjVaTTguNzUgNUgxMFYxMS4yNUg4Ljc1VjVaTTguNzUgMTIuNUgxMFYxMy43NUg4Ljc1VjEyLjVaIj48L3BhdGg+PC9zdmc+";
|
|
32
|
-
exports.NotificationAlertIcon = NotificationAlertIcon;
|
|
32
|
+
exports.NotificationAlertIcon = NotificationAlertIcon;
|
|
33
|
+
const FileScanInProgressIcon = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjAgMCAyMCAyMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCiAgPHBhdGggZD0iTTYgMkM0Ljg5NTQzIDIgNCAyLjg5NTQzIDQgNFY5LjIwNzAzQzQuMzIyMjggOS4xMTU4OCA0LjY1NjU5IDkuMDUzMzcgNSA5LjAyMjQyVjRDNSAzLjQ0NzcyIDUuNDQ3NzIgMyA2IDNIMTBWNi41QzEwIDcuMzI4NDMgMTAuNjcxNiA4IDExLjUgOEgxNVYxNkMxNSAxNi41NTIzIDE0LjU1MjMgMTcgMTQgMTdIMTAuNDAwM0MxMC4yMTc0IDE3LjM1NzggOS45OTY0NyAxNy42OTI5IDkuNzQyODQgMThIMTRDMTUuMTA0NiAxOCAxNiAxNy4xMDQ2IDE2IDE2VjcuNDE0MjFDMTYgNy4wMTYzOSAxNS44NDIgNi42MzQ4NiAxNS41NjA3IDYuMzUzNTVMMTEuNjQ2NCAyLjQzOTM0QzExLjM2NTEgMi4xNTgwNCAxMC45ODM2IDIgMTAuNTg1OCAySDZaTTE0Ljc5MjkgN0gxMS41QzExLjIyMzkgNyAxMSA2Ljc3NjE0IDExIDYuNVYzLjIwNzExTDE0Ljc5MjkgN1pNMSAxNC41QzEgMTYuOTg1MyAzLjAxNDcyIDE5IDUuNSAxOUM3Ljk4NTI4IDE5IDEwIDE2Ljk4NTMgMTAgMTQuNUMxMCAxMi4wMTQ3IDcuOTg1MjggMTAgNS41IDEwQzMuMDE0NzIgMTAgMSAxMi4wMTQ3IDEgMTQuNVpNNy41IDExLjVDNy43NzYxNCAxMS41IDggMTEuNzIzOSA4IDEyVjEzLjVDOCAxMy43NzYxIDcuNzc2MTQgMTQgNy41IDE0SDZDNS43MjM4NiAxNCA1LjUgMTMuNzc2MSA1LjUgMTMuNUM1LjUgMTMuMjIzOSA1LjcyMzg2IDEzIDYgMTNINi40NjgyMUM2LjQxNzg3IDEyLjk3MjIgNi4zNjYyOCAxMi45NDY0IDYuMzEzNTUgMTIuOTIzQzYuMDY4MjQgMTIuODEzNyA1LjgwMzQ0IDEyLjc1NSA1LjUzNDk1IDEyLjc1MDNDNS4yNjY0NiAxMi43NDU2IDQuOTk5NzcgMTIuNzk1IDQuNzUwNzkgMTIuODk1NkM0LjUwMTggMTIuOTk2MiA0LjI3NTYzIDEzLjE0NTkgNC4wODU3NSAxMy4zMzU4QzMuODkwNDggMTMuNTMxIDMuNTczOSAxMy41MzEgMy4zNzg2NCAxMy4zMzU4QzMuMTgzMzggMTMuMTQwNSAzLjE4MzM4IDEyLjgyMzkgMy4zNzg2NCAxMi42Mjg3QzMuNjYzNDYgMTIuMzQzOSA0LjAwMjczIDEyLjExOTMgNC4zNzYyIDExLjk2ODRDNC43NDk2NyAxMS44MTc1IDUuMTQ5NzEgMTEuNzQzNCA1LjU1MjQ1IDExLjc1MDVDNS45NTUxOCAxMS43NTc1IDYuMzUyMzggMTEuODQ1NiA2LjcyMDM0IDEyLjAwOTRDNi44MTYxNyAxMi4wNTIxIDYuOTA5NTEgMTIuMDk5NyA3IDEyLjE1MTlWMTJDNyAxMS43MjM5IDcuMjIzODYgMTEuNSA3LjUgMTEuNVpNNi42MjM4IDE3LjAzMTZDNi4yNTAzMyAxNy4xODI1IDUuODUwMjkgMTcuMjU2NiA1LjQ0NzU1IDE3LjI0OTVDNS4wNDQ4MiAxNy4yNDI1IDQuNjQ3NjIgMTcuMTU0NCA0LjI3OTY2IDE2Ljk5MDZDNC4xODM4MyAxNi45NDc5IDQuMDkwNDkgMTYuOTAwMyA0IDE2Ljg0ODFWMTdDNCAxNy4yNzYxIDMuNzc2MTQgMTcuNSAzLjUgMTcuNUMzLjIyMzg2IDE3LjUgMyAxNy4yNzYxIDMgMTdWMTUuNUMzIDE1LjIyMzkgMy4yMjM4NiAxNSAzLjUgMTVINUM1LjI3NjE0IDE1IDUuNSAxNS4yMjM5IDUuNSAxNS41QzUuNSAxNS43NzYxIDUuMjc2MTQgMTYgNSAxNkg0LjUzMTc5QzQuNTgyMTMgMTYuMDI3OCA0LjYzMzcyIDE2LjA1MzYgNC42ODY0NSAxNi4wNzdDNC45MzE3NiAxNi4xODYzIDUuMTk2NTYgMTYuMjQ1IDUuNDY1MDUgMTYuMjQ5N0M1LjczMzU0IDE2LjI1NDQgNi4wMDAyMyAxNi4yMDUgNi4yNDkyMSAxNi4xMDQ0QzYuNDk4MiAxNi4wMDM4IDYuNzI0MzcgMTUuODU0MSA2LjkxNDI1IDE1LjY2NDJDNy4xMDk1MSAxNS40NjkgNy40MjYxIDE1LjQ2OSA3LjYyMTM2IDE1LjY2NDJDNy44MTY2MiAxNS44NTk1IDcuODE2NjIgMTYuMTc2MSA3LjYyMTM2IDE2LjM3MTNDNy4zMzY1NCAxNi42NTYxIDYuOTk3MjcgMTYuODgwNyA2LjYyMzggMTcuMDMxNloiIGZpbGw9IiMyMTIxMjEiIC8+DQo8L3N2Zz4=";
|
|
34
|
+
exports.FileScanInProgressIcon = FileScanInProgressIcon;
|
|
35
|
+
const MaliciousFileIcon = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjAgMCAyMCAyMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCiAgPHBhdGggZD0iTTQgNEM0IDIuODk1NDMgNC44OTU0MyAyIDYgMkgxMC41ODU4QzEwLjk4MzYgMiAxMS4zNjUxIDIuMTU4MDQgMTEuNjQ2NCAyLjQzOTM0TDE1LjU2MDcgNi4zNTM1NUMxNS44NDIgNi42MzQ4NiAxNiA3LjAxNjM5IDE2IDcuNDE0MjFWMTZDMTYgMTcuMTA0NiAxNS4xMDQ2IDE4IDE0IDE4SDkuNzQyODRDOS45OTY0NyAxNy42OTI5IDEwLjIxNzQgMTcuMzU3OCAxMC40MDAzIDE3SDE0QzE0LjU1MjMgMTcgMTUgMTYuNTUyMyAxNSAxNlY4SDExLjVDMTAuNjcxNiA4IDEwIDcuMzI4NDMgMTAgNi41VjNINkM1LjQ0NzcyIDMgNSAzLjQ0NzcyIDUgNFY5LjAyMjQyQzQuNjU2NTkgOS4wNTMzNyA0LjMyMjI4IDkuMTE1ODggNCA5LjIwNzAzVjRaTTExIDMuMjA3MTFWNi41QzExIDYuNzc2MTQgMTEuMjIzOSA3IDExLjUgN0gxNC43OTI5TDExIDMuMjA3MTFaTTguNjgxOTkgMTcuNjgyQzYuOTI0NjIgMTkuNDM5NCA0LjA3NTM5IDE5LjQzOTQgMi4zMTgwMiAxNy42ODJDMC41NjA2NTkgMTUuOTI0NiAwLjU2MDY1OSAxMy4wNzU0IDIuMzE4MDIgMTEuMzE4QzQuMDc1MzkgOS41NjA2NiA2LjkyNDYyIDkuNTYwNjYgOC42ODE5OSAxMS4zMThDMTAuNDM5NCAxMy4wNzU0IDEwLjQzOTQgMTUuOTI0NiA4LjY4MTk5IDE3LjY4MlpNMy40MDM3NSAxNy4zMDM0QzQuNzc0NjYgMTguMzMxMiA2LjcyODA5IDE4LjIyMTcgNy45NzQ4OCAxNi45NzQ5QzkuMjIxNjcgMTUuNzI4MSA5LjMzMTE2IDEzLjc3NDcgOC4zMDMzNyAxMi40MDM3TDMuNDAzNzUgMTcuMzAzNFpNMi42OTY2NCAxNi41OTYzTDcuNTk2MjYgMTEuNjk2NkM2LjIyNTM1IDEwLjY2ODggNC4yNzE5MiAxMC43NzgzIDMuMDI1MTMgMTIuMDI1MUMxLjc3ODM0IDEzLjI3MTkgMS42Njg4NSAxNS4yMjU0IDIuNjk2NjQgMTYuNTk2M1oiIGZpbGw9IiMyMTIxMjEiIC8+DQo8L3N2Zz4=";
|
|
36
|
+
exports.MaliciousFileIcon = MaliciousFileIcon;
|
|
37
|
+
const CrossIcon = "data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iIiBmaWxsPSJyZWQiIHN0cm9rZS13aWR0aD0iMyIgZm9jdXNhYmxlPSJmYWxzZSIgaGVpZ2h0PSIxNCIgcm9sZT0icHJlc2VudGF0aW9uIiB2aWV3Qm94PSIwIDAgMTQgMTQiIHdpZHRoPSIxNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNNy43MTA5NCA3TDEzLjEwMTYgMTIuMzk4NEwxMi4zOTg0IDEzLjEwMTZMNyA3LjcxMDk0TDEuNjAxNTYgMTMuMTAxNkwwLjg5ODQzOCAxMi4zOTg0TDYuMjg5MDYgN0wwLjg5ODQzOCAxLjYwMTU2TDEuNjAxNTYgMC44OTg0MzhMNyA2LjI4OTA2TDEyLjM5ODQgMC44OTg0MzhMMTMuMTAxNiAxLjYwMTU2TDcuNzEwOTQgN1oiPjwvcGF0aD48L3N2Zz4=";
|
|
38
|
+
exports.CrossIcon = CrossIcon;
|
|
@@ -9,29 +9,10 @@ var _AriaSDK = require("@microsoft/omnichannel-chat-sdk/lib/external/aria/webjs/
|
|
|
9
9
|
var _Enums = require("@microsoft/omnichannel-chat-sdk/lib/external/aria/common/Enums");
|
|
10
10
|
var _Constants = require("../../Constants");
|
|
11
11
|
var _TelemetryManager = require("../TelemetryManager");
|
|
12
|
-
const AWTDefaultConfiguration = {
|
|
13
|
-
collectorUri: "https://browser.pipe.aria.microsoft.com/Collector/3.0/",
|
|
14
|
-
cacheMemorySizeLimitInNumberOfEvents: 10000,
|
|
15
|
-
disableCookiesUsage: false,
|
|
16
|
-
canSendStatEvent: eventName => {
|
|
17
|
-
return true;
|
|
18
|
-
},
|
|
19
|
-
// eslint-disable-line @typescript-eslint/no-unused-vars
|
|
20
|
-
clockSkewRefreshDurationInMins: 0
|
|
21
|
-
};
|
|
22
12
|
const ariaTelemetryLogger = (ariaTelemetryKey, disabledCookieUsage, collectiorUriForTelemetry, ariaTelemetryApplicationName) => {
|
|
23
13
|
let _logger;
|
|
24
|
-
|
|
25
|
-
// AWTLogManager is a global variable. Reset after a logEvent() is required to prevent collisions with other components using AWTLogManager.
|
|
26
|
-
const resetAriaLogger = function () {
|
|
27
|
-
let configuration = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : AWTDefaultConfiguration;
|
|
28
|
-
_AriaSDK.AWTLogManager.flushAndTeardown();
|
|
29
|
-
_AriaSDK.AWTLogManager._isInitialized = false; // eslint-disable-line @typescript-eslint/no-explicit-any
|
|
30
|
-
_AriaSDK.AWTLogManager._isDestroyed = false; // eslint-disable-line @typescript-eslint/no-explicit-any
|
|
31
|
-
_logger = _AriaSDK.AWTLogManager.initialize(ariaTelemetryKey, configuration);
|
|
32
|
-
};
|
|
33
14
|
const logger = () => {
|
|
34
|
-
if (!(0, _utils.isNullOrEmptyString)(ariaTelemetryKey)) {
|
|
15
|
+
if ((0, _utils.isNullOrUndefined)(_logger) && !(0, _utils.isNullOrEmptyString)(ariaTelemetryKey)) {
|
|
35
16
|
const configuration = {
|
|
36
17
|
disableCookiesUsage: disabledCookieUsage
|
|
37
18
|
};
|
|
@@ -51,7 +32,7 @@ const ariaTelemetryLogger = (ariaTelemetryKey, disabledCookieUsage, collectiorUr
|
|
|
51
32
|
}
|
|
52
33
|
}
|
|
53
34
|
try {
|
|
54
|
-
|
|
35
|
+
_logger = _AriaSDK.AWTLogManager.initialize(ariaTelemetryKey, configuration);
|
|
55
36
|
if (_logger === undefined) {
|
|
56
37
|
_logger = _AriaSDK.AWTLogManager.getLogger(ariaTelemetryKey);
|
|
57
38
|
}
|
|
@@ -93,7 +74,6 @@ const ariaTelemetryLogger = (ariaTelemetryKey, disabledCookieUsage, collectiorUr
|
|
|
93
74
|
eventProperties.properties[ariaTelemetryApplicationName] = nameProperty;
|
|
94
75
|
}
|
|
95
76
|
logger() ? logger().logEvent(eventProperties) : console.log("Unable to initialize aria logger");
|
|
96
|
-
resetAriaLogger();
|
|
97
77
|
} catch (error) {
|
|
98
78
|
console.error("Error in logging telemetry to Aria logger:" + error);
|
|
99
79
|
}
|
package/lib/cjs/common/utils.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.setTabIndices = exports.setFocusOnSendBox = exports.setFocusOnElement = exports.preventFocusToMoveOutOfElement = exports.parseAdaptiveCardPayload = exports.newGuid = exports.isUndefinedOrEmpty = exports.isNullOrUndefined = exports.isNullOrEmptyString = exports.getWidgetEndChatEventName = exports.getWidgetCacheIdfromProps = exports.getWidgetCacheId = exports.getTimestampHourMinute = exports.getStateFromCache = exports.getLocaleDirection = exports.getIconText = exports.getDomain = exports.getConversationDetailsCall = exports.getBroadcastChannelName = exports.findParentFocusableElementsWithoutChildContainer = exports.findAllFocusableElement = exports.extractPreChatSurveyResponseValues = exports.escapeHtml = exports.debounceLeading = exports.createTimer = exports.createFileAndDownload = exports.checkContactIdError = exports.changeLanguageCodeFormatForWebChat = exports.addDelayInMs = void 0;
|
|
6
|
+
exports.setTabIndices = exports.setFocusOnSendBox = exports.setFocusOnElement = exports.preventFocusToMoveOutOfElement = exports.parseAdaptiveCardPayload = exports.newGuid = exports.isUndefinedOrEmpty = exports.isNullOrUndefined = exports.isNullOrEmptyString = exports.getWidgetEndChatEventName = exports.getWidgetCacheIdfromProps = exports.getWidgetCacheId = exports.getTimestampHourMinute = exports.getStateFromCache = exports.getLocaleDirection = exports.getIconText = exports.getDomain = exports.getConversationDetailsCall = exports.getBroadcastChannelName = exports.formatTemplateString = exports.findParentFocusableElementsWithoutChildContainer = exports.findAllFocusableElement = exports.extractPreChatSurveyResponseValues = exports.escapeHtml = exports.debounceLeading = exports.createTimer = exports.createFileAndDownload = exports.checkContactIdError = exports.changeLanguageCodeFormatForWebChat = exports.addDelayInMs = void 0;
|
|
7
7
|
var _Constants = require("./Constants");
|
|
8
8
|
var _TelemetryConstants = require("./telemetry/TelemetryConstants");
|
|
9
9
|
var _omnichannelChatComponents = require("@microsoft/omnichannel-chat-components");
|
|
@@ -431,4 +431,21 @@ const createFileAndDownload = (fileName, blobData, mimeType) => {
|
|
|
431
431
|
aElement.click();
|
|
432
432
|
document.body.removeChild(aElement);
|
|
433
433
|
};
|
|
434
|
-
|
|
434
|
+
|
|
435
|
+
/**
|
|
436
|
+
*
|
|
437
|
+
* Replace placeholders with format {0}..{n} , in a string with values
|
|
438
|
+
*
|
|
439
|
+
* @param template String with placeholders to be replaced
|
|
440
|
+
* @param values array of values to replace the placeholders
|
|
441
|
+
* @returns formatted string with replaced values
|
|
442
|
+
*/
|
|
443
|
+
// use of any for values as array of any type is passed
|
|
444
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
445
|
+
exports.createFileAndDownload = createFileAndDownload;
|
|
446
|
+
const formatTemplateString = (templateMessage, values) => {
|
|
447
|
+
return templateMessage.replace(/{(\d+)}/g, (match, index) => {
|
|
448
|
+
return typeof values[index] !== "undefined" ? values[index] : match;
|
|
449
|
+
});
|
|
450
|
+
};
|
|
451
|
+
exports.formatTemplateString = formatTemplateString;
|
|
@@ -16,6 +16,7 @@ var _Constants = require("../../common/Constants");
|
|
|
16
16
|
var _TelemetryHelper = require("../../common/telemetry/TelemetryHelper");
|
|
17
17
|
var _useChatContextStore = _interopRequireDefault(require("../../hooks/useChatContextStore"));
|
|
18
18
|
var _useChatSDKStore = _interopRequireDefault(require("../../hooks/useChatSDKStore"));
|
|
19
|
+
var _defaultMiddlewareLocalizedTexts = require("../webchatcontainerstateful/common/defaultProps/defaultMiddlewareLocalizedTexts");
|
|
19
20
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
20
21
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
21
22
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
@@ -55,6 +56,7 @@ const EmailTranscriptPaneStateful = props => {
|
|
|
55
56
|
};
|
|
56
57
|
try {
|
|
57
58
|
await (chatSDK === null || chatSDK === void 0 ? void 0 : chatSDK.emailLiveChatTranscript(chatTranscriptBody));
|
|
59
|
+
_NotificationHandler.NotificationHandler.notifySuccess(_NotificationScenarios.NotificationScenarios.EmailAddressSaved, _defaultMiddlewareLocalizedTexts.defaultMiddlewareLocalizedTexts === null || _defaultMiddlewareLocalizedTexts.defaultMiddlewareLocalizedTexts === void 0 ? void 0 : _defaultMiddlewareLocalizedTexts.defaultMiddlewareLocalizedTexts.MIDDLEWARE_BANNER_FILE_EMAIL_ADDRESS_RECORDED_SUCCESS);
|
|
58
60
|
_TelemetryHelper.TelemetryHelper.logActionEvent(_TelemetryConstants.LogLevel.INFO, {
|
|
59
61
|
Event: _TelemetryConstants.TelemetryEvent.EmailTranscriptSent,
|
|
60
62
|
Description: "Transcript sent to email successfully."
|
|
@@ -66,7 +68,8 @@ const EmailTranscriptPaneStateful = props => {
|
|
|
66
68
|
exception: ex
|
|
67
69
|
}
|
|
68
70
|
});
|
|
69
|
-
|
|
71
|
+
const message = (0, _utils.formatTemplateString)(_defaultMiddlewareLocalizedTexts.defaultMiddlewareLocalizedTexts.MIDDLEWARE_BANNER_FILE_EMAIL_ADDRESS_RECORDED_ERROR, [email]);
|
|
72
|
+
_NotificationHandler.NotificationHandler.notifyError(_NotificationScenarios.NotificationScenarios.EmailTranscriptError, (props === null || props === void 0 ? void 0 : props.bannerMessageOnError) ?? message);
|
|
70
73
|
}
|
|
71
74
|
},
|
|
72
75
|
onCancel: () => {
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.prepareEndChat = exports.endChat = void 0;
|
|
6
|
+
exports.prepareEndChat = exports.endVoiceVideoCallIfOngoing = exports.endChatStateCleanUp = exports.endChat = exports.closeChatStateCleanUp = exports.callingStateCleanUp = void 0;
|
|
7
7
|
var _Constants = require("../../../common/Constants");
|
|
8
8
|
var _TelemetryConstants = require("../../../common/telemetry/TelemetryConstants");
|
|
9
9
|
var _authHelper = require("./authHelper");
|
|
@@ -15,33 +15,42 @@ var _LiveChatWidgetActionType = require("../../../contexts/common/LiveChatWidget
|
|
|
15
15
|
var _TelemetryHelper = require("../../../common/telemetry/TelemetryHelper");
|
|
16
16
|
var _WebChatStoreLoader = require("../../webchatcontainerstateful/webchatcontroller/WebChatStoreLoader");
|
|
17
17
|
var _defaultWebChatContainerStatefulProps = require("../../webchatcontainerstateful/common/defaultProps/defaultWebChatContainerStatefulProps");
|
|
18
|
+
var _TelemetryManager = require("../../../common/telemetry/TelemetryManager");
|
|
18
19
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
19
|
-
const prepareEndChat = async (props, chatSDK, state, dispatch, setAdapter, setWebChatStyles, adapter
|
|
20
|
+
const prepareEndChat = async (props, chatSDK, state, dispatch, setAdapter, setWebChatStyles, adapter) => {
|
|
20
21
|
try {
|
|
21
|
-
var _conversationDetails$, _state$domainStates
|
|
22
|
+
var _conversationDetails$, _state$domainStates;
|
|
23
|
+
// Use Case: If call is ongoing, end the call by simulating end call button click
|
|
24
|
+
endVoiceVideoCallIfOngoing(chatSDK, dispatch);
|
|
22
25
|
const conversationDetails = await (0, _utils.getConversationDetailsCall)(chatSDK);
|
|
23
26
|
|
|
24
|
-
// Use Case
|
|
27
|
+
// Use Case: When post chat is not configured
|
|
25
28
|
if ((conversationDetails === null || conversationDetails === void 0 ? void 0 : (_conversationDetails$ = conversationDetails.canRenderPostChat) === null || _conversationDetails$ === void 0 ? void 0 : _conversationDetails$.toLowerCase()) === _Constants.Constants.false) {
|
|
26
29
|
var _state$appStates;
|
|
27
30
|
// If ended by customer, just close chat
|
|
28
31
|
if ((state === null || state === void 0 ? void 0 : (_state$appStates = state.appStates) === null || _state$appStates === void 0 ? void 0 : _state$appStates.conversationEndedBy) === _Constants.ConversationEndEntity.Customer) {
|
|
29
|
-
await endChat(props, chatSDK, state, dispatch, setAdapter, setWebChatStyles, adapter, false, false, true
|
|
32
|
+
await endChat(props, chatSDK, state, dispatch, setAdapter, setWebChatStyles, adapter, false, false, true);
|
|
30
33
|
}
|
|
31
|
-
//Use Case: If ended by Agent, stay chat in InActive state
|
|
34
|
+
// Use Case: If ended by Agent, stay chat in InActive state
|
|
32
35
|
return;
|
|
33
36
|
}
|
|
34
37
|
|
|
35
|
-
//
|
|
36
|
-
|
|
38
|
+
// Register post chat participant type
|
|
39
|
+
if ((conversationDetails === null || conversationDetails === void 0 ? void 0 : conversationDetails.participantType) === _Constants.ParticipantType.Bot || (conversationDetails === null || conversationDetails === void 0 ? void 0 : conversationDetails.participantType) === _Constants.ParticipantType.User) {
|
|
40
|
+
dispatch({
|
|
41
|
+
type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_POST_CHAT_PARTICIPANT_TYPE,
|
|
42
|
+
payload: conversationDetails === null || conversationDetails === void 0 ? void 0 : conversationDetails.participantType
|
|
43
|
+
});
|
|
44
|
+
}
|
|
37
45
|
|
|
46
|
+
// Use Case: Can render post chat scenarios
|
|
38
47
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
39
|
-
const postchatContext = state === null || state === void 0 ? void 0 : (_state$domainStates = state.domainStates) === null || _state$domainStates === void 0 ? void 0 : _state$domainStates.postChatContext;
|
|
48
|
+
const postchatContext = (await (0, _renderSurveyHelpers.getPostChatContext)(chatSDK, state, dispatch)) ?? (state === null || state === void 0 ? void 0 : (_state$domainStates = state.domainStates) === null || _state$domainStates === void 0 ? void 0 : _state$domainStates.postChatContext);
|
|
40
49
|
if (postchatContext === undefined) {
|
|
41
50
|
var _state$appStates2;
|
|
42
51
|
// For Customer intiated conversations, just close chat widget
|
|
43
52
|
if ((state === null || state === void 0 ? void 0 : (_state$appStates2 = state.appStates) === null || _state$appStates2 === void 0 ? void 0 : _state$appStates2.conversationEndedBy) === _Constants.ConversationEndEntity.Customer) {
|
|
44
|
-
await endChat(props, chatSDK, state, dispatch, setAdapter, setWebChatStyles, adapter, false, false, true
|
|
53
|
+
await endChat(props, chatSDK, state, dispatch, setAdapter, setWebChatStyles, adapter, false, false, true);
|
|
45
54
|
return;
|
|
46
55
|
}
|
|
47
56
|
|
|
@@ -52,10 +61,10 @@ const prepareEndChat = async (props, chatSDK, state, dispatch, setAdapter, setWe
|
|
|
52
61
|
});
|
|
53
62
|
return;
|
|
54
63
|
}
|
|
55
|
-
endChat(props, chatSDK, state, dispatch, setAdapter, setWebChatStyles, adapter, false, true, true
|
|
64
|
+
endChat(props, chatSDK, state, dispatch, setAdapter, setWebChatStyles, adapter, false, true, true);
|
|
56
65
|
|
|
57
66
|
// Initiate post chat render
|
|
58
|
-
if (
|
|
67
|
+
if (postchatContext) {
|
|
59
68
|
await (0, _renderSurveyHelpers.initiatePostChat)(props, conversationDetails, state, dispatch, postchatContext);
|
|
60
69
|
return;
|
|
61
70
|
}
|
|
@@ -70,7 +79,7 @@ const prepareEndChat = async (props, chatSDK, state, dispatch, setAdapter, setWe
|
|
|
70
79
|
|
|
71
80
|
//Close chat widget for any failure in embedded to allow to show start chat button
|
|
72
81
|
if (((_props$controlProps = props.controlProps) === null || _props$controlProps === void 0 ? void 0 : _props$controlProps.hideStartChatButton) === false) {
|
|
73
|
-
await endChat(props, chatSDK, state, dispatch, setAdapter, setWebChatStyles, adapter, false, false, true
|
|
82
|
+
await endChat(props, chatSDK, state, dispatch, setAdapter, setWebChatStyles, adapter, false, false, true);
|
|
74
83
|
}
|
|
75
84
|
} finally {
|
|
76
85
|
//Chat token clean up
|
|
@@ -80,8 +89,7 @@ const prepareEndChat = async (props, chatSDK, state, dispatch, setAdapter, setWe
|
|
|
80
89
|
|
|
81
90
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
82
91
|
exports.prepareEndChat = prepareEndChat;
|
|
83
|
-
const endChat = async
|
|
84
|
-
let uwid = arguments.length > 10 && arguments[10] !== undefined ? arguments[10] : "";
|
|
92
|
+
const endChat = async (props, chatSDK, state, dispatch, setAdapter, setWebChatStyles, adapter, skipEndChatSDK, skipCloseChat, postMessageToOtherTab) => {
|
|
85
93
|
if (!skipEndChatSDK && chatSDK.conversation) {
|
|
86
94
|
try {
|
|
87
95
|
_TelemetryHelper.TelemetryHelper.logSDKEvent(_TelemetryConstants.LogLevel.INFO, {
|
|
@@ -133,15 +141,40 @@ const endChat = async function (props, chatSDK, state, dispatch, setAdapter, set
|
|
|
133
141
|
closeChatWidget(dispatch, props, state);
|
|
134
142
|
}
|
|
135
143
|
}
|
|
136
|
-
if (postMessageToOtherTab
|
|
144
|
+
if (postMessageToOtherTab) {
|
|
137
145
|
const endChatEventName = await getEndChatEventName(chatSDK, props);
|
|
138
146
|
_omnichannelChatComponents.BroadcastService.postMessage({
|
|
139
147
|
eventName: endChatEventName,
|
|
140
|
-
payload:
|
|
148
|
+
payload: {
|
|
149
|
+
runtimeId: _TelemetryManager.TelemetryManager.InternalTelemetryData.lcwRuntimeId
|
|
150
|
+
}
|
|
141
151
|
});
|
|
142
152
|
}
|
|
143
153
|
};
|
|
144
154
|
exports.endChat = endChat;
|
|
155
|
+
const callingStateCleanUp = async dispatch => {
|
|
156
|
+
dispatch({
|
|
157
|
+
type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SHOW_CALLING_CONTAINER,
|
|
158
|
+
payload: false
|
|
159
|
+
});
|
|
160
|
+
dispatch({
|
|
161
|
+
type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_INCOMING_CALL,
|
|
162
|
+
payload: true
|
|
163
|
+
});
|
|
164
|
+
dispatch({
|
|
165
|
+
type: _LiveChatWidgetActionType.LiveChatWidgetActionType.DISABLE_VIDEO_CALL,
|
|
166
|
+
payload: true
|
|
167
|
+
});
|
|
168
|
+
dispatch({
|
|
169
|
+
type: _LiveChatWidgetActionType.LiveChatWidgetActionType.DISABLE_LOCAL_VIDEO,
|
|
170
|
+
payload: true
|
|
171
|
+
});
|
|
172
|
+
dispatch({
|
|
173
|
+
type: _LiveChatWidgetActionType.LiveChatWidgetActionType.DISABLE_REMOTE_VIDEO,
|
|
174
|
+
payload: true
|
|
175
|
+
});
|
|
176
|
+
};
|
|
177
|
+
exports.callingStateCleanUp = callingStateCleanUp;
|
|
145
178
|
const endChatStateCleanUp = async dispatch => {
|
|
146
179
|
// Need to clear these states immediately when chat ended from OC.
|
|
147
180
|
dispatch({
|
|
@@ -157,6 +190,7 @@ const endChatStateCleanUp = async dispatch => {
|
|
|
157
190
|
payload: false
|
|
158
191
|
});
|
|
159
192
|
};
|
|
193
|
+
exports.endChatStateCleanUp = endChatStateCleanUp;
|
|
160
194
|
const closeChatStateCleanUp = async dispatch => {
|
|
161
195
|
dispatch({
|
|
162
196
|
type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CHAT_TOKEN,
|
|
@@ -192,6 +226,32 @@ const closeChatStateCleanUp = async dispatch => {
|
|
|
192
226
|
}
|
|
193
227
|
});
|
|
194
228
|
};
|
|
229
|
+
|
|
230
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
231
|
+
exports.closeChatStateCleanUp = closeChatStateCleanUp;
|
|
232
|
+
const endVoiceVideoCallIfOngoing = async (chatSDK, dispatch) => {
|
|
233
|
+
let callId = "";
|
|
234
|
+
try {
|
|
235
|
+
const voiceVideoCallingSdk = await chatSDK.getVoiceVideoCalling();
|
|
236
|
+
if (voiceVideoCallingSdk && voiceVideoCallingSdk.isInACall()) {
|
|
237
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
238
|
+
callId = voiceVideoCallingSdk.callId;
|
|
239
|
+
voiceVideoCallingSdk.stopCall();
|
|
240
|
+
_TelemetryHelper.TelemetryHelper.logCallingEvent(_TelemetryConstants.LogLevel.INFO, {
|
|
241
|
+
Event: _TelemetryConstants.TelemetryEvent.EndCallButtonClick
|
|
242
|
+
}, callId);
|
|
243
|
+
callingStateCleanUp(dispatch);
|
|
244
|
+
}
|
|
245
|
+
} catch (error) {
|
|
246
|
+
_TelemetryHelper.TelemetryHelper.logCallingEvent(_TelemetryConstants.LogLevel.ERROR, {
|
|
247
|
+
Event: _TelemetryConstants.TelemetryEvent.EndCallButtonClickException,
|
|
248
|
+
ExceptionDetails: {
|
|
249
|
+
exception: `Failed to End Call: ${error}`
|
|
250
|
+
}
|
|
251
|
+
}, callId);
|
|
252
|
+
}
|
|
253
|
+
};
|
|
254
|
+
exports.endVoiceVideoCallIfOngoing = endVoiceVideoCallIfOngoing;
|
|
195
255
|
const closeChatWidget = (dispatch, props, state) => {
|
|
196
256
|
var _state$appStates3;
|
|
197
257
|
if (state !== null && state !== void 0 && (_state$appStates3 = state.appStates) !== null && _state$appStates3 !== void 0 && _state$appStates3.hideStartChatButton) {
|
|
@@ -69,6 +69,12 @@ const initWebChatComposer = (props, state, dispatch, chatSDK, endChat) => {
|
|
|
69
69
|
payload: _Constants.ConversationEndEntity.Agent
|
|
70
70
|
});
|
|
71
71
|
}
|
|
72
|
+
if ((conversationDetails === null || conversationDetails === void 0 ? void 0 : conversationDetails.participantType) === _Constants.ParticipantType.Bot || (conversationDetails === null || conversationDetails === void 0 ? void 0 : conversationDetails.participantType) === _Constants.ParticipantType.User) {
|
|
73
|
+
dispatch({
|
|
74
|
+
type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_POST_CHAT_PARTICIPANT_TYPE,
|
|
75
|
+
payload: conversationDetails === null || conversationDetails === void 0 ? void 0 : conversationDetails.participantType
|
|
76
|
+
});
|
|
77
|
+
}
|
|
72
78
|
_TelemetryHelper.TelemetryHelper.logActionEvent(_TelemetryConstants.LogLevel.INFO, {
|
|
73
79
|
Event: _TelemetryConstants.TelemetryEvent.ConversationEndedThreadEventReceived,
|
|
74
80
|
Description: "Conversation end by agent side or by timeout event received."
|
|
@@ -48,24 +48,25 @@ const setSurveyMode = async (props, participantType, state, dispatch) => {
|
|
|
48
48
|
return;
|
|
49
49
|
}
|
|
50
50
|
};
|
|
51
|
-
|
|
51
|
+
|
|
52
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
53
|
+
const renderSurvey = async (postChatContext, dispatch) => {
|
|
52
54
|
if (postChatSurveyMode === _PostChatSurveyMode.PostChatSurveyMode.Link) {
|
|
53
55
|
setWidgetStateToInactive(dispatch);
|
|
54
56
|
return;
|
|
55
57
|
}
|
|
56
58
|
if (postChatSurveyMode === _PostChatSurveyMode.PostChatSurveyMode.Embed) {
|
|
57
|
-
await embedModePostChatWorkflow(
|
|
59
|
+
await embedModePostChatWorkflow(postChatContext, dispatch);
|
|
58
60
|
}
|
|
59
61
|
};
|
|
60
62
|
|
|
61
63
|
// Function for embed mode postchat workflow which is essentially same for both customer and agent
|
|
62
64
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
63
|
-
const embedModePostChatWorkflow = async (
|
|
64
|
-
var _state$domainStates2;
|
|
65
|
+
const embedModePostChatWorkflow = async (postChatContext, dispatch) => {
|
|
65
66
|
_TelemetryHelper.TelemetryHelper.logActionEvent(_TelemetryConstants.LogLevel.INFO, {
|
|
66
67
|
Event: _TelemetryConstants.TelemetryEvent.EmbedModePostChatWorkflowStarted
|
|
67
68
|
});
|
|
68
|
-
if (
|
|
69
|
+
if (postChatContext) {
|
|
69
70
|
dispatch({
|
|
70
71
|
type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CONVERSATION_STATE,
|
|
71
72
|
payload: _ConversationState.ConversationState.PostchatLoading
|
|
@@ -76,7 +77,7 @@ const embedModePostChatWorkflow = async (state, dispatch) => {
|
|
|
76
77
|
payload: _ConversationState.ConversationState.Postchat
|
|
77
78
|
});
|
|
78
79
|
} else {
|
|
79
|
-
const error = `Conversation was Ended but App State was not set correctly: postChatContext = ${
|
|
80
|
+
const error = `Conversation was Ended but App State was not set correctly: postChatContext = ${postChatContext}`;
|
|
80
81
|
_TelemetryHelper.TelemetryHelper.logActionEvent(_TelemetryConstants.LogLevel.ERROR, {
|
|
81
82
|
Event: _TelemetryConstants.TelemetryEvent.AppStatesException,
|
|
82
83
|
ExceptionDetails: {
|
|
@@ -92,7 +93,7 @@ const initiatePostChat = async (props, conversationDetailsParam, state, dispatch
|
|
|
92
93
|
conversationDetails = conversationDetailsParam;
|
|
93
94
|
const participantType = ((_conversationDetails = conversationDetails) === null || _conversationDetails === void 0 ? void 0 : _conversationDetails.participantType) ?? postchatContext.participantType;
|
|
94
95
|
await setSurveyMode(props, participantType, state, dispatch);
|
|
95
|
-
await renderSurvey(
|
|
96
|
+
await renderSurvey(postchatContext, dispatch);
|
|
96
97
|
};
|
|
97
98
|
|
|
98
99
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
@@ -107,8 +108,8 @@ const isPostChatEnabled = (props, state) => {
|
|
|
107
108
|
exports.checkPostChatEnabled = isPostChatEnabled;
|
|
108
109
|
const getPostChatContext = async (chatSDK, state, dispatch) => {
|
|
109
110
|
try {
|
|
110
|
-
var _state$
|
|
111
|
-
if ((state === null || state === void 0 ? void 0 : (_state$
|
|
111
|
+
var _state$domainStates2;
|
|
112
|
+
if ((state === null || state === void 0 ? void 0 : (_state$domainStates2 = state.domainStates) === null || _state$domainStates2 === void 0 ? void 0 : _state$domainStates2.postChatContext) === undefined) {
|
|
112
113
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
113
114
|
const context = await chatSDK.getPostChatSurveyContext();
|
|
114
115
|
_TelemetryHelper.TelemetryHelper.logSDKEvent(_TelemetryConstants.LogLevel.INFO, {
|
|
@@ -119,6 +120,7 @@ const getPostChatContext = async (chatSDK, state, dispatch) => {
|
|
|
119
120
|
type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_POST_CHAT_CONTEXT,
|
|
120
121
|
payload: context
|
|
121
122
|
});
|
|
123
|
+
return context;
|
|
122
124
|
}
|
|
123
125
|
} catch (error) {
|
|
124
126
|
_TelemetryHelper.TelemetryHelper.logSDKEvent(_TelemetryConstants.LogLevel.INFO, {
|
|
@@ -54,12 +54,14 @@ var _startProactiveChat = require("../common/startProactiveChat");
|
|
|
54
54
|
var _useChatAdapterStore = _interopRequireDefault(require("../../../hooks/useChatAdapterStore"));
|
|
55
55
|
var _useChatContextStore = _interopRequireDefault(require("../../../hooks/useChatContextStore"));
|
|
56
56
|
var _useChatSDKStore = _interopRequireDefault(require("../../../hooks/useChatSDKStore"));
|
|
57
|
+
var _defaultAdaptiveCardStyles = require("../../webchatcontainerstateful/common/defaultStyles/defaultAdaptiveCardStyles");
|
|
58
|
+
var _omnichannelChatSdk = require("@microsoft/omnichannel-chat-sdk");
|
|
57
59
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
58
60
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
59
61
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
60
62
|
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
61
63
|
const LiveChatWidgetStateful = props => {
|
|
62
|
-
var _props$webChatContain, _props$styleProps, _chatSDK$omnichannelC, _props$controlProps, _props$controlProps2, _state$appStates7, _props$webChatContain5, _state$appStates14, _props$webChatContain6, _props$controlProps11, _props$draggableChatW, _props$draggableChatW2, _props$draggableChatW3, _props$draggableChatW4, _props$draggableChatW5, _livechatProps$webCha, _livechatProps$styleP, _livechatProps$contro, _livechatProps$contro2, _livechatProps$compon, _livechatProps$contro3, _livechatProps$compon2, _livechatProps$contro4, _livechatProps$compon3, _livechatProps$contro5, _livechatProps$compon4, _livechatProps$contro6, _livechatProps$compon5, _livechatProps$contro7, _livechatProps$compon6, _livechatProps$contro8, _livechatProps$compon7, _livechatProps$contro9, _livechatProps$contro10, _livechatProps$compon8, _livechatProps$contro11, _livechatProps$compon9, _livechatProps$contro12, _livechatProps$compon10, _livechatProps$compon11, _livechatProps$compon12;
|
|
64
|
+
var _props$webChatContain, _props$styleProps, _chatSDK$omnichannelC, _props$controlProps, _props$controlProps2, _state$appStates7, _props$webChatContain5, _state$appStates14, _props$webChatContain6, _props$controlProps11, _props$draggableChatW, _props$draggableChatW2, _props$draggableChatW3, _props$draggableChatW4, _props$draggableChatW5, _props$webChatContain7, _props$webChatContain8, _props$webChatContain9, _props$webChatContain10, _livechatProps$webCha, _livechatProps$styleP, _livechatProps$contro, _livechatProps$contro2, _livechatProps$compon, _livechatProps$contro3, _livechatProps$compon2, _livechatProps$contro4, _livechatProps$compon3, _livechatProps$contro5, _livechatProps$compon4, _livechatProps$contro6, _livechatProps$compon5, _livechatProps$contro7, _livechatProps$compon6, _livechatProps$contro8, _livechatProps$compon7, _livechatProps$contro9, _livechatProps$contro10, _livechatProps$compon8, _livechatProps$contro11, _livechatProps$compon9, _livechatProps$contro12, _livechatProps$compon10, _livechatProps$compon11, _livechatProps$compon12;
|
|
63
65
|
const [state, dispatch] = (0, _useChatContextStore.default)();
|
|
64
66
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
65
67
|
const [adapter, setAdapter] = (0, _useChatAdapterStore.default)();
|
|
@@ -92,8 +94,6 @@ const LiveChatWidgetStateful = props => {
|
|
|
92
94
|
const lastLWICheckTimeRef = (0, _react2.useRef)(0);
|
|
93
95
|
let optionalParams;
|
|
94
96
|
let activeCachedChatExist = false;
|
|
95
|
-
const uwid = (0, _react2.useRef)(""); // its an uniqueid per chatr instance
|
|
96
|
-
|
|
97
97
|
const setOptionalParams = () => {
|
|
98
98
|
var _state$appStates, _state$domainStates, _state$appStates3;
|
|
99
99
|
if (!(0, _utils.isUndefinedOrEmpty)((_state$appStates = state.appStates) === null || _state$appStates === void 0 ? void 0 : _state$appStates.reconnectId)) {
|
|
@@ -194,7 +194,6 @@ const LiveChatWidgetStateful = props => {
|
|
|
194
194
|
setupClientDataStore();
|
|
195
195
|
(0, _registerTelemetryLoggers.registerTelemetryLoggers)(props, dispatch);
|
|
196
196
|
(0, _createInternetConnectionChangeHandler.createInternetConnectionChangeHandler)();
|
|
197
|
-
uwid.current = (0, _utils.newGuid)();
|
|
198
197
|
dispatch({
|
|
199
198
|
type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_WIDGET_ELEMENT_ID,
|
|
200
199
|
payload: widgetElementId
|
|
@@ -327,23 +326,27 @@ const LiveChatWidgetStateful = props => {
|
|
|
327
326
|
|
|
328
327
|
// Start chat from SDK Event
|
|
329
328
|
_omnichannelChatComponents.BroadcastService.getMessageByEventName(_TelemetryConstants.BroadcastEvent.StartChat).subscribe(msg => {
|
|
330
|
-
var _msg$payload4;
|
|
329
|
+
var _msg$payload4, _msg$payload5, _msg$payload6;
|
|
330
|
+
// If the startChat event is not initiated by the same tab. Ignore the call
|
|
331
|
+
if (!(0, _utils.isNullOrUndefined)(msg === null || msg === void 0 ? void 0 : (_msg$payload4 = msg.payload) === null || _msg$payload4 === void 0 ? void 0 : _msg$payload4.runtimeId) && (msg === null || msg === void 0 ? void 0 : (_msg$payload5 = msg.payload) === null || _msg$payload5 === void 0 ? void 0 : _msg$payload5.runtimeId) !== _TelemetryManager.TelemetryManager.InternalTelemetryData.lcwRuntimeId) {
|
|
332
|
+
return;
|
|
333
|
+
}
|
|
331
334
|
let stateWithUpdatedContext = state;
|
|
332
|
-
if (msg !== null && msg !== void 0 && (_msg$
|
|
333
|
-
var _msg$
|
|
335
|
+
if (msg !== null && msg !== void 0 && (_msg$payload6 = msg.payload) !== null && _msg$payload6 !== void 0 && _msg$payload6.customContext) {
|
|
336
|
+
var _msg$payload7, _msg$payload8;
|
|
334
337
|
_TelemetryHelper.TelemetryHelper.logActionEvent(_TelemetryConstants.LogLevel.INFO, {
|
|
335
338
|
Event: _TelemetryConstants.TelemetryEvent.CustomContextReceived,
|
|
336
339
|
Description: "CustomContext received through startChat event."
|
|
337
340
|
});
|
|
338
341
|
dispatch({
|
|
339
342
|
type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CUSTOM_CONTEXT,
|
|
340
|
-
payload: msg === null || msg === void 0 ? void 0 : (_msg$
|
|
343
|
+
payload: msg === null || msg === void 0 ? void 0 : (_msg$payload7 = msg.payload) === null || _msg$payload7 === void 0 ? void 0 : _msg$payload7.customContext
|
|
341
344
|
});
|
|
342
345
|
stateWithUpdatedContext = {
|
|
343
346
|
...state,
|
|
344
347
|
domainStates: {
|
|
345
348
|
...state.domainStates,
|
|
346
|
-
customContext: msg === null || msg === void 0 ? void 0 : (_msg$
|
|
349
|
+
customContext: msg === null || msg === void 0 ? void 0 : (_msg$payload8 = msg.payload) === null || _msg$payload8 === void 0 ? void 0 : _msg$payload8.customContext
|
|
347
350
|
}
|
|
348
351
|
};
|
|
349
352
|
}
|
|
@@ -421,9 +424,16 @@ const LiveChatWidgetStateful = props => {
|
|
|
421
424
|
// Listen to end chat event from other tabs
|
|
422
425
|
const endChatEventName = (0, _utils.getWidgetEndChatEventName)(chatSDK === null || chatSDK === void 0 ? void 0 : (_chatSDK$omnichannelC2 = chatSDK.omnichannelConfig) === null || _chatSDK$omnichannelC2 === void 0 ? void 0 : _chatSDK$omnichannelC2.orgId, chatSDK === null || chatSDK === void 0 ? void 0 : (_chatSDK$omnichannelC3 = chatSDK.omnichannelConfig) === null || _chatSDK$omnichannelC3 === void 0 ? void 0 : _chatSDK$omnichannelC3.widgetId, ((_props$controlProps10 = props.controlProps) === null || _props$controlProps10 === void 0 ? void 0 : _props$controlProps10.widgetInstanceId) ?? "");
|
|
423
426
|
_omnichannelChatComponents.BroadcastService.getMessageByEventName(endChatEventName).subscribe(msg => {
|
|
424
|
-
|
|
425
|
-
if (msg.payload !==
|
|
427
|
+
var _msg$payload9;
|
|
428
|
+
if ((msg === null || msg === void 0 ? void 0 : (_msg$payload9 = msg.payload) === null || _msg$payload9 === void 0 ? void 0 : _msg$payload9.runtimeId) !== _TelemetryManager.TelemetryManager.InternalTelemetryData.lcwRuntimeId) {
|
|
426
429
|
(0, _endChat.endChat)(props, chatSDK, state, dispatch, setAdapter, setWebChatStyles, adapter, true, false, false);
|
|
430
|
+
(0, _endChat.endChatStateCleanUp)(dispatch);
|
|
431
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
432
|
+
chatSDK.requestId = (0, _omnichannelChatSdk.uuidv4)();
|
|
433
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
434
|
+
chatSDK.chatToken = {};
|
|
435
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
436
|
+
chatSDK.reconnectId = null;
|
|
427
437
|
return;
|
|
428
438
|
}
|
|
429
439
|
});
|
|
@@ -551,13 +561,13 @@ const LiveChatWidgetStateful = props => {
|
|
|
551
561
|
|
|
552
562
|
// If start chat failed, and C2 is trying to close chat widget
|
|
553
563
|
if (state !== null && state !== void 0 && (_state$appStates9 = state.appStates) !== null && _state$appStates9 !== void 0 && _state$appStates9.startChatFailed || (state === null || state === void 0 ? void 0 : (_state$appStates10 = state.appStates) === null || _state$appStates10 === void 0 ? void 0 : _state$appStates10.conversationState) === _ConversationState.ConversationState.Postchat) {
|
|
554
|
-
(0, _endChat.endChat)(props, chatSDK, state, dispatch, setAdapter, setWebChatStyles, adapter, true, false, true
|
|
564
|
+
(0, _endChat.endChat)(props, chatSDK, state, dispatch, setAdapter, setWebChatStyles, adapter, true, false, true);
|
|
555
565
|
return;
|
|
556
566
|
}
|
|
557
567
|
|
|
558
568
|
// Scenario -> Chat was InActive and closing the chat (Refresh scenario on post chat)
|
|
559
569
|
if ((state === null || state === void 0 ? void 0 : (_state$appStates11 = state.appStates) === null || _state$appStates11 === void 0 ? void 0 : _state$appStates11.conversationState) === _ConversationState.ConversationState.InActive) {
|
|
560
|
-
(0, _endChat.endChat)(props, chatSDK, state, dispatch, setAdapter, setWebChatStyles, adapter, false, false, true
|
|
570
|
+
(0, _endChat.endChat)(props, chatSDK, state, dispatch, setAdapter, setWebChatStyles, adapter, false, false, true);
|
|
561
571
|
return;
|
|
562
572
|
}
|
|
563
573
|
if ((state === null || state === void 0 ? void 0 : (_state$appStates12 = state.appStates) === null || _state$appStates12 === void 0 ? void 0 : _state$appStates12.conversationEndedBy) === _Constants.ConversationEndEntity.Agent || (state === null || state === void 0 ? void 0 : (_state$appStates13 = state.appStates) === null || _state$appStates13 === void 0 ? void 0 : _state$appStates13.conversationEndedBy) === _Constants.ConversationEndEntity.Bot) {
|
|
@@ -568,7 +578,7 @@ const LiveChatWidgetStateful = props => {
|
|
|
568
578
|
}
|
|
569
579
|
|
|
570
580
|
// All other cases
|
|
571
|
-
(0, _endChat.prepareEndChat)(props, chatSDK, state, dispatch, setAdapter, setWebChatStyles, adapter
|
|
581
|
+
(0, _endChat.prepareEndChat)(props, chatSDK, state, dispatch, setAdapter, setWebChatStyles, adapter);
|
|
572
582
|
}, [state === null || state === void 0 ? void 0 : (_state$appStates14 = state.appStates) === null || _state$appStates14 === void 0 ? void 0 : _state$appStates14.conversationEndedBy]);
|
|
573
583
|
|
|
574
584
|
// Publish chat widget state
|
|
@@ -626,13 +636,13 @@ const LiveChatWidgetStateful = props => {
|
|
|
626
636
|
};
|
|
627
637
|
const setPostChatContextRelay = () => (0, _setPostChatContextAndLoadSurvey.setPostChatContextAndLoadSurvey)(chatSDK, dispatch);
|
|
628
638
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
629
|
-
const endChatRelay = (adapter, skipEndChatSDK, skipCloseChat, postMessageToOtherTab) => (0, _endChat.endChat)(props, chatSDK, state, dispatch, setAdapter, setWebChatStyles, adapter, skipEndChatSDK, skipCloseChat, postMessageToOtherTab
|
|
639
|
+
const endChatRelay = (adapter, skipEndChatSDK, skipCloseChat, postMessageToOtherTab) => (0, _endChat.endChat)(props, chatSDK, state, dispatch, setAdapter, setWebChatStyles, adapter, skipEndChatSDK, skipCloseChat, postMessageToOtherTab);
|
|
630
640
|
const prepareStartChatRelay = () => (0, _startChat.prepareStartChat)(props, chatSDK, state, dispatch, setAdapter);
|
|
631
641
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
632
642
|
const initStartChatRelay = (optionalParams, persistedState) => (0, _startChat.initStartChat)(chatSDK, dispatch, setAdapter, state, props, optionalParams, persistedState);
|
|
633
643
|
const confirmationPaneProps = (0, _initConfirmationPropsComposer.initConfirmationPropsComposer)(props);
|
|
634
644
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
635
|
-
const prepareEndChatRelay = () => (0, _endChat.prepareEndChat)(props, chatSDK, state, dispatch, setAdapter, setWebChatStyles, adapter
|
|
645
|
+
const prepareEndChatRelay = () => (0, _endChat.prepareEndChat)(props, chatSDK, state, dispatch, setAdapter, setWebChatStyles, adapter);
|
|
636
646
|
const webChatProps = (0, _initWebChatComposer.initWebChatComposer)(props, state, dispatch, chatSDK, endChatRelay);
|
|
637
647
|
const downloadTranscriptProps = (0, _createDownloadTranscriptProps.default)(props.downloadTranscriptProps, {
|
|
638
648
|
...(_defaultWebChatContainerStatefulProps.defaultWebChatContainerStatefulProps === null || _defaultWebChatContainerStatefulProps.defaultWebChatContainerStatefulProps === void 0 ? void 0 : _defaultWebChatContainerStatefulProps.defaultWebChatContainerStatefulProps.webChatStyles),
|
|
@@ -676,7 +686,11 @@ const LiveChatWidgetStateful = props => {
|
|
|
676
686
|
background: ${scrollbarProps.thumbHoverColor};
|
|
677
687
|
}
|
|
678
688
|
`), /*#__PURE__*/_react2.default.createElement(_DraggableChatWidget.default, chatWidgetDraggableConfig, /*#__PURE__*/_react2.default.createElement(Composer, _extends({}, webChatProps, {
|
|
679
|
-
styleOptions:
|
|
689
|
+
styleOptions: {
|
|
690
|
+
...webChatStyles,
|
|
691
|
+
bubbleBackground: ((_props$webChatContain7 = props.webChatContainerProps) === null || _props$webChatContain7 === void 0 ? void 0 : (_props$webChatContain8 = _props$webChatContain7.adaptiveCardStyles) === null || _props$webChatContain8 === void 0 ? void 0 : _props$webChatContain8.background) ?? _defaultAdaptiveCardStyles.defaultAdaptiveCardStyles.background,
|
|
692
|
+
bubbleTextColor: ((_props$webChatContain9 = props.webChatContainerProps) === null || _props$webChatContain9 === void 0 ? void 0 : (_props$webChatContain10 = _props$webChatContain9.adaptiveCardStyles) === null || _props$webChatContain10 === void 0 ? void 0 : _props$webChatContain10.color) ?? _defaultAdaptiveCardStyles.defaultAdaptiveCardStyles.color
|
|
693
|
+
},
|
|
680
694
|
directLine: ((_livechatProps$webCha = livechatProps.webChatContainerProps) === null || _livechatProps$webCha === void 0 ? void 0 : _livechatProps$webCha.directLine) ?? adapter ?? _defaultWebChatContainerStatefulProps.defaultWebChatContainerStatefulProps.directLine
|
|
681
695
|
}), /*#__PURE__*/_react2.default.createElement(_react.Stack, {
|
|
682
696
|
id: widgetElementId,
|
|
@@ -27,14 +27,17 @@ const generateSurveyInviteLink = function (surveyInviteLink, isEmbed, locale, co
|
|
|
27
27
|
return surveyLink;
|
|
28
28
|
};
|
|
29
29
|
const PostChatSurveyPaneStateful = props => {
|
|
30
|
-
var _props$styleProps, _state$appStates,
|
|
30
|
+
var _props$styleProps, _state$appStates, _props$controlProps;
|
|
31
31
|
const [state] = (0, _useChatContextStore.default)();
|
|
32
32
|
const generalStyleProps = Object.assign({}, _defaultgeneralPostChatSurveyPaneStyleProps.defaultGeneralPostChatSurveyPaneStyleProps, (_props$styleProps = props.styleProps) === null || _props$styleProps === void 0 ? void 0 : _props$styleProps.generalStyleProps, {
|
|
33
33
|
display: state.appStates.isMinimized ? "none" : "contents"
|
|
34
34
|
});
|
|
35
35
|
let surveyInviteLink = "";
|
|
36
36
|
const surveyMode = (state === null || state === void 0 ? void 0 : (_state$appStates = state.appStates) === null || _state$appStates === void 0 ? void 0 : _state$appStates.selectedSurveyMode) === _PostChatSurveyMode.PostChatSurveyMode.Embed;
|
|
37
|
-
if (
|
|
37
|
+
if (state.domainStates.postChatContext.botSurveyInviteLink &&
|
|
38
|
+
// Bot survey enabled
|
|
39
|
+
state.appStates.postChatParticipantType === _Constants.ParticipantType.Bot) {
|
|
40
|
+
// Only Bot has engaged
|
|
38
41
|
surveyInviteLink = generateSurveyInviteLink(state.domainStates.postChatContext.botSurveyInviteLink, surveyMode, state.domainStates.postChatContext.botFormsProLocale, props.isCustomerVoiceSurveyCompact ?? true);
|
|
39
42
|
} else {
|
|
40
43
|
surveyInviteLink = generateSurveyInviteLink(state.domainStates.postChatContext.surveyInviteLink, surveyMode, state.domainStates.postChatContext.formsProLocale, props.isCustomerVoiceSurveyCompact ?? true);
|