@microsoft/omnichannel-chat-widget 1.0.6-main.ffb4e2a → 1.1.1-main.1f4a6a7

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 (88) hide show
  1. package/lib/cjs/common/Constants.js +2 -0
  2. package/lib/cjs/common/storage/default/defaultClientDataStoreProvider.js +20 -15
  3. package/lib/cjs/common/telemetry/TelemetryConstants.js +2 -0
  4. package/lib/cjs/common/telemetry/TelemetryHelper.js +25 -15
  5. package/lib/cjs/common/utils.js +17 -2
  6. package/lib/cjs/components/draggable/DraggableChatWidget.js +168 -0
  7. package/lib/cjs/components/draggable/DraggableEventEmitter.js +74 -0
  8. package/lib/cjs/components/draggable/DraggableEventNames.js +14 -0
  9. package/lib/cjs/components/draggable/DraggableEventReceiver.js +34 -0
  10. package/lib/cjs/components/draggable/IDraggableElementPosition.js +1 -0
  11. package/lib/cjs/components/draggable/IDraggableElementPositionDelta.js +1 -0
  12. package/lib/cjs/components/draggable/IDraggableEvent.js +1 -0
  13. package/lib/cjs/components/footerstateful/FooterStateful.js +2 -2
  14. package/lib/cjs/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.js +21 -12
  15. package/lib/cjs/components/footerstateful/downloadtranscriptstateful/interfaces/IWebChatTranscriptConfig.js +1 -0
  16. package/lib/cjs/components/headerstateful/HeaderStateful.js +27 -0
  17. package/lib/cjs/components/livechatwidget/common/createDownloadTranscriptProps.js +27 -0
  18. package/lib/cjs/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +13 -2
  19. package/lib/cjs/components/livechatwidget/common/registerTelemetryLoggers.js +15 -5
  20. package/lib/cjs/components/livechatwidget/common/startChat.js +1 -1
  21. package/lib/cjs/components/livechatwidget/interfaces/IDraggableChatWidgetProps.js +1 -0
  22. package/lib/cjs/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +58 -30
  23. package/lib/cjs/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +6 -0
  24. package/lib/cjs/components/webchatcontainerstateful/WebChatContainerStateful.js +48 -13
  25. package/lib/cjs/components/webchatcontainerstateful/common/defaultProps/defaultMiddlewareLocalizedTexts.js +2 -1
  26. package/lib/cjs/components/webchatcontainerstateful/common/defaultStyles/defaultAdaptiveCardStyles.js +1 -0
  27. package/lib/cjs/components/webchatcontainerstateful/common/mockchatsdk.js +5 -0
  28. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/NotificationScenarios.js +1 -0
  29. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSentMessageAnchorStyles.js +10 -0
  30. package/lib/cjs/plugins/createChatTranscript.js +548 -0
  31. package/lib/esm/common/Constants.js +2 -0
  32. package/lib/esm/common/storage/default/defaultClientDataStoreProvider.js +18 -14
  33. package/lib/esm/common/telemetry/TelemetryConstants.js +2 -0
  34. package/lib/esm/common/telemetry/TelemetryHelper.js +25 -15
  35. package/lib/esm/common/utils.js +15 -1
  36. package/lib/esm/components/draggable/DraggableChatWidget.js +158 -0
  37. package/lib/esm/components/draggable/DraggableEventEmitter.js +64 -0
  38. package/lib/esm/components/draggable/DraggableEventNames.js +7 -0
  39. package/lib/esm/components/draggable/DraggableEventReceiver.js +25 -0
  40. package/lib/esm/components/draggable/IDraggableElementPosition.js +1 -0
  41. package/lib/esm/components/draggable/IDraggableElementPositionDelta.js +1 -0
  42. package/lib/esm/components/draggable/IDraggableEvent.js +1 -0
  43. package/lib/esm/components/footerstateful/FooterStateful.js +2 -2
  44. package/lib/esm/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.js +22 -13
  45. package/lib/esm/components/footerstateful/downloadtranscriptstateful/interfaces/IWebChatTranscriptConfig.js +1 -0
  46. package/lib/esm/components/headerstateful/HeaderStateful.js +27 -0
  47. package/lib/esm/components/livechatwidget/common/createDownloadTranscriptProps.js +20 -0
  48. package/lib/esm/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +13 -2
  49. package/lib/esm/components/livechatwidget/common/registerTelemetryLoggers.js +15 -5
  50. package/lib/esm/components/livechatwidget/common/startChat.js +1 -1
  51. package/lib/esm/components/livechatwidget/interfaces/IDraggableChatWidgetProps.js +1 -0
  52. package/lib/esm/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +58 -30
  53. package/lib/esm/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +6 -0
  54. package/lib/esm/components/webchatcontainerstateful/WebChatContainerStateful.js +48 -13
  55. package/lib/esm/components/webchatcontainerstateful/common/defaultProps/defaultMiddlewareLocalizedTexts.js +2 -1
  56. package/lib/esm/components/webchatcontainerstateful/common/defaultStyles/defaultAdaptiveCardStyles.js +1 -0
  57. package/lib/esm/components/webchatcontainerstateful/common/mockchatsdk.js +5 -0
  58. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/NotificationScenarios.js +1 -0
  59. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSentMessageAnchorStyles.js +3 -0
  60. package/lib/esm/plugins/createChatTranscript.js +543 -0
  61. package/lib/types/common/Constants.d.ts +2 -0
  62. package/lib/types/common/storage/default/defaultClientDataStoreProvider.d.ts +1 -0
  63. package/lib/types/common/telemetry/TelemetryConstants.d.ts +1 -0
  64. package/lib/types/common/telemetry/definitions/Contracts.d.ts +1 -0
  65. package/lib/types/common/utils.d.ts +1 -0
  66. package/lib/types/components/draggable/DraggableChatWidget.d.ts +9 -0
  67. package/lib/types/components/draggable/DraggableEventEmitter.d.ts +27 -0
  68. package/lib/types/components/draggable/DraggableEventNames.d.ts +6 -0
  69. package/lib/types/components/draggable/DraggableEventReceiver.d.ts +27 -0
  70. package/lib/types/components/draggable/IDraggableElementPosition.d.ts +5 -0
  71. package/lib/types/components/draggable/IDraggableElementPositionDelta.d.ts +5 -0
  72. package/lib/types/components/draggable/IDraggableEvent.d.ts +12 -0
  73. package/lib/types/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.d.ts +2 -1
  74. package/lib/types/components/footerstateful/downloadtranscriptstateful/interfaces/IDownloadTranscriptProps.d.ts +5 -0
  75. package/lib/types/components/footerstateful/downloadtranscriptstateful/interfaces/IWebChatTranscriptConfig.d.ts +13 -0
  76. package/lib/types/components/headerstateful/interfaces/IHeaderStatefulParams.d.ts +12 -0
  77. package/lib/types/components/livechatwidget/common/createDownloadTranscriptProps.d.ts +24 -0
  78. package/lib/types/components/livechatwidget/interfaces/IDraggableChatWidgetProps.d.ts +10 -0
  79. package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetProps.d.ts +2 -0
  80. package/lib/types/components/webchatcontainerstateful/WebChatContainerStateful.d.ts +2 -2
  81. package/lib/types/components/webchatcontainerstateful/common/mockchatsdk.d.ts +5 -0
  82. package/lib/types/components/webchatcontainerstateful/interfaces/IAdaptiveCardStyles.d.ts +1 -0
  83. package/lib/types/components/webchatcontainerstateful/interfaces/IRenderingMiddlewareProps.d.ts +3 -1
  84. package/lib/types/components/webchatcontainerstateful/webchatcontroller/enums/NotificationScenarios.d.ts +2 -1
  85. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSentMessageAnchorStyles.d.ts +2 -0
  86. package/lib/types/contexts/common/ILiveChatWidgetLocalizedTexts.d.ts +1 -0
  87. package/lib/types/plugins/createChatTranscript.d.ts +2 -0
  88. package/package.json +4 -4
@@ -14,6 +14,7 @@ var _defaultOutOfOfficeHeaderStyleProps = require("./common/styleProps/defaultOu
14
14
  var _useChatAdapterStore = _interopRequireDefault(require("../../hooks/useChatAdapterStore"));
15
15
  var _useChatContextStore = _interopRequireDefault(require("../../hooks/useChatContextStore"));
16
16
  var _Constants = require("../../common/Constants");
17
+ var _DraggableEventEmitter = _interopRequireDefault(require("../draggable/DraggableEventEmitter"));
17
18
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
19
  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
20
  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; }
@@ -100,6 +101,32 @@ const HeaderStateful = props => {
100
101
  var _state$domainStates2;
101
102
  localConfirmationPaneState.current = state === null || state === void 0 ? void 0 : (_state$domainStates2 = state.domainStates) === null || _state$domainStates2 === void 0 ? void 0 : _state$domainStates2.confirmationState;
102
103
  }, [state === null || state === void 0 ? void 0 : (_state$domainStates3 = state.domainStates) === null || _state$domainStates3 === void 0 ? void 0 : _state$domainStates3.confirmationState]);
