@microsoft/omnichannel-chat-widget 0.1.0-main.0c0fd47 → 0.1.0-main.0d8d3bf

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 (85) hide show
  1. package/README.md +7 -34
  2. package/lib/cjs/common/Constants.js +4 -2
  3. package/lib/cjs/common/storage/default/defaultCacheManager.js +2 -2
  4. package/lib/cjs/common/storage/default/defaultClientDataStoreProvider.js +15 -6
  5. package/lib/cjs/common/telemetry/TelemetryConstants.js +13 -0
  6. package/lib/cjs/common/telemetry/TelemetryHelper.js +2 -1
  7. package/lib/cjs/common/utils.js +23 -2
  8. package/lib/cjs/components/confirmationpanestateful/ConfirmationPaneStateful.js +1 -1
  9. package/lib/cjs/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.js +1 -1
  10. package/lib/cjs/components/headerstateful/HeaderStateful.js +4 -2
  11. package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/BotAuthActivitySubscriber.js +139 -0
  12. package/lib/cjs/components/livechatwidget/common/createAdapter.js +2 -0
  13. package/lib/cjs/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +14 -10
  14. package/lib/cjs/components/livechatwidget/common/endChat.js +23 -17
  15. package/lib/cjs/components/livechatwidget/common/initWebChatComposer.js +26 -13
  16. package/lib/cjs/components/livechatwidget/common/reconnectChatHelper.js +5 -5
  17. package/lib/cjs/components/livechatwidget/common/startChat.js +70 -59
  18. package/lib/cjs/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +43 -37
  19. package/lib/cjs/components/loadingpanestateful/LoadingPaneStateful.js +8 -1
  20. package/lib/cjs/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.js +8 -1
  21. package/lib/cjs/components/postchatsurveypanestateful/common/defaultStyleProps/defaultPopOutgeneralPostChatSurveyPaneStyleProps.js +17 -0
  22. package/lib/cjs/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +1 -1
  23. package/lib/cjs/components/prechatsurveypanestateful/common/defaultStyles/defaultGeneralPreChatSurveyPaneStyleProps.js +1 -1
  24. package/lib/cjs/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.js +2 -0
  25. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.js +1 -3
  26. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware.js +2 -1
  27. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageBoxStyles.js +1 -1
  28. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageBoxStyles.js +1 -1
  29. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/NotDeliveredTimestamp.js +2 -14
  30. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/SendingTimestamp.js +2 -11
  31. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/typingIndicatorMiddleware.js +7 -4
  32. package/lib/cjs/contexts/common/LiveChatWidgetContextInitialState.js +4 -2
  33. package/lib/cjs/hooks/useDebounce.js +28 -0
  34. package/lib/cjs/hooks/useWindowDimensions.js +30 -0
  35. package/lib/cjs/plugins/newMessageEventHandler.js +14 -0
  36. package/lib/esm/common/Constants.js +4 -2
  37. package/lib/esm/common/storage/default/defaultCacheManager.js +2 -2
  38. package/lib/esm/common/storage/default/defaultClientDataStoreProvider.js +15 -6
  39. package/lib/esm/common/telemetry/TelemetryConstants.js +13 -0
  40. package/lib/esm/common/telemetry/TelemetryHelper.js +2 -1
  41. package/lib/esm/common/utils.js +20 -0
  42. package/lib/esm/components/confirmationpanestateful/ConfirmationPaneStateful.js +1 -1
  43. package/lib/esm/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.js +1 -1
  44. package/lib/esm/components/headerstateful/HeaderStateful.js +4 -2
  45. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/BotAuthActivitySubscriber.js +134 -0
  46. package/lib/esm/components/livechatwidget/common/createAdapter.js +2 -0
  47. package/lib/esm/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +14 -10
  48. package/lib/esm/components/livechatwidget/common/endChat.js +23 -17
  49. package/lib/esm/components/livechatwidget/common/initWebChatComposer.js +26 -13
  50. package/lib/esm/components/livechatwidget/common/reconnectChatHelper.js +6 -5
  51. package/lib/esm/components/livechatwidget/common/startChat.js +70 -59
  52. package/lib/esm/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +44 -38
  53. package/lib/esm/components/loadingpanestateful/LoadingPaneStateful.js +8 -1
  54. package/lib/esm/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.js +8 -1
  55. package/lib/esm/components/postchatsurveypanestateful/common/defaultStyleProps/defaultPopOutgeneralPostChatSurveyPaneStyleProps.js +10 -0
  56. package/lib/esm/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +1 -1
  57. package/lib/esm/components/prechatsurveypanestateful/common/defaultStyles/defaultGeneralPreChatSurveyPaneStyleProps.js +1 -1
  58. package/lib/esm/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.js +2 -0
  59. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.js +1 -3
  60. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware.js +2 -1
  61. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageBoxStyles.js +1 -1
  62. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageBoxStyles.js +1 -1
  63. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/NotDeliveredTimestamp.js +2 -14
  64. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/SendingTimestamp.js +2 -11
  65. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/typingIndicatorMiddleware.js +5 -5
  66. package/lib/esm/contexts/common/LiveChatWidgetContextInitialState.js +4 -2
  67. package/lib/esm/hooks/useDebounce.js +22 -0
  68. package/lib/esm/hooks/useWindowDimensions.js +23 -0
  69. package/lib/esm/plugins/newMessageEventHandler.js +14 -0
  70. package/lib/types/common/Constants.d.ts +2 -0
  71. package/lib/types/common/storage/default/defaultCacheManager.d.ts +1 -1
  72. package/lib/types/common/storage/default/defaultClientDataStoreProvider.d.ts +1 -1
  73. package/lib/types/common/telemetry/TelemetryConstants.d.ts +14 -1
  74. package/lib/types/common/telemetry/definitions/Contracts.d.ts +2 -0
  75. package/lib/types/common/telemetry/definitions/Payload.d.ts +1 -0
  76. package/lib/types/common/telemetry/interfaces/ITelemetryConfig.d.ts +4 -0
  77. package/lib/types/common/utils.d.ts +1 -0
  78. package/lib/types/components/livechatwidget/common/ActivitySubscriber/BotAuthActivitySubscriber.d.ts +9 -0
  79. package/lib/types/components/livechatwidget/common/startChat.d.ts +3 -3
  80. package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetControlProps.d.ts +2 -0
  81. package/lib/types/components/postchatsurveypanestateful/common/defaultStyleProps/defaultPopOutgeneralPostChatSurveyPaneStyleProps.d.ts +2 -0
  82. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/SendingTimestamp.d.ts +1 -1
  83. package/lib/types/hooks/useDebounce.d.ts +3 -0
  84. package/lib/types/hooks/useWindowDimensions.d.ts +4 -0
  85. package/package.json +3 -3
