@microsoft/omnichannel-chat-widget 1.0.3-main.527f8c3 → 1.0.3-main.c925679

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 (99) hide show
  1. package/lib/cjs/common/Constants.js +54 -1
  2. package/lib/cjs/common/storage/default/defaultCacheManager.js +7 -6
  3. package/lib/cjs/common/storage/default/defaultClientDataStoreProvider.js +9 -7
  4. package/lib/cjs/common/telemetry/TelemetryConstants.js +6 -0
  5. package/lib/cjs/common/utils.js +27 -5
  6. package/lib/cjs/components/confirmationpanestateful/ConfirmationPaneStateful.js +8 -6
  7. package/lib/cjs/components/footerstateful/FooterStateful.js +1 -1
  8. package/lib/cjs/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.js +8 -1
  9. package/lib/cjs/components/headerstateful/HeaderStateful.js +14 -13
  10. package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.js +1 -0
  11. package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.js +1 -0
  12. package/lib/cjs/components/livechatwidget/common/Deferred.js +2 -3
  13. package/lib/cjs/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +4 -2
  14. package/lib/cjs/components/livechatwidget/common/endChat.js +197 -99
  15. package/lib/cjs/components/livechatwidget/common/initWebChatComposer.js +41 -21
  16. package/lib/cjs/components/livechatwidget/common/reconnectChatHelper.js +11 -8
  17. package/lib/cjs/components/livechatwidget/common/renderSurveyHelpers.js +139 -0
  18. package/lib/cjs/components/livechatwidget/common/setPostChatContextAndLoadSurvey.js +2 -255
  19. package/lib/cjs/components/livechatwidget/common/startChat.js +70 -57
  20. package/lib/cjs/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +162 -100
  21. package/lib/cjs/components/loadingpanestateful/LoadingPaneStateful.js +2 -2
  22. package/lib/cjs/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.js +15 -5
  23. package/lib/cjs/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +5 -4
  24. package/lib/cjs/components/reconnectchatpanestateful/ReconnectChatPaneStateful.js +4 -1
  25. package/lib/cjs/components/webchatcontainerstateful/common/defaultProps/defaultWebChatContainerStatefulProps.js +1 -0
  26. package/lib/cjs/components/webchatcontainerstateful/common/mockchatsdk.js +6 -1
  27. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/WebChatStoreLoader.js +1 -0
  28. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/markdownrenderers/HyperlinkTextOverrideRenderer.js +62 -0
  29. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/conversationEndMiddleware.js +8 -6
  30. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/dataMaskingMiddleware.js +25 -12
  31. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.js +7 -1
  32. package/lib/cjs/contexts/common/LiveChatWidgetActionType.js +2 -0
  33. package/lib/cjs/contexts/common/LiveChatWidgetContextInitialState.js +16 -13
  34. package/lib/cjs/contexts/createReducer.js +13 -23
  35. package/lib/cjs/controller/componentController.js +2 -1
  36. package/lib/cjs/index.js +20 -0
  37. package/lib/esm/common/Constants.js +49 -0
  38. package/lib/esm/common/storage/default/defaultCacheManager.js +5 -4
  39. package/lib/esm/common/storage/default/defaultClientDataStoreProvider.js +9 -7
  40. package/lib/esm/common/telemetry/TelemetryConstants.js +6 -0
  41. package/lib/esm/common/utils.js +25 -4
  42. package/lib/esm/components/confirmationpanestateful/ConfirmationPaneStateful.js +8 -6
  43. package/lib/esm/components/footerstateful/FooterStateful.js +1 -1
  44. package/lib/esm/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.js +8 -1
  45. package/lib/esm/components/headerstateful/HeaderStateful.js +14 -13
  46. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.js +1 -0
  47. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.js +1 -0
  48. package/lib/esm/components/livechatwidget/common/Deferred.js +2 -3
  49. package/lib/esm/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +4 -2
  50. package/lib/esm/components/livechatwidget/common/endChat.js +196 -99
  51. package/lib/esm/components/livechatwidget/common/initWebChatComposer.js +41 -21
  52. package/lib/esm/components/livechatwidget/common/reconnectChatHelper.js +11 -8
  53. package/lib/esm/components/livechatwidget/common/renderSurveyHelpers.js +130 -0
  54. package/lib/esm/components/livechatwidget/common/setPostChatContextAndLoadSurvey.js +3 -255
  55. package/lib/esm/components/livechatwidget/common/startChat.js +71 -58
  56. package/lib/esm/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +164 -102
  57. package/lib/esm/components/loadingpanestateful/LoadingPaneStateful.js +2 -2
  58. package/lib/esm/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.js +15 -5
  59. package/lib/esm/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +5 -4
  60. package/lib/esm/components/reconnectchatpanestateful/ReconnectChatPaneStateful.js +4 -1
  61. package/lib/esm/components/webchatcontainerstateful/common/defaultProps/defaultWebChatContainerStatefulProps.js +1 -0
  62. package/lib/esm/components/webchatcontainerstateful/common/mockchatsdk.js +6 -1
  63. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/WebChatStoreLoader.js +1 -0
  64. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/markdownrenderers/HyperlinkTextOverrideRenderer.js +54 -0
  65. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/conversationEndMiddleware.js +8 -6
  66. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/dataMaskingMiddleware.js +25 -12
  67. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.js +7 -1
  68. package/lib/esm/contexts/common/LiveChatWidgetActionType.js +2 -0
  69. package/lib/esm/contexts/common/LiveChatWidgetContextInitialState.js +18 -15
  70. package/lib/esm/contexts/createReducer.js +13 -23
  71. package/lib/esm/controller/componentController.js +2 -1
  72. package/lib/esm/index.js +4 -1
  73. package/lib/types/common/Constants.d.ts +21 -0
  74. package/lib/types/common/interfaces/IContextDataStore.d.ts +3 -3
  75. package/lib/types/common/storage/default/defaultCacheManager.d.ts +2 -1
  76. package/lib/types/common/storage/default/defaultClientDataStoreProvider.d.ts +2 -1
  77. package/lib/types/common/telemetry/TelemetryConstants.d.ts +6 -0
  78. package/lib/types/common/utils.d.ts +3 -2
  79. package/lib/types/components/confirmationpanestateful/interfaces/IConfirmationPaneStatefulParams.d.ts +6 -0
  80. package/lib/types/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.d.ts +2 -1
  81. package/lib/types/components/livechatwidget/common/endChat.d.ts +4 -3
  82. package/lib/types/components/livechatwidget/common/initWebChatComposer.d.ts +1 -1
  83. package/lib/types/components/livechatwidget/common/renderSurveyHelpers.d.ts +9 -0
  84. package/lib/types/components/livechatwidget/common/setPostChatContextAndLoadSurvey.d.ts +1 -6
  85. package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetProps.d.ts +3 -1
  86. package/lib/types/components/webchatcontainerstateful/common/mockchatsdk.d.ts +4 -0
  87. package/lib/types/components/webchatcontainerstateful/interfaces/IWebChatContainerStatefulProps.d.ts +1 -0
  88. package/lib/types/components/webchatcontainerstateful/webchatcontroller/markdownrenderers/HyperlinkTextOverrideRenderer.d.ts +9 -0
  89. package/lib/types/contexts/common/ILiveChatWidgetContext.d.ts +8 -7
  90. package/lib/types/contexts/common/LiveChatWidgetActionType.d.ts +3 -1
  91. package/lib/types/contexts/common/LiveChatWidgetContextInitialState.d.ts +2 -1
  92. package/lib/types/index.d.ts +3 -0
  93. package/package.json +2 -1
  94. package/lib/cjs/components/livechatwidget/common/agentEndConversationHelper.js +0 -36
  95. package/lib/cjs/contexts/common/ConversationEndEntity.js +0 -12
  96. package/lib/esm/components/livechatwidget/common/agentEndConversationHelper.js +0 -30
  97. package/lib/esm/contexts/common/ConversationEndEntity.js +0 -5
  98. package/lib/types/components/livechatwidget/common/agentEndConversationHelper.d.ts +0 -6
  99. package/lib/types/contexts/common/ConversationEndEntity.d.ts +0 -4
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.WebChatMiddlewareConstants = exports.TranscriptConstants = exports.Regex = exports.MimeTypes = exports.LocaleConstants = exports.LiveWorkItemState = exports.HtmlIdNames = exports.HtmlElementSelectors = exports.HtmlClassNames = exports.HtmlAttributeNames = exports.EnvironmentVersion = exports.ElementType = exports.E2VVOptions = exports.Constants = exports.ChatSDKError = exports.AriaTelemetryConstants = exports.AMSConstants = void 0;
6
+ exports.WebChatMiddlewareConstants = exports.TranscriptConstants = exports.StorageType = exports.Regex = exports.ParticipantType = exports.MimeTypes = exports.LocaleConstants = exports.LiveWorkItemState = exports.HtmlIdNames = exports.HtmlElementSelectors = exports.HtmlClassNames = exports.HtmlAttributeNames = exports.EnvironmentVersion = exports.ElementType = exports.E2VVOptions = exports.ConversationEndEntity = exports.Constants = exports.ConfirmationState = exports.ChatSDKError = exports.AriaTelemetryConstants = exports.AMSConstants = void 0;
7
7
  var _class;
