@microsoft/omnichannel-chat-widget 0.1.0-main.b59a07c → 0.1.0-main.bcfe8a3

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 (51) hide show
  1. package/README.md +32 -0
  2. package/lib/cjs/common/Constants.js +12 -0
  3. package/lib/cjs/common/telemetry/TelemetryConstants.js +10 -4
  4. package/lib/cjs/components/chatbuttonstateful/ChatButtonStateful.js +5 -1
  5. package/lib/cjs/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.js +10 -1
  6. package/lib/cjs/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +4 -0
  7. package/lib/cjs/components/livechatwidget/common/endChat.js +3 -3
  8. package/lib/cjs/components/livechatwidget/common/initWebChatComposer.js +8 -3
  9. package/lib/cjs/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +117 -45
  10. package/lib/cjs/components/webchatcontainerstateful/WebChatContainerStateful.js +80 -0
  11. package/lib/cjs/components/webchatcontainerstateful/interfaces/IBotMagicCodeConfig.js +1 -0
  12. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.js +14 -0
  13. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.js +16 -2
  14. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.js +52 -0
  15. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.js +98 -0
  16. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.js +117 -0
  17. package/lib/cjs/contexts/common/LiveChatWidgetActionType.js +2 -0
  18. package/lib/cjs/contexts/common/LiveChatWidgetContextInitialState.js +2 -1
  19. package/lib/cjs/contexts/createReducer.js +8 -0
  20. package/lib/cjs/controller/componentController.js +1 -1
  21. package/lib/esm/common/Constants.js +12 -0
  22. package/lib/esm/common/telemetry/TelemetryConstants.js +10 -4
  23. package/lib/esm/components/chatbuttonstateful/ChatButtonStateful.js +7 -4
  24. package/lib/esm/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.js +8 -2
  25. package/lib/esm/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +4 -0
  26. package/lib/esm/components/livechatwidget/common/endChat.js +3 -2
  27. package/lib/esm/components/livechatwidget/common/initWebChatComposer.js +7 -4
  28. package/lib/esm/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +109 -42
  29. package/lib/esm/components/webchatcontainerstateful/WebChatContainerStateful.js +72 -0
  30. package/lib/esm/components/webchatcontainerstateful/interfaces/IBotMagicCodeConfig.js +1 -0
  31. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.js +5 -0
  32. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.js +16 -2
  33. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.js +41 -0
  34. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.js +94 -0
  35. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.js +107 -0
  36. package/lib/esm/contexts/common/LiveChatWidgetActionType.js +2 -0
  37. package/lib/esm/contexts/common/LiveChatWidgetContextInitialState.js +2 -1
  38. package/lib/esm/contexts/createReducer.js +8 -0
  39. package/lib/esm/controller/componentController.js +1 -1
  40. package/lib/types/common/Constants.d.ts +6 -0
  41. package/lib/types/common/interfaces/IContextDataStore.d.ts +1 -1
  42. package/lib/types/common/telemetry/TelemetryConstants.d.ts +11 -5
  43. package/lib/types/components/webchatcontainerstateful/interfaces/IBotMagicCodeConfig.d.ts +4 -0
  44. package/lib/types/components/webchatcontainerstateful/interfaces/IWebChatContainerStatefulProps.d.ts +2 -0
  45. package/lib/types/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.d.ts +3 -0
  46. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.d.ts +2 -0
  47. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.d.ts +1 -0
  48. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.d.ts +5 -0
  49. package/lib/types/contexts/common/ILiveChatWidgetContext.d.ts +1 -0
  50. package/lib/types/contexts/common/LiveChatWidgetActionType.d.ts +3 -1
  51. package/package.json +2 -2
@@ -1,6 +1,6 @@
1
1
  import { ConversationState } from "../contexts/common/ConversationState";
2
2
  export const shouldShowChatButton = state => {
3
- return state.appStates.isMinimized || state.appStates.conversationState === ConversationState.Closed;
3
+ return (state.appStates.isMinimized || state.appStates.conversationState === ConversationState.Closed) && state.appStates.skipChatButtonRendering == false; // Do not show chat button in case of popout
4
4
  };