@@ -8,15 +8,18 @@ var _TelemetryConstants = require("../../../common/telemetry/TelemetryConstants"
8
8
  var _omnichannelChatComponents = require("@microsoft/omnichannel-chat-components");
9
9
  var _react = require("@fluentui/react");
10
10
  var _react2 = _interopRequireWildcard(require("react"));
11
- var _utils = require("../../../common/utils");
12
11
  var _startChat = require("../common/startChat");
12
+ var _utils = require("../../../common/utils");
13
+ var _endChat = require("../common/endChat");
13
14
  var _componentController = require("../../../controller/componentController");
15
+ var _ActivityStreamHandler = require("../common/ActivityStreamHandler");
14
16
  var _CallingContainerStateful = _interopRequireDefault(require("../../callingcontainerstateful/CallingContainerStateful"));
15
17
  var _ChatButtonStateful = _interopRequireDefault(require("../../chatbuttonstateful/ChatButtonStateful"));
16
18
  var _botframeworkWebchat = require("botframework-webchat");
17
19
  var _ConfirmationPaneStateful = _interopRequireDefault(require("../../confirmationpanestateful/ConfirmationPaneStateful"));
18
20
  var _ConversationState = require("../../../contexts/common/ConversationState");
19
21
  var _DataStoreManager = require("../../../common/contextDataStore/DataStoreManager");
22
+ var _Constants = require("../../../common/Constants");
20
23
  var _EmailTranscriptPaneStateful = _interopRequireDefault(require("../../emailtranscriptpanestateful/EmailTranscriptPaneStateful"));
21
24
  var _HeaderStateful = _interopRequireDefault(require("../../headerstateful/HeaderStateful"));
22
25
  var _LiveChatWidgetActionType = require("../../../contexts/common/LiveChatWidgetActionType");
@@ -32,30 +35,27 @@ var _TelemetryManager = require("../../../common/telemetry/TelemetryManager");
32
35
  var _WebChatContainerStateful = _interopRequireDefault(require("../../webchatcontainerstateful/WebChatContainerStateful"));
33
36
  var _createFooter = require("../common/createFooter");
34
37
  var _createInternetConnectionChangeHandler = require("../common/createInternetConnectionChangeHandler");
38
+ var _defaultClientDataStoreProvider = require("../../../common/storage/default/defaultClientDataStoreProvider");
39
+ var _defaultScrollBarProps = require("../common/defaultProps/defaultScrollBarProps");
35
40
  var _defaultWebChatContainerStatefulProps = require("../../webchatcontainerstateful/common/defaultProps/defaultWebChatContainerStatefulProps");
36
41
  var _disposeTelemetryLoggers = require("../common/disposeTelemetryLoggers");
37
- var _endChat = require("../common/endChat");
38
42
  var _getGeneralStylesForButton = require("../common/getGeneralStylesForButton");
39
43
  var _initCallingSdk = require("../common/initCallingSdk");
40
44
  var _initConfirmationPropsComposer = require("../common/initConfirmationPropsComposer");
41
45
  var _initWebChatComposer = require("../common/initWebChatComposer");
46
+ var _defaultCacheManager = require("../../../common/storage/default/defaultCacheManager");
42
47
  var _registerTelemetryLoggers = require("../common/registerTelemetryLoggers");
43
48
  var _setPostChatContextAndLoadSurvey = require("../common/setPostChatContextAndLoadSurvey");
44
49
  var _startProactiveChat = require("../common/startProactiveChat");
45
50
  var _useChatAdapterStore = _interopRequireDefault(require("../../../hooks/useChatAdapterStore"));
46
51
  var _useChatContextStore = _interopRequireDefault(require("../../../hooks/useChatContextStore"));
47
52
  var _useChatSDKStore = _interopRequireDefault(require("../../../hooks/useChatSDKStore"));
48
- var _ActivityStreamHandler = require("../common/ActivityStreamHandler");
49
- var _defaultCacheManager = require("../../../common/storage/default/defaultCacheManager");
50
- var _defaultClientDataStoreProvider = require("../../../common/storage/default/defaultClientDataStoreProvider");
51
- var _defaultScrollBarProps = require("../common/defaultProps/defaultScrollBarProps");
52
- var _Constants = require("../../../common/Constants");
53
53
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
54
54
  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); }
55
55
  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; }
56
56
  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); }
57
57
  const LiveChatWidgetStateful = props => {
58
- var _props$webChatContain, _props$styleProps, _chatSDK$omnichannelC, _props$controlProps, _props$controlProps2, _props$webChatContain3, _props$webChatContain4, _props$styleProps2, _props$controlProps13, _props$controlProps14, _props$componentOverr, _props$controlProps15, _props$componentOverr2, _props$controlProps16, _props$componentOverr3, _props$controlProps17, _props$componentOverr4, _props$controlProps18, _props$componentOverr5, _props$controlProps19, _props$componentOverr6, _props$controlProps20, _props$componentOverr7, _props$controlProps21, _props$controlProps22, _props$componentOverr8, _props$controlProps23, _props$componentOverr9, _props$controlProps24, _props$componentOverr10, _props$componentOverr11, _props$componentOverr12;
58
+ var _props$webChatContain, _props$styleProps, _chatSDK$omnichannelC, _props$controlProps, _props$controlProps2, _props$webChatContain3, _props$webChatContain4, _props$styleProps2, _props$controlProps14, _props$controlProps15, _props$componentOverr, _props$controlProps16, _props$componentOverr2, _props$controlProps17, _props$componentOverr3, _props$controlProps18, _props$componentOverr4, _props$controlProps19, _props$componentOverr5, _props$controlProps20, _props$componentOverr6, _props$controlProps21, _props$componentOverr7, _props$controlProps22, _props$controlProps23, _props$componentOverr8, _props$controlProps24, _props$componentOverr9, _props$controlProps25, _props$componentOverr10, _props$componentOverr11, _props$componentOverr12;
59
59
  const [state, dispatch] = (0, _useChatContextStore.default)();
60
60
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
61
61
  const [adapter, setAdapter] = (0, _useChatAdapterStore.default)();
@@ -103,7 +103,7 @@ const LiveChatWidgetStateful = props => {
103
103
  };
104
104
  } else {
105
105
  activeCachedChatExist = false;
106
- optionalParams = undefined;
106
+ optionalParams = {};
107
107
  }
108
108
  };
109
109
 
@@ -125,7 +125,7 @@ const LiveChatWidgetStateful = props => {
125
125
  //Check if conversation state is not in wrapup or closed state
126
126
  isChatValid = await (0, _startChat.checkIfConversationStillValid)(chatSDK, props, (_state$domainStates3 = state.domainStates) === null || _state$domainStates3 === void 0 ? void 0 : (_state$domainStates3$ = _state$domainStates3.liveChatContext) === null || _state$domainStates3$ === void 0 ? void 0 : _state$domainStates3$.requestId, dispatch);
127
127
  if (isChatValid === true) {
128
- await (0, _startChat.initStartChat)(chatSDK, props.chatConfig, props.getAuthToken, dispatch, setAdapter, optionalParams);
128
+ await (0, _startChat.initStartChat)(chatSDK, dispatch, setAdapter, props, optionalParams);
129
129
  return;
130
130
  }
131
131
  }
@@ -141,16 +141,22 @@ const LiveChatWidgetStateful = props => {
141
141
  }
142
142
  }
143
143
  };