8
8
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
9
9
  function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
@@ -30,27 +30,34 @@ _defineProperty(Constants, "false", "false");
30
30
  _defineProperty(Constants, "maximumUnreadMessageCount", 99);
31
31
  _defineProperty(Constants, "userParticipantTypeTag", "User");
32
32
  _defineProperty(Constants, "botParticipantTypeTag", "Bot");
33
+ // channelDataMiddleware
33
34
  _defineProperty(Constants, "channelIdKey", "ChannelId-");
34
35
  _defineProperty(Constants, "ChannelId", "lcw");
35
36
  _defineProperty(Constants, "CustomerTag", "FromCustomer");
37
+ // gifUploadMiddleware
36
38
  _defineProperty(Constants, "GifContentType", "image/gif");
39
+ // htmlPlayerMiddleware
37
40
  _defineProperty(Constants, "video", "video");
38
41
  _defineProperty(Constants, "audio", "audio");
39
42
  _defineProperty(Constants, "controlsList", "controlsList");
40
43
  _defineProperty(Constants, "nodownload", "nodownload");
44
+ // htmlTextMiddleware
41
45
  _defineProperty(Constants, "activity", "activity");
42
46
  _defineProperty(Constants, "payload", "payload");
43
47
  _defineProperty(Constants, "text", "text");
44
48
  _defineProperty(Constants, "blank", "_blank");
49
+ // activityMiddleware
45
50
  _defineProperty(Constants, "visitorIdPrefix", "8:");
46
51
  _defineProperty(Constants, "left", "left");
47
52
  _defineProperty(Constants, "queuePositionMessageTag", "queueposition");
48
53
  _defineProperty(Constants, "averageWaitTimeMessageTag", "averagewaittime");
49
54
  _defineProperty(Constants, "message", "message");
50
55
  _defineProperty(Constants, "hiddenTag", "Hidden");
56
+ // messageTimestampMiddleware
51
57
  _defineProperty(Constants, "prefixTimestampTag", "ServerMessageTimestamp_");
52
58
  _defineProperty(Constants, "acsChannel", "ACS_CHANNEL");
53
59
  _defineProperty(Constants, "publicMessageTag", "public");
60
+ //attachmentMiddleware
54
61
  _defineProperty(Constants, "supportedAdaptiveCardContentTypes", ["application/vnd.microsoft.card.adaptive", "application/vnd.microsoft.card.audio", "application/vnd.microsoft.card.hero", "application/vnd.microsoft.card.receipt", "application/vnd.microsoft.card.thumbnail", "application/vnd.microsoft.card.signin", "application/vnd.microsoft.card.oauth"]);
55
62
  _defineProperty(Constants, "maxUploadFileSize", "500000");
56
63
  _defineProperty(Constants, "imageRegex", /(\.)(jpeg|jpg|jiff|png|gif|bmp|webp)$/i);
