@microsoft/omnichannel-chat-widget 1.3.0 → 1.3.1-main.57aa509

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.
Files changed (45) hide show
  1. package/lib/cjs/assets/Icons.js +8 -2
  2. package/lib/cjs/components/livechatwidget/common/createAdapter.js +5 -0
  3. package/lib/cjs/components/livechatwidget/common/endChat.js +53 -4
  4. package/lib/cjs/components/livechatwidget/common/startChat.js +1 -1
  5. package/lib/cjs/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +23 -3
  6. package/lib/cjs/components/webchatcontainerstateful/common/defaultProps/defaultMiddlewareLocalizedTexts.js +4 -3
  7. package/lib/cjs/components/webchatcontainerstateful/common/mockchatsdk.js +3 -0
  8. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware.js +40 -101
  9. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachments/Attachment.js +92 -0
  10. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachments/AttachmentContent.js +17 -0
  11. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachments/AttachmentIcon.js +21 -0
  12. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachments/DownloadBlockedAttachment.js +36 -0
  13. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachments/FileScanStatus.js +14 -0
  14. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachments/MaliciousAttachment.js +24 -0
  15. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachments/ScanInProgressAttachment.js +24 -0
  16. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachments/Spinner.js +41 -0
  17. package/lib/esm/assets/Icons.js +4 -1
  18. package/lib/esm/components/livechatwidget/common/createAdapter.js +5 -0
  19. package/lib/esm/components/livechatwidget/common/endChat.js +51 -3
  20. package/lib/esm/components/livechatwidget/common/startChat.js +1 -1
  21. package/lib/esm/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +23 -3
  22. package/lib/esm/components/webchatcontainerstateful/common/defaultProps/defaultMiddlewareLocalizedTexts.js +4 -3
  23. package/lib/esm/components/webchatcontainerstateful/common/mockchatsdk.js +3 -0
  24. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware.js +36 -96
  25. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachments/Attachment.js +84 -0
  26. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachments/AttachmentContent.js +9 -0
  27. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachments/AttachmentIcon.js +13 -0
  28. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachments/DownloadBlockedAttachment.js +28 -0
  29. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachments/FileScanStatus.js +7 -0
  30. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachments/MaliciousAttachment.js +16 -0
  31. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachments/ScanInProgressAttachment.js +16 -0
  32. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachments/Spinner.js +33 -0
  33. package/lib/types/assets/Icons.d.ts +3 -0
  34. package/lib/types/components/livechatwidget/common/endChat.d.ts +1 -0
  35. package/lib/types/components/webchatcontainerstateful/common/mockchatsdk.d.ts +1 -0
  36. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachments/Attachment.d.ts +2 -0
  37. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachments/AttachmentContent.d.ts +2 -0
  38. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachments/AttachmentIcon.d.ts +2 -0
  39. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachments/DownloadBlockedAttachment.d.ts +2 -0
  40. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachments/FileScanStatus.d.ts +6 -0
  41. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachments/MaliciousAttachment.d.ts +2 -0
  42. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachments/ScanInProgressAttachment.d.ts +2 -0
  43. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachments/Spinner.d.ts +2 -0
  44. package/lib/types/contexts/common/ILiveChatWidgetLocalizedTexts.d.ts +7 -0
  45. package/package.json +4 -2
@@ -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;
@@ -28,6 +28,11 @@ const createAdapter = async chatSDK => {
28
28
  }
29
29
  }
30
30
  }
31
+ },
32
+ ACSAdapter: {
33
+ fileScan: {
34
+ disabled: false
35
+ }
31
36
  }
32
37
  };
33
38
  let adapter = await chatSDK.createChatAdapter(chatAdapterOptionalParams);
@@ -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.endChat = void 0;
7
7
  var _Constants = require("../../../common/Constants");
8
8
  var _TelemetryConstants = require("../../../common/telemetry/TelemetryConstants");
9
9
  var _authHelper = require("./authHelper");