144
- (0, _react2.useEffect)(() => {
145
- var _props$controlProps4, _props$controlProps5, _props$controlProps6, _props$chatConfig, _props$chatConfig$Liv, _props$controlProps8, _props$chatConfig2, _props$chatConfig2$Ch;
144
+
145
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
146
+ const setupClientDataStore = () => {
146
147
  // Add default localStorage support for widget
147
148
  if (props.contextDataStore === undefined) {
148
- var _chatSDK$omnichannelC2, _chatSDK$omnichannelC3, _props$controlProps3;
149
- (0, _defaultCacheManager.registerBroadcastServiceForLocalStorage)(chatSDK === null || chatSDK === void 0 ? void 0 : (_chatSDK$omnichannelC2 = chatSDK.omnichannelConfig) === null || _chatSDK$omnichannelC2 === void 0 ? void 0 : _chatSDK$omnichannelC2.orgId, chatSDK === null || chatSDK === void 0 ? void 0 : (_chatSDK$omnichannelC3 = chatSDK.omnichannelConfig) === null || _chatSDK$omnichannelC3 === void 0 ? void 0 : _chatSDK$omnichannelC3.widgetId, (props === null || props === void 0 ? void 0 : (_props$controlProps3 = props.controlProps) === null || _props$controlProps3 === void 0 ? void 0 : _props$controlProps3.widgetInstanceId) ?? "");
150
- _DataStoreManager.DataStoreManager.clientDataStore = (0, _defaultClientDataStoreProvider.defaultClientDataStoreProvider)();
149
+ var _props$controlProps3, _chatSDK$omnichannelC2, _chatSDK$omnichannelC3, _props$controlProps4;
150
+ const cacheTtlInMins = (props === null || props === void 0 ? void 0 : (_props$controlProps3 = props.controlProps) === null || _props$controlProps3 === void 0 ? void 0 : _props$controlProps3.cacheTtlInMins) ?? _Constants.Constants.CacheTtlInMinutes;
151
+ _DataStoreManager.DataStoreManager.clientDataStore = (0, _defaultClientDataStoreProvider.defaultClientDataStoreProvider)(cacheTtlInMins);
152
+ (0, _defaultCacheManager.registerBroadcastServiceForLocalStorage)(chatSDK === null || chatSDK === void 0 ? void 0 : (_chatSDK$omnichannelC2 = chatSDK.omnichannelConfig) === null || _chatSDK$omnichannelC2 === void 0 ? void 0 : _chatSDK$omnichannelC2.orgId, chatSDK === null || chatSDK === void 0 ? void 0 : (_chatSDK$omnichannelC3 = chatSDK.omnichannelConfig) === null || _chatSDK$omnichannelC3 === void 0 ? void 0 : _chatSDK$omnichannelC3.widgetId, (props === null || props === void 0 ? void 0 : (_props$controlProps4 = props.controlProps) === null || _props$controlProps4 === void 0 ? void 0 : _props$controlProps4.widgetInstanceId) ?? "", cacheTtlInMins);
151
153
  } else {
152
154
  _DataStoreManager.DataStoreManager.clientDataStore = props.contextDataStore;
153
155
  }
156
+ };
157
+ (0, _react2.useEffect)(() => {
158
+ var _props$controlProps5, _props$controlProps6, _props$controlProps7, _props$chatConfig, _props$chatConfig$Liv, _props$controlProps9, _props$chatConfig2, _props$chatConfig2$Ch;
159
+ setupClientDataStore();
154
160
  (0, _registerTelemetryLoggers.registerTelemetryLoggers)(props, dispatch);
155
161
  (0, _createInternetConnectionChangeHandler.createInternetConnectionChangeHandler)();
156
162
  dispatch({
@@ -159,17 +165,17 @@ const LiveChatWidgetStateful = props => {
159
165
  });
160
166
  dispatch({
161
167
  type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_START_CHAT_BUTTON_DISPLAY,
162
- payload: ((_props$controlProps4 = props.controlProps) === null || _props$controlProps4 === void 0 ? void 0 : _props$controlProps4.hideStartChatButton) || false
168
+ payload: ((_props$controlProps5 = props.controlProps) === null || _props$controlProps5 === void 0 ? void 0 : _props$controlProps5.hideStartChatButton) || false
163
169
  });
164
170
  dispatch({
165
171
  type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_E2VV_ENABLED,
166
172
  payload: false
167
173
  });
168
- if ((_props$controlProps5 = props.controlProps) !== null && _props$controlProps5 !== void 0 && _props$controlProps5.widgetInstanceId && !(0, _utils.isNullOrEmptyString)((_props$controlProps6 = props.controlProps) === null || _props$controlProps6 === void 0 ? void 0 : _props$controlProps6.widgetInstanceId)) {
169
- var _props$controlProps7;
174
+ if ((_props$controlProps6 = props.controlProps) !== null && _props$controlProps6 !== void 0 && _props$controlProps6.widgetInstanceId && !(0, _utils.isNullOrEmptyString)((_props$controlProps7 = props.controlProps) === null || _props$controlProps7 === void 0 ? void 0 : _props$controlProps7.widgetInstanceId)) {
175
+ var _props$controlProps8;
170
176
  dispatch({
171
177
  type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_WIDGET_INSTANCE_ID,
172
- payload: (_props$controlProps7 = props.controlProps) === null || _props$controlProps7 === void 0 ? void 0 : _props$controlProps7.widgetInstanceId
178
+ payload: (_props$controlProps8 = props.controlProps) === null || _props$controlProps8 === void 0 ? void 0 : _props$controlProps8.widgetInstanceId
173
179
  });
174
180
  }
175
181
  if (((_props$chatConfig = props.chatConfig) === null || _props$chatConfig === void 0 ? void 0 : (_props$chatConfig$Liv = _props$chatConfig.LiveWSAndLiveChatEngJoin) === null || _props$chatConfig$Liv === void 0 ? void 0 : _props$chatConfig$Liv.msdyn_callingoptions) !== _Constants.E2VVOptions.NoCalling) {
@@ -182,7 +188,7 @@ const LiveChatWidgetStateful = props => {
182
188
  }
183
189
 
184
190
  // Initialize global dir
185
- const globalDir = ((_props$controlProps8 = props.controlProps) === null || _props$controlProps8 === void 0 ? void 0 : _props$controlProps8.dir) ?? (0, _utils.getLocaleDirection)((_props$chatConfig2 = props.chatConfig) === null || _props$chatConfig2 === void 0 ? void 0 : (_props$chatConfig2$Ch = _props$chatConfig2.ChatWidgetLanguage) === null || _props$chatConfig2$Ch === void 0 ? void 0 : _props$chatConfig2$Ch.msdyn_localeid);
191
+ const globalDir = ((_props$controlProps9 = props.controlProps) === null || _props$controlProps9 === void 0 ? void 0 : _props$controlProps9.dir) ?? (0, _utils.getLocaleDirection)((_props$chatConfig2 = props.chatConfig) === null || _props$chatConfig2 === void 0 ? void 0 : (_props$chatConfig2$Ch = _props$chatConfig2.ChatWidgetLanguage) === null || _props$chatConfig2$Ch === void 0 ? void 0 : _props$chatConfig2$Ch.msdyn_localeid);
186
192
  dispatch({
187
193
  type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_GLOBAL_DIR,
188
194
  payload: globalDir
@@ -208,7 +214,7 @@ const LiveChatWidgetStateful = props => {
208
214
 
209
215
  // useEffect for custom context
210
216
  (0, _react2.useEffect)(() => {
211
- var _chatSDK$omnichannelC8, _chatSDK$omnichannelC9, _props$controlProps11;
217
+ var _chatSDK$omnichannelC8, _chatSDK$omnichannelC9, _props$controlProps12;
212
218
  // Add the custom context on receiving the SetCustomContext event
213
219
  _omnichannelChatComponents.BroadcastService.getMessageByEventName(_TelemetryConstants.BroadcastEvent.SetCustomContext).subscribe(msg => {
214
220
  _TelemetryHelper.TelemetryHelper.logActionEvent(_TelemetryConstants.LogLevel.INFO, {
@@ -238,12 +244,12 @@ const LiveChatWidgetStateful = props => {
238
244
 
239
245
  // Start chat from SDK Event
240
246
  _omnichannelChatComponents.BroadcastService.getMessageByEventName(_TelemetryConstants.BroadcastEvent.StartChat).subscribe(() => {
241
- var _chatSDK$omnichannelC4, _chatSDK$omnichannelC5, _props$controlProps9;
247
+ var _chatSDK$omnichannelC4, _chatSDK$omnichannelC5, _props$controlProps10;
242
248
  _TelemetryHelper.TelemetryHelper.logActionEvent(_TelemetryConstants.LogLevel.INFO, {
243
249
  Event: _TelemetryConstants.TelemetryEvent.StartChatEventRecevied,
244
250
  Description: "Start chat event received."
245
251
  });
246
- const persistedState = (0, _utils.getStateFromCache)(chatSDK === null || chatSDK === void 0 ? void 0 : (_chatSDK$omnichannelC4 = chatSDK.omnichannelConfig) === null || _chatSDK$omnichannelC4 === void 0 ? void 0 : _chatSDK$omnichannelC4.orgId, chatSDK === null || chatSDK === void 0 ? void 0 : (_chatSDK$omnichannelC5 = chatSDK.omnichannelConfig) === null || _chatSDK$omnichannelC5 === void 0 ? void 0 : _chatSDK$omnichannelC5.widgetId, (props === null || props === void 0 ? void 0 : (_props$controlProps9 = props.controlProps) === null || _props$controlProps9 === void 0 ? void 0 : _props$controlProps9.widgetInstanceId) ?? "");
252
+ const persistedState = (0, _utils.getStateFromCache)(chatSDK === null || chatSDK === void 0 ? void 0 : (_chatSDK$omnichannelC4 = chatSDK.omnichannelConfig) === null || _chatSDK$omnichannelC4 === void 0 ? void 0 : _chatSDK$omnichannelC4.orgId, chatSDK === null || chatSDK === void 0 ? void 0 : (_chatSDK$omnichannelC5 = chatSDK.omnichannelConfig) === null || _chatSDK$omnichannelC5 === void 0 ? void 0 : _chatSDK$omnichannelC5.widgetId, (props === null || props === void 0 ? void 0 : (_props$controlProps10 = props.controlProps) === null || _props$controlProps10 === void 0 ? void 0 : _props$controlProps10.widgetInstanceId) ?? "");
247
253
 
248
254
  // Chat not found in cache
249
255
  if (persistedState === undefined) {
@@ -284,9 +290,9 @@ const LiveChatWidgetStateful = props => {
284
290
  // End chat
285
291
  _omnichannelChatComponents.BroadcastService.getMessageByEventName(_TelemetryConstants.BroadcastEvent.InitiateEndChat).subscribe(async () => {
286
292
  if (state.appStates.hideStartChatButton === false) {
287
- var _chatSDK$omnichannelC6, _chatSDK$omnichannelC7, _props$controlProps10;
293
+ var _chatSDK$omnichannelC6, _chatSDK$omnichannelC7, _props$controlProps11;
288
294
  // This is to ensure to get latest state from cache in multitab
289
- const persistedState = (0, _utils.getStateFromCache)(chatSDK === null || chatSDK === void 0 ? void 0 : (_chatSDK$omnichannelC6 = chatSDK.omnichannelConfig) === null || _chatSDK$omnichannelC6 === void 0 ? void 0 : _chatSDK$omnichannelC6.orgId, chatSDK === null || chatSDK === void 0 ? void 0 : (_chatSDK$omnichannelC7 = chatSDK.omnichannelConfig) === null || _chatSDK$omnichannelC7 === void 0 ? void 0 : _chatSDK$omnichannelC7.widgetId, (props === null || props === void 0 ? void 0 : (_props$controlProps10 = props.controlProps) === null || _props$controlProps10 === void 0 ? void 0 : _props$controlProps10.widgetInstanceId) ?? "");
295
+ const persistedState = (0, _utils.getStateFromCache)(chatSDK === null || chatSDK === void 0 ? void 0 : (_chatSDK$omnichannelC6 = chatSDK.omnichannelConfig) === null || _chatSDK$omnichannelC6 === void 0 ? void 0 : _chatSDK$omnichannelC6.orgId, chatSDK === null || chatSDK === void 0 ? void 0 : (_chatSDK$omnichannelC7 = chatSDK.omnichannelConfig) === null || _chatSDK$omnichannelC7 === void 0 ? void 0 : _chatSDK$omnichannelC7.widgetId, (props === null || props === void 0 ? void 0 : (_props$controlProps11 = props.controlProps) === null || _props$controlProps11 === void 0 ? void 0 : _props$controlProps11.widgetInstanceId) ?? "");
290
296
  if (persistedState && persistedState.appStates.conversationState === _ConversationState.ConversationState.Active) {
291
297
  (0, _endChat.prepareEndChat)(props, chatSDK, setAdapter, setWebChatStyles, dispatch, adapter, state);
292
298
  } else {
@@ -306,7 +312,7 @@ const LiveChatWidgetStateful = props => {
306
312
  });
307
313
 
308
314
  // Listen to end chat event from other tabs
309
- const endChatEventName = (0, _utils.getWidgetEndChatEventName)(chatSDK === null || chatSDK === void 0 ? void 0 : (_chatSDK$omnichannelC8 = chatSDK.omnichannelConfig) === null || _chatSDK$omnichannelC8 === void 0 ? void 0 : _chatSDK$omnichannelC8.orgId, chatSDK === null || chatSDK === void 0 ? void 0 : (_chatSDK$omnichannelC9 = chatSDK.omnichannelConfig) === null || _chatSDK$omnichannelC9 === void 0 ? void 0 : _chatSDK$omnichannelC9.widgetId, ((_props$controlProps11 = props.controlProps) === null || _props$controlProps11 === void 0 ? void 0 : _props$controlProps11.widgetInstanceId) ?? "");
315
+ const endChatEventName = (0, _utils.getWidgetEndChatEventName)(chatSDK === null || chatSDK === void 0 ? void 0 : (_chatSDK$omnichannelC8 = chatSDK.omnichannelConfig) === null || _chatSDK$omnichannelC8 === void 0 ? void 0 : _chatSDK$omnichannelC8.orgId, chatSDK === null || chatSDK === void 0 ? void 0 : (_chatSDK$omnichannelC9 = chatSDK.omnichannelConfig) === null || _chatSDK$omnichannelC9 === void 0 ? void 0 : _chatSDK$omnichannelC9.widgetId, ((_props$controlProps12 = props.controlProps) === null || _props$controlProps12 === void 0 ? void 0 : _props$controlProps12.widgetInstanceId) ?? "");
310
316
  _omnichannelChatComponents.BroadcastService.getMessageByEventName(endChatEventName).subscribe(async () => {
311
317
  (0, _endChat.endChat)(props, chatSDK, setAdapter, setWebChatStyles, dispatch, adapter, false, false, false);
312
318
  return;
@@ -411,7 +417,7 @@ const LiveChatWidgetStateful = props => {
411
417
 
412
418
  // Publish chat widget state
413
419
  (0, _react2.useEffect)(() => {
414
- var _props$chatSDK, _props$chatSDK$omnich, _props$chatSDK2, _props$chatSDK2$omnic, _props$controlProps12;
420
+ var _props$chatSDK, _props$chatSDK$omnich, _props$chatSDK2, _props$chatSDK2$omnic, _props$controlProps13;
415
421
  // Only activate these windows events when conversation state is active and chat widget is in popout mode
416
422
  // Ghost chat scenarios
417
423
  /* COMMENTING THIS CODE FOR PARITY WITH OLD LCW
@@ -429,7 +435,7 @@ const LiveChatWidgetStateful = props => {
429
435
  };
430
436
  }*/
431
437
 
432
- widgetStateEventName = (0, _utils.getWidgetCacheId)(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, 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, (props === null || props === void 0 ? void 0 : (_props$controlProps12 = props.controlProps) === null || _props$controlProps12 === void 0 ? void 0 : _props$controlProps12.widgetInstanceId) ?? "");
438
+ widgetStateEventName = (0, _utils.getWidgetCacheId)(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, 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, (props === null || props === void 0 ? void 0 : (_props$controlProps13 = props.controlProps) === null || _props$controlProps13 === void 0 ? void 0 : _props$controlProps13.widgetInstanceId) ?? "");
433
439
  const chatWidgetStateChangeEvent = {
434
440
  eventName: widgetStateEventName,
435
441
  payload: {
@@ -465,7 +471,7 @@ const LiveChatWidgetStateful = props => {
465
471
  const prepareEndChatRelay = (adapter, state) => (0, _endChat.prepareEndChat)(props, chatSDK, setAdapter, setWebChatStyles, dispatch, adapter, state);
466
472
  const prepareStartChatRelay = () => (0, _startChat.prepareStartChat)(props, chatSDK, state, dispatch, setAdapter);
467
473
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
468
- const initStartChatRelay = (optionalParams, persistedState) => (0, _startChat.initStartChat)(chatSDK, props.chatConfig, props.getAuthToken, dispatch, setAdapter, optionalParams, persistedState);
474
+ const initStartChatRelay = (optionalParams, persistedState) => (0, _startChat.initStartChat)(chatSDK, dispatch, setAdapter, props, optionalParams, persistedState);
469
475
  const confirmationPaneProps = (0, _initConfirmationPropsComposer.initConfirmationPropsComposer)(props);
470
476
  return /*#__PURE__*/_react2.default.createElement(_react2.default.Fragment, null, /*#__PURE__*/_react2.default.createElement("style", null, `
471
477
  ::-webkit-scrollbar {
@@ -491,29 +497,29 @@ const LiveChatWidgetStateful = props => {
491
497
  id: widgetElementId,
492
498
  styles: generalStyles,
493
499
  className: (_props$styleProps2 = props.styleProps) === null || _props$styleProps2 === void 0 ? void 0 : _props$styleProps2.className
494
- }, !((_props$controlProps13 = props.controlProps) !== null && _props$controlProps13 !== void 0 && _props$controlProps13.hideChatButton) && !((_props$controlProps14 = props.controlProps) !== null && _props$controlProps14 !== void 0 && _props$controlProps14.hideStartChatButton) && (0, _componentController.shouldShowChatButton)(state) && ((0, _omnichannelChatComponents.decodeComponentString)((_props$componentOverr = props.componentOverrides) === null || _props$componentOverr === void 0 ? void 0 : _props$componentOverr.chatButton) || /*#__PURE__*/_react2.default.createElement(_ChatButtonStateful.default, {
500
+ }, !((_props$controlProps14 = props.controlProps) !== null && _props$controlProps14 !== void 0 && _props$controlProps14.hideChatButton) && !((_props$controlProps15 = props.controlProps) !== null && _props$controlProps15 !== void 0 && _props$controlProps15.hideStartChatButton) && (0, _componentController.shouldShowChatButton)(state) && ((0, _omnichannelChatComponents.decodeComponentString)((_props$componentOverr = props.componentOverrides) === null || _props$componentOverr === void 0 ? void 0 : _props$componentOverr.chatButton) || /*#__PURE__*/_react2.default.createElement(_ChatButtonStateful.default, {
495
501
  buttonProps: props.chatButtonProps,
496
502
  outOfOfficeButtonProps: props.outOfOfficeChatButtonProps,
497
503
  startChat: prepareStartChatRelay
498
- })), !((_props$controlProps15 = props.controlProps) !== null && _props$controlProps15 !== void 0 && _props$controlProps15.hideProactiveChatPane) && (0, _componentController.shouldShowProactiveChatPane)(state) && ((0, _omnichannelChatComponents.decodeComponentString)((_props$componentOverr2 = props.componentOverrides) === null || _props$componentOverr2 === void 0 ? void 0 : _props$componentOverr2.proactiveChatPane) || /*#__PURE__*/_react2.default.createElement(_ProactiveChatPaneStateful.default, {
504
+ })), !((_props$controlProps16 = props.controlProps) !== null && _props$controlProps16 !== void 0 && _props$controlProps16.hideProactiveChatPane) && (0, _componentController.shouldShowProactiveChatPane)(state) && ((0, _omnichannelChatComponents.decodeComponentString)((_props$componentOverr2 = props.componentOverrides) === null || _props$componentOverr2 === void 0 ? void 0 : _props$componentOverr2.proactiveChatPane) || /*#__PURE__*/_react2.default.createElement(_ProactiveChatPaneStateful.default, {
499
505
  proactiveChatProps: props.proactiveChatPaneProps,
500
506
  startChat: prepareStartChatRelay
501
- })), !((_props$controlProps16 = props.controlProps) !== null && _props$controlProps16 !== void 0 && _props$controlProps16.hideHeader) && (0, _componentController.shouldShowHeader)(state) && ((0, _omnichannelChatComponents.decodeComponentString)((_props$componentOverr3 = props.componentOverrides) === null || _props$componentOverr3 === void 0 ? void 0 : _props$componentOverr3.header) || /*#__PURE__*/_react2.default.createElement(_HeaderStateful.default, {
507
+ })), !((_props$controlProps17 = props.controlProps) !== null && _props$controlProps17 !== void 0 && _props$controlProps17.hideHeader) && (0, _componentController.shouldShowHeader)(state) && ((0, _omnichannelChatComponents.decodeComponentString)((_props$componentOverr3 = props.componentOverrides) === null || _props$componentOverr3 === void 0 ? void 0 : _props$componentOverr3.header) || /*#__PURE__*/_react2.default.createElement(_HeaderStateful.default, {
502
508
  headerProps: props.headerProps,
503
509
  outOfOfficeHeaderProps: props.outOfOfficeHeaderProps,
504
510
  endChat: endChatRelay
505
- })), !((_props$controlProps17 = props.controlProps) !== null && _props$controlProps17 !== void 0 && _props$controlProps17.hideLoadingPane) && (0, _componentController.shouldShowLoadingPane)(state) && ((0, _omnichannelChatComponents.decodeComponentString)((_props$componentOverr4 = props.componentOverrides) === null || _props$componentOverr4 === void 0 ? void 0 : _props$componentOverr4.loadingPane) || /*#__PURE__*/_react2.default.createElement(_LoadingPaneStateful.default, props.loadingPaneProps)), !((_props$controlProps18 = props.controlProps) !== null && _props$controlProps18 !== void 0 && _props$controlProps18.hideOutOfOfficeHoursPane) && (0, _componentController.shouldShowOutOfOfficeHoursPane)(state) && ((0, _omnichannelChatComponents.decodeComponentString)((_props$componentOverr5 = props.componentOverrides) === null || _props$componentOverr5 === void 0 ? void 0 : _props$componentOverr5.outOfOfficeHoursPane) || /*#__PURE__*/_react2.default.createElement(_OOOHPaneStateful.default, props.outOfOfficeHoursPaneProps)), !((_props$controlProps19 = props.controlProps) !== null && _props$controlProps19 !== void 0 && _props$controlProps19.hideReconnectChatPane) && (0, _componentController.shouldShowReconnectChatPane)(state) && ((0, _omnichannelChatComponents.decodeComponentString)((_props$componentOverr6 = props.componentOverrides) === null || _props$componentOverr6 === void 0 ? void 0 : _props$componentOverr6.reconnectChatPane) || /*#__PURE__*/_react2.default.createElement(_ReconnectChatPaneStateful.default, {
511
+ })), !((_props$controlProps18 = props.controlProps) !== null && _props$controlProps18 !== void 0 && _props$controlProps18.hideLoadingPane) && (0, _componentController.shouldShowLoadingPane)(state) && ((0, _omnichannelChatComponents.decodeComponentString)((_props$componentOverr4 = props.componentOverrides) === null || _props$componentOverr4 === void 0 ? void 0 : _props$componentOverr4.loadingPane) || /*#__PURE__*/_react2.default.createElement(_LoadingPaneStateful.default, props.loadingPaneProps)), !((_props$controlProps19 = props.controlProps) !== null && _props$controlProps19 !== void 0 && _props$controlProps19.hideOutOfOfficeHoursPane) && (0, _componentController.shouldShowOutOfOfficeHoursPane)(state) && ((0, _omnichannelChatComponents.decodeComponentString)((_props$componentOverr5 = props.componentOverrides) === null || _props$componentOverr5 === void 0 ? void 0 : _props$componentOverr5.outOfOfficeHoursPane) || /*#__PURE__*/_react2.default.createElement(_OOOHPaneStateful.default, props.outOfOfficeHoursPaneProps)), !((_props$controlProps20 = props.controlProps) !== null && _props$controlProps20 !== void 0 && _props$controlProps20.hideReconnectChatPane) && (0, _componentController.shouldShowReconnectChatPane)(state) && ((0, _omnichannelChatComponents.decodeComponentString)((_props$componentOverr6 = props.componentOverrides) === null || _props$componentOverr6 === void 0 ? void 0 : _props$componentOverr6.reconnectChatPane) || /*#__PURE__*/_react2.default.createElement(_ReconnectChatPaneStateful.default, {
506
512
  reconnectChatProps: props.reconnectChatPaneProps,
507
513
  initStartChat: initStartChatRelay
508
- })), !((_props$controlProps20 = props.controlProps) !== null && _props$controlProps20 !== void 0 && _props$controlProps20.hidePreChatSurveyPane) && (0, _componentController.shouldShowPreChatSurveyPane)(state) && ((0, _omnichannelChatComponents.decodeComponentString)((_props$componentOverr7 = props.componentOverrides) === null || _props$componentOverr7 === void 0 ? void 0 : _props$componentOverr7.preChatSurveyPane) || /*#__PURE__*/_react2.default.createElement(_PreChatSurveyPaneStateful.default, {
514
+ })), !((_props$controlProps21 = props.controlProps) !== null && _props$controlProps21 !== void 0 && _props$controlProps21.hidePreChatSurveyPane) && (0, _componentController.shouldShowPreChatSurveyPane)(state) && ((0, _omnichannelChatComponents.decodeComponentString)((_props$componentOverr7 = props.componentOverrides) === null || _props$componentOverr7 === void 0 ? void 0 : _props$componentOverr7.preChatSurveyPane) || /*#__PURE__*/_react2.default.createElement(_PreChatSurveyPaneStateful.default, {
509
515
  surveyProps: props.preChatSurveyPaneProps,
510
516
  initStartChat: initStartChatRelay
511
- })), !((_props$controlProps21 = props.controlProps) !== null && _props$controlProps21 !== void 0 && _props$controlProps21.hideCallingContainer) && (0, _componentController.shouldShowCallingContainer)(state) && /*#__PURE__*/_react2.default.createElement(_CallingContainerStateful.default, _extends({
517
+ })), !((_props$controlProps22 = props.controlProps) !== null && _props$controlProps22 !== void 0 && _props$controlProps22.hideCallingContainer) && (0, _componentController.shouldShowCallingContainer)(state) && /*#__PURE__*/_react2.default.createElement(_CallingContainerStateful.default, _extends({
512
518
  voiceVideoCallingSdk: voiceVideoCallingSDK
513
- }, props.callingContainerProps)), !((_props$controlProps22 = props.controlProps) !== null && _props$controlProps22 !== void 0 && _props$controlProps22.hideWebChatContainer) && (0, _componentController.shouldShowWebChatContainer)(state) && ((0, _omnichannelChatComponents.decodeComponentString)((_props$componentOverr8 = props.componentOverrides) === null || _props$componentOverr8 === void 0 ? void 0 : _props$componentOverr8.webChatContainer) || /*#__PURE__*/_react2.default.createElement(_WebChatContainerStateful.default, props.webChatContainerProps)), !((_props$controlProps23 = props.controlProps) !== null && _props$controlProps23 !== void 0 && _props$controlProps23.hideConfirmationPane) && (0, _componentController.shouldShowConfirmationPane)(state) && ((0, _omnichannelChatComponents.decodeComponentString)((_props$componentOverr9 = props.componentOverrides) === null || _props$componentOverr9 === void 0 ? void 0 : _props$componentOverr9.confirmationPane) || /*#__PURE__*/_react2.default.createElement(_ConfirmationPaneStateful.default, _extends({}, confirmationPaneProps, {
519
+ }, props.callingContainerProps)), !((_props$controlProps23 = props.controlProps) !== null && _props$controlProps23 !== void 0 && _props$controlProps23.hideWebChatContainer) && (0, _componentController.shouldShowWebChatContainer)(state) && ((0, _omnichannelChatComponents.decodeComponentString)((_props$componentOverr8 = props.componentOverrides) === null || _props$componentOverr8 === void 0 ? void 0 : _props$componentOverr8.webChatContainer) || /*#__PURE__*/_react2.default.createElement(_WebChatContainerStateful.default, props.webChatContainerProps)), !((_props$controlProps24 = props.controlProps) !== null && _props$controlProps24 !== void 0 && _props$controlProps24.hideConfirmationPane) && (0, _componentController.shouldShowConfirmationPane)(state) && ((0, _omnichannelChatComponents.decodeComponentString)((_props$componentOverr9 = props.componentOverrides) === null || _props$componentOverr9 === void 0 ? void 0 : _props$componentOverr9.confirmationPane) || /*#__PURE__*/_react2.default.createElement(_ConfirmationPaneStateful.default, _extends({}, confirmationPaneProps, {
514
520
  setPostChatContext: setPostChatContextRelay,
515
521
  prepareEndChat: prepareEndChatRelay
516
- }))), !((_props$controlProps24 = props.controlProps) !== null && _props$controlProps24 !== void 0 && _props$controlProps24.hidePostChatLoadingPane) && (0, _componentController.shouldShowPostChatLoadingPane)(state) && ((0, _omnichannelChatComponents.decodeComponentString)((_props$componentOverr10 = props.componentOverrides) === null || _props$componentOverr10 === void 0 ? void 0 : _props$componentOverr10.postChatLoadingPane) || /*#__PURE__*/_react2.default.createElement(_PostChatLoadingPaneStateful.default, props.postChatLoadingPaneProps)), (0, _componentController.shouldShowPostChatSurveyPane)(state) && ((0, _omnichannelChatComponents.decodeComponentString)((_props$componentOverr11 = props.componentOverrides) === null || _props$componentOverr11 === void 0 ? void 0 : _props$componentOverr11.postChatSurveyPane) || /*#__PURE__*/_react2.default.createElement(_PostChatSurveyPaneStateful.default, _extends({}, props.postChatSurveyPaneProps, props.chatSDK))), (0, _createFooter.createFooter)(props, state), (0, _componentController.shouldShowEmailTranscriptPane)(state) && ((0, _omnichannelChatComponents.decodeComponentString)((_props$componentOverr12 = props.componentOverrides) === null || _props$componentOverr12 === void 0 ? void 0 : _props$componentOverr12.emailTranscriptPane) || /*#__PURE__*/_react2.default.createElement(_EmailTranscriptPaneStateful.default, props.emailTranscriptPane)))));
522
+ }))), !((_props$controlProps25 = props.controlProps) !== null && _props$controlProps25 !== void 0 && _props$controlProps25.hidePostChatLoadingPane) && (0, _componentController.shouldShowPostChatLoadingPane)(state) && ((0, _omnichannelChatComponents.decodeComponentString)((_props$componentOverr10 = props.componentOverrides) === null || _props$componentOverr10 === void 0 ? void 0 : _props$componentOverr10.postChatLoadingPane) || /*#__PURE__*/_react2.default.createElement(_PostChatLoadingPaneStateful.default, props.postChatLoadingPaneProps)), (0, _componentController.shouldShowPostChatSurveyPane)(state) && ((0, _omnichannelChatComponents.decodeComponentString)((_props$componentOverr11 = props.componentOverrides) === null || _props$componentOverr11 === void 0 ? void 0 : _props$componentOverr11.postChatSurveyPane) || /*#__PURE__*/_react2.default.createElement(_PostChatSurveyPaneStateful.default, _extends({}, props.postChatSurveyPaneProps, props.chatSDK))), (0, _createFooter.createFooter)(props, state), (0, _componentController.shouldShowEmailTranscriptPane)(state) && ((0, _omnichannelChatComponents.decodeComponentString)((_props$componentOverr12 = props.componentOverrides) === null || _props$componentOverr12 === void 0 ? void 0 : _props$componentOverr12.emailTranscriptPane) || /*#__PURE__*/_react2.default.createElement(_EmailTranscriptPaneStateful.default, props.emailTranscriptPane)))));
517
523
  };
518
524
  exports.LiveChatWidgetStateful = LiveChatWidgetStateful;
519
525
  var _default = LiveChatWidgetStateful;
@@ -11,6 +11,7 @@ var _TelemetryHelper = require("../../common/telemetry/TelemetryHelper");
11
11
  var _defaultgeneralLoadingPaneStyleProps = require("./common/defaultStyleProps/defaultgeneralLoadingPaneStyleProps");
12
12
  var _utils = require("../../common/utils");
13
13
  var _useChatContextStore = _interopRequireDefault(require("../../hooks/useChatContextStore"));
14
+ var _useWindowDimensions = _interopRequireDefault(require("../../hooks/useWindowDimensions"));
14
15
  var _errorUILoadingPaneStyleProps = require("./common/errorUIStyleProps/errorUILoadingPaneStyleProps");
15
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
16
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); }
@@ -40,6 +41,10 @@ const LoadingPaneStateful = props => {
40
41
  hideSpinnerText: true,
41
42
  ...props.controlProps
42
43
  };
44
+ const {
45
+ height,
46
+ width
47
+ } = (0, _useWindowDimensions.default)();
43
48
 
44
49
  // Move focus to the first button
45
50
  (0, _react.useEffect)(() => {
@@ -55,7 +60,9 @@ const LoadingPaneStateful = props => {
55
60
  return /*#__PURE__*/_react.default.createElement(_omnichannelChatComponents.LoadingPane, {
56
61
  componentOverrides: props.componentOverrides,
57
62
  controlProps: state.appStates.isStartChatFailing ? errorUIControlProps : controlProps,
58
- styleProps: state.appStates.isStartChatFailing ? errorUIStyleProps : styleProps
63
+ styleProps: state.appStates.isStartChatFailing ? errorUIStyleProps : styleProps,
64
+ windowWidth: width,
65
+ windowHeight: height
59
66
  });
60
67
  };
61
68
  exports.LoadingPaneStateful = LoadingPaneStateful;
@@ -13,6 +13,7 @@ var _utils = require("../../common/utils");
13
13
  var _useChatContextStore = _interopRequireDefault(require("../../hooks/useChatContextStore"));
14
14
  var _PostChatSurveyMode = require("./enums/PostChatSurveyMode");
15
15
  var _CustomerVoiceEvents = require("./enums/CustomerVoiceEvents");
16
+ var _defaultPopOutgeneralPostChatSurveyPaneStyleProps = require("./common/defaultStyleProps/defaultPopOutgeneralPostChatSurveyPaneStyleProps");
16
17
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
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); }
18
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,7 +21,13 @@ const PostChatSurveyPaneStateful = props => {
20
21
  var _state$domainStates$l, _state$domainStates$l2, _props$styleProps, _props$controlProps;
21
22
  const [state] = (0, _useChatContextStore.default)();
22
23
  const postChatSurveyMode = (_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.msdyn_postconversationsurveymode;
23
- const generalStyleProps = Object.assign({}, _defaultgeneralPostChatSurveyPaneStyleProps.defaultGeneralPostChatSurveyPaneStyleProps, (_props$styleProps = props.styleProps) === null || _props$styleProps === void 0 ? void 0 : _props$styleProps.generalStyleProps, {
24
+ const chooseGeneralStylePropsToBeLoaded = () => {
25
+ if (state.appStates.hideStartChatButton) {
26
+ return _defaultPopOutgeneralPostChatSurveyPaneStyleProps.defaultPopOutGeneralPostChatSurveyPaneStyleProps;
27
+ }
28
+ return _defaultgeneralPostChatSurveyPaneStyleProps.defaultGeneralPostChatSurveyPaneStyleProps;
29
+ };
30
+ const generalStyleProps = Object.assign({}, chooseGeneralStylePropsToBeLoaded(), (_props$styleProps = props.styleProps) === null || _props$styleProps === void 0 ? void 0 : _props$styleProps.generalStyleProps, {
24
31
  display: state.appStates.isMinimized ? "none" : ""
25
32
  });
26
33
  let surveyInviteLink = "";
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.defaultPopOutGeneralPostChatSurveyPaneStyleProps = void 0;
7
+ const defaultPopOutGeneralPostChatSurveyPaneStyleProps = {
8
+ position: "initial",
9
+ height: "100%",
10
+ width: "100%",
11
+ left: "0%",
12
+ top: "0%",
13
+ borderRadius: "0 0 4px 4px",
14
+ borderWidth: "0px",
15
+ maxHeight: "calc(100% - 20px)"
16
+ };
17
+ exports.defaultPopOutGeneralPostChatSurveyPaneStyleProps = defaultPopOutGeneralPostChatSurveyPaneStyleProps;
@@ -120,7 +120,7 @@ const PreChatSurveyPaneStateful = props => {
120
120
  }
121
121
  if (current && current.tagName.toLowerCase() == _Constants.HtmlAttributeNames.div && current.childElementCount > 0) {
122
122
  const input = current.children[0].children;
123
- if (input && input.length > 0 && input[0].className != _Constants.HtmlAttributeNames.adaptiveCardToggleInputClassName) {
123
+ if ((input === null || input === void 0 ? void 0 : input.length) > 0 && input[0].className != _Constants.HtmlAttributeNames.adaptiveCardToggleInputClassName && input[0].className != _Constants.HtmlAttributeNames.adaptiveCardActionSetClassName) {
124
124
  input[0].setAttribute(_Constants.HtmlAttributeNames.ariaLabel, value);
125
125
  }
126
126
  }
@@ -7,7 +7,7 @@ exports.defaultGeneralPreChatSurveyPaneStyleProps = void 0;
7
7
  const defaultGeneralPreChatSurveyPaneStyleProps = {
8
8
  borderStyle: "solid",
9
9
  borderRadius: "inherit",
10
- borderWidth: "3px",
10
+ borderWidth: "0px",
11
11
  backgroundColor: "#FFFFFF",
12
12
  borderColor: "#F1F1F1",
13
13
  overflowY: "auto",
@@ -12,6 +12,7 @@ const FileAttachmentIconMap = {
12
12
  "aac": _Icons.AudioIcon,
13
13
  "aiff": _Icons.AudioIcon,
14
14
  "alac": _Icons.AudioIcon,
15
+ "amr": _Icons.AudioIcon,
15
16
  "avchd": _Icons.VideoIcon,
16
17
  "avi": _Icons.VideoIcon,
17
18
  "bmp": _Icons.ImageIcon,
@@ -50,6 +51,7 @@ const FileAttachmentIconMap = {
50
51
  "vsdx": _Icons.VisioIcon,
51
52
  "wav": _Icons.AudioIcon,
52
53
  "webm": _Icons.VideoIcon,
54
+ "webp": _Icons.ImageIcon,
53
55
  "wma": _Icons.AudioIcon,
54
56
  "wmv": _Icons.VideoIcon,
55
57
  "xls": _Icons.ExcelIcon,
@@ -57,9 +57,7 @@ const activityStatusMiddleware = () => next => args => {
57
57
  style: {
58
58
  padding: "2px"
59
59
  }
60
- }, sendState === _SendStatus.SendStatus.Sending && /*#__PURE__*/_react.default.createElement(_SendingTimestamp.SendingTimestamp, {
61
- args: args
62
- }), sendState === _SendStatus.SendStatus.SendFailed && /*#__PURE__*/_react.default.createElement(_NotDeliveredTimestamp.NotDeliveredTimestamp, {
60
+ }, sendState === _SendStatus.SendStatus.Sending && /*#__PURE__*/_react.default.createElement(_SendingTimestamp.SendingTimestamp, null), sendState === _SendStatus.SendStatus.SendFailed && /*#__PURE__*/_react.default.createElement(_NotDeliveredTimestamp.NotDeliveredTimestamp, {
63
61
  args: args
64
62
  }), sendState === _SendStatus.SendStatus.Sent && /*#__PURE__*/_react.default.createElement(_DeliveredTimestamp.DeliveredTimestamp, {
65
63
  args: args,
@@ -236,7 +236,8 @@ const createAttachmentMiddleware = enableInlinePlaying => {
236
236
  renderer: next
237
237
  });
238
238
  }
239
- if (fileExtension === "txt") {
239
+ const isUnknownImageObject = contentType.toLowerCase().includes("image") && !imageExtension;
240
+ if (fileExtension === "txt" || isUnknownImageObject) {
240
241
  return /*#__PURE__*/_react.default.createElement(Attachment, {
241
242
  iconData: iconData,
242
243
  textCard: patchAttachment(card, {
@@ -5,6 +5,6 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.defaultSystemMessageBoxStyles = void 0;
7
7
  const defaultSystemMessageBoxStyles = {
8
- maxWidth: "75%"
8
+ maxWidth: "90%"
9
9
  };
10
10
  exports.defaultSystemMessageBoxStyles = defaultSystemMessageBoxStyles;
@@ -5,6 +5,6 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.defaultUserMessageBoxStyles = void 0;
7
7
  const defaultUserMessageBoxStyles = {
8
- maxWidth: "75%"
8
+ maxWidth: "90%"
9
9
  };
10
10
  exports.defaultUserMessageBoxStyles = defaultUserMessageBoxStyles;
@@ -5,7 +5,6 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.NotDeliveredTimestamp = void 0;
7
7
  var _react = _interopRequireWildcard(require("react"));
8
- var _Constants = require("../../../../../../common/Constants");
9
8
  var _KeyCodes = require("../../../../../../common/KeyCodes");
10
9
  var _react2 = require("@fluentui/react");
11
10
  var _defaultMiddlewareLocalizedTexts = require("../../../../common/defaultProps/defaultMiddlewareLocalizedTexts");
@@ -57,9 +56,8 @@ const NotDeliveredTimestamp = _ref => {
57
56
  timestampWebChatNodes[1].innerText = (0, _utils.getTimestampHourMinute)(timestamp);
58
57
  }
59
58
  }, [timestampRef]);
60
- const onRetryClick = (0, _react.useCallback)(async event => {
59
+ const onRetryClick = (0, _react.useCallback)(async () => {
61
60
  var _activity$channelData;
62
- removeNotDeliveredTimestamp(event);
63
61
  activity.previousClientActivityID = (_activity$channelData = activity.channelData) === null || _activity$channelData === void 0 ? void 0 : _activity$channelData.clientActivityID;
64
62
  await postActivity(activity);
65
63
  focus("sendBox");
@@ -67,19 +65,9 @@ const NotDeliveredTimestamp = _ref => {
67
65
  const onRetryKeyEnter = event => {
68
66
  if (event.code === _KeyCodes.KeyCodes.ENTER) {
69
67
  event.preventDefault();
70
- onRetryClick(event);
68
+ onRetryClick();
71
69
  }
72
70
  };
73
- const removeNotDeliveredTimestamp = event => {
74
- let parent = event.target.parentElement;
75
- while (parent.tagName !== _Constants.HtmlAttributeNames.listItem) {
76
- parent = parent.parentElement;
77
- if (parent.tagName === _Constants.HtmlAttributeNames.unorderedList) {
78
- return;
79
- }
80
- }
81
- parent.parentNode.removeChild(parent);
82
- };
83
71
  return /*#__PURE__*/_react.default.createElement(_react2.Stack, {
84
72
  style: contentStyles,
85
73
  dir: dir,
@@ -8,30 +8,21 @@ var _react = _interopRequireDefault(require("react"));
8
8
  var _react2 = require("@fluentui/react");
9
9
  var _defaultMiddlewareLocalizedTexts = require("../../../../common/defaultProps/defaultMiddlewareLocalizedTexts");
10
10
  var _defaultTimestampContentStyles = require("../defaultStyles/defaultTimestampContentStyles");
11
- var _utils = require("../../../../../../common/utils");
12
11
  var _ = require("../../../../../..");
13
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
13
  /* eslint @typescript-eslint/no-explicit-any: "off" */
15
- const SendingTimestamp = _ref => {
14
+ const SendingTimestamp = () => {
16
15
  var _state$domainStates$r, _state$domainStates$r2, _state$domainStates$m;
17
- let {
18
- args
19
- } = _ref;
20
16
  const [state] = (0, _.useChatContextStore)();
21
17
  const dir = ((_state$domainStates$r = state.domainStates.renderingMiddlewareProps) === null || _state$domainStates$r === void 0 ? void 0 : _state$domainStates$r.timestampDir) ?? state.domainStates.globalDir;
22
18
  const contentStyles = {
23
19
  ..._defaultTimestampContentStyles.defaultTimestampContentStyles,
24
20
  ...((_state$domainStates$r2 = state.domainStates.renderingMiddlewareProps) === null || _state$domainStates$r2 === void 0 ? void 0 : _state$domainStates$r2.timestampContentStyleProps)
25
21
  };
26
- const {
27
- activity: {
28
- timestamp
29
- }
30
- } = args;
31
22
  return /*#__PURE__*/_react.default.createElement(_react2.Stack, {
32
23
  style: contentStyles,
33
24
  dir: dir,
34
25
  horizontal: true
35
- }, /*#__PURE__*/_react.default.createElement("span", null, " ", (0, _utils.getTimestampHourMinute)(timestamp)), /*#__PURE__*/_react.default.createElement("span", null, " \xA0-\xA0 "), /*#__PURE__*/_react.default.createElement("span", null, " ", ((_state$domainStates$m = state.domainStates.middlewareLocalizedTexts) === null || _state$domainStates$m === void 0 ? void 0 : _state$domainStates$m.MIDDLEWARE_MESSAGE_SENDING) ?? _defaultMiddlewareLocalizedTexts.defaultMiddlewareLocalizedTexts.MIDDLEWARE_MESSAGE_SENDING, " "));
26
+ }, /*#__PURE__*/_react.default.createElement("span", null, " ", ((_state$domainStates$m = state.domainStates.middlewareLocalizedTexts) === null || _state$domainStates$m === void 0 ? void 0 : _state$domainStates$m.MIDDLEWARE_MESSAGE_SENDING) ?? _defaultMiddlewareLocalizedTexts.defaultMiddlewareLocalizedTexts.MIDDLEWARE_MESSAGE_SENDING, " "));
36
27
  };
37
28
  exports.SendingTimestamp = SendingTimestamp;
@@ -4,22 +4,24 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.typingIndicatorMiddleware = void 0;
7
- var _react = _interopRequireDefault(require("react"));
7
+ var _react = _interopRequireWildcard(require("react"));
8
8
  var _DirectLineSenderRole = require("../../enums/DirectLineSenderRole");
9
9
  var _defaultMiddlewareLocalizedTexts = require("../../../common/defaultProps/defaultMiddlewareLocalizedTexts");
10
10
  var _defaultTypingIndicatorBubbleStyles = require("./defaultStyles/defaultTypingIndicatorBubbleStyles");
11
11
  var _defaultTypingIndicatorContainerStyles = require("./defaultStyles/defaultTypingIndicatorContainerStyles");
12
12
  var _defaultTypingIndicatorMessageStyles = require("./defaultStyles/defaultTypingIndicatorMessageStyles");
13
13
  var _ = require("../../../../..");
14
+ var _utils = require("../../../../../common/utils");
14
15
  var _useChatSDKStore = _interopRequireDefault(require("../../../../../hooks/useChatSDKStore"));
15
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
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); }
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; }
16
19
  /******
17
20
  * TypingIndicatorMiddleware
18
- *
21
+ *
19
22
  * This middleware changes the component that shows who's actively typing. It uses the default Microsoft LiveChatWidget styles.
20
23
  ******/
21
24
 
22
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
23
25
  const TypingIndicator = _ref => {
24
26
  var _state$domainStates$l, _state$domainStates$r, _state$domainStates$r2, _state$domainStates$r3;
25
27
  let {
@@ -29,6 +31,7 @@ const TypingIndicator = _ref => {
29
31
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
30
32
  const chatSDK = (0, _useChatSDKStore.default)();
31
33
  const [state] = (0, _.useChatContextStore)();
34
+ const debounceTyping = (0, _react.useCallback)((0, _utils.debounceLeading)(() => chatSDK === null || chatSDK === void 0 ? void 0 : chatSDK.sendTypingEvent()), []);
32
35
  if (!activeTyping || Object.keys(activeTyping).length === 0 || ((_state$domainStates$l = state.domainStates.liveChatConfig) === null || _state$domainStates$l === void 0 ? void 0 : _state$domainStates$l.LiveChatVersion) === 1 && !visible) {
33
36
  return null;
34
37
  }
@@ -38,7 +41,7 @@ const TypingIndicator = _ref => {
38
41
  var _state$domainStates$l2;
39
42
  //visible is set to false if the current user is typing, in which case, we just send typing indicator to OC
40
43
  if (((_state$domainStates$l2 = state.domainStates.liveChatConfig) === null || _state$domainStates$l2 === void 0 ? void 0 : _state$domainStates$l2.LiveChatVersion) === 2 && !visible) {
41
- chatSDK === null || chatSDK === void 0 ? void 0 : chatSDK.sendTypingEvent();
44
+ debounceTyping();
42
45
  return null;
43
46
  }
44
47
  activeTyping.splice(i, 1);
@@ -8,10 +8,12 @@ var _ConversationState = require("./ConversationState");
8
8
  var _defaultMiddlewareLocalizedTexts = require("../../components/webchatcontainerstateful/common/defaultProps/defaultMiddlewareLocalizedTexts");
9
9
  var _utils = require("../../common/utils");
10
10
  var _defaultClientDataStoreProvider = require("../../common/storage/default/defaultClientDataStoreProvider");
11
+ var _Constants = require("../../common/Constants");
11
12
  const getLiveChatWidgetContextInitialState = props => {
12
- var _props$chatSDK, _props$chatSDK$omnich, _props$chatSDK2, _props$chatSDK2$omnic, _props$controlProps, _props$webChatContain;
13
+ var _props$chatSDK, _props$chatSDK$omnich, _props$chatSDK2, _props$chatSDK2$omnic, _props$controlProps, _props$controlProps2, _props$webChatContain;
13
14
  const widgetCacheId = (0, _utils.getWidgetCacheId)(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, 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, (props === null || props === void 0 ? void 0 : (_props$controlProps = props.controlProps) === null || _props$controlProps === void 0 ? void 0 : _props$controlProps.widgetInstanceId) ?? "");
14
- const initialState = (0, _defaultClientDataStoreProvider.defaultClientDataStoreProvider)().getData(widgetCacheId, "localStorage");
15
+ const cacheTtlInMins = (props === null || props === void 0 ? void 0 : (_props$controlProps2 = props.controlProps) === null || _props$controlProps2 === void 0 ? void 0 : _props$controlProps2.cacheTtlInMins) ?? _Constants.Constants.CacheTtlInMinutes;
16
+ const initialState = (0, _defaultClientDataStoreProvider.defaultClientDataStoreProvider)(cacheTtlInMins).getData(widgetCacheId, "localStorage");
15
17
  if (!(0, _utils.isNullOrUndefined)(initialState)) {
16
18
  return JSON.parse(initialState);
17
19
  }
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = useDebounce;
7
+ var _react = require("react");
8
+ function useDebounce(func) {
9
+ let delay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1000;
10
+ const timer = (0, _react.useRef)();
11
+ (0, _react.useEffect)(() => {
12
+ return () => {
13
+ if (!timer.current) return;
14
+ clearTimeout(timer.current);
15
+ };
16
+ }, []);
17
+ const debouncedFunction = function () {
18
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
19
+ args[_key] = arguments[_key];
20
+ }
21
+ const newTimer = setTimeout(() => {
22
+ func(...args);
23
+ }, delay);
24
+ clearTimeout(timer.current);
25
+ timer.current = newTimer;
26
+ };
27
+ return debouncedFunction;
28
+ }