@@ -58,6 +65,7 @@ _defineProperty(Constants, "audioMediaRegex", /(\.)(aac|aiff|alac|amr|flac|mp2|m
58
65
  _defineProperty(Constants, "videoMediaRegex", /(\.)(avchd|avi|flv|mpe|mpeg|mpg|mpv|mp4|m4p|m4v|mov|qt|swf|webm|wmv)$/i);
59
66
  _defineProperty(Constants, "chromeSupportedInlineMediaRegex", /(\.)(aac|mp3|wav|mp4)$/i);
60
67
  _defineProperty(Constants, "firefoxSupportedInlineMediaRegex", /(\.)(aac|flac|mp3|wav|mp4|mov)$/i);
68
+ // calling container event names
61
69
  _defineProperty(Constants, "CallAdded", "callAdded");
62
70
  _defineProperty(Constants, "LocalVideoStreamAdded", "localVideoStreamAdded");
63
71
  _defineProperty(Constants, "LocalVideoStreamRemoved", "localVideoStreamRemoved");
@@ -72,12 +80,18 @@ _defineProperty(Constants, "VoiceVideoNotLoaded", "voiceVideoNotLoaded");
72
80
  _defineProperty(Constants, "VoiceVideoLoadingException", "voiceVideoLoadingOnException");
73
81
  _defineProperty(Constants, "VoiceVideoAcceptCallException", "voiceVideoAcceptCallOnException");
74
82
  _defineProperty(Constants, "VoiceVideoAcceptCallWithVideoException", "voiceVideoAcceptCallWithVideoException");
83
+ // download transcript
75
84
  _defineProperty(Constants, "defaultDownloadTranscriptError", "Download transcript failed.");
85
+ // proactive chat
76
86
  _defineProperty(Constants, "ProactiveChatInviteTimeoutInMs", 60000);
87
+ // 1 minute
88
+ // prechat survey
77
89
  _defineProperty(Constants, "InputSubmit", "InputSubmit");
90
+ // reconnect chat
78
91
  _defineProperty(Constants, "ReconnectIdAttributeName", "oc.reconnectid");
79
92
  _defineProperty(Constants, "LiveChatWidget", "LiveChatWidgetNew");
80
93
  _defineProperty(Constants, "GuidPattern", "xx-x-4m-ym-xxx");
94
+ // Markdown plugin
81
95
  _defineProperty(Constants, "Default", "default");
82
96
  _defineProperty(Constants, "Zero", "zero");
83
97
  _defineProperty(Constants, "Title", "title");
@@ -85,13 +99,18 @@ _defineProperty(Constants, "Target", "target");
85
99
  _defineProperty(Constants, "Blank", "_blank");
86
100
  _defineProperty(Constants, "TargetRelationship", "rel");
87
101
  _defineProperty(Constants, "TargetRelationshipAttributes", "noopener noreferrer");
102
+ // Markdown icons
88
103
  _defineProperty(Constants, "OpenLinkIconCssClass", "webchat__markdown__external-link-icon");
104
+ // internet connection test
89
105
  _defineProperty(Constants, "internetConnectionTestUrl", "https://ocsdk-prod.azureedge.net/public/connecttest.txt");
90
106
  _defineProperty(Constants, "internetConnectionTestUrlText", "Omnichannel Connect Test");
91
107
  _defineProperty(Constants, "ChatWidgetStateChangedPrefix", "ChatWidgetStateChanged");
92
108
  _defineProperty(Constants, "PostChatLoadingDurationInMs", 2000);
93
109
  _defineProperty(Constants, "BrowserUnloadConfirmationMessage", "Do you want to leave chat?");
94
110
  _defineProperty(Constants, "CacheTtlInMinutes", 15);
111
+ _defineProperty(Constants, "SessionCacheSuffix", "session");
112
+ _defineProperty(Constants, "PopoutCacheSuffix", "popout");
113
+ // Visibility timeout for conversation details
95
114
  _defineProperty(Constants, "LWICheckOnVisibilityTimeout", 3 * 60 * 1000);
96
115
  const Regex = (_class = class Regex {}, _defineProperty(_class, "EmailRegex", "(?:[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*|\"(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21\\x23-\\x5b\\x5d-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])*\")@(?:(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?\\.)+[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?|\\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-zA-Z0-9-]*[a-zA-Z0-9]:(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21-\\x5a\\x53-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])+)\\])"), _class);
97
116
  exports.Regex = Regex;
@@ -143,12 +162,14 @@ class WebChatMiddlewareConstants {}
143
162
  exports.WebChatMiddlewareConstants = WebChatMiddlewareConstants;
144
163
  _defineProperty(WebChatMiddlewareConstants, "nextVisibleActivity", "nextVisibleActivity");
145
164
  _defineProperty(WebChatMiddlewareConstants, "timeBetweenTimestampGroups", 300000);
165
+ //5 minutes
146
166
  _defineProperty(WebChatMiddlewareConstants, "maxTextLength", 6000);
147
167
  _defineProperty(WebChatMiddlewareConstants, "adaptiveCard", "AdaptiveCard");
148
168
  class AMSConstants {}
149
169
  exports.AMSConstants = AMSConstants;
150
170
  _defineProperty(AMSConstants, "supportedImagesMimeTypes", ["image/jpeg", "image/png", "image/gif", "image/heic", "image/webp"]);
151
171
  _defineProperty(AMSConstants, "maxSupportedImageSize", 20);
172
+ // AMS max file limit outside of supported Images MIME Types.
152
173
  _defineProperty(AMSConstants, "maxSupportedFileSize", 300);
153
174
  class MimeTypes {}
154
175
  exports.MimeTypes = MimeTypes;
@@ -190,6 +211,33 @@ exports.LiveWorkItemState = LiveWorkItemState;
190
211
  LiveWorkItemState["Waiting"] = "Waiting";
191
212
  LiveWorkItemState["WrapUp"] = "WrapUp";
192
213
  })(LiveWorkItemState || (exports.LiveWorkItemState = LiveWorkItemState = {}));