5
5
  export const shouldShowProactiveChatPane = state => {
6
6
  return !state.appStates.isMinimized && state.appStates.conversationState === ConversationState.ProactiveChat;
@@ -1,4 +1,6 @@
1
1
  export declare class Constants {
2
+ static readonly magicCodeBroadcastChannel = "MagicCodeChannel";
3
+ static readonly magicCodeResponseBroadcastChannel = "MagicCodeResponseChannel";
2
4
  static readonly systemMessageTag = "system";
3
5
  static readonly userMessageTag = "user";
4
6
  static readonly historyMessageTag = "history";
@@ -32,6 +34,10 @@ export declare class Constants {
32
34
  static readonly queuePositionMessageTag = "queueposition";
33
35
  static readonly averageWaitTimeMessageTag = "averagewaittime";
34
36
  static readonly message = "message";
37
+ static readonly hiddenTag = "Hidden";
38
+ static readonly prefixTimestampTag = "ServerMessageTimestamp_";
39
+ static readonly acsChannel = "ACS_CHANNEL";
40
+ static readonly publicMessageTag = "public";
35
41
  static readonly supportedAdaptiveCardContentTypes: Array<string>;
36
42
  static readonly maxUploadFileSize = "500000";
37
43
  static readonly imageRegex: RegExp;
@@ -10,5 +10,5 @@ export interface IContextDataStore {
10
10
  /**
11
11
  * removeData: Remove data from data store by key
12
12
  */
13
- removeData?: (key: string) => void;
13
+ removeData: (key: string, type: string) => void;
14
14
  }
@@ -26,7 +26,7 @@ export declare enum BroadcastEvent {
26
26
  ProactiveChatStartChat = "ProactiveChatStartChat",
27
27
  ProactiveChatStartPopoutChat = "ProactiveChatStartPopoutChat",
28
28
  ProactiveChatIsInPopoutMode = "ProactiveChatIsInPopoutMode",
29
- ClosePopoutWindow = "ClosePopoutWindow",
29
+ ResetProactiveChatParams = "ResetProactiveChatParams",
30
30
  InvalidAdaptiveCardFormat = "InvalidAdaptiveCardFormat",
31
31
  NewMessageSent = "NewMessageSent",
32
32
  NewMessageReceived = "NewMessageReceived",
@@ -34,9 +34,13 @@ export declare enum BroadcastEvent {
34
34
  StartChat = "StartChat",
35
35
  StartChatSkippingChatButtonRendering = "StartChatSkippingChatButtonRendering",
36
36
  StartUnauthenticatedReconnectChat = "StartUnauthenticatedReconnectChat",
37
- EndChat = "EndChat",
37
+ InitiateEndChat = "InitiateEndChat",
38
38
  SetCustomContext = "SetCustomContext",
39
- ChatRetrievedFromCache = "ChatRetrievedFromCache"
39
+ ChatRetrievedFromCache = "ChatRetrievedFromCache",
40
+ MaximizeChat = "MaximizeChat",
41
+ ChatInitiated = "ChatInitiated",
42
+ CloseChat = "CloseChat",
43
+ InitiateEndChatOnBrowserUnload = "InitiateEndChatOnBrowserUnload"
40
44
  }
41
45
  export declare enum TelemetryEvent {
42
46
  CallAdded = "CallAdded",
@@ -85,9 +89,9 @@ export declare enum TelemetryEvent {
85
89
  PrechatSubmitted = "PrechatSubmitted",
86
90
  StartChatSDKCall = "StartChatCall",
87
91
  StartChatEventRecevied = "StartChatEventReceived",
88
- EndChatSDKCall = "EndChatCall",
92
+ EndChatSDKCall = "EndChatSDKCall",
89
93
  EndChatEventReceived = "EndChatEventReceived",
90
- ClosePopoutWindowEventRecevied = "ClosePopoutWindowEventRecevied",
94
+ WindowClosed = "WindowClosed",
91
95
  OnNewMessageFailed = "OnNewMessageFailed",
92
96
  OnNewMessageAudioNotificationFailed = "OnNewMessageAudioNotificationFailed",
93
97
  DownloadTranscriptResponseNullOrUndefined = "DownloadTranscriptResponseNullOrUndefined",
@@ -112,6 +116,8 @@ export declare enum TelemetryEvent {
112
116
  EmailTranscriptButtonClicked = "EmailTranscriptButtonClicked",
113
117
  EmailTranscriptCancelButtonClicked = "EmailTranscriptCancelButtonClicked",
114
118
  AudioToggleButtonClicked = "AudioToggleButtonClicked",
119
+ SuppressBotMagicCodeSucceeded = "SuppressBotMagicCodeSucceeded",
120
+ SuppressBotMagicCodeFailed = "SuppressBotMagicCodeFailed",
115
121
  ProcessingHTMLTextMiddlewareFailed = "ProcessingHTMLTextMiddlewareFailed",
116
122
  ProcessingSanitizationMiddlewareFailed = "ProcessingSanitizationMiddlewareFailed",
117
123
  FormatTagsMiddlewareJSONStringifyFailed = "FormatTagsMiddlewareJSONStringifyFailed",
@@ -0,0 +1,4 @@
1
+ export interface IBotMagicCodeConfig {
2
+ disabled?: boolean;
3
+ fwdUrl?: string;
4
+ }
@@ -1,3 +1,4 @@
1
+ import { IBotMagicCodeConfig } from "./IBotMagicCodeConfig";
1
2
  import { ILiveChatWidgetLocalizedTexts } from "../../../contexts/common/ILiveChatWidgetLocalizedTexts";
2
3
  import { IRenderingMiddlewareProps } from "./IRenderingMiddlewareProps";
3
4
  import { IStyle } from "@fluentui/react";
@@ -13,4 +14,5 @@ export interface IWebChatContainerStatefulProps {
13
14
  storeMiddlewares?: any[];
14
15
  renderingMiddlewareProps?: IRenderingMiddlewareProps;
15
16
  localizedTexts?: ILiveChatWidgetLocalizedTexts;
17
+ botMagicCode?: IBotMagicCodeConfig;
16
18
  }
@@ -0,0 +1,3 @@
1
+ export declare class BotMagicCodeStore {
2
+ static botOAuthSignInId: string;
3
+ }
@@ -0,0 +1,2 @@
1
+ import { IBotMagicCodeConfig } from "../../../interfaces/IBotMagicCodeConfig";
2
+ export declare const createCardActionMiddleware: (botMagicCodeConfig: IBotMagicCodeConfig | undefined) => () => (next: any) => (...args: any) => any;
@@ -0,0 +1,5 @@
1
+ import { IWebChatAction } from "../../../interfaces/IWebChatAction";
2
+ declare const createMessageTimeStampMiddleware: ({ dispatch }: {
3
+ dispatch: any;
4
+ }) => (next: any) => (action: IWebChatAction) => any;
5
+ export default createMessageTimeStampMiddleware;
@@ -16,6 +16,7 @@ export interface ILiveChatWidgetContext {
16
16
  globalDir: "rtl" | "ltr";
17
17
  liveChatContext: any;
18
18
  customContext: any;
19
+ widgetSize: any;
19
20
  };
20
21
  appStates: {
21
22
  conversationState: ConversationState;
@@ -29,5 +29,7 @@ export declare enum LiveChatWidgetActionType {
29
29
  SET_FOCUS_CHAT_BUTTON = 27,
30
30
  SET_CONVERSATION_ENDED_BY_AGENT = 28,
31
31
  SET_WIDGET_STATE = 29,
32
- SET_LIVE_CHAT_CONTEXT = 30
32
+ SET_LIVE_CHAT_CONTEXT = 30,
33
+ SET_BOT_OAUTH_SIGNIN_ID = 31,
34
+ SET_WIDGET_SIZE = 32
33
35
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@microsoft/omnichannel-chat-widget",
3
- "version": "0.1.0-main.b59a07c",
3
+ "version": "0.1.0-main.bcfe8a3",
4
4
  "description": "Microsoft Omnichannel Chat Widget",
5
5
  "main": "lib/cjs/index.js",
6
6
  "types": "lib/types/index.d.ts",
@@ -74,7 +74,7 @@
74
74
  },
75
75
  "dependencies": {
76
76
  "@fluentui/react": "^8.49.1",
77
- "@microsoft/omnichannel-chat-components": "^0.1.0-main.353ecff",
77
+ "@microsoft/omnichannel-chat-components": "0.1.0-main.b59a07c",
78
78
  "@microsoft/omnichannel-chat-sdk": "1.0.1-main.077d17c",
79
79
  "abort-controller-es5": "^2.0.1",
80
80
  "dompurify": "^2.3.4",