@@ -19,20 +19,22 @@ var _defaultWebChatContainerStatefulProps = require("../../webchatcontainerstate
19
19
  const prepareEndChat = async (props, chatSDK, state, dispatch, setAdapter, setWebChatStyles, adapter, uwid) => {
20
20
  try {
21
21
  var _conversationDetails$, _state$domainStates, _state$domainStates2;
22
+ // Use Case: If call is ongoing, end the call by simulating end call button click
23
+ endVoiceVideoCallIfOngoing(chatSDK, dispatch);
22
24
  const conversationDetails = await (0, _utils.getConversationDetailsCall)(chatSDK);
23
25
 
24
- // Use Case : When post chat is not configured
26
+ // Use Case: When post chat is not configured
25
27
  if ((conversationDetails === null || conversationDetails === void 0 ? void 0 : (_conversationDetails$ = conversationDetails.canRenderPostChat) === null || _conversationDetails$ === void 0 ? void 0 : _conversationDetails$.toLowerCase()) === _Constants.Constants.false) {
26
28
  var _state$appStates;
27
29
  // If ended by customer, just close chat
28
30
  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
31
  await endChat(props, chatSDK, state, dispatch, setAdapter, setWebChatStyles, adapter, false, false, true, uwid);
30
32
  }
31
- //Use Case: If ended by Agent, stay chat in InActive state
33
+ // Use Case: If ended by Agent, stay chat in InActive state
32
34
  return;
33
35
  }
34
36
 
35
- // Use Case : Can render post chat scenarios
37
+ // Use Case: Can render post chat scenarios
36
38
  await (0, _renderSurveyHelpers.getPostChatContext)(chatSDK, state, dispatch);
37
39
 
38
40
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -142,6 +144,28 @@ const endChat = async function (props, chatSDK, state, dispatch, setAdapter, set
142
144
  }
143
145
  };
144
146
  exports.endChat = endChat;
147
+ const callingStateCleanUp = async dispatch => {
148
+ dispatch({
149
+ type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SHOW_CALLING_CONTAINER,
150
+ payload: false
151
+ });
152
+ dispatch({
153
+ type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_INCOMING_CALL,
154
+ payload: true
155
+ });
156
+ dispatch({
157
+ type: _LiveChatWidgetActionType.LiveChatWidgetActionType.DISABLE_VIDEO_CALL,
158
+ payload: true
159
+ });
160
+ dispatch({
161
+ type: _LiveChatWidgetActionType.LiveChatWidgetActionType.DISABLE_LOCAL_VIDEO,
162
+ payload: true
163
+ });
164
+ dispatch({
165
+ type: _LiveChatWidgetActionType.LiveChatWidgetActionType.DISABLE_REMOTE_VIDEO,
166
+ payload: true
167
+ });
168
+ };
145
169
  const endChatStateCleanUp = async dispatch => {
146
170
  // Need to clear these states immediately when chat ended from OC.
147
171
  dispatch({
@@ -192,6 +216,31 @@ const closeChatStateCleanUp = async dispatch => {
192
216
  }
193
217
  });
194
218
  };
219
+
220
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
221
+ const endVoiceVideoCallIfOngoing = async (chatSDK, dispatch) => {
222
+ let callId = "";
223
+ try {
224
+ const voiceVideoCallingSdk = await chatSDK.getVoiceVideoCalling();
225
+ if (voiceVideoCallingSdk && voiceVideoCallingSdk.isInACall()) {
226
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
227
+ callId = voiceVideoCallingSdk.callId;
228
+ voiceVideoCallingSdk.stopCall();
229
+ _TelemetryHelper.TelemetryHelper.logCallingEvent(_TelemetryConstants.LogLevel.INFO, {
230
+ Event: _TelemetryConstants.TelemetryEvent.EndCallButtonClick
231
+ }, callId);
232
+ callingStateCleanUp(dispatch);
233
+ }
234
+ } catch (error) {
235
+ _TelemetryHelper.TelemetryHelper.logCallingEvent(_TelemetryConstants.LogLevel.ERROR, {
236
+ Event: _TelemetryConstants.TelemetryEvent.EndCallButtonClickException,
237
+ ExceptionDetails: {
238
+ exception: `Failed to End Call: ${error}`
239
+ }
240
+ }, callId);
241
+ }
242
+ };
243
+ exports.endVoiceVideoCallIfOngoing = endVoiceVideoCallIfOngoing;
195
244
  const closeChatWidget = (dispatch, props, state) => {
196
245
  var _state$appStates3;
197
246
  if (state !== null && state !== void 0 && (_state$appStates3 = state.appStates) !== null && _state$appStates3 !== void 0 && _state$appStates3.hideStartChatButton) {
@@ -55,7 +55,7 @@ const prepareStartChat = async (props, chatSDK, state, dispatch, setAdapter) =>
55
55
  const isPreChatEnabledInProactiveChat = state.appStates.proactiveChatStates.proactiveChatEnablePrechat;
56
56
 
57
57
  //Setting PreChat and intiate chat
58
- await setPreChatAndInitiateChat(chatSDK, dispatch, setAdapter, isProactiveChat, isPreChatEnabledInProactiveChat, undefined, props);
58
+ await setPreChatAndInitiateChat(chatSDK, dispatch, setAdapter, isProactiveChat, isPreChatEnabledInProactiveChat, state, props);
59
59
  };
60
60
 
61
61
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -326,7 +326,27 @@ const LiveChatWidgetStateful = props => {
326
326
  });
327
327
 
328
328
  // Start chat from SDK Event
329
- _omnichannelChatComponents.BroadcastService.getMessageByEventName(_TelemetryConstants.BroadcastEvent.StartChat).subscribe(() => {
329
+ _omnichannelChatComponents.BroadcastService.getMessageByEventName(_TelemetryConstants.BroadcastEvent.StartChat).subscribe(msg => {
330
+ var _msg$payload4;
331
+ let stateWithUpdatedContext = state;
332
+ if (msg !== null && msg !== void 0 && (_msg$payload4 = msg.payload) !== null && _msg$payload4 !== void 0 && _msg$payload4.customContext) {
333
+ var _msg$payload5, _msg$payload6;
334
+ _TelemetryHelper.TelemetryHelper.logActionEvent(_TelemetryConstants.LogLevel.INFO, {
335
+ Event: _TelemetryConstants.TelemetryEvent.CustomContextReceived,
336
+ Description: "CustomContext received through startChat event."
337
+ });
338
+ dispatch({
339
+ type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CUSTOM_CONTEXT,
340
+ payload: msg === null || msg === void 0 ? void 0 : (_msg$payload5 = msg.payload) === null || _msg$payload5 === void 0 ? void 0 : _msg$payload5.customContext
341
+ });
342
+ stateWithUpdatedContext = {
343
+ ...state,
344
+ domainStates: {
345
+ ...state.domainStates,
346
+ customContext: msg === null || msg === void 0 ? void 0 : (_msg$payload6 = msg.payload) === null || _msg$payload6 === void 0 ? void 0 : _msg$payload6.customContext
347
+ }
348
+ };
349
+ }
330
350
  _TelemetryHelper.TelemetryHelper.logActionEvent(_TelemetryConstants.LogLevel.INFO, {
331
351
  Event: _TelemetryConstants.TelemetryEvent.StartChatEventRecevied,
332
352
  Description: "Start chat event received."
@@ -340,7 +360,7 @@ const LiveChatWidgetStateful = props => {
340
360
  _omnichannelChatComponents.BroadcastService.postMessage({
341
361
  eventName: _TelemetryConstants.BroadcastEvent.ChatInitiated
342
362
  });
343
- (0, _startChat.prepareStartChat)(props, chatSDK, state, dispatch, setAdapter);
363
+ (0, _startChat.prepareStartChat)(props, chatSDK, stateWithUpdatedContext, dispatch, setAdapter);
344
364
  return;
345
365
  }
346
366
 
@@ -352,7 +372,7 @@ const LiveChatWidgetStateful = props => {
352
372
  _omnichannelChatComponents.BroadcastService.postMessage({
353
373
  eventName: _TelemetryConstants.BroadcastEvent.ChatInitiated
354
374
  });
355
- (0, _startChat.prepareStartChat)(props, chatSDK, state, dispatch, setAdapter);
375
+ (0, _startChat.prepareStartChat)(props, chatSDK, stateWithUpdatedContext, dispatch, setAdapter);
356
376
  return;
357
377
  }
358
378
 
@@ -4,11 +4,11 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.defaultMiddlewareLocalizedTexts = void 0;
7
- /*
7
+ /*
8
8
  MIDDLEWARE_BANNER_FILE parameters:
9
9
  {0} = File limit size
10
10
  {1} = File extension
11
- {2} = File name
11
+ {2} = File name
12
12
  */
13
13
 
14
14
  const defaultMiddlewareLocalizedTexts = {
@@ -31,6 +31,7 @@ const defaultMiddlewareLocalizedTexts = {
31
31
  MIDDLEWARE_MESSAGE_NOT_DELIVERED: "Not Delivered",
32
32
  MIDDLEWARE_MESSAGE_RETRY: "Retry",
33
33
  MIDDLEWARE_BANNER_CHAT_DISCONNECT: "Your conversation has been disconnected. For additional assistance, please start a new chat.",
34
- THIRD_PARTY_COOKIES_BLOCKED_ALERT_MESSAGE: "Third party cookies are blocked. Reloading this page will start a new conversation."
34
+ THIRD_PARTY_COOKIES_BLOCKED_ALERT_MESSAGE: "Third party cookies are blocked. Reloading this page will start a new conversation.",
35
+ MIDDLEWARE_BANNER_FILE_IS_MALICIOUS: "{0} has been blocked because the file may contain a malware."
35
36
  };
36
37
  exports.defaultMiddlewareLocalizedTexts = defaultMiddlewareLocalizedTexts;
@@ -60,5 +60,8 @@ class MockChatSDK {
60
60
  reconnectId: "123"
61
61
  };
62
62
  }
63
+ getVoiceVideoCalling() {
64
+ return null;
65
+ }
63
66
  }
64
67
  exports.MockChatSDK = MockChatSDK;
@@ -11,108 +11,23 @@ var _TelemetryConstants = require("../../../../../common/telemetry/TelemetryCons
11
11
  var _omnichannelChatComponents = require("@microsoft/omnichannel-chat-components");
12
12
  var _WebChatActionType = require("../../enums/WebChatActionType");
13
13
  var _defaultAtttachmentAdaptiveCardStyles = require("./defaultStyles/defaultAtttachmentAdaptiveCardStyles");
14
- var _defaultAttachmentContentStyles = require("./defaultStyles/defaultAttachmentContentStyles");
15
- var _defaultAttachmentDividerStyles = require("./defaultStyles/defaultAttachmentDividerStyles");
16
- var _defaultAttachmentDownloadIconStyles = require("./defaultStyles/defaultAttachmentDownloadIconStyles");
17
- var _defaultAttachmentFileNameStyles = require("./defaultStyles/defaultAttachmentFileNameStyles");
18
- var _defaultAtttachmentIconStyles = require("./defaultStyles/defaultAtttachmentIconStyles");
19
14
  var _defaultAttachmentProps = require("../../../common/defaultProps/defaultAttachmentProps");
20
- var _defaultAttachmentSizeStyles = require("./defaultStyles/defaultAttachmentSizeStyles");
21
- var _defaultAtttachmentStyles = require("./defaultStyles/defaultAtttachmentStyles");
22
15
  var _ = require("../../../../..");
16
+ var _NotificationHandler = require("../../notification/NotificationHandler");
17
+ var _NotificationScenarios = require("../../enums/NotificationScenarios");
18
+ var _defaultMiddlewareLocalizedTexts = require("../../../common/defaultProps/defaultMiddlewareLocalizedTexts");
19
+ var _Attachment = _interopRequireDefault(require("./attachments/Attachment"));
20
+ var _ScanInProgressAttachment = _interopRequireDefault(require("./attachments/ScanInProgressAttachment"));
21
+ var _MaliciousAttachment = _interopRequireDefault(require("./attachments/MaliciousAttachment"));
22
+ var _FileScanStatus = _interopRequireDefault(require("./attachments/FileScanStatus"));
23
23
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
24
24
  /* eslint-disable @typescript-eslint/no-explicit-any */
25
25
  /******
26
26
  * AttachmentMiddleware
27
- *
27
+ *
28
28
  * Handles attachment downloading.
29
29
  ******/
30
30
 
31
- const AttachmentContent = props => {
32
- return /*#__PURE__*/_react.default.createElement("div", {
33
- id: props.id,
34
- style: props.style
35
- }, props.children);
36
- };
37
- const AttachmentIcon = props => {
38
- return /*#__PURE__*/_react.default.createElement("div", {
39
- id: props.id,
40
- style: props.style
41
- }, /*#__PURE__*/_react.default.createElement("img", {
42
- src: props.src ?? (0, _FileAttachmentIconManager.getFileAttachmentIconData)("txt")
43
- }));
44
- };
45
- const Attachment = props => {
46
- var _state$domainStates$r, _state$domainStates$r2, _state$domainStates$r3, _state$domainStates$r4, _state$domainStates$r5, _state$domainStates$r6, _state$domainStates$r7, _state$domainStates$r8, _state$domainStates$r9;
47
- const {
48
- iconData,
49
- imageCard,
50
- textCard,
51
- renderer
52
- } = props;
53
- const [state] = (0, _.useChatContextStore)();
54
- const attachmentId = ((_state$domainStates$r = state.domainStates.renderingMiddlewareProps) === null || _state$domainStates$r === void 0 ? void 0 : (_state$domainStates$r2 = _state$domainStates$r.attachmentProps) === null || _state$domainStates$r2 === void 0 ? void 0 : _state$domainStates$r2.webChatAttachmentId) ?? _defaultAttachmentProps.defaultAttachmentProps.webChatAttachmentId;
55
- const attachmentDividerStyles = {
56
- ..._defaultAttachmentDividerStyles.defaultAttachmentDividerStyles,
57
- ...((_state$domainStates$r3 = state.domainStates.renderingMiddlewareProps) === null || _state$domainStates$r3 === void 0 ? void 0 : _state$domainStates$r3.attachmentDividerStyles)
58
- };
59
- const attachmentIconStyles = {
60
- ..._defaultAtttachmentIconStyles.defaultAttachmentIconStyles,
61
- ...((_state$domainStates$r4 = state.domainStates.renderingMiddlewareProps) === null || _state$domainStates$r4 === void 0 ? void 0 : _state$domainStates$r4.attachmentIconStyles)
62
- };
63
- const attachmentStyles = {
64
- ..._defaultAtttachmentStyles.defaultAttachmentStyles,
65
- ...((_state$domainStates$r5 = state.domainStates.renderingMiddlewareProps) === null || _state$domainStates$r5 === void 0 ? void 0 : _state$domainStates$r5.attachmentStyles)
66
- };
67
- const attachmentSizeStylesString = Object.entries({
68
- ..._defaultAttachmentSizeStyles.defaultAttachmentSizeStyles,
69
- ...((_state$domainStates$r6 = state.domainStates.renderingMiddlewareProps) === null || _state$domainStates$r6 === void 0 ? void 0 : _state$domainStates$r6.attachmentSizeStyles)
70
- }).map(_ref => {
71
- let [k, v] = _ref;
72
- return `${k.replace(/[A-Z]/g, match => `-${match.toLowerCase()}`)}:${v}`;
73
- }).join(";");
74
- const attachmentContentStylesString = Object.entries({
75
- ..._defaultAttachmentContentStyles.defaultAttachmentContentStyles,
76
- ...((_state$domainStates$r7 = state.domainStates.renderingMiddlewareProps) === null || _state$domainStates$r7 === void 0 ? void 0 : _state$domainStates$r7.attachmentContentStyles)
77
- }).map(_ref2 => {
78
- let [k, v] = _ref2;
79
- return `${k.replace(/[A-Z]/g, match => `-${match.toLowerCase()}`)}:${v}`;
80
- }).join(";");
81
- const attachmentFileNameStylesString = Object.entries({
82
- ..._defaultAttachmentFileNameStyles.defaultAttachmentFileNameStyles,
83
- ...((_state$domainStates$r8 = state.domainStates.renderingMiddlewareProps) === null || _state$domainStates$r8 === void 0 ? void 0 : _state$domainStates$r8.attachmentFileNameStyles)
84
- }).map(_ref3 => {
85
- let [k, v] = _ref3;
86
- return `${k.replace(/[A-Z]/g, match => `-${match.toLowerCase()}`)}:${v}`;
87
- }).join(";");
88
- const attachmentDownloadIconStylesString = Object.entries({
89
- ..._defaultAttachmentDownloadIconStyles.defaultAttachmentDownloadIconStyles,
90
- ...((_state$domainStates$r9 = state.domainStates.renderingMiddlewareProps) === null || _state$domainStates$r9 === void 0 ? void 0 : _state$domainStates$r9.attachmentDownloadIconStyles)
91
- }).map(_ref4 => {
92
- let [k, v] = _ref4;
93
- return `${k.replace(/[A-Z]/g, match => `-${match.toLowerCase()}`)}:${v}`;
94
- }).join(";");
95
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("style", null, `
96
- .webchat__fileContent__size { ${attachmentSizeStylesString} }
97
- .webchat__fileContent { ${attachmentContentStylesString} }
98
- .webchat__fileContent__fileName { ${attachmentFileNameStylesString} }
99
- .webchat__fileContent__downloadIcon { ${attachmentDownloadIconStylesString} }
100
- `), /*#__PURE__*/_react.default.createElement("div", {
101
- dir: state.domainStates.globalDir
102
- }, imageCard && renderer(imageCard), imageCard && /*#__PURE__*/_react.default.createElement("hr", {
103
- id: attachmentId + "-divider",
104
- style: attachmentDividerStyles
105
- }), /*#__PURE__*/_react.default.createElement(AttachmentContent, {
106
- attachment: textCard.attachment,
107
- id: attachmentId,
108
- style: attachmentStyles
109
- }, /*#__PURE__*/_react.default.createElement(AttachmentIcon, {
110
- src: iconData,
111
- id: attachmentId + "-icon",
112
- style: attachmentIconStyles
113
- }), textCard && renderer(textCard))));
114
- };
115
-
116
31
  /**
117
32
  * Patch card with different attachment data.
118
33
  * @param card
@@ -139,7 +54,7 @@ const genPreviewCardWithAttachment = (card, iconData, next) => {
139
54
  contentType: _Constants.MimeTypes.UnknownFileType,
140
55
  thumbnailUrl: undefined
141
56
  });
142
- return /*#__PURE__*/_react.default.createElement(Attachment, {
57
+ return /*#__PURE__*/_react.default.createElement(_Attachment.default, {
143
58
  iconData: iconData,
144
59
  imageCard: card,
145
60
  textCard: patchedTextCard,
@@ -147,9 +62,9 @@ const genPreviewCardWithAttachment = (card, iconData, next) => {
147
62
  });
148
63
  };
149
64
  const createAttachmentMiddleware = enableInlinePlaying => {
150
- // eslint-disable-next-line react/display-name
65
+ // eslint-disable-next-line react/display-name
151
66
  const attachmentMiddleware = () => next => function () {
152
- var _state$domainStates$r10, _state$domainStates$r11, _state$domainStates$r12, _card$activity$channe;
67
+ var _state$domainStates$r, _state$domainStates$r2, _state$domainStates$r3, _card$activity$channe;
153
68
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
154
69
  args[_key] = arguments[_key];
155
70
  }
@@ -199,10 +114,10 @@ const createAttachmentMiddleware = enableInlinePlaying => {
199
114
  }
200
115
  }
201
116
  const [state] = (0, _.useChatContextStore)();
202
- const attachmentId = ((_state$domainStates$r10 = state.domainStates.renderingMiddlewareProps) === null || _state$domainStates$r10 === void 0 ? void 0 : (_state$domainStates$r11 = _state$domainStates$r10.attachmentProps) === null || _state$domainStates$r11 === void 0 ? void 0 : _state$domainStates$r11.adaptiveCardAttachmentId) ?? _defaultAttachmentProps.defaultAttachmentProps.adaptiveCardAttachmentId;
117
+ const attachmentId = ((_state$domainStates$r = state.domainStates.renderingMiddlewareProps) === null || _state$domainStates$r === void 0 ? void 0 : (_state$domainStates$r2 = _state$domainStates$r.attachmentProps) === null || _state$domainStates$r2 === void 0 ? void 0 : _state$domainStates$r2.adaptiveCardAttachmentId) ?? _defaultAttachmentProps.defaultAttachmentProps.adaptiveCardAttachmentId;
203
118
  const atttachmentAdaptiveCardStyles = {
204
119
  ..._defaultAtttachmentAdaptiveCardStyles.defaultAttachmentAdaptiveCardStyles,
205
- ...((_state$domainStates$r12 = state.domainStates.renderingMiddlewareProps) === null || _state$domainStates$r12 === void 0 ? void 0 : _state$domainStates$r12.attachmentAdaptiveCardStyles)
120
+ ...((_state$domainStates$r3 = state.domainStates.renderingMiddlewareProps) === null || _state$domainStates$r3 === void 0 ? void 0 : _state$domainStates$r3.attachmentAdaptiveCardStyles)
206
121
  };
207
122
  if (type === _Constants.WebChatMiddlewareConstants.adaptiveCard || _Constants.Constants.supportedAdaptiveCardContentTypes.indexOf(contentType) >= 0) {
208
123
  return /*#__PURE__*/_react.default.createElement("div", {
@@ -220,6 +135,30 @@ const createAttachmentMiddleware = enableInlinePlaying => {
220
135
  if (!attachment.name) {
221
136
  return next(...args);
222
137
  }
138
+ if (card.activity.channelData && card.activity.channelData.fileScan) {
139
+ const index = attachments.findIndex(attachment => attachment.name === card.attachment.name);
140
+ const {
141
+ activity: {
142
+ channelData: {
143
+ fileScan
144
+ }
145
+ }
146
+ } = card;
147
+ const scanResult = fileScan[index];
148
+ if ((scanResult === null || scanResult === void 0 ? void 0 : scanResult.status) === _FileScanStatus.default.INPROGRESS) {
149
+ return /*#__PURE__*/_react.default.createElement(_ScanInProgressAttachment.default, {
150
+ textCard: card
151
+ });
152
+ }
153
+ if ((scanResult === null || scanResult === void 0 ? void 0 : scanResult.status) === _FileScanStatus.default.MALWARE) {
154
+ var _state$domainStates$m;
155
+ const localizedText = ((_state$domainStates$m = state.domainStates.middlewareLocalizedTexts) === null || _state$domainStates$m === void 0 ? void 0 : _state$domainStates$m.MIDDLEWARE_BANNER_FILE_IS_MALICIOUS) ?? _defaultMiddlewareLocalizedTexts.defaultMiddlewareLocalizedTexts.MIDDLEWARE_BANNER_FILE_IS_MALICIOUS;
156
+ _NotificationHandler.NotificationHandler.notifyError(_NotificationScenarios.NotificationScenarios.AttachmentError, localizedText.replace("{0}", attachment.name));
157
+ return /*#__PURE__*/_react.default.createElement(_MaliciousAttachment.default, {
158
+ textCard: card
159
+ });
160
+ }
161
+ }
223
162
  const fileExtension = attachment.name.substring(attachment.name.lastIndexOf(".") + 1, attachment.name.length) || attachment.name;
224
163
  const imageExtension = _Constants.Constants.imageRegex.test(attachment.name);
225
164
  const audioExtension = _Constants.Constants.audioMediaRegex.test(attachment.name);
@@ -232,7 +171,7 @@ const createAttachmentMiddleware = enableInlinePlaying => {
232
171
  if (enableInlinePlaying && card.activity.actionType && card.activity.actionType === _WebChatActionType.WebChatActionType.DIRECT_LINE_INCOMING_ACTIVITY && (0, _FileAttachmentIconManager.isInlineMediaSupported)(attachment.name)) {
233
172
  return genPreviewCardWithAttachment(card, iconData, next);
234
173
  }
235
- return /*#__PURE__*/_react.default.createElement(Attachment, {
174
+ return /*#__PURE__*/_react.default.createElement(_Attachment.default, {
236
175
  iconData: iconData,
237
176
  textCard: patchAttachment(card, {
238
177
  contentType: _Constants.MimeTypes.UnknownFileType,
@@ -243,7 +182,7 @@ const createAttachmentMiddleware = enableInlinePlaying => {
243
182
  }
244
183
  const isUnknownImageObject = contentType.toLowerCase().includes("image") && !imageExtension;
245
184
  if (fileExtension === "txt" || isUnknownImageObject) {
246
- return /*#__PURE__*/_react.default.createElement(Attachment, {
185
+ return /*#__PURE__*/_react.default.createElement(_Attachment.default, {
247
186
  iconData: iconData,
248
187
  textCard: patchAttachment(card, {
249
188
  contentType: _Constants.MimeTypes.UnknownFileType,
@@ -252,7 +191,7 @@ const createAttachmentMiddleware = enableInlinePlaying => {
252
191
  renderer: next
253
192
  });
254
193
  }
255
- return /*#__PURE__*/_react.default.createElement(Attachment, {
194
+ return /*#__PURE__*/_react.default.createElement(_Attachment.default, {
256
195
  iconData: iconData,
257
196
  textCard: card,
258
197
  renderer: next
@@ -0,0 +1,92 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _useChatContextStore = _interopRequireDefault(require("../../../../../../hooks/useChatContextStore"));
9
+ var _defaultAttachmentProps = require("../../../../common/defaultProps/defaultAttachmentProps");
10
+ var _defaultAttachmentContentStyles = require("../defaultStyles/defaultAttachmentContentStyles");
11
+ var _defaultAttachmentDividerStyles = require("../defaultStyles/defaultAttachmentDividerStyles");
12
+ var _defaultAttachmentDownloadIconStyles = require("../defaultStyles/defaultAttachmentDownloadIconStyles");
13
+ var _defaultAttachmentFileNameStyles = require("../defaultStyles/defaultAttachmentFileNameStyles");
14
+ var _defaultAttachmentSizeStyles = require("../defaultStyles/defaultAttachmentSizeStyles");
15
+ var _defaultAtttachmentIconStyles = require("../defaultStyles/defaultAtttachmentIconStyles");
16
+ var _defaultAtttachmentStyles = require("../defaultStyles/defaultAtttachmentStyles");
17
+ var _AttachmentContent = _interopRequireDefault(require("./AttachmentContent"));
18
+ var _AttachmentIcon = _interopRequireDefault(require("./AttachmentIcon"));
19
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
20
+ const Attachment = props => {
21
+ var _state$domainStates$r, _state$domainStates$r2, _state$domainStates$r3, _state$domainStates$r4, _state$domainStates$r5, _state$domainStates$r6, _state$domainStates$r7, _state$domainStates$r8, _state$domainStates$r9;
22
+ // eslint-disable-line @typescript-eslint/no-explicit-any
23
+ const {
24
+ iconData,
25
+ imageCard,
26
+ textCard,
27
+ renderer
28
+ } = props;
29
+ const [state] = (0, _useChatContextStore.default)();
30
+ const attachmentId = ((_state$domainStates$r = state.domainStates.renderingMiddlewareProps) === null || _state$domainStates$r === void 0 ? void 0 : (_state$domainStates$r2 = _state$domainStates$r.attachmentProps) === null || _state$domainStates$r2 === void 0 ? void 0 : _state$domainStates$r2.webChatAttachmentId) ?? _defaultAttachmentProps.defaultAttachmentProps.webChatAttachmentId;
31
+ const attachmentDividerStyles = {
32
+ ..._defaultAttachmentDividerStyles.defaultAttachmentDividerStyles,
33
+ ...((_state$domainStates$r3 = state.domainStates.renderingMiddlewareProps) === null || _state$domainStates$r3 === void 0 ? void 0 : _state$domainStates$r3.attachmentDividerStyles)
34
+ };
35
+ const attachmentIconStyles = {
36
+ ..._defaultAtttachmentIconStyles.defaultAttachmentIconStyles,
37
+ ...((_state$domainStates$r4 = state.domainStates.renderingMiddlewareProps) === null || _state$domainStates$r4 === void 0 ? void 0 : _state$domainStates$r4.attachmentIconStyles)
38
+ };
39
+ const attachmentStyles = {
40
+ ..._defaultAtttachmentStyles.defaultAttachmentStyles,
41
+ ...((_state$domainStates$r5 = state.domainStates.renderingMiddlewareProps) === null || _state$domainStates$r5 === void 0 ? void 0 : _state$domainStates$r5.attachmentStyles)
42
+ };
43
+ const attachmentSizeStylesString = Object.entries({
44
+ ..._defaultAttachmentSizeStyles.defaultAttachmentSizeStyles,
45
+ ...((_state$domainStates$r6 = state.domainStates.renderingMiddlewareProps) === null || _state$domainStates$r6 === void 0 ? void 0 : _state$domainStates$r6.attachmentSizeStyles)
46
+ }).map(_ref => {
47
+ let [k, v] = _ref;
48
+ return `${k.replace(/[A-Z]/g, match => `-${match.toLowerCase()}`)}:${v}`;
49
+ }).join(";");
50
+ const attachmentContentStylesString = Object.entries({
51
+ ..._defaultAttachmentContentStyles.defaultAttachmentContentStyles,
52
+ ...((_state$domainStates$r7 = state.domainStates.renderingMiddlewareProps) === null || _state$domainStates$r7 === void 0 ? void 0 : _state$domainStates$r7.attachmentContentStyles)
53
+ }).map(_ref2 => {
54
+ let [k, v] = _ref2;
55
+ return `${k.replace(/[A-Z]/g, match => `-${match.toLowerCase()}`)}:${v}`;
56
+ }).join(";");
57
+ const attachmentFileNameStylesString = Object.entries({
58
+ ..._defaultAttachmentFileNameStyles.defaultAttachmentFileNameStyles,
59
+ ...((_state$domainStates$r8 = state.domainStates.renderingMiddlewareProps) === null || _state$domainStates$r8 === void 0 ? void 0 : _state$domainStates$r8.attachmentFileNameStyles)
60
+ }).map(_ref3 => {
61
+ let [k, v] = _ref3;
62
+ return `${k.replace(/[A-Z]/g, match => `-${match.toLowerCase()}`)}:${v}`;
63
+ }).join(";");
64
+ const attachmentDownloadIconStylesString = Object.entries({
65
+ ..._defaultAttachmentDownloadIconStyles.defaultAttachmentDownloadIconStyles,
66
+ ...((_state$domainStates$r9 = state.domainStates.renderingMiddlewareProps) === null || _state$domainStates$r9 === void 0 ? void 0 : _state$domainStates$r9.attachmentDownloadIconStyles)
67
+ }).map(_ref4 => {
68
+ let [k, v] = _ref4;
69
+ return `${k.replace(/[A-Z]/g, match => `-${match.toLowerCase()}`)}:${v}`;
70
+ }).join(";");
71
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("style", null, `
72
+ .webchat__fileContent__size { ${attachmentSizeStylesString} }
73
+ .webchat__fileContent { ${attachmentContentStylesString} }
74
+ .webchat__fileContent__fileName { ${attachmentFileNameStylesString} }
75
+ .webchat__fileContent__downloadIcon { ${attachmentDownloadIconStylesString} }
76
+ `), /*#__PURE__*/_react.default.createElement("div", {
77
+ dir: state.domainStates.globalDir
78
+ }, imageCard && renderer(imageCard), imageCard && /*#__PURE__*/_react.default.createElement("hr", {
79
+ id: attachmentId + "-divider",
80
+ style: attachmentDividerStyles
81
+ }), /*#__PURE__*/_react.default.createElement(_AttachmentContent.default, {
82
+ attachment: textCard.attachment,
83
+ id: attachmentId,
84
+ style: attachmentStyles
85
+ }, /*#__PURE__*/_react.default.createElement(_AttachmentIcon.default, {
86
+ src: iconData,
87
+ id: attachmentId + "-icon",
88
+ style: attachmentIconStyles
89
+ }), textCard && renderer(textCard))));
90
+ };
91
+ var _default = Attachment;
92
+ exports.default = _default;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9
+ const AttachmentContent = props => {
10
+ // eslint-disable-line @typescript-eslint/no-explicit-any
11
+ return /*#__PURE__*/_react.default.createElement("div", {
12
+ id: props.id,
13
+ style: props.style
14
+ }, props.children);
15
+ };
16
+ var _default = AttachmentContent;
17
+ exports.default = _default;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _FileAttachmentIconManager = require("../../../../common/utils/FileAttachmentIconManager");
9
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
+ const AttachmentIcon = props => {
11
+ // eslint-disable-line @typescript-eslint/no-explicit-any
12
+ return /*#__PURE__*/_react.default.createElement("div", {
13
+ id: props.id,
14
+ style: props.style
15
+ }, /*#__PURE__*/_react.default.createElement("img", {
16
+ src: props.src ?? (0, _FileAttachmentIconManager.getFileAttachmentIconData)("txt"),
17
+ alt: "attachment icon"
18
+ }));
19
+ };
20
+ var _default = AttachmentIcon;
21
+ exports.default = _default;
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _Attachment = _interopRequireDefault(require("./Attachment"));
9
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
+ 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); }
11
+ const DownloadBlockedAttachment = props => {
12
+ // eslint-disable-line @typescript-eslint/no-explicit-any
13
+ const renderer = () => /*#__PURE__*/_react.default.createElement("div", {
14
+ style: {
15
+ display: "flex",
16
+ padding: "10px 10px 10px 8px",
17
+ width: "100%"
18
+ }
19
+ }, /*#__PURE__*/_react.default.createElement("div", {
20
+ style: {
21
+ fontSize: 12,
22
+ fontFamily: "Segoe UI, Arial, sans-serif"
23
+ }
24
+ }, " ", props.textCard.attachment.name, " "), /*#__PURE__*/_react.default.createElement("div", {
25
+ style: {
26
+ marginLeft: "auto",
27
+ paddingRight: "10px"
28
+ }
29
+ }, props.extraContent && props.extraContent));
30
+ return /*#__PURE__*/_react.default.createElement(_Attachment.default, _extends({}, props, {
31
+ imageCard: undefined,
32
+ renderer: renderer
33
+ }));
34
+ };
35
+ var _default = DownloadBlockedAttachment;
36
+ exports.default = _default;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var FileScanStatus;
8
+ (function (FileScanStatus) {
9
+ FileScanStatus["PASSED"] = "passed";
10
+ FileScanStatus["MALWARE"] = "malware";
11
+ FileScanStatus["INPROGRESS"] = "in progress";
12
+ })(FileScanStatus || (FileScanStatus = {}));
13
+ var _default = FileScanStatus;
14
+ exports.default = _default;