214
+ let StorageType;
215
+ exports.StorageType = StorageType;
216
+ (function (StorageType) {
217
+ StorageType[StorageType["localStorage"] = 0] = "localStorage";
218
+ StorageType[StorageType["sessionStorage"] = 1] = "sessionStorage";
219
+ })(StorageType || (exports.StorageType = StorageType = {}));
220
+ let ParticipantType;
221
+ exports.ParticipantType = ParticipantType;
222
+ (function (ParticipantType) {
223
+ ParticipantType["User"] = "User";
224
+ ParticipantType["Bot"] = "Bot";
225
+ })(ParticipantType || (exports.ParticipantType = ParticipantType = {}));
226
+ let ConversationEndEntity;
227
+ exports.ConversationEndEntity = ConversationEndEntity;
228
+ (function (ConversationEndEntity) {
229
+ ConversationEndEntity["Customer"] = "Customer";
230
+ ConversationEndEntity["Agent"] = "Agent";
231
+ ConversationEndEntity["Bot"] = "Bot";
232
+ ConversationEndEntity["NotSet"] = "NotSet";
233
+ })(ConversationEndEntity || (exports.ConversationEndEntity = ConversationEndEntity = {}));
234
+ let ConfirmationState;
235
+ exports.ConfirmationState = ConfirmationState;
236
+ (function (ConfirmationState) {
237
+ ConfirmationState["Ok"] = "Ok";
238
+ ConfirmationState["Cancel"] = "Cancel";
239
+ ConfirmationState["NotSet"] = "NotSet";
240
+ })(ConfirmationState || (exports.ConfirmationState = ConfirmationState = {}));
193
241
  class TranscriptConstants {}
194
242
  exports.TranscriptConstants = TranscriptConstants;
195
243
  _defineProperty(TranscriptConstants, "ChatTranscriptsBodyColor", "#F5F5F5");
@@ -204,11 +252,16 @@ _defineProperty(TranscriptConstants, "AgentDialogColor", "#2266E3");
204
252
  _defineProperty(TranscriptConstants, "AgentFontColor", "white");
205
253
  class AriaTelemetryConstants {}
206
254
  exports.AriaTelemetryConstants = AriaTelemetryConstants;
255
+ // Aria Endpoint for different environment types.
207
256
  _defineProperty(AriaTelemetryConstants, "GERMANY_ENDPOINT", "https://de.pipe.aria.microsoft.com/Collector/3.0/");
208
257
  _defineProperty(AriaTelemetryConstants, "GCCH_ENDPOINT", "https://tb.pipe.aria.microsoft.com/Collector/3.0/");
209
258
  _defineProperty(AriaTelemetryConstants, "DOD_ENDPOINT", "https://pf.pipe.aria.microsoft.com/Collector/3.0");
210
259
  _defineProperty(AriaTelemetryConstants, "EUROPE_ENDPOINT", "https://eu-mobile.events.data.microsoft.com/Collector/3.0/");
260
+ // EUDB Collector URL
211
261
  _defineProperty(AriaTelemetryConstants, "MOONCAKE_ENDPOINT", "");
262
+ // Add MoonCake ARIA Endpoint whenever available
263
+ // Environment types
212
264
  _defineProperty(AriaTelemetryConstants, "Public", "Public");
213
265
  _defineProperty(AriaTelemetryConstants, "EU", "Europe");
266
+ // EUR: crm4; FRA: crm12; GER: crm16; CHE: crm17; NOR: crm19
214
267
  _defineProperty(AriaTelemetryConstants, "lcwEUDomainNames", ["crm4.omnichannelengagementhub.com", "crm12.omnichannelengagementhub.com", "crm16.omnichannelengagementhub.com", "crm17.omnichannelengagementhub.com", "crm19.omnichannelengagementhub.com"]);
@@ -3,24 +3,25 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.registerBroadcastServiceForLocalStorage = exports.defaultCacheManager = void 0;
6
+ exports.registerBroadcastServiceForStorage = exports.defaultCacheManager = void 0;
7
7
  var _omnichannelChatComponents = require("@microsoft/omnichannel-chat-components");
8
- var _utils = require("../../utils");
9
8
  var _defaultClientDataStoreProvider = require("./defaultClientDataStoreProvider");
10
9
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
11
10
  function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
12
11
  function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
13
12
  class defaultCacheManager {}
13
+
14
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
14
15
  exports.defaultCacheManager = defaultCacheManager;
16
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
15
17
  _defineProperty(defaultCacheManager, "InternalCache", {});