104
+ const draggableEventEmitterProps = {
105
+ channel: props.draggableEventChannel ?? "lcw",
106
+ elementId: outOfOperatingHours || state.appStates.conversationState === _ConversationState.ConversationState.OutOfOffice ? outOfOfficeControlProps.id : controlProps.id,
107
+ targetWindow: props.draggableEventEmitterTargetWindow ?? window
108
+ };
109
+ if (props.draggable === true) {
110
+ var _generalStyleProps;
111
+ const styleProps = outOfOperatingHours || state.appStates.conversationState === _ConversationState.ConversationState.OutOfOffice ? outOfOfficeStyleProps : headerProps === null || headerProps === void 0 ? void 0 : headerProps.styleProps;
112
+ const draggableSelectors = {
113
+ "&:hover": {
114
+ cursor: "move"
115
+ }
116
+ };
117
+ const selectors = Object.assign({}, (styleProps === null || styleProps === void 0 ? void 0 : (_generalStyleProps = styleProps.generalStyleProps) === null || _generalStyleProps === void 0 ? void 0 : _generalStyleProps.selectors) || {}, draggableSelectors); // eslint-disable-line @typescript-eslint/no-explicit-any
118
+ const generalStyleProps = Object.assign({}, styleProps === null || styleProps === void 0 ? void 0 : styleProps.generalStyleProps, {
119
+ selectors
120
+ });
121
+ const draggableStyleProps = Object.assign({}, styleProps, {
122
+ generalStyleProps
123
+ });
124
+ return /*#__PURE__*/_react.default.createElement(_DraggableEventEmitter.default, draggableEventEmitterProps, /*#__PURE__*/_react.default.createElement(_omnichannelChatComponents.Header, {
125
+ componentOverrides: headerProps === null || headerProps === void 0 ? void 0 : headerProps.componentOverrides,
126
+ controlProps: outOfOperatingHours || state.appStates.conversationState === _ConversationState.ConversationState.OutOfOffice ? outOfOfficeControlProps : controlProps,
127
+ styleProps: draggableStyleProps
128
+ }));
129
+ }
103
130
  return /*#__PURE__*/_react.default.createElement(_omnichannelChatComponents.Header, {
104
131
  componentOverrides: headerProps === null || headerProps === void 0 ? void 0 : headerProps.componentOverrides,
105
132
  controlProps: outOfOperatingHours || state.appStates.conversationState === _ConversationState.ConversationState.OutOfOffice ? outOfOfficeControlProps : controlProps,
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _defaultWebChatContainerStatefulProps = require("../../webchatcontainerstateful/common/defaultProps/defaultWebChatContainerStatefulProps");
8
+ const createDownloadTranscriptProps = (downloadTranscriptProps, webChatStyles, webChatContainerProps) => {
9
+ const disableNewLineMarkdownSupport = (webChatContainerProps === null || webChatContainerProps === void 0 ? void 0 : webChatContainerProps.disableNewLineMarkdownSupport) ?? _defaultWebChatContainerStatefulProps.defaultWebChatContainerStatefulProps.disableNewLineMarkdownSupport;
10
+ const disableMarkdownMessageFormatting = (webChatContainerProps === null || webChatContainerProps === void 0 ? void 0 : webChatContainerProps.disableMarkdownMessageFormatting) ?? _defaultWebChatContainerStatefulProps.defaultWebChatContainerStatefulProps.disableMarkdownMessageFormatting;
11
+ const props = {
12
+ ...downloadTranscriptProps,
13
+ webChatTranscript: {
14
+ ...(downloadTranscriptProps === null || downloadTranscriptProps === void 0 ? void 0 : downloadTranscriptProps.webChatTranscript),
15
+ disableNewLineMarkdownSupport,
16
+ disableMarkdownMessageFormatting,
17
+ transcriptBackgroundColor: webChatStyles === null || webChatStyles === void 0 ? void 0 : webChatStyles.backgroundColor,
18
+ agentAvatarBackgroundColor: webChatStyles === null || webChatStyles === void 0 ? void 0 : webChatStyles.bubbleBackground,
19
+ agentAvatarFontColor: webChatStyles === null || webChatStyles === void 0 ? void 0 : webChatStyles.bubbleTextColor,
20
+ customerAvatarBackgroundColor: webChatStyles === null || webChatStyles === void 0 ? void 0 : webChatStyles.bubbleFromUserBackground,
21
+ customerAvatarFontColor: webChatStyles === null || webChatStyles === void 0 ? void 0 : webChatStyles.bubbleFromUserTextColor
22
+ }
23
+ };
24
+ return props;
25
+ };
26
+ var _default = createDownloadTranscriptProps;
27
+ exports.default = _default;
@@ -601,7 +601,15 @@ const dummyDefaultProps = {
601
601
  downloadTranscriptProps: {
602
602
  bannerMessageOnError: "Download transcript failed.",
603
603
  renderMarkDown: undefined,
604
- attachmentMessage: "The following attachment was uploaded during the conversation:"
604
+ attachmentMessage: "The following attachment was uploaded during the conversation:",
605
+ webChatTranscript: {
606
+ disabled: false,
607
+ fileName: "transcript",
608
+ pageTitle: "Customer Transcript",
609
+ attachmentMessage: "The following attachment was uploaded during the conversation: ",
610
+ networkOnlineMessage: "Connection restored. Please refresh the page",
611
+ networkOfflineMessage: "Network Error. Please make sure you are connected to the internet."
612
+ }
605
613
  },
606
614
  emailTranscriptPane: {
607
615
  componentOverrides: {
@@ -1796,7 +1804,10 @@ const dummyDefaultProps = {
1796
1804
  },
1797
1805
  adaptiveCardStyles: {
1798
1806
  background: "white",
1799
- color: "black"
1807
+ color: "black",
1808
+ anchorColor: "blue",
1809
+ textWhiteSpace: "normal",
1810
+ buttonWhiteSpace: "normal"
1800
1811
  },
1801
1812
  hyperlinkTextOverride: false
1802
1813
  },
@@ -10,6 +10,7 @@ var _TelemetryHelper = require("../../../common/telemetry/TelemetryHelper");
10
10
  var _defaultAriaConfig = require("../../../common/telemetry/defaultConfigs/defaultAriaConfig");
11
11
  var _defaultTelemetryInternalData = require("../../../common/telemetry/defaultConfigs/defaultTelemetryInternalData");
12
12
  var _defaultTelemetryConfiguration = require("../../../common/telemetry/defaultConfigs/defaultTelemetryConfiguration");
13
+ var _utils = require("../../../common/utils");
13
14
  const registerTelemetryLoggers = (props, dispatch) => {
14
15
  var _props$liveChatContex, _props$liveChatContex2;
15
16
  const telemetryConfig = {
@@ -20,7 +21,7 @@ const registerTelemetryLoggers = (props, dispatch) => {
20
21
  var _props$liveChatContex3, _props$liveChatContex4;
21
22
  _TelemetryManager.TelemetryManager.InternalTelemetryData = (_props$liveChatContex3 = props.liveChatContextFromCache) === null || _props$liveChatContex3 === void 0 ? void 0 : (_props$liveChatContex4 = _props$liveChatContex3.domainStates) === null || _props$liveChatContex4 === void 0 ? void 0 : _props$liveChatContex4.telemetryInternalData;
22
23
  } else {
23
- var _props$chatSDK, _props$chatSDK$omnich, _props$chatSDK2, _props$chatSDK2$omnic, _props$chatSDK3, _props$chatSDK3$omnic;
24
+ var _props$chatSDK, _props$chatSDK$omnich, _props$chatSDK2, _props$chatSDK2$omnic, _props$chatSDK3, _props$chatSDK3$omnic, _props$chatSDK4, _props$chatSDK4$omnic, _props$chatSDK5, _props$chatSDK5$omnic, _props$chatSDK6, _props$chatSDK6$omnic, _props$chatSDK7, _props$chatSDK7$omnic, _props$chatSDK8, _props$chatSDK8$omnic, _props$chatSDK9, _props$chatSDK9$omnic;
24
25
  let telemetryData = {
25
26
  ..._defaultTelemetryInternalData.defaultInternalTelemetryData,
26
27
  telemetryConfig: Object.assign({}, _defaultTelemetryConfiguration.defaultTelemetryConfiguration, telemetryConfig),
@@ -29,13 +30,22 @@ const registerTelemetryLoggers = (props, dispatch) => {
29
30
  if (props.chatConfig) {
30
31
  telemetryData = _TelemetryHelper.TelemetryHelper.addChatConfigDataToTelemetry(props === null || props === void 0 ? void 0 : props.chatConfig, telemetryData);
31
32
  }
32
- telemetryData = _TelemetryHelper.TelemetryHelper.addWidgetDataToTelemetry(telemetryConfig, telemetryData);
33
+ if (!((_props$chatSDK = props.chatSDK) !== null && _props$chatSDK !== void 0 && (_props$chatSDK$omnich = _props$chatSDK.omnichannelConfig) !== null && _props$chatSDK$omnich !== void 0 && _props$chatSDK$omnich.orgId) || ((_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.orgId.trim().length) === 0) {
34
+ throw new Error("orgId is undefined in ChatSDK");
35
+ }
36
+ if (!((_props$chatSDK3 = props.chatSDK) !== null && _props$chatSDK3 !== void 0 && (_props$chatSDK3$omnic = _props$chatSDK3.omnichannelConfig) !== null && _props$chatSDK3$omnic !== void 0 && _props$chatSDK3$omnic.widgetId) || ((_props$chatSDK4 = props.chatSDK) === null || _props$chatSDK4 === void 0 ? void 0 : (_props$chatSDK4$omnic = _props$chatSDK4.omnichannelConfig) === null || _props$chatSDK4$omnic === void 0 ? void 0 : _props$chatSDK4$omnic.widgetId.trim().length) === 0) {
37
+ throw new Error("widgetId is undefined in ChatSDK");
38
+ }
39
+ if (!((_props$chatSDK5 = props.chatSDK) !== null && _props$chatSDK5 !== void 0 && (_props$chatSDK5$omnic = _props$chatSDK5.omnichannelConfig) !== null && _props$chatSDK5$omnic !== void 0 && _props$chatSDK5$omnic.orgUrl) || ((_props$chatSDK6 = props.chatSDK) === null || _props$chatSDK6 === void 0 ? void 0 : (_props$chatSDK6$omnic = _props$chatSDK6.omnichannelConfig) === null || _props$chatSDK6$omnic === void 0 ? void 0 : _props$chatSDK6$omnic.orgUrl.trim().length) === 0) {
40
+ throw new Error("orgUrl is undefined in ChatSDK");
41
+ }
33
42
  telemetryData.OCChatSDKVersion = telemetryConfig.OCChatSDKVersion ?? "0.0.0-0";
34
43
  telemetryData.chatComponentVersion = telemetryConfig.chatComponentVersion ?? "0.0.0-0";
35
44
  telemetryData.chatWidgetVersion = telemetryConfig.chatWidgetVersion ?? "0.0.0-0";
36
- telemetryData.orgId = (_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;
37
- telemetryData.widgetId = (_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;
38
- telemetryData.orgUrl = (_props$chatSDK3 = props.chatSDK) === null || _props$chatSDK3 === void 0 ? void 0 : (_props$chatSDK3$omnic = _props$chatSDK3.omnichannelConfig) === null || _props$chatSDK3$omnic === void 0 ? void 0 : _props$chatSDK3$omnic.orgUrl;
45
+ telemetryData.orgId = (_props$chatSDK7 = props.chatSDK) === null || _props$chatSDK7 === void 0 ? void 0 : (_props$chatSDK7$omnic = _props$chatSDK7.omnichannelConfig) === null || _props$chatSDK7$omnic === void 0 ? void 0 : _props$chatSDK7$omnic.orgId;
46
+ telemetryData.widgetId = (_props$chatSDK8 = props.chatSDK) === null || _props$chatSDK8 === void 0 ? void 0 : (_props$chatSDK8$omnic = _props$chatSDK8.omnichannelConfig) === null || _props$chatSDK8$omnic === void 0 ? void 0 : _props$chatSDK8$omnic.widgetId;
47
+ telemetryData.orgUrl = (_props$chatSDK9 = props.chatSDK) === null || _props$chatSDK9 === void 0 ? void 0 : (_props$chatSDK9$omnic = _props$chatSDK9.omnichannelConfig) === null || _props$chatSDK9$omnic === void 0 ? void 0 : _props$chatSDK9$omnic.orgUrl;
48
+ telemetryData.lcwRuntimeId = telemetryConfig.LCWRuntimeId ?? (0, _utils.newGuid)();
39
49
  _TelemetryManager.TelemetryManager.InternalTelemetryData = telemetryData;
40
50
  dispatch({
41
51
  type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_TELEMETRY_DATA,
@@ -417,7 +417,7 @@ const getInitContextParamForPopoutFromOuterScope = async scope => {
417
417
  };
418
418
  window.addEventListener("message", getInitContextParamsFromParent, false);
419
419
  scope.postMessage({
420
- messageName: _Constants.Constants.InitContextParamsResponse
420
+ messageName: _Constants.Constants.InitContextParamsRequest
421
421
  }, "*");
422
422
  await waitPromise;
423
423
  window.removeEventListener("message", getInitContextParamsFromParent, false);
@@ -12,6 +12,7 @@ var _react = require("@fluentui/react");
12
12
  var _react2 = _interopRequireWildcard(require("react"));
13
13
  var _startChat = require("../common/startChat");
14
14
  var _utils = require("../../../common/utils");
15
+ var _defaultClientDataStoreProvider = require("../../../common/storage/default/defaultClientDataStoreProvider");
15
16
  var _endChat = require("../common/endChat");
16
17
  var _reconnectChatHelper = require("../common/reconnectChatHelper");
17
18
  var _componentController = require("../../../controller/componentController");
@@ -21,6 +22,7 @@ var _ChatButtonStateful = _interopRequireDefault(require("../../chatbuttonstatef
21
22
  var _ConfirmationPaneStateful = _interopRequireDefault(require("../../confirmationpanestateful/ConfirmationPaneStateful"));
22
23
  var _ConversationState = require("../../../contexts/common/ConversationState");
23
24
  var _DataStoreManager = require("../../../common/contextDataStore/DataStoreManager");
25
+ var _DraggableChatWidget = _interopRequireDefault(require("../../draggable/DraggableChatWidget"));
24
26
  var _EmailTranscriptPaneStateful = _interopRequireDefault(require("../../emailtranscriptpanestateful/EmailTranscriptPaneStateful"));
25
27
  var _HeaderStateful = _interopRequireDefault(require("../../headerstateful/HeaderStateful"));
26
28
  var _LiveChatWidgetActionType = require("../../../contexts/common/LiveChatWidgetActionType");
@@ -34,9 +36,9 @@ var _ReconnectChatPaneStateful = _interopRequireDefault(require("../../reconnect
34
36
  var _TelemetryHelper = require("../../../common/telemetry/TelemetryHelper");
35
37
  var _TelemetryManager = require("../../../common/telemetry/TelemetryManager");
36
38
  var _WebChatContainerStateful = _interopRequireDefault(require("../../webchatcontainerstateful/WebChatContainerStateful"));
39
+ var _createDownloadTranscriptProps = _interopRequireDefault(require("../common/createDownloadTranscriptProps"));
37
40
  var _createFooter = require("../common/createFooter");
38
41
  var _createInternetConnectionChangeHandler = require("../common/createInternetConnectionChangeHandler");
39
- var _defaultClientDataStoreProvider = require("../../../common/storage/default/defaultClientDataStoreProvider");
40
42
  var _defaultScrollBarProps = require("../common/defaultProps/defaultScrollBarProps");
41
43
  var _defaultWebChatContainerStatefulProps = require("../../webchatcontainerstateful/common/defaultProps/defaultWebChatContainerStatefulProps");
42
44
  var _disposeTelemetryLoggers = require("../common/disposeTelemetryLoggers");
@@ -57,7 +59,7 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
57
59
  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; }
58
60
  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); }
59
61
  const LiveChatWidgetStateful = props => {
60
- var _props$webChatContain, _props$styleProps, _chatSDK$omnichannelC, _props$controlProps, _props$controlProps2, _state$appStates7, _props$webChatContain5, _state$appStates14, _props$webChatContain6, _props$styleProps2, _props$controlProps11, _props$controlProps12, _props$componentOverr, _props$controlProps13, _props$componentOverr2, _props$controlProps14, _props$componentOverr3, _props$controlProps15, _props$componentOverr4, _props$controlProps16, _props$componentOverr5, _props$controlProps17, _props$componentOverr6, _props$controlProps18, _props$componentOverr7, _props$controlProps19, _props$controlProps20, _props$componentOverr8, _props$controlProps21, _props$componentOverr9, _props$controlProps22, _props$componentOverr10, _props$componentOverr11, _props$componentOverr12;
62
+ var _props$webChatContain, _props$styleProps, _chatSDK$omnichannelC, _props$controlProps, _props$controlProps2, _state$appStates7, _props$webChatContain5, _state$appStates14, _props$webChatContain6, _props$controlProps11, _props$draggableChatW, _props$draggableChatW2, _props$draggableChatW3, _props$draggableChatW4, _props$draggableChatW5, _livechatProps$webCha, _livechatProps$styleP, _livechatProps$contro, _livechatProps$contro2, _livechatProps$compon, _livechatProps$contro3, _livechatProps$compon2, _livechatProps$contro4, _livechatProps$compon3, _livechatProps$contro5, _livechatProps$compon4, _livechatProps$contro6, _livechatProps$compon5, _livechatProps$contro7, _livechatProps$compon6, _livechatProps$contro8, _livechatProps$compon7, _livechatProps$contro9, _livechatProps$contro10, _livechatProps$compon8, _livechatProps$contro11, _livechatProps$compon9, _livechatProps$contro12, _livechatProps$compon10, _livechatProps$compon11, _livechatProps$compon12;
61
63
  const [state, dispatch] = (0, _useChatContextStore.default)();
62
64
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
63
65
  const [adapter, setAdapter] = (0, _useChatAdapterStore.default)();
@@ -432,6 +434,9 @@ const LiveChatWidgetStateful = props => {
432
434
  payload: undefined
433
435
  });
434
436
  });
437
+
438
+ // Check for TPC and log in telemetry if blocked
439
+ (0, _defaultClientDataStoreProvider.isCookieAllowed)();
435
440
  return () => {
436
441
  (0, _disposeTelemetryLoggers.disposeTelemetryLoggers)();
437
442
  };
@@ -553,12 +558,11 @@ const LiveChatWidgetStateful = props => {
553
558
  if (state.appStates.conversationState === ConversationState.Active &&
554
559
  props.controlProps?.hideStartChatButton === true) {
555
560
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
556
-
557
- window.onbeforeunload = function () {
561
+ window.onbeforeunload = function () {
558
562
  const prompt = Constants.BrowserUnloadConfirmationMessage;
559
563
  return prompt;
560
564
  };
561
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
565
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
562
566
  window.onunload = function () {
563
567
  initiateEndChatOnBrowserUnload();
564
568
  };
@@ -609,56 +613,80 @@ const LiveChatWidgetStateful = props => {
609
613
  const confirmationPaneProps = (0, _initConfirmationPropsComposer.initConfirmationPropsComposer)(props);
610
614
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
611
615
  const prepareEndChatRelay = () => (0, _endChat.prepareEndChat)(props, chatSDK, state, dispatch, setAdapter, setWebChatStyles, adapter, uwid.current);
616
+ const downloadTranscriptProps = (0, _createDownloadTranscriptProps.default)(props.downloadTranscriptProps, {
617
+ ...(_defaultWebChatContainerStatefulProps.defaultWebChatContainerStatefulProps === null || _defaultWebChatContainerStatefulProps.defaultWebChatContainerStatefulProps === void 0 ? void 0 : _defaultWebChatContainerStatefulProps.defaultWebChatContainerStatefulProps.webChatStyles),
618
+ ...((_props$webChatContain6 = props.webChatContainerProps) === null || _props$webChatContain6 === void 0 ? void 0 : _props$webChatContain6.webChatStyles)
619
+ }, props.webChatContainerProps);
620
+ const livechatProps = {
621
+ ...props,
622
+ downloadTranscriptProps
623
+ };
624
+ const chatWidgetDraggableConfig = {
625
+ elementId: widgetElementId,
626
+ channel: ((_props$controlProps11 = props.controlProps) === null || _props$controlProps11 === void 0 ? void 0 : _props$controlProps11.widgetInstanceId) ?? "lcw",
627
+ disabled: ((_props$draggableChatW = props.draggableChatWidgetProps) === null || _props$draggableChatW === void 0 ? void 0 : _props$draggableChatW.disabled) === true ?? false // Draggable by default, unless explicitly disabled
628
+ };
629
+
630
+ // Disable receiving IDraggableEvent in current window
631
+ if (((_props$draggableChatW2 = props.draggableChatWidgetProps) === null || _props$draggableChatW2 === void 0 ? void 0 : _props$draggableChatW2.disabled) === false && (_props$draggableChatW3 = props.draggableChatWidgetProps) !== null && _props$draggableChatW3 !== void 0 && _props$draggableChatW3.targetIframe) {
632
+ chatWidgetDraggableConfig.disabled = true;
633
+ }
634
+ const headerDraggableConfig = {
635
+ draggableEventChannel: chatWidgetDraggableConfig.channel ?? "lcw",
636
+ draggableEventEmitterTargetWindow: (_props$draggableChatW4 = props.draggableChatWidgetProps) !== null && _props$draggableChatW4 !== void 0 && _props$draggableChatW4.targetIframe ? window.parent : window,
637
+ draggable: ((_props$draggableChatW5 = props.draggableChatWidgetProps) === null || _props$draggableChatW5 === void 0 ? void 0 : _props$draggableChatW5.disabled) !== true // Draggable by default, unless explicitly disabled
638
+ };
639
+
612
640
  return /*#__PURE__*/_react2.default.createElement(_react2.default.Fragment, null, /*#__PURE__*/_react2.default.createElement("style", null, `
613
641
  ::-webkit-scrollbar {
614
642
  width: ${scrollbarProps.width};
615
643
  }
616
-
644
+
617
645
  ::-webkit-scrollbar-track {
618
646
  background: ${scrollbarProps.trackBackgroundColor};
619
647
  }
620
-
648
+
621
649
  ::-webkit-scrollbar-thumb {
622
650
  background: ${scrollbarProps.thumbBackgroundColor};
623
651
  border-radius: ${scrollbarProps.thumbBorderRadius};
624
652
  }
625
-
653
+
626
654
  ::-webkit-scrollbar-thumb:hover {
627
655
  background: ${scrollbarProps.thumbHoverColor};
628
- }
629
- `), /*#__PURE__*/_react2.default.createElement(Composer, _extends({}, webChatProps, {
656
+ }
657
+ `), /*#__PURE__*/_react2.default.createElement(_DraggableChatWidget.default, chatWidgetDraggableConfig, /*#__PURE__*/_react2.default.createElement(Composer, _extends({}, webChatProps, {
630
658
  styleOptions: webChatStyles,
631
- directLine: ((_props$webChatContain6 = props.webChatContainerProps) === null || _props$webChatContain6 === void 0 ? void 0 : _props$webChatContain6.directLine) ?? adapter ?? _defaultWebChatContainerStatefulProps.defaultWebChatContainerStatefulProps.directLine
659
+ directLine: ((_livechatProps$webCha = livechatProps.webChatContainerProps) === null || _livechatProps$webCha === void 0 ? void 0 : _livechatProps$webCha.directLine) ?? adapter ?? _defaultWebChatContainerStatefulProps.defaultWebChatContainerStatefulProps.directLine
632
660
  }), /*#__PURE__*/_react2.default.createElement(_react.Stack, {
633
661
  id: widgetElementId,
634
662
  styles: generalStyles,
635
- className: (_props$styleProps2 = props.styleProps) === null || _props$styleProps2 === void 0 ? void 0 : _props$styleProps2.className
636
- }, !((_props$controlProps11 = props.controlProps) !== null && _props$controlProps11 !== void 0 && _props$controlProps11.hideChatButton) && !((_props$controlProps12 = props.controlProps) !== null && _props$controlProps12 !== void 0 && _props$controlProps12.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, {
637
- buttonProps: props.chatButtonProps,
638
- outOfOfficeButtonProps: props.outOfOfficeChatButtonProps,
663
+ className: (_livechatProps$styleP = livechatProps.styleProps) === null || _livechatProps$styleP === void 0 ? void 0 : _livechatProps$styleP.className
664
+ }, !((_livechatProps$contro = livechatProps.controlProps) !== null && _livechatProps$contro !== void 0 && _livechatProps$contro.hideChatButton) && !((_livechatProps$contro2 = livechatProps.controlProps) !== null && _livechatProps$contro2 !== void 0 && _livechatProps$contro2.hideStartChatButton) && (0, _componentController.shouldShowChatButton)(state) && ((0, _omnichannelChatComponents.decodeComponentString)((_livechatProps$compon = livechatProps.componentOverrides) === null || _livechatProps$compon === void 0 ? void 0 : _livechatProps$compon.chatButton) || /*#__PURE__*/_react2.default.createElement(_ChatButtonStateful.default, {
665
+ buttonProps: livechatProps.chatButtonProps,
666
+ outOfOfficeButtonProps: livechatProps.outOfOfficeChatButtonProps,
639
667
  startChat: prepareStartChatRelay
640
- })), !((_props$controlProps13 = props.controlProps) !== null && _props$controlProps13 !== void 0 && _props$controlProps13.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, {
641
- proactiveChatProps: props.proactiveChatPaneProps,
668
+ })), !((_livechatProps$contro3 = livechatProps.controlProps) !== null && _livechatProps$contro3 !== void 0 && _livechatProps$contro3.hideProactiveChatPane) && (0, _componentController.shouldShowProactiveChatPane)(state) && ((0, _omnichannelChatComponents.decodeComponentString)((_livechatProps$compon2 = livechatProps.componentOverrides) === null || _livechatProps$compon2 === void 0 ? void 0 : _livechatProps$compon2.proactiveChatPane) || /*#__PURE__*/_react2.default.createElement(_ProactiveChatPaneStateful.default, {
669
+ proactiveChatProps: livechatProps.proactiveChatPaneProps,
642
670
  startChat: prepareStartChatRelay
643
- })), !((_props$controlProps14 = props.controlProps) !== null && _props$controlProps14 !== void 0 && _props$controlProps14.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, {
644
- headerProps: props.headerProps,
645
- outOfOfficeHeaderProps: props.outOfOfficeHeaderProps,
671
+ })), !((_livechatProps$contro4 = livechatProps.controlProps) !== null && _livechatProps$contro4 !== void 0 && _livechatProps$contro4.hideHeader) && (0, _componentController.shouldShowHeader)(state) && ((0, _omnichannelChatComponents.decodeComponentString)((_livechatProps$compon3 = livechatProps.componentOverrides) === null || _livechatProps$compon3 === void 0 ? void 0 : _livechatProps$compon3.header) || /*#__PURE__*/_react2.default.createElement(_HeaderStateful.default, _extends({
672
+ headerProps: livechatProps.headerProps,
673
+ outOfOfficeHeaderProps: livechatProps.outOfOfficeHeaderProps,
646
674
  endChat: endChatRelay
647
- })), !((_props$controlProps15 = props.controlProps) !== null && _props$controlProps15 !== void 0 && _props$controlProps15.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, {
648
- loadingPaneProps: props.loadingPaneProps,
649
- startChatErrorPaneProps: props.startChatErrorPaneProps
650
- })), !((_props$controlProps16 = props.controlProps) !== null && _props$controlProps16 !== void 0 && _props$controlProps16.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$controlProps17 = props.controlProps) !== null && _props$controlProps17 !== void 0 && _props$controlProps17.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, {
651
- reconnectChatProps: props.reconnectChatPaneProps,
675
+ }, headerDraggableConfig))), !((_livechatProps$contro5 = livechatProps.controlProps) !== null && _livechatProps$contro5 !== void 0 && _livechatProps$contro5.hideLoadingPane) && (0, _componentController.shouldShowLoadingPane)(state) && ((0, _omnichannelChatComponents.decodeComponentString)((_livechatProps$compon4 = livechatProps.componentOverrides) === null || _livechatProps$compon4 === void 0 ? void 0 : _livechatProps$compon4.loadingPane) || /*#__PURE__*/_react2.default.createElement(_LoadingPaneStateful.default, {
676
+ loadingPaneProps: livechatProps.loadingPaneProps,
677
+ startChatErrorPaneProps: livechatProps.startChatErrorPaneProps
678
+ })), !((_livechatProps$contro6 = livechatProps.controlProps) !== null && _livechatProps$contro6 !== void 0 && _livechatProps$contro6.hideOutOfOfficeHoursPane) && (0, _componentController.shouldShowOutOfOfficeHoursPane)(state) && ((0, _omnichannelChatComponents.decodeComponentString)((_livechatProps$compon5 = livechatProps.componentOverrides) === null || _livechatProps$compon5 === void 0 ? void 0 : _livechatProps$compon5.outOfOfficeHoursPane) || /*#__PURE__*/_react2.default.createElement(_OOOHPaneStateful.default, livechatProps.outOfOfficeHoursPaneProps)), !((_livechatProps$contro7 = livechatProps.controlProps) !== null && _livechatProps$contro7 !== void 0 && _livechatProps$contro7.hideReconnectChatPane) && (0, _componentController.shouldShowReconnectChatPane)(state) && ((0, _omnichannelChatComponents.decodeComponentString)((_livechatProps$compon6 = livechatProps.componentOverrides) === null || _livechatProps$compon6 === void 0 ? void 0 : _livechatProps$compon6.reconnectChatPane) || /*#__PURE__*/_react2.default.createElement(_ReconnectChatPaneStateful.default, {
679
+ reconnectChatProps: livechatProps.reconnectChatPaneProps,
652
680
  initStartChat: initStartChatRelay
653
- })), !((_props$controlProps18 = props.controlProps) !== null && _props$controlProps18 !== void 0 && _props$controlProps18.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, {
654
- surveyProps: props.preChatSurveyPaneProps,
681
+ })), !((_livechatProps$contro8 = livechatProps.controlProps) !== null && _livechatProps$contro8 !== void 0 && _livechatProps$contro8.hidePreChatSurveyPane) && (0, _componentController.shouldShowPreChatSurveyPane)(state) && ((0, _omnichannelChatComponents.decodeComponentString)((_livechatProps$compon7 = livechatProps.componentOverrides) === null || _livechatProps$compon7 === void 0 ? void 0 : _livechatProps$compon7.preChatSurveyPane) || /*#__PURE__*/_react2.default.createElement(_PreChatSurveyPaneStateful.default, {
682
+ surveyProps: livechatProps.preChatSurveyPaneProps,
655
683
  initStartChat: initStartChatRelay
656
- })), !((_props$controlProps19 = props.controlProps) !== null && _props$controlProps19 !== void 0 && _props$controlProps19.hideCallingContainer) && (0, _componentController.shouldShowCallingContainer)(state) && /*#__PURE__*/_react2.default.createElement(_CallingContainerStateful.default, _extends({
684
+ })), !((_livechatProps$contro9 = livechatProps.controlProps) !== null && _livechatProps$contro9 !== void 0 && _livechatProps$contro9.hideCallingContainer) && (0, _componentController.shouldShowCallingContainer)(state) && /*#__PURE__*/_react2.default.createElement(_CallingContainerStateful.default, _extends({
657
685
  voiceVideoCallingSdk: voiceVideoCallingSDK
658
- }, props.callingContainerProps)), !((_props$controlProps20 = props.controlProps) !== null && _props$controlProps20 !== void 0 && _props$controlProps20.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$controlProps21 = props.controlProps) !== null && _props$controlProps21 !== void 0 && _props$controlProps21.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, {
686
+ }, livechatProps.callingContainerProps)), !((_livechatProps$contro10 = livechatProps.controlProps) !== null && _livechatProps$contro10 !== void 0 && _livechatProps$contro10.hideWebChatContainer) && (0, _componentController.shouldShowWebChatContainer)(state) && ((0, _omnichannelChatComponents.decodeComponentString)((_livechatProps$compon8 = livechatProps.componentOverrides) === null || _livechatProps$compon8 === void 0 ? void 0 : _livechatProps$compon8.webChatContainer) || /*#__PURE__*/_react2.default.createElement(_WebChatContainerStateful.default, livechatProps)), !((_livechatProps$contro11 = livechatProps.controlProps) !== null && _livechatProps$contro11 !== void 0 && _livechatProps$contro11.hideConfirmationPane) && (0, _componentController.shouldShowConfirmationPane)(state) && ((0, _omnichannelChatComponents.decodeComponentString)((_livechatProps$compon9 = livechatProps.componentOverrides) === null || _livechatProps$compon9 === void 0 ? void 0 : _livechatProps$compon9.confirmationPane) || /*#__PURE__*/_react2.default.createElement(_ConfirmationPaneStateful.default, _extends({}, confirmationPaneProps, {
659
687
  setPostChatContext: setPostChatContextRelay,
660
688
  prepareEndChat: prepareEndChatRelay
661
- }))), !((_props$controlProps22 = props.controlProps) !== null && _props$controlProps22 !== void 0 && _props$controlProps22.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)))));
689
+ }))), !((_livechatProps$contro12 = livechatProps.controlProps) !== null && _livechatProps$contro12 !== void 0 && _livechatProps$contro12.hidePostChatLoadingPane) && (0, _componentController.shouldShowPostChatLoadingPane)(state) && ((0, _omnichannelChatComponents.decodeComponentString)((_livechatProps$compon10 = livechatProps.componentOverrides) === null || _livechatProps$compon10 === void 0 ? void 0 : _livechatProps$compon10.postChatLoadingPane) || /*#__PURE__*/_react2.default.createElement(_PostChatLoadingPaneStateful.default, livechatProps.postChatLoadingPaneProps)), (0, _componentController.shouldShowPostChatSurveyPane)(state) && ((0, _omnichannelChatComponents.decodeComponentString)((_livechatProps$compon11 = livechatProps.componentOverrides) === null || _livechatProps$compon11 === void 0 ? void 0 : _livechatProps$compon11.postChatSurveyPane) || /*#__PURE__*/_react2.default.createElement(_PostChatSurveyPaneStateful.default, _extends({}, livechatProps.postChatSurveyPaneProps, livechatProps.chatSDK))), (0, _createFooter.createFooter)(livechatProps, state), (0, _componentController.shouldShowEmailTranscriptPane)(state) && ((0, _omnichannelChatComponents.decodeComponentString)((_livechatProps$compon12 = livechatProps.componentOverrides) === null || _livechatProps$compon12 === void 0 ? void 0 : _livechatProps$compon12.emailTranscriptPane) || /*#__PURE__*/_react2.default.createElement(_EmailTranscriptPaneStateful.default, livechatProps.emailTranscriptPane))))));
662
690
  };
663
691
  exports.LiveChatWidgetStateful = LiveChatWidgetStateful;
664
692
  var _default = LiveChatWidgetStateful;
@@ -121,6 +121,12 @@ const PreChatSurveyPaneStateful = props => {
121
121
  const current = children[index];
122
122
  if (current && current.className == _Constants.HtmlAttributeNames.adaptiveCardTextBlockClassName) {
123
123
  value = current.innerHTML;
124
+ if (current.childElementCount > 0) {
125
+ const paragraph = current.children[0];
126
+ if (paragraph.tagName.toLowerCase() == _Constants.HtmlAttributeNames.pTagName) {
127
+ value = paragraph.innerHTML;
128
+ }
129
+ }
124
130
  }
125
131
  if (current && current.tagName.toLowerCase() == _Constants.HtmlAttributeNames.div && current.childElementCount > 0) {
126
132
  const input = current.children[0].children;
@@ -12,12 +12,15 @@ var _broadcastChannel = require("broadcast-channel");
12
12
  var _botframeworkWebchat = require("botframework-webchat");
13
13
  var _Constants = require("../../common/Constants");
14
14
  var _LiveChatWidgetActionType = require("../../contexts/common/LiveChatWidgetActionType");
15
+ var _NotificationHandler = require("./webchatcontroller/notification/NotificationHandler");
16
+ var _NotificationScenarios = require("./webchatcontroller/enums/NotificationScenarios");
15
17
  var _TelemetryHelper = require("../../common/telemetry/TelemetryHelper");
16
18
  var _WebChatActionType = require("./webchatcontroller/enums/WebChatActionType");
17
19
  var _WebChatStoreLoader = require("./webchatcontroller/WebChatStoreLoader");
18
20
  var _defaultAdaptiveCardStyles = require("./common/defaultStyles/defaultAdaptiveCardStyles");
19
21
  var _defaultMiddlewareLocalizedTexts = require("./common/defaultProps/defaultMiddlewareLocalizedTexts");
20
22
  var _defaultReceivedMessageAnchorStyles = require("./webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultReceivedMessageAnchorStyles");
23
+ var _defaultSentMessageAnchorStyles = require("./webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSentMessageAnchorStyles");
21
24
  var _defaultSystemMessageBoxStyles = require("./webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageBoxStyles");
22
25
  var _defaultUserMessageBoxStyles = require("./webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageBoxStyles");
23
26
  var _defaultWebChatContainerStatefulProps = require("./common/defaultProps/defaultWebChatContainerStatefulProps");
@@ -25,6 +28,8 @@ var _utils = require("../../common/utils");
25
28
  var _ = require("../..");
26
29
  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); }
27
30
  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; }
31
+ /* eslint-disable @typescript-eslint/no-explicit-any */
32
+
28
33
  const broadcastChannelMessageEvent = "message";
29
34
  const postActivity = activity => {
30
35
  // eslint-disable-line @typescript-eslint/no-explicit-any
@@ -51,28 +56,33 @@ const createMagicCodeSuccessResponse = signin => {
51
56
  };
52
57
  };
53
58
  const WebChatContainerStateful = props => {
54
- var _props$adaptiveCardSt, _props$renderingMiddl, _props$renderingMiddl2, _props$renderingMiddl3, _props$renderingMiddl4, _props$adaptiveCardSt2, _props$adaptiveCardSt3, _props$adaptiveCardSt4, _props$renderingMiddl5, _props$renderingMiddl6, _props$renderingMiddl7, _props$renderingMiddl8;
59
+ var _webChatContainerProp, _webChatContainerProp2, _webChatContainerProp3, _webChatContainerProp4, _webChatContainerProp5, _webChatContainerProp6, _webChatContainerProp7, _webChatContainerProp8, _webChatContainerProp9, _webChatContainerProp10, _webChatContainerProp11, _webChatContainerProp12, _webChatContainerProp13, _webChatContainerProp14, _webChatContainerProp15;
55
60
  const {
56
61
  BasicWebChat
57
62
  } = _botframeworkWebchat.Components;
58
63
  const [state, dispatch] = (0, _.useChatContextStore)();
59
64
  const magicCodeBroadcastChannel = new _broadcastChannel.BroadcastChannel(_Constants.Constants.magicCodeBroadcastChannel);
60
65
  const magicCodeResponseBroadcastChannel = new _broadcastChannel.BroadcastChannel(_Constants.Constants.magicCodeResponseBroadcastChannel);
66
+ const {
67
+ webChatContainerProps,
68
+ contextDataStore
69
+ } = props;
61
70
  const containerStyles = {
62
- root: Object.assign({}, _defaultWebChatContainerStatefulProps.defaultWebChatContainerStatefulProps.containerStyles, props === null || props === void 0 ? void 0 : props.containerStyles, {
71
+ root: Object.assign({}, _defaultWebChatContainerStatefulProps.defaultWebChatContainerStatefulProps.containerStyles, webChatContainerProps === null || webChatContainerProps === void 0 ? void 0 : webChatContainerProps.containerStyles, {
63
72
  display: state.appStates.isMinimized ? "none" : ""
64
73
  }) // Use this instead of removing WebChat from the picture so that the activity observer inside the adapter is not invoked
65
74
  };
66
75
 
67
76
  const localizedTexts = {
68
77
  ..._defaultMiddlewareLocalizedTexts.defaultMiddlewareLocalizedTexts,
69
- ...(props === null || props === void 0 ? void 0 : props.localizedTexts)
78
+ ...(webChatContainerProps === null || webChatContainerProps === void 0 ? void 0 : webChatContainerProps.localizedTexts)
70
79
  };
71
80
  (0, _react2.useEffect)(() => {
81
+ var _props$webChatContain, _props$webChatContain2;
72
82
  (0, _utils.setFocusOnSendBox)();
73
83
  dispatch({
74
84
  type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_RENDERING_MIDDLEWARE_PROPS,
75
- payload: props === null || props === void 0 ? void 0 : props.renderingMiddlewareProps
85
+ payload: webChatContainerProps === null || webChatContainerProps === void 0 ? void 0 : webChatContainerProps.renderingMiddlewareProps
76
86
  });
77
87
  dispatch({
78
88
  type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_MIDDLEWARE_LOCALIZED_TEXTS,
@@ -81,6 +91,17 @@ const WebChatContainerStateful = props => {
81
91
  _TelemetryHelper.TelemetryHelper.logLoadingEvent(_TelemetryConstants.LogLevel.INFO, {
82
92
  Event: _TelemetryConstants.TelemetryEvent.WebChatLoaded
83
93
  });
94
+ if (((_props$webChatContain = props.webChatContainerProps) === null || _props$webChatContain === void 0 ? void 0 : (_props$webChatContain2 = _props$webChatContain.renderingMiddlewareProps) === null || _props$webChatContain2 === void 0 ? void 0 : _props$webChatContain2.disableThirdPartyCookiesAlert) !== true && !contextDataStore) {
95
+ try {
96
+ localStorage;
97
+ sessionStorage;
98
+ } catch (error) {
99
+ if (!window.TPCWarningShown) {
100
+ _NotificationHandler.NotificationHandler.notifyWarning(_NotificationScenarios.NotificationScenarios.TPC, (localizedTexts === null || localizedTexts === void 0 ? void 0 : localizedTexts.THIRD_PARTY_COOKIES_BLOCKED_ALERT_MESSAGE) ?? "");
101
+ window.TPCWarningShown = true;
102
+ }
103
+ }
104
+ }
84
105
  }, []);
85
106
  (0, _react2.useEffect)(() => {
86
107
  const eventListener = event => {
@@ -121,26 +142,33 @@ const WebChatContainerStateful = props => {
121
142
  return /*#__PURE__*/_react2.default.createElement(_react2.default.Fragment, null, /*#__PURE__*/_react2.default.createElement("style", null, `
122
143
 
123
144
  .webchat__bubble__content>div#ms_lcw_webchat_adaptive_card {
124
- background: ${(props === null || props === void 0 ? void 0 : (_props$adaptiveCardSt = props.adaptiveCardStyles) === null || _props$adaptiveCardSt === void 0 ? void 0 : _props$adaptiveCardSt.background) ?? _defaultAdaptiveCardStyles.defaultAdaptiveCardStyles.background};
145
+ background: ${(webChatContainerProps === null || webChatContainerProps === void 0 ? void 0 : (_webChatContainerProp = webChatContainerProps.adaptiveCardStyles) === null || _webChatContainerProp === void 0 ? void 0 : _webChatContainerProp.background) ?? _defaultAdaptiveCardStyles.defaultAdaptiveCardStyles.background};
125
146
  }
126
147
 
127
148
  .webchat__stacked-layout__content div.webchat__stacked-layout__message-row div.webchat__bubble--from-user {
128
- max-width: ${(props === null || props === void 0 ? void 0 : (_props$renderingMiddl = props.renderingMiddlewareProps) === null || _props$renderingMiddl === void 0 ? void 0 : (_props$renderingMiddl2 = _props$renderingMiddl.userMessageBoxStyles) === null || _props$renderingMiddl2 === void 0 ? void 0 : _props$renderingMiddl2.maxWidth) ?? (_defaultUserMessageBoxStyles.defaultUserMessageBoxStyles === null || _defaultUserMessageBoxStyles.defaultUserMessageBoxStyles === void 0 ? void 0 : _defaultUserMessageBoxStyles.defaultUserMessageBoxStyles.maxWidth)}
149
+ max-width: ${(webChatContainerProps === null || webChatContainerProps === void 0 ? void 0 : (_webChatContainerProp2 = webChatContainerProps.renderingMiddlewareProps) === null || _webChatContainerProp2 === void 0 ? void 0 : (_webChatContainerProp3 = _webChatContainerProp2.userMessageBoxStyles) === null || _webChatContainerProp3 === void 0 ? void 0 : _webChatContainerProp3.maxWidth) ?? (_defaultUserMessageBoxStyles.defaultUserMessageBoxStyles === null || _defaultUserMessageBoxStyles.defaultUserMessageBoxStyles === void 0 ? void 0 : _defaultUserMessageBoxStyles.defaultUserMessageBoxStyles.maxWidth)}
129
150
  }
130
151
 
131
152
  .webchat__stacked-layout--show-avatar div.webchat__stacked-layout__content div.webchat__stacked-layout__message-row div.webchat__stacked-layout__message {
132
- max-width: ${(props === null || props === void 0 ? void 0 : (_props$renderingMiddl3 = props.renderingMiddlewareProps) === null || _props$renderingMiddl3 === void 0 ? void 0 : (_props$renderingMiddl4 = _props$renderingMiddl3.systemMessageBoxStyles) === null || _props$renderingMiddl4 === void 0 ? void 0 : _props$renderingMiddl4.maxWidth) ?? (_defaultSystemMessageBoxStyles.defaultSystemMessageBoxStyles === null || _defaultSystemMessageBoxStyles.defaultSystemMessageBoxStyles === void 0 ? void 0 : _defaultSystemMessageBoxStyles.defaultSystemMessageBoxStyles.maxWidth)}
153
+ max-width: ${(webChatContainerProps === null || webChatContainerProps === void 0 ? void 0 : (_webChatContainerProp4 = webChatContainerProps.renderingMiddlewareProps) === null || _webChatContainerProp4 === void 0 ? void 0 : (_webChatContainerProp5 = _webChatContainerProp4.systemMessageBoxStyles) === null || _webChatContainerProp5 === void 0 ? void 0 : _webChatContainerProp5.maxWidth) ?? (_defaultSystemMessageBoxStyles.defaultSystemMessageBoxStyles === null || _defaultSystemMessageBoxStyles.defaultSystemMessageBoxStyles === void 0 ? void 0 : _defaultSystemMessageBoxStyles.defaultSystemMessageBoxStyles.maxWidth)}
133
154
  }
134
155
 
135
- div[class="ac-textBlock"]>p{color:${(props === null || props === void 0 ? void 0 : (_props$adaptiveCardSt2 = props.adaptiveCardStyles) === null || _props$adaptiveCardSt2 === void 0 ? void 0 : _props$adaptiveCardSt2.color) ?? _defaultAdaptiveCardStyles.defaultAdaptiveCardStyles.color}; white-space:${(props === null || props === void 0 ? void 0 : (_props$adaptiveCardSt3 = props.adaptiveCardStyles) === null || _props$adaptiveCardSt3 === void 0 ? void 0 : _props$adaptiveCardSt3.textWhiteSpace) ?? _defaultAdaptiveCardStyles.defaultAdaptiveCardStyles.textWhiteSpace}}
136
-
137
- .webchat__stacked-layout__content .ac-actionSet > .ac-pushButton > div {white-space: ${(props === null || props === void 0 ? void 0 : (_props$adaptiveCardSt4 = props.adaptiveCardStyles) === null || _props$adaptiveCardSt4 === void 0 ? void 0 : _props$adaptiveCardSt4.buttonWhiteSpace) ?? _defaultAdaptiveCardStyles.defaultAdaptiveCardStyles.buttonWhiteSpace} !important;}
156
+ div[class="ac-textBlock"] *,
157
+ div[class="ac-input-container"] * {color:${(webChatContainerProps === null || webChatContainerProps === void 0 ? void 0 : (_webChatContainerProp6 = webChatContainerProps.adaptiveCardStyles) === null || _webChatContainerProp6 === void 0 ? void 0 : _webChatContainerProp6.color) ?? _defaultAdaptiveCardStyles.defaultAdaptiveCardStyles.color}; white-space:${(webChatContainerProps === null || webChatContainerProps === void 0 ? void 0 : (_webChatContainerProp7 = webChatContainerProps.adaptiveCardStyles) === null || _webChatContainerProp7 === void 0 ? void 0 : _webChatContainerProp7.textWhiteSpace) ?? _defaultAdaptiveCardStyles.defaultAdaptiveCardStyles.textWhiteSpace}}
158
+ div[class="ac-textBlock"] a:link,
159
+ div[class="ac-textBlock"] a:visited,
160
+ div[class="ac-textBlock"] a:hover,
161
+ div[class="ac-textBlock"] a:active {
162
+ color: ${(webChatContainerProps === null || webChatContainerProps === void 0 ? void 0 : (_webChatContainerProp8 = webChatContainerProps.adaptiveCardStyles) === null || _webChatContainerProp8 === void 0 ? void 0 : _webChatContainerProp8.anchorColor) ?? _defaultAdaptiveCardStyles.defaultAdaptiveCardStyles.anchorColor};
163
+ }
164
+
165
+ .webchat__stacked-layout__content .ac-actionSet > .ac-pushButton > div {white-space: ${(webChatContainerProps === null || webChatContainerProps === void 0 ? void 0 : (_webChatContainerProp9 = webChatContainerProps.adaptiveCardStyles) === null || _webChatContainerProp9 === void 0 ? void 0 : _webChatContainerProp9.buttonWhiteSpace) ?? _defaultAdaptiveCardStyles.defaultAdaptiveCardStyles.buttonWhiteSpace} !important;}
138
166
 
139
167
  .ms_lcw_webchat_received_message img.webchat__markdown__external-link-icon {
140
168
  background-image : url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIzIDMgMTggMTgiICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik03LjI1MDEgNC41MDAxN0gxMC43NDk1QzExLjE2MzcgNC41MDAxNyAxMS40OTk1IDQuODM1OTYgMTEuNDk5NSA1LjI1MDE3QzExLjQ5OTUgNS42Mjk4NiAxMS4yMTczIDUuOTQzNjYgMTAuODUxMyA1Ljk5MzMyTDEwLjc0OTUgNi4wMDAxN0g3LjI0OTc0QzYuMDcwNzkgNS45OTk2MSA1LjEwMzQ5IDYuOTA2NTYgNS4wMDc4NiA4LjA2MTEyTDUuMDAwMjggOC4yMjAwM0w1LjAwMzEyIDE2Ljc1MDdDNS4wMDM0MyAxNy45NDE1IDUuOTI4ODUgMTguOTE2MSA3LjA5OTY2IDE4Ljk5NDlMNy4yNTM3MSAxOS4wMDAxTDE1Ljc1MTggMTguOTg4NEMxNi45NDE1IDE4Ljk4NjggMTcuOTE0NSAxOC4wNjIgMTcuOTkzNSAxNi44OTIzTDE3Ljk5ODcgMTYuNzM4NFYxMy4yMzIxQzE3Ljk5ODcgMTIuODE3OSAxOC4zMzQ1IDEyLjQ4MjEgMTguNzQ4NyAxMi40ODIxQzE5LjEyODQgMTIuNDgyMSAxOS40NDIyIDEyLjc2NDMgMTkuNDkxOCAxMy4xMzAzTDE5LjQ5ODcgMTMuMjMyMVYxNi43Mzg0QzE5LjQ5ODcgMTguNzQwNyAxNy45MjkzIDIwLjM3NjkgMTUuOTUyOCAyMC40ODI5TDE1Ljc1MzggMjAuNDg4NEw3LjI1ODI3IDIwLjUwMDFMNy4wNTQ5NSAyMC40OTQ5QzUuMTQyMzkgMjAuMzk1NCAzLjYwODk1IDE4Ljg2MjcgMy41MDgzNyAxNi45NTAyTDMuNTAzMTIgMTYuNzUxMUwzLjUwMDg5IDguMjUyN0wzLjUwNTI5IDguMDUwMkMzLjYwNTM5IDYuMTM3NDkgNS4xMzg2NyA0LjYwNDQ5IDcuMDUwOTYgNC41MDUyN0w3LjI1MDEgNC41MDAxN0gxMC43NDk1SDcuMjUwMVpNMTMuNzQ4MSAzLjAwMTQ2TDIwLjMwMTggMy4wMDE5N0wyMC40MDE0IDMuMDE1NzVMMjAuNTAyMiAzLjA0MzkzTDIwLjU1OSAzLjA2ODAzQzIwLjYxMjIgMy4wOTEyMiAyMC42NjM0IDMuMTIxNjMgMjAuNzExMSAzLjE1ODg1TDIwLjc4MDQgMy4yMjE1NkwyMC44NjQxIDMuMzIwMTRMMjAuOTE4MyAzLjQxMDI1TDIwLjk1NyAzLjUwMDU3TDIwLjk3NjIgMy41NjQ3NkwyMC45ODk4IDMuNjI4NjJMMjAuOTk5MiAzLjcyMjgyTDIwLjk5OTcgMTAuMjU1NEMyMC45OTk3IDEwLjY2OTYgMjAuNjYzOSAxMS4wMDU0IDIwLjI0OTcgMTEuMDA1NEMxOS44NyAxMS4wMDU0IDE5LjU1NjIgMTAuNzIzMiAxOS41MDY1IDEwLjM1NzFMMTkuNDk5NyAxMC4yNTU0TDE5LjQ5ODkgNS41NjE0N0wxMi4yNzk3IDEyLjc4NDdDMTIuMDEzNCAxMy4wNTEgMTEuNTk2OCAxMy4wNzUzIDExLjMwMzEgMTIuODU3NUwxMS4yMTkgMTIuNzg0OUMxMC45NTI3IDEyLjUxODcgMTAuOTI4NCAxMi4xMDIxIDExLjE0NjIgMTEuODA4NEwxMS4yMTg4IDExLjcyNDNMMTguNDM2OSA0LjUwMTQ2SDEzLjc0ODFDMTMuMzY4NCA0LjUwMTQ2IDEzLjA1NDYgNC4yMTkzMSAxMy4wMDUgMy44NTMyNEwxMi45OTgxIDMuNzUxNDZDMTIuOTk4MSAzLjM3MTc3IDEzLjI4MDMgMy4wNTc5NyAxMy42NDY0IDMuMDA4MzFMMTMuNzQ4MSAzLjAwMTQ2WiIgZmlsbD0iI0ZGRkZGRiIgLz48L3N2Zz4) !important;
141
169
  height: '.75em';
142
170
  marginLeft: '.25em';
143
- filter:${(props === null || props === void 0 ? void 0 : (_props$renderingMiddl5 = props.renderingMiddlewareProps) === null || _props$renderingMiddl5 === void 0 ? void 0 : (_props$renderingMiddl6 = _props$renderingMiddl5.receivedMessageAnchorStyles) === null || _props$renderingMiddl6 === void 0 ? void 0 : _props$renderingMiddl6.filter) ?? "none"};
171
+ filter:${(webChatContainerProps === null || webChatContainerProps === void 0 ? void 0 : (_webChatContainerProp10 = webChatContainerProps.renderingMiddlewareProps) === null || _webChatContainerProp10 === void 0 ? void 0 : (_webChatContainerProp11 = _webChatContainerProp10.receivedMessageAnchorStyles) === null || _webChatContainerProp11 === void 0 ? void 0 : _webChatContainerProp11.filter) ?? "none"};
144
172
  }
145
173
  pre {
146
174
  white-space: pre-wrap;
@@ -153,8 +181,15 @@ const WebChatContainerStateful = props => {
153
181
  .ms_lcw_webchat_received_message a:visited,
154
182
  .ms_lcw_webchat_received_message a:hover,
155
183
  .ms_lcw_webchat_received_message a:active {
156
- color: ${(props === null || props === void 0 ? void 0 : (_props$renderingMiddl7 = props.renderingMiddlewareProps) === null || _props$renderingMiddl7 === void 0 ? void 0 : (_props$renderingMiddl8 = _props$renderingMiddl7.receivedMessageAnchorStyles) === null || _props$renderingMiddl8 === void 0 ? void 0 : _props$renderingMiddl8.color) ?? (_defaultReceivedMessageAnchorStyles.defaultReceivedMessageAnchorStyles === null || _defaultReceivedMessageAnchorStyles.defaultReceivedMessageAnchorStyles === void 0 ? void 0 : _defaultReceivedMessageAnchorStyles.defaultReceivedMessageAnchorStyles.color)};
157
- } `), /*#__PURE__*/_react2.default.createElement(_react.Stack, {
184
+ color: ${(webChatContainerProps === null || webChatContainerProps === void 0 ? void 0 : (_webChatContainerProp12 = webChatContainerProps.renderingMiddlewareProps) === null || _webChatContainerProp12 === void 0 ? void 0 : (_webChatContainerProp13 = _webChatContainerProp12.receivedMessageAnchorStyles) === null || _webChatContainerProp13 === void 0 ? void 0 : _webChatContainerProp13.color) ?? (_defaultReceivedMessageAnchorStyles.defaultReceivedMessageAnchorStyles === null || _defaultReceivedMessageAnchorStyles.defaultReceivedMessageAnchorStyles === void 0 ? void 0 : _defaultReceivedMessageAnchorStyles.defaultReceivedMessageAnchorStyles.color)};
185
+ }
186
+ .ms_lcw_webchat_sent_message a:link,
187
+ .ms_lcw_webchat_sent_message a:visited,
188
+ .ms_lcw_webchat_sent_message a:hover,
189
+ .ms_lcw_webchat_sent_message a:active {
190
+ color: ${(webChatContainerProps === null || webChatContainerProps === void 0 ? void 0 : (_webChatContainerProp14 = webChatContainerProps.renderingMiddlewareProps) === null || _webChatContainerProp14 === void 0 ? void 0 : (_webChatContainerProp15 = _webChatContainerProp14.sentMessageAnchorStyles) === null || _webChatContainerProp15 === void 0 ? void 0 : _webChatContainerProp15.color) ?? (_defaultSentMessageAnchorStyles.defaultSentMessageAnchorStyles === null || _defaultSentMessageAnchorStyles.defaultSentMessageAnchorStyles === void 0 ? void 0 : _defaultSentMessageAnchorStyles.defaultSentMessageAnchorStyles.color)};
191
+ }
192
+ `), /*#__PURE__*/_react2.default.createElement(_react.Stack, {
158
193
  styles: containerStyles
159
194
  }, /*#__PURE__*/_react2.default.createElement(BasicWebChat, null)));
160
195
  };
@@ -30,6 +30,7 @@ const defaultMiddlewareLocalizedTexts = {
30
30
  MIDDLEWARE_MESSAGE_DELIVERED: "Sent",
31
31
  MIDDLEWARE_MESSAGE_NOT_DELIVERED: "Not Delivered",
32
32
  MIDDLEWARE_MESSAGE_RETRY: "Retry",
33
- MIDDLEWARE_BANNER_CHAT_DISCONNECT: "Your conversation has been disconnected. For additional assistance, please start a new chat."
33
+ MIDDLEWARE_BANNER_CHAT_DISCONNECT: "Your conversation has been disconnected. For additional assistance, please start a new chat.",
34
+ THIRD_PARTY_COOKIES_BLOCKED_ALERT_MESSAGE: "Third party cookies are blocked. Reloading this page will start a new conversation."
34
35
  };
35
36
  exports.defaultMiddlewareLocalizedTexts = defaultMiddlewareLocalizedTexts;
@@ -7,6 +7,7 @@ exports.defaultAdaptiveCardStyles = void 0;
7
7
  const defaultAdaptiveCardStyles = {
8
8
  background: "white",
9
9
  color: "black",
10
+ anchorColor: "blue",
10
11
  textWhiteSpace: "normal",
11
12
  buttonWhiteSpace: "normal"
12
13
  };
@@ -15,6 +15,11 @@ class MockChatSDK {
15
15
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
16
16
  _defineProperty(this, "sleep", ms => new Promise(r => setTimeout(r, ms)));
17
17
  _defineProperty(this, "isMockModeOn", true);
18
+ _defineProperty(this, "omnichannelConfig", {
19
+ widgetId: "00000000-0000-0000-0000-000000000000",
20
+ orgId: "00000000-0000-0000-0000-000000000000",
21
+ orgUrl: "https://contoso.crm.dynamics.com"
22
+ });
18
23
  }
19
24
  async startChat() {
20
25
  await this.sleep(1000);
@@ -14,4 +14,5 @@ exports.NotificationScenarios = NotificationScenarios;
14
14
  NotificationScenarios["InternetConnection"] = "internet connection";
15
15
  NotificationScenarios["MaxSizeError"] = "max size";
16
16
  NotificationScenarios["ChatDisconnect"] = "chat disconnect";
17
+ NotificationScenarios["TPC"] = "tpc blocked";
17
18
  })(NotificationScenarios || (exports.NotificationScenarios = NotificationScenarios = {}));
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.defaultSentMessageAnchorStyles = void 0;
7
+ const defaultSentMessageAnchorStyles = {
8
+ color: "blue"
9
+ };
10
+ exports.defaultSentMessageAnchorStyles = defaultSentMessageAnchorStyles;