16
- const registerBroadcastServiceForLocalStorage = (orgid, widgetId, widgetInstanceId, ttlInMins) => {
17
- const widgetCacheId = (0, _utils.getWidgetCacheId)(orgid, widgetId, widgetInstanceId);
18
+ const registerBroadcastServiceForStorage = (widgetCacheId, ttlInMins, storageType) => {
18
19
  _omnichannelChatComponents.BroadcastService.getMessageByEventName(widgetCacheId).subscribe(msg => {
19
20
  try {
20
- (0, _defaultClientDataStoreProvider.defaultClientDataStoreProvider)(ttlInMins).setData(widgetCacheId, JSON.stringify(msg.payload), "localStorage");
21
+ (0, _defaultClientDataStoreProvider.defaultClientDataStoreProvider)(ttlInMins, storageType).setData(widgetCacheId, JSON.stringify(msg.payload));
21
22
  } catch (error) {
22
23
  console.error("Error in setting data to localstorage", error);
23
24
  }
24
25
  });
25
26
  };
26
- exports.registerBroadcastServiceForLocalStorage = registerBroadcastServiceForLocalStorage;
27
+ exports.registerBroadcastServiceForStorage = registerBroadcastServiceForStorage;
@@ -7,10 +7,12 @@ exports.defaultClientDataStoreProvider = void 0;
7
7
  var _TelemetryConstants = require("../../telemetry/TelemetryConstants");
8
8
  var _TelemetryHelper = require("../../telemetry/TelemetryHelper");
9
9
  var _defaultInMemoryDataStore = require("./defaultInMemoryDataStore");
10
+ var _Constants = require("../../Constants");
10
11
  /* eslint-disable @typescript-eslint/no-explicit-any */
11
12
 
12
13
  const defaultClientDataStoreProvider = function () {
13
14
  let cacheTtlinMins = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
15
+ let storageType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _Constants.StorageType.localStorage;
14
16
  let ttlInMs = 0;
15
17
  const isCookieAllowed = () => {
16
18
  try {
@@ -30,7 +32,7 @@ const defaultClientDataStoreProvider = function () {
30
32
  }
31
33
  const dataStoreProvider = {
32
34
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
33
- setData: (key, data, type) => {
35
+ setData: (key, data) => {
34
36
  if (isCookieAllowed()) {
35
37
  try {
36
38
  if (key) {
@@ -40,7 +42,7 @@ const defaultClientDataStoreProvider = function () {
40
42
  expiry: now.getTime() + ttlInMs
41
43
  };
42
44
  const strItem = JSON.stringify(item);
43
- if (type === "localStorage") {
45
+ if (storageType === _Constants.StorageType.localStorage) {
44
46
  localStorage.setItem(key, strItem);
45
47
  } else {
46
48
  sessionStorage.setItem(key, strItem);
@@ -57,16 +59,16 @@ const defaultClientDataStoreProvider = function () {
57
59
  const dataToCache = {
58
60
  key: key,
59
61
  data: data,
60
- type: type
62
+ type: storageType == _Constants.StorageType.localStorage ? "localStorage" : "sessionStorage"
61
63
  };
62
64
  parent.postMessage(dataToCache, "*");
63
65
  }
64
66
  },
65
67
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
66
- getData: (key, type) => {
68
+ getData: key => {
67
69
  if (isCookieAllowed()) {
68
70
  let item;
69
- if (type === "localStorage") {
71
+ if (storageType === _Constants.StorageType.localStorage) {
70
72
  item = localStorage.getItem(key);
71
73
  } else {
72
74
  item = sessionStorage.getItem(key);
@@ -91,10 +93,10 @@ const defaultClientDataStoreProvider = function () {
91
93
  }
92
94
  },
93
95
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
94
- removeData: (key, type) => {
96
+ removeData: key => {
95
97
  if (isCookieAllowed()) {
96
98
  if (key) {
97
- if (type === "localStorage") {
99
+ if (storageType === _Constants.StorageType.localStorage) {
98
100
  return localStorage.removeItem(key);
99
101
  } else {
100
102
  return sessionStorage.removeItem(key);
@@ -59,6 +59,8 @@ exports.BroadcastEvent = BroadcastEvent;
59
59
  BroadcastEvent["SigninCardReceived"] = "SignInCardReceived";
60
60
  BroadcastEvent["BotAuthConfigRequest"] = "BotAuthConfigRequest";
61
61
  BroadcastEvent["BotAuthConfigResponse"] = "BotAuthConfigResponse";
62
+ BroadcastEvent["RemoveWidgetDataFromCache"] = "RemoveWidgetDataFromCache";
63
+ BroadcastEvent["InitiateStartChatInPopoutMode"] = "InitiateStartChatInPopoutMode";
62
64
  BroadcastEvent["HideChatVisibilityChangeEvent"] = "hideChatVisibilityChangeEvent";
63
65
  BroadcastEvent["UpdateSessionDataForTelemetry"] = "UpdateSessionDataForTelemetry";
64
66
  BroadcastEvent["UpdateConversationDataForTelemetry"] = "UpdateConversationDataForTelemetry";
@@ -95,13 +97,17 @@ exports.TelemetryEvent = TelemetryEvent;
95
97
  TelemetryEvent["CallingSDKInitFailed"] = "CallingSDKInitFailed";
96
98
  TelemetryEvent["CallingSDKLoadSuccess"] = "CallingSDKLoadSuccess";
97
99
  TelemetryEvent["CallingSDKLoadFailed"] = "CallingSDKLoadFailed";
100
+ TelemetryEvent["GetConversationDetailsCallStarted"] = "GetConversationDetailsCallStarted";
98
101
  TelemetryEvent["GetConversationDetailsCallFailed"] = "GetConversationDetailsCallFailed";
99
102
  TelemetryEvent["EndChatSDKCallFailed"] = "EndChatSDKCallFailed";
103
+ TelemetryEvent["GetChatReconnectContextSDKCallStarted"] = "GetChatReconnectContextSDKCallStarted";
100
104
  TelemetryEvent["GetChatReconnectContextSDKCallFailed"] = "GetChatReconnectContextSDKCallFailed";
101
105
  TelemetryEvent["ParseAdaptiveCardFailed"] = "ParseAdaptiveCardFailed";
102
106
  TelemetryEvent["ClientDataStoreProviderFailed"] = "ClientDataStoreProviderFailed";
103
107
  TelemetryEvent["InMemoryDataStoreFailed"] = "InMemoryDataStoreFailed";
104
108
  TelemetryEvent["ChatVisibilityChanged"] = "ChatVisibilityChanged";
109
+ TelemetryEvent["EndChatSucceeded"] = "EndChatSucceeded";
110
+ TelemetryEvent["EndChatFailed"] = "EndChatFailed";
105
111
  TelemetryEvent["WebChatLoaded"] = "WebChatLoaded";
106
112
  TelemetryEvent["LCWChatButtonClicked"] = "LCWChatButtonClicked";
107
113
  TelemetryEvent["LCWChatButtonShow"] = "LCWChatButtonShow";
@@ -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.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.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.findParentFocusableElementsWithoutChildContainer = exports.findAllFocusableElement = exports.extractPreChatSurveyResponseValues = exports.escapeHtml = exports.debounceLeading = exports.createTimer = exports.changeLanguageCodeFormatForWebChat = exports.addDelayInMs = void 0;
7
7
  var _Constants = require("./Constants");
8
8
  var _TelemetryConstants = require("./telemetry/TelemetryConstants");
9
9
  var _DataStoreManager = require("./contextDataStore/DataStoreManager");
@@ -282,7 +282,11 @@ const getDomain = hostValue => {
282
282
  return _Constants.AriaTelemetryConstants.Public;
283
283
  };
284
284
  exports.getDomain = getDomain;
285
- const getWidgetCacheId = (orgId, widgetId, widgetInstanceId) => {
285
+ const getWidgetCacheId = function (orgId, widgetId, widgetInstanceId) {
286
+ let popoutChat = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
287
+ if (popoutChat) {
288
+ widgetInstanceId = widgetInstanceId + _Constants.Constants.PopoutCacheSuffix;
289
+ }
286
290
  const widgetCacheId = `${widgetInstanceId}_${orgId}_${widgetId}`;
287
291
  return _md5Typescript.Md5.init(widgetCacheId);
288
292
  };
@@ -296,13 +300,13 @@ const getWidgetEndChatEventName = (orgId, widgetId, widgetInstanceId) => {
296
300
 
297
301
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
298
302
  exports.getWidgetEndChatEventName = getWidgetEndChatEventName;
299
- const getStateFromCache = (orgId, widgetId, widgetInstanceId) => {
303
+ const getStateFromCache = widgetCacheId => {
300
304
  // Getting updated state from cache
301
305
  try {
302
306
  if (_DataStoreManager.DataStoreManager.clientDataStore) {
303
307
  var _DataStoreManager$cli;
304
- const widgetStateEventName = getWidgetCacheId(orgId, widgetId, widgetInstanceId);
305
- const widgetStateFromCache = (_DataStoreManager$cli = _DataStoreManager.DataStoreManager.clientDataStore) === null || _DataStoreManager$cli === void 0 ? void 0 : _DataStoreManager$cli.getData(widgetStateEventName, "localStorage");
308
+ const widgetStateEventName = widgetCacheId;
309
+ const widgetStateFromCache = (_DataStoreManager$cli = _DataStoreManager.DataStoreManager.clientDataStore) === null || _DataStoreManager$cli === void 0 ? void 0 : _DataStoreManager$cli.getData(widgetStateEventName);
306
310
  const persistedState = widgetStateFromCache ? JSON.parse(widgetStateFromCache) : undefined;
307
311
  return persistedState;
308
312
  } else {
@@ -339,6 +343,24 @@ const getBroadcastChannelName = (widgetId, widgetInstanceId) => {
339
343
 
340
344
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
341
345
  exports.getBroadcastChannelName = getBroadcastChannelName;
346
+ const getWidgetCacheIdfromProps = function (props) {
347
+ var _props$chatSDK, _props$chatSDK$omnich, _props$chatSDK2, _props$chatSDK2$omnic, _props$controlProps, _props$controlProps2;
348
+ let popoutChat = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
349
+ const orgId = props === null || props === void 0 ? void 0 : (_props$chatSDK = props.chatSDK) === null || _props$chatSDK === void 0 ? void 0 : (_props$chatSDK$omnich = _props$chatSDK.omnichannelConfig) === null || _props$chatSDK$omnich === void 0 ? void 0 : _props$chatSDK$omnich.orgId;
350
+ const widgetId = props === null || props === void 0 ? void 0 : (_props$chatSDK2 = props.chatSDK) === null || _props$chatSDK2 === void 0 ? void 0 : (_props$chatSDK2$omnic = _props$chatSDK2.omnichannelConfig) === null || _props$chatSDK2$omnic === void 0 ? void 0 : _props$chatSDK2$omnic.widgetId;
351
+ let widgetInstanceId = (props === null || props === void 0 ? void 0 : (_props$controlProps = props.controlProps) === null || _props$controlProps === void 0 ? void 0 : _props$controlProps.widgetInstanceId) ?? "";
352
+ if (props.useSessionStorage) {
353
+ widgetInstanceId = widgetInstanceId + _Constants.Constants.SessionCacheSuffix;
354
+ }
355
+ if (props !== null && props !== void 0 && (_props$controlProps2 = props.controlProps) !== null && _props$controlProps2 !== void 0 && _props$controlProps2.hideStartChatButton || popoutChat === true) {
356
+ popoutChat = true;
357
+ }
358
+ const widgetCacheId = getWidgetCacheId(orgId, widgetId, widgetInstanceId, popoutChat);
359
+ return widgetCacheId;
360
+ };
361
+
362
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
363
+ exports.getWidgetCacheIdfromProps = getWidgetCacheIdfromProps;
342
364
  const debounceLeading = function (fn) {
343
365
  let ms = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 3000;
344
366
  let timeoutId;
@@ -11,9 +11,8 @@ var _utils = require("../../common/utils");
11
11
  var _DimLayer = require("../dimlayer/DimLayer");
12
12
  var _LiveChatWidgetActionType = require("../../contexts/common/LiveChatWidgetActionType");
13
13
  var _TelemetryHelper = require("../../common/telemetry/TelemetryHelper");
14
- var _useChatAdapterStore = _interopRequireDefault(require("../../hooks/useChatAdapterStore"));
15
14
  var _useChatContextStore = _interopRequireDefault(require("../../hooks/useChatContextStore"));
16
- var _ConversationEndEntity = require("../../contexts/common/ConversationEndEntity");
15
+ var _Constants = require("../../common/Constants");
17
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
17
  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); }
19
18
  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; }
@@ -23,7 +22,6 @@ const ConfirmationPaneStateful = props => {
23
22
  let elements = [];
24
23
  const [state, dispatch] = (0, _useChatContextStore.default)();
25
24
  // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unused-vars
26
- const [adapter] = (0, _useChatAdapterStore.default)();
27
25
  const controlProps = {
28
26
  id: "oc-lcw-confirmation-pane",
29
27
  dir: state.domainStates.globalDir,
@@ -36,11 +34,11 @@ const ConfirmationPaneStateful = props => {
36
34
  type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_SHOW_CONFIRMATION,
37
35
  payload: false
38
36
  });
39
- (0, _utils.setTabIndices)(elements, initialTabIndexMap, true);
40
37
  dispatch({
41
- type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CONVERSATION_ENDED_BY,
42
- payload: _ConversationEndEntity.ConversationEndEntity.Customer
38
+ type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CONFIRMATION_STATE,
39
+ payload: _Constants.ConfirmationState.Ok
43
40
  });
41
+ (0, _utils.setTabIndices)(elements, initialTabIndexMap, true);
44
42
  _TelemetryHelper.TelemetryHelper.logActionEvent(_TelemetryConstants.LogLevel.INFO, {
45
43
  Event: _TelemetryConstants.TelemetryEvent.ConversationEndedByCustomer,
46
44
  Description: "Conversation is ended by customer."
@@ -55,6 +53,10 @@ const ConfirmationPaneStateful = props => {
55
53
  type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_SHOW_CONFIRMATION,
56
54
  payload: false
57
55
  });
56
+ dispatch({
57
+ type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CONFIRMATION_STATE,
58
+ payload: _Constants.ConfirmationState.Cancel
59
+ });
58
60
  const previousFocusedElementId = state.appStates.previousElementIdOnFocusBeforeModalOpen;
59
61
  if (previousFocusedElementId) {
60
62
  (0, _utils.setFocusOnElement)("#" + previousFocusedElementId);
@@ -42,7 +42,7 @@ const FooterStateful = props => {
42
42
  Event: _TelemetryConstants.TelemetryEvent.DownloadTranscriptButtonClicked,
43
43
  Description: "Download Transcript button clicked."
44
44
  });
45
- await (0, _DownloadTranscriptStateful.downloadTranscript)(chatSDK, downloadTranscriptProps === null || downloadTranscriptProps === void 0 ? void 0 : downloadTranscriptProps.renderMarkDown, downloadTranscriptProps === null || downloadTranscriptProps === void 0 ? void 0 : downloadTranscriptProps.bannerMessageOnError, downloadTranscriptProps === null || downloadTranscriptProps === void 0 ? void 0 : downloadTranscriptProps.attachmentMessage);
45
+ await (0, _DownloadTranscriptStateful.downloadTranscript)(chatSDK, downloadTranscriptProps === null || downloadTranscriptProps === void 0 ? void 0 : downloadTranscriptProps.renderMarkDown, downloadTranscriptProps === null || downloadTranscriptProps === void 0 ? void 0 : downloadTranscriptProps.bannerMessageOnError, downloadTranscriptProps === null || downloadTranscriptProps === void 0 ? void 0 : downloadTranscriptProps.attachmentMessage, state);
46
46
  } catch (ex) {
47
47
  _TelemetryHelper.TelemetryHelper.logActionEvent(_TelemetryConstants.LogLevel.ERROR, {
48
48
  Event: _TelemetryConstants.TelemetryEvent.DownloadTranscriptFailed,
@@ -157,8 +157,15 @@ const beautifyChatTranscripts = (chatTranscripts, renderMarkDown, attachmentMess
157
157
  };
158
158
 
159
159
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
160
- const downloadTranscript = async (chatSDK, renderMarkDown, bannerMessageOnError, attachmentMessage) => {
160
+ const downloadTranscript = async (chatSDK, renderMarkDown, bannerMessageOnError, attachmentMessage, state) => {
161
+ var _state$domainStates, _state$domainStates2, _state$domainStates2$;
162
+ // Need to keep existing request id for scenarios when trnascript is downloaded after endchat
163
+ const existingRequestId = chatSDK.requestId;
164
+ chatSDK.chatToken = state === null || state === void 0 ? void 0 : (_state$domainStates = state.domainStates) === null || _state$domainStates === void 0 ? void 0 : _state$domainStates.chatToken;
165
+ chatSDK.requestId = state === null || state === void 0 ? void 0 : (_state$domainStates2 = state.domainStates) === null || _state$domainStates2 === void 0 ? void 0 : (_state$domainStates2$ = _state$domainStates2.chatToken) === null || _state$domainStates2$ === void 0 ? void 0 : _state$domainStates2$.requestId;
161
166
  let data = await (chatSDK === null || chatSDK === void 0 ? void 0 : chatSDK.getLiveChatTranscript());
167
+ // This is used for allowing to start next chat
168
+ chatSDK.requestId = existingRequestId;
162
169
  if (typeof data === _Constants.Constants.String) {
163
170
  data = JSON.parse(data);
164
171
  }
@@ -13,12 +13,12 @@ var _TelemetryHelper = require("../../common/telemetry/TelemetryHelper");
13
13
  var _defaultOutOfOfficeHeaderStyleProps = require("./common/styleProps/defaultOutOfOfficeHeaderStyleProps");
14
14
  var _useChatAdapterStore = _interopRequireDefault(require("../../hooks/useChatAdapterStore"));
15
15
  var _useChatContextStore = _interopRequireDefault(require("../../hooks/useChatContextStore"));
16
- var _ConversationEndEntity = require("../../contexts/common/ConversationEndEntity");
16
+ var _Constants = require("../../common/Constants");
17
17
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
18
  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); }
19
19
  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; }
20
20
  const HeaderStateful = props => {
21
- var _state$domainStates$l, _state$domainStates$l2, _headerProps$controlP, _headerProps$controlP2, _headerProps$controlP3, _outOfOfficeHeaderPro;
21
+ var _state$domainStates$l, _state$domainStates$l2, _state$domainStates, _headerProps$controlP, _headerProps$controlP2, _headerProps$controlP3, _outOfOfficeHeaderPro, _state$domainStates3;
22
22
  const [state, dispatch] = (0, _useChatContextStore.default)();
23
23
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
24
24
  const [adapter] = (0, _useChatAdapterStore.default)();
@@ -30,8 +30,9 @@ const HeaderStateful = props => {
30
30
  //Setting OutOfOperatingHours Flag
31
31
  const [outOfOperatingHours, setOutOfOperatingHours] = (0, _react.useState)(((_state$domainStates$l = state.domainStates.liveChatConfig) === null || _state$domainStates$l === void 0 ? void 0 : (_state$domainStates$l2 = _state$domainStates$l.LiveWSAndLiveChatEngJoin) === null || _state$domainStates$l2 === void 0 ? void 0 : _state$domainStates$l2.OutOfOperatingHours) === "True");
32
32
  const outOfOfficeStyleProps = Object.assign({}, _defaultOutOfOfficeHeaderStyleProps.defaultOutOfOfficeHeaderStyleProps, outOfOfficeHeaderProps === null || outOfOfficeHeaderProps === void 0 ? void 0 : outOfOfficeHeaderProps.styleProps);
33
- const conversationState = (0, _react.useRef)(state.appStates.conversationState);
34
- const conversationEndedBy = (0, _react.useRef)(state.appStates.conversationEndedBy);
33
+
34
+ // For some reason state object is not getting updated values in this component
35
+ const localConfirmationPaneState = (0, _react.useRef)(state === null || state === void 0 ? void 0 : (_state$domainStates = state.domainStates) === null || _state$domainStates === void 0 ? void 0 : _state$domainStates.confirmationState);
35
36
  const controlProps = {
36
37
  id: "oc-lcw-header",
37
38
  dir: state.domainStates.globalDir,
@@ -51,7 +52,7 @@ const HeaderStateful = props => {
51
52
  Event: _TelemetryConstants.TelemetryEvent.HeaderCloseButtonClicked,
52
53
  Description: "Header Close button clicked."
53
54
  });
54
- if (conversationState.current === _ConversationState.ConversationState.Active || conversationEndedBy.current === _ConversationEndEntity.ConversationEndEntity.Agent) {
55
+ if (localConfirmationPaneState.current !== _Constants.ConfirmationState.Ok) {
55
56
  dispatch({
56
57
  type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_SHOW_CONFIRMATION,
57
58
  payload: true
@@ -71,9 +72,9 @@ const HeaderStateful = props => {
71
72
  }
72
73
  },
73
74
  ...(headerProps === null || headerProps === void 0 ? void 0 : headerProps.controlProps),
74
- hideTitle: state.appStates.conversationState === _ConversationState.ConversationState.Loading && !state.appStates.isStartChatFailing || state.appStates.conversationState === _ConversationState.ConversationState.PostchatLoading || (headerProps === null || headerProps === void 0 ? void 0 : (_headerProps$controlP = headerProps.controlProps) === null || _headerProps$controlP === void 0 ? void 0 : _headerProps$controlP.hideTitle),
75
- hideIcon: state.appStates.conversationState === _ConversationState.ConversationState.Loading && !state.appStates.isStartChatFailing || state.appStates.conversationState === _ConversationState.ConversationState.PostchatLoading || (headerProps === null || headerProps === void 0 ? void 0 : (_headerProps$controlP2 = headerProps.controlProps) === null || _headerProps$controlP2 === void 0 ? void 0 : _headerProps$controlP2.hideIcon),
76
- hideCloseButton: state.appStates.conversationState === _ConversationState.ConversationState.Loading && !state.appStates.isStartChatFailing || state.appStates.conversationState === _ConversationState.ConversationState.PostchatLoading || state.appStates.conversationState === _ConversationState.ConversationState.Prechat || state.appStates.conversationState === _ConversationState.ConversationState.ReconnectChat || (headerProps === null || headerProps === void 0 ? void 0 : (_headerProps$controlP3 = headerProps.controlProps) === null || _headerProps$controlP3 === void 0 ? void 0 : _headerProps$controlP3.hideCloseButton)
75
+ hideTitle: state.appStates.conversationState === _ConversationState.ConversationState.Loading && !state.appStates.startChatFailed || state.appStates.conversationState === _ConversationState.ConversationState.PostchatLoading || (headerProps === null || headerProps === void 0 ? void 0 : (_headerProps$controlP = headerProps.controlProps) === null || _headerProps$controlP === void 0 ? void 0 : _headerProps$controlP.hideTitle),
76
+ hideIcon: state.appStates.conversationState === _ConversationState.ConversationState.Loading && !state.appStates.startChatFailed || state.appStates.conversationState === _ConversationState.ConversationState.PostchatLoading || (headerProps === null || headerProps === void 0 ? void 0 : (_headerProps$controlP2 = headerProps.controlProps) === null || _headerProps$controlP2 === void 0 ? void 0 : _headerProps$controlP2.hideIcon),
77
+ hideCloseButton: state.appStates.conversationState === _ConversationState.ConversationState.Loading && !state.appStates.startChatFailed || state.appStates.conversationState === _ConversationState.ConversationState.PostchatLoading || state.appStates.conversationState === _ConversationState.ConversationState.Prechat || state.appStates.conversationState === _ConversationState.ConversationState.ReconnectChat || (headerProps === null || headerProps === void 0 ? void 0 : (_headerProps$controlP3 = headerProps.controlProps) === null || _headerProps$controlP3 === void 0 ? void 0 : _headerProps$controlP3.hideCloseButton)
77
78
  };
78
79
  const outOfOfficeControlProps = {
79
80
  id: "oc-lcw-header",
@@ -94,11 +95,11 @@ const HeaderStateful = props => {
94
95
  if (state.appStates.outsideOperatingHours) {
95
96
  setOutOfOperatingHours(true);
96
97
  }
97
- if (state.appStates.conversationState) {
98
- conversationState.current = state.appStates.conversationState;
99
- }
100
- conversationEndedBy.current = state.appStates.conversationEndedBy;
101
- }, [state.appStates]);
98
+ }, []);
99
+ (0, _react.useEffect)(() => {
100
+ var _state$domainStates2;
101
+ localConfirmationPaneState.current = state === null || state === void 0 ? void 0 : (_state$domainStates2 = state.domainStates) === null || _state$domainStates2 === void 0 ? void 0 : _state$domainStates2.confirmationState;
102
+ }, [state === null || state === void 0 ? void 0 : (_state$domainStates3 = state.domainStates) === null || _state$domainStates3 === void 0 ? void 0 : _state$domainStates3.confirmationState]);
102
103
  return /*#__PURE__*/_react.default.createElement(_omnichannelChatComponents.Header, {
103
104
  componentOverrides: headerProps === null || headerProps === void 0 ? void 0 : headerProps.componentOverrides,
104
105
  controlProps: outOfOperatingHours || state.appStates.conversationState === _ConversationState.ConversationState.OutOfOffice ? outOfOfficeControlProps : controlProps,
@@ -9,6 +9,7 @@ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typ
9
9
  function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
10
10
  class DefaultActivitySubscriber {
11
11
  constructor() {
12
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
12
13
  _defineProperty(this, "observer", void 0);
13
14
  }
14
15
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -10,6 +10,7 @@ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typ
10
10
  function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
11
11
  class PauseActivitySubscriber {
12
12
  constructor() {
13
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
13
14
  _defineProperty(this, "observer", void 0);
14
15
  }
15
16
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -16,9 +16,11 @@ class Deferred {
16
16
  _defineProperty(this, "_reject", () => {
17
17
  return;
18
18
  });
19
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
19
20
  _defineProperty(this, "resolve", value => {
20
21
  this._resolve(value);
21
22
  });
23
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
22
24
  _defineProperty(this, "reject", value => {
23
25
  this._reject(value);
24
26
  });
@@ -27,9 +29,6 @@ class Deferred {
27
29
  this._reject = reject;
28
30
  });
29
31
  }
30
-
31
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
32
-
33
32
  get promise() {
34
33
  return this._promise;
35
34
  }
@@ -1791,9 +1791,11 @@ const dummyDefaultProps = {
1791
1791
  adaptiveCardStyles: {
1792
1792
  background: "white",
1793
1793
  color: "black"
1794
- }
1794
+ },
1795
+ hyperlinkTextOverride: false
1795
1796
  },
1796
1797
  telemetryConfig: undefined,
1797
- getAuthToken: undefined
1798
+ getAuthToken: undefined,
1799
+ initialCustomContext: undefined
1798
1800
  };
1799
1801
  exports.dummyDefaultProps = dummyDefaultProps;