@microsoft/omnichannel-chat-components 0.1.0-main.b59a07c → 0.1.0-main.bda05f5

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 (104) hide show
  1. package/lib/cjs/common/Constants.js +2 -6
  2. package/lib/cjs/common/utils.js +21 -2
  3. package/lib/cjs/components/callingcontainer/subcomponents/CurrentCall/CurrentCall.js +1 -1
  4. package/lib/cjs/components/callingcontainer/subcomponents/IncomingCall/IncomingCall.js +15 -2
  5. package/lib/cjs/components/chatbutton/ChatButton.js +23 -22
  6. package/lib/cjs/components/chatbutton/common/defaultProps/defaultChatButtonControlProps.js +3 -2
  7. package/lib/cjs/components/chatbutton/common/defaultStyles/defaultChatButtonSubTitleStyles.js +1 -0
  8. package/lib/cjs/components/chatbutton/common/defaultStyles/defaultChatButtonTitleStyles.js +1 -0
  9. package/lib/cjs/components/common/commandbutton/CommandButton.js +30 -2
  10. package/lib/cjs/components/{header → common}/subcomponents/CloseButton.js +4 -3
  11. package/lib/cjs/components/confirmationpane/ConfirmationPane.js +7 -0
  12. package/lib/cjs/components/confirmationpane/common/defaultStyles/defaultConfirmationPaneButtonGroupStyles.js +5 -1
  13. package/lib/cjs/components/confirmationpane/common/defaultStyles/defaultConfirmationPaneGeneralStyles.js +7 -4
  14. package/lib/cjs/components/footer/Footer.js +2 -2
  15. package/lib/cjs/components/footer/common/defaultProps/defaultFooterControlProps.js +1 -0
  16. package/lib/cjs/components/footer/common/defaultStyles/defaultFooterStyleProps.js +12 -6
  17. package/lib/cjs/components/footer/subcomponents/AudioNotificationButton.js +27 -4
  18. package/lib/cjs/components/header/Header.js +2 -2
  19. package/lib/cjs/components/inputvalidationpane/InputValidationPane.js +28 -28
  20. package/lib/cjs/components/inputvalidationpane/common/default/defaultStyles/defaultInputValidationPaneCancelButtonStyles.js +2 -1
  21. package/lib/cjs/components/inputvalidationpane/common/default/defaultStyles/defaultInputValidationPaneInvalidInputErrorMessageStyles.js +1 -1
  22. package/lib/cjs/components/inputvalidationpane/common/default/defaultStyles/defaultInputValidationPaneSendButtonStyles.js +2 -1
  23. package/lib/cjs/components/loadingpane/common/defaultProps/defaultStyles/defaultLoadingPaneIconStyles.js +1 -1
  24. package/lib/cjs/components/outofofficehourspane/OOOHPane.js +13 -6
  25. package/lib/cjs/components/outofofficehourspane/common/defaultProps/defaultOOOHPaneControlProps.js +3 -1
  26. package/lib/cjs/components/outofofficehourspane/common/presetFourProps/presetFourOOOHPaneControlProps.js +15 -0
  27. package/lib/cjs/components/outofofficehourspane/common/presetFourProps/presetFourOOOHPaneProps.js +16 -0
  28. package/lib/cjs/components/postchatsurveypane/PostChatSurveyPane.js +2 -1
  29. package/lib/cjs/components/prechatsurveypane/PreChatSurveyPane.js +22 -9
  30. package/lib/cjs/components/prechatsurveypane/common/defaultProps/defaultPreChatSurveyPaneControlProps.js +1 -0
  31. package/lib/cjs/components/prechatsurveypane/common/defaultProps/defaultStyles/defaultPreChatSurveyPaneButtonStyles.js +3 -1
  32. package/lib/cjs/components/prechatsurveypane/common/defaultProps/defaultStyles/defaultPreChatSurveyPaneMultilineTextInputStyles.js +10 -0
  33. package/lib/cjs/components/prechatsurveypane/common/defaultProps/defaultStyles/defaultPreChatSurveyPaneStyles.js +7 -1
  34. package/lib/cjs/components/prechatsurveypane/common/defaultProps/defaultStyles/defaultPreChatSurveyPaneTextInputStyles.js +10 -0
  35. package/lib/cjs/components/prechatsurveypane/interfaces/IPreChatSurveyPaneElementStyles.js +1 -0
  36. package/lib/cjs/components/proactivechatpane/ProactiveChatPane.js +36 -35
  37. package/lib/cjs/components/proactivechatpane/common/default/defaultProps/defaultProactiveChatPaneControlProps.js +5 -1
  38. package/lib/cjs/components/proactivechatpane/common/default/defaultStyles/defaultProactiveChatPaneCloseButtonStyles.js +2 -13
  39. package/lib/cjs/components/proactivechatpane/common/presetOne/presetOneProps/presetOneProactiveChatPaneControlProps.js +5 -1
  40. package/lib/cjs/components/proactivechatpane/common/presetThree/presetThreeProps/presetThreeProactiveChatPaneControlProps.js +5 -1
  41. package/lib/cjs/index.js +6 -0
  42. package/lib/cjs/services/BroadcastService.js +36 -8
  43. package/lib/esm/common/Constants.js +1 -4
  44. package/lib/esm/common/utils.js +16 -0
  45. package/lib/esm/components/callingcontainer/subcomponents/CurrentCall/CurrentCall.js +1 -1
  46. package/lib/esm/components/callingcontainer/subcomponents/IncomingCall/IncomingCall.js +15 -2
  47. package/lib/esm/components/chatbutton/ChatButton.js +22 -21
  48. package/lib/esm/components/chatbutton/common/defaultProps/defaultChatButtonControlProps.js +3 -2
  49. package/lib/esm/components/chatbutton/common/defaultStyles/defaultChatButtonSubTitleStyles.js +1 -0
  50. package/lib/esm/components/chatbutton/common/defaultStyles/defaultChatButtonTitleStyles.js +1 -0
  51. package/lib/esm/components/common/commandbutton/CommandButton.js +30 -2
  52. package/lib/esm/components/{header → common}/subcomponents/CloseButton.js +4 -3
  53. package/lib/esm/components/confirmationpane/ConfirmationPane.js +8 -1
  54. package/lib/esm/components/confirmationpane/common/defaultStyles/defaultConfirmationPaneButtonGroupStyles.js +5 -1
  55. package/lib/esm/components/confirmationpane/common/defaultStyles/defaultConfirmationPaneGeneralStyles.js +7 -4
  56. package/lib/esm/components/footer/Footer.js +2 -2
  57. package/lib/esm/components/footer/common/defaultProps/defaultFooterControlProps.js +1 -0
  58. package/lib/esm/components/footer/common/defaultStyles/defaultFooterStyleProps.js +12 -6
  59. package/lib/esm/components/footer/subcomponents/AudioNotificationButton.js +27 -4
  60. package/lib/esm/components/header/Header.js +2 -2
  61. package/lib/esm/components/inputvalidationpane/InputValidationPane.js +29 -29
  62. package/lib/esm/components/inputvalidationpane/common/default/defaultStyles/defaultInputValidationPaneCancelButtonStyles.js +2 -1
  63. package/lib/esm/components/inputvalidationpane/common/default/defaultStyles/defaultInputValidationPaneInvalidInputErrorMessageStyles.js +1 -1
  64. package/lib/esm/components/inputvalidationpane/common/default/defaultStyles/defaultInputValidationPaneSendButtonStyles.js +2 -1
  65. package/lib/esm/components/loadingpane/common/defaultProps/defaultStyles/defaultLoadingPaneIconStyles.js +1 -1
  66. package/lib/esm/components/outofofficehourspane/OOOHPane.js +13 -7
  67. package/lib/esm/components/outofofficehourspane/common/defaultProps/defaultOOOHPaneControlProps.js +3 -1
  68. package/lib/esm/components/outofofficehourspane/common/presetFourProps/presetFourOOOHPaneControlProps.js +6 -0
  69. package/lib/esm/components/outofofficehourspane/common/presetFourProps/presetFourOOOHPaneProps.js +6 -0
  70. package/lib/esm/components/postchatsurveypane/PostChatSurveyPane.js +2 -1
  71. package/lib/esm/components/prechatsurveypane/PreChatSurveyPane.js +22 -9
  72. package/lib/esm/components/prechatsurveypane/common/defaultProps/defaultPreChatSurveyPaneControlProps.js +1 -0
  73. package/lib/esm/components/prechatsurveypane/common/defaultProps/defaultStyles/defaultPreChatSurveyPaneButtonStyles.js +3 -1
  74. package/lib/esm/components/prechatsurveypane/common/defaultProps/defaultStyles/defaultPreChatSurveyPaneMultilineTextInputStyles.js +3 -0
  75. package/lib/esm/components/prechatsurveypane/common/defaultProps/defaultStyles/defaultPreChatSurveyPaneStyles.js +5 -1
  76. package/lib/esm/components/prechatsurveypane/common/defaultProps/defaultStyles/defaultPreChatSurveyPaneTextInputStyles.js +3 -0
  77. package/lib/esm/components/prechatsurveypane/interfaces/IPreChatSurveyPaneElementStyles.js +1 -0
  78. package/lib/esm/components/proactivechatpane/ProactiveChatPane.js +33 -34
  79. package/lib/esm/components/proactivechatpane/common/default/defaultProps/defaultProactiveChatPaneControlProps.js +5 -1
  80. package/lib/esm/components/proactivechatpane/common/default/defaultStyles/defaultProactiveChatPaneCloseButtonStyles.js +2 -11
  81. package/lib/esm/components/proactivechatpane/common/presetOne/presetOneProps/presetOneProactiveChatPaneControlProps.js +5 -1
  82. package/lib/esm/components/proactivechatpane/common/presetThree/presetThreeProps/presetThreeProactiveChatPaneControlProps.js +5 -1
  83. package/lib/esm/index.js +1 -0
  84. package/lib/esm/services/BroadcastService.js +34 -8
  85. package/lib/types/common/Constants.d.ts +1 -2
  86. package/lib/types/common/utils.d.ts +1 -0
  87. package/lib/types/components/chatbutton/interfaces/IChatButtonControlProps.d.ts +1 -0
  88. package/lib/types/components/common/interfaces/ICommandButtonControlProps.d.ts +1 -0
  89. package/lib/types/components/common/interfaces/ICommandButtonProps.d.ts +1 -0
  90. package/lib/types/components/{header → common}/subcomponents/CloseButton.d.ts +1 -1
  91. package/lib/types/components/confirmationpane/interfaces/IConfirmationPaneControlProps.d.ts +0 -1
  92. package/lib/types/components/inputvalidationpane/interfaces/IInputValidationPaneControlProps.d.ts +0 -1
  93. package/lib/types/components/outofofficehourspane/common/presetFourProps/presetFourOOOHPaneControlProps.d.ts +2 -0
  94. package/lib/types/components/outofofficehourspane/common/presetFourProps/presetFourOOOHPaneProps.d.ts +2 -0
  95. package/lib/types/components/outofofficehourspane/interfaces/IOOOHPaneControlProps.d.ts +1 -0
  96. package/lib/types/components/prechatsurveypane/common/defaultProps/defaultStyles/defaultPreChatSurveyPaneMultilineTextInputStyles.d.ts +2 -0
  97. package/lib/types/components/prechatsurveypane/common/defaultProps/defaultStyles/defaultPreChatSurveyPaneTextInputStyles.d.ts +2 -0
  98. package/lib/types/components/prechatsurveypane/interfaces/IPreChatSurveyPaneButtonStyles.d.ts +2 -0
  99. package/lib/types/components/prechatsurveypane/interfaces/IPreChatSurveyPaneElementStyles.d.ts +5 -0
  100. package/lib/types/components/prechatsurveypane/interfaces/IPreChatSurveyPaneStyleProps.d.ts +5 -0
  101. package/lib/types/components/proactivechatpane/interfaces/IProactiveChatPaneControlProps.d.ts +2 -1
  102. package/lib/types/index.d.ts +1 -0
  103. package/lib/types/services/BroadcastService.d.ts +1 -0
  104. package/package.json +2 -2
package/lib/esm/index.js CHANGED
@@ -12,6 +12,7 @@ export { default as PostChatSurveyPane } from "./components/postchatsurveypane/P
12
12
  export { encodeComponentString } from "./common/encodeComponentString";
13
13
  export { decodeComponentString } from "./common/decodeComponentString";
14
14
  export { BroadcastService } from "./services/BroadcastService";
15
+ export { BroadcastServiceInitialize } from "./services/BroadcastService";
15
16
  export { ElementType } from "./common/Constants";
16
17
  export { default as CallingContainer } from "./components/callingcontainer/CallingContainer";
17
18
  export { default as CurrentCall } from "./components/callingcontainer/subcomponents/CurrentCall/CurrentCall";
@@ -1,19 +1,45 @@
1
1
  import { Subject } from "rxjs";
2
2
  import { filter } from "rxjs/operators";
3
3
  import { BroadcastChannel } from "broadcast-channel";
4
- import { BROADCAST_CHANNEL_NAME } from "../common/Constants";
5
- const newMessage = new Subject();
6
- const pubChannel = new BroadcastChannel(BROADCAST_CHANNEL_NAME);
7
- const subChannel = new BroadcastChannel(BROADCAST_CHANNEL_NAME); // eslint-disable-next-line @typescript-eslint/no-explicit-any
4
+ const newMessage = new Subject(); // eslint-disable-next-line @typescript-eslint/no-explicit-any
8
5
 
9
- subChannel.onmessage = message => {
10
- newMessage.next(message);
11
- };
6
+ const broadcastServicePubList = {}; // eslint-disable-next-line @typescript-eslint/no-explicit-any
7
+
8
+ const broadcastServiceSubList = {}; // eslint-disable-next-line @typescript-eslint/no-explicit-any
9
+
10
+ let pubChannel; // eslint-disable-next-line @typescript-eslint/no-explicit-any
11
+
12
+ let subChannel;
13
+ export const BroadcastServiceInitialize = channelName => {
14
+ if (broadcastServicePubList[channelName]) {
15
+ pubChannel = broadcastServicePubList[channelName];
16
+ } else {
17
+ const newPubChannel = new BroadcastChannel(channelName);
18
+ broadcastServicePubList[channelName] = newPubChannel;
19
+ pubChannel = newPubChannel;
20
+ }
21
+
22
+ if (broadcastServiceSubList[channelName]) {
23
+ subChannel = broadcastServiceSubList[channelName];
24
+ } else {
25
+ const newSubChannel = new BroadcastChannel(channelName);
26
+ broadcastServiceSubList[channelName] = newSubChannel;
27
+ subChannel = newSubChannel;
28
+ } // eslint-disable-next-line @typescript-eslint/no-explicit-any
12
29
 
30
+
31
+ subChannel.onmessage = message => {
32
+ newMessage.next(message);
33
+ };
34
+ };
13
35
  export const BroadcastService = {
14
36
  //broadcast a message
15
37
  postMessage: message => {
16
- pubChannel.postMessage(message);
38
+ /**
39
+ * Omit copying methods to prevent 'DataCloneError' in older browsers when passing an object with functions
40
+ * This exception occurs when an object can't be clone with the 'structured clone algorithm' (used by postMessage)
41
+ */
42
+ pubChannel.postMessage(JSON.parse(JSON.stringify(message)));
17
43
  },
18
44
  getMessage: message => {
19
45
  return newMessage.pipe(filter(msg => msg.elementId == message.elementId && msg.elementType == message.elementType && msg.eventName == message.eventName));
@@ -1,6 +1,5 @@
1
1
  /// <reference types="react" />
2
2
  export declare const AccessibilityBrightnessRatio = 1.2;
3
- export declare const BROADCAST_CHANNEL_NAME = "omnichannel_broadcast_channel";
4
3
  export declare const HiddenTextStyles: React.CSSProperties;
5
4
  export declare const KeyCodes: {
6
5
  new (): {};
@@ -20,7 +19,7 @@ export declare const Regex: {
20
19
  };
21
20
  export declare enum ElementType {
22
21
  ChatButton = "ChatButton",
23
- HeaderCloseButton = "HeaderCloseButton",
22
+ CloseButton = "CloseButton",
24
23
  HeaderMinimizeButton = "HeaderMinimizeButton",
25
24
  FooterDownloadTranscriptButton = "FooterDownloadTranscriptButton",
26
25
  FooterEmailTranscriptButton = "FooterEmailTranscriptButton",
@@ -16,3 +16,4 @@ export declare const getHours: (time: number) => string;
16
16
  export declare const getMinutes: (time: number) => string;
17
17
  export declare const getSeconds: (time: number) => string;
18
18
  export declare const addNoreferrerNoopenerTag: (htmlNode: any) => void;
19
+ export declare const replaceURLWithAnchor: (text: string | undefined, openInNewTab: boolean | undefined) => string | undefined;
@@ -15,4 +15,5 @@ export interface IChatButtonControlProps {
15
15
  hideNotificationBubble?: boolean;
16
16
  unreadMessageString?: string;
17
17
  largeUnreadMessageString?: string;
18
+ ariaLabelUnreadMessageString?: string;
18
19
  }
@@ -14,4 +14,5 @@ export interface ICommandButtonControlProps {
14
14
  onClick?: () => void;
15
15
  className?: string;
16
16
  disabled?: boolean;
17
+ hideButtonTitle?: boolean;
17
18
  }
@@ -18,4 +18,5 @@ export interface ICommandButtonProps {
18
18
  className?: string;
19
19
  disabled?: boolean;
20
20
  customEvent?: ICustomEvent;
21
+ hideButtonTitle?: boolean;
21
22
  }
@@ -1,3 +1,3 @@
1
- import { ICommandButtonProps } from "../../common/interfaces/ICommandButtonProps";
1
+ import { ICommandButtonProps } from "../interfaces/ICommandButtonProps";
2
2
  declare function CloseButton(props: ICommandButtonProps): JSX.Element;
3
3
  export default CloseButton;
@@ -13,7 +13,6 @@ export interface IConfirmationPaneControlProps {
13
13
  cancelButtonText?: string;
14
14
  cancelButtonAriaLabel?: string;
15
15
  brightnessValueOnDim?: string;
16
- disableDimLayer?: boolean;
17
16
  onConfirm?: () => void;
18
17
  onCancel?: () => void;
19
18
  }
@@ -22,7 +22,6 @@ export interface IInputValidationPaneControlProps {
22
22
  cancelButtonText?: string;
23
23
  cancelButtonAriaLabel?: string;
24
24
  brightnessValueOnDim?: string;
25
- disableDimLayer?: boolean;
26
25
  onSend?: (input: string) => void;
27
26
  onCancel?: () => void;
28
27
  checkInput?: (input: string) => boolean;
@@ -0,0 +1,2 @@
1
+ import { IOOOHPaneControlProps } from "../../interfaces/IOOOHPaneControlProps";
2
+ export declare const presetFourOOOHPaneControlProps: IOOOHPaneControlProps;
@@ -0,0 +1,2 @@
1
+ import { IOOOHPaneProps } from "../../interfaces/IOOOHPaneProps";
2
+ export declare const presetFourOOOHPaneProps: IOOOHPaneProps;
@@ -5,4 +5,5 @@ export interface IOOOHPaneControlProps {
5
5
  hideOOOHPane?: boolean;
6
6
  hideTitle?: boolean;
7
7
  titleText?: string;
8
+ openLinkInNewTab?: boolean;
8
9
  }
@@ -0,0 +1,2 @@
1
+ import { IPreChatSurveyPaneElementStyles } from "../../../interfaces/IPreChatSurveyPaneElementStyles";
2
+ export declare const defaultPreChatSurveyPaneMultilineTextInputStyles: IPreChatSurveyPaneElementStyles;
@@ -0,0 +1,2 @@
1
+ import { IPreChatSurveyPaneElementStyles } from "../../../interfaces/IPreChatSurveyPaneElementStyles";
2
+ export declare const defaultPreChatSurveyPaneTextInputStyles: IPreChatSurveyPaneElementStyles;
@@ -2,4 +2,6 @@ export interface IPreChatSurveyPaneButtonStyles {
2
2
  backgroundColor?: string;
3
3
  color?: string;
4
4
  fontFamily?: string;
5
+ fontSize?: string;
6
+ height?: string;
5
7
  }
@@ -0,0 +1,5 @@
1
+ export interface IPreChatSurveyPaneElementStyles {
2
+ fontSize?: string;
3
+ height?: string;
4
+ paddingTop?: string;
5
+ }
@@ -1,7 +1,12 @@
1
1
  import { IPreChatSurveyPaneButtonStyles } from "./IPreChatSurveyPaneButtonStyles";
2
2
  import { IStyle } from "@fluentui/react";
3
+ import { IPreChatSurveyPaneElementStyles } from "./IPreChatSurveyPaneElementStyles";
3
4
  export interface IPreChatSurveyPaneStyleProps {
4
5
  generalStyleProps?: IStyle;
5
6
  adaptiveCardContainerStyleProps?: IStyle;
6
7
  customButtonStyleProps?: IPreChatSurveyPaneButtonStyles;
8
+ customTextStyleProps?: IPreChatSurveyPaneElementStyles;
9
+ customTextInputStyleProps?: IPreChatSurveyPaneElementStyles;
10
+ customMultilineTextInputStyleProps?: IPreChatSurveyPaneElementStyles;
11
+ customMultichoiceInputStyleProps?: IPreChatSurveyPaneElementStyles;
7
12
  }
@@ -1,3 +1,4 @@
1
+ import { ICommandButtonControlProps } from "../../common/interfaces/ICommandButtonControlProps";
1
2
  export interface IProactiveChatPaneControlProps {
2
3
  id?: string;
3
4
  dir?: "ltr" | "rtl" | "auto";
@@ -8,7 +9,7 @@ export interface IProactiveChatPaneControlProps {
8
9
  hideSubtitle?: boolean;
9
10
  subtitleText?: string;
10
11
  hideCloseButton?: boolean;
11
- closeButtonAriaLabel?: string;
12
+ closeButtonProps?: ICommandButtonControlProps;
12
13
  isBodyContainerHorizantal?: boolean;
13
14
  hideBodyTitle?: boolean;
14
15
  bodyTitleText?: string;
@@ -12,6 +12,7 @@ export { default as PostChatSurveyPane } from "./components/postchatsurveypane/P
12
12
  export { encodeComponentString } from "./common/encodeComponentString";
13
13
  export { decodeComponentString } from "./common/decodeComponentString";
14
14
  export { BroadcastService } from "./services/BroadcastService";
15
+ export { BroadcastServiceInitialize } from "./services/BroadcastService";
15
16
  export { ElementType } from "./common/Constants";
16
17
  export { default as CallingContainer } from "./components/callingcontainer/CallingContainer";
17
18
  export { default as CurrentCall } from "./components/callingcontainer/subcomponents/CurrentCall/CurrentCall";
@@ -1,5 +1,6 @@
1
1
  import { Subject } from "rxjs";
2
2
  import { ICustomEvent } from "../interfaces/ICustomEvent";
3
+ export declare const BroadcastServiceInitialize: (channelName: string) => void;
3
4
  export declare const BroadcastService: {
4
5
  postMessage: (message: ICustomEvent) => void;
5
6
  getMessage: (message: ICustomEvent) => import("rxjs").Observable<ICustomEvent>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@microsoft/omnichannel-chat-components",
3
- "version": "0.1.0-main.b59a07c",
3
+ "version": "0.1.0-main.bda05f5",
4
4
  "description": "Microsoft Omnichannel Chat Components",
5
5
  "main": "lib/cjs/index.js",
6
6
  "types": "lib/types/index.d.ts",
@@ -68,7 +68,7 @@
68
68
  "dependencies": {
69
69
  "@fluentui/react": "^8.46.0",
70
70
  "adaptivecards": "^2.10.0",
71
- "botframework-webchat": "4.14.1",
71
+ "botframework-webchat": "4.15.4",
72
72
  "broadcast-channel": "^4.5.0",
73
73
  "jest-transform-stub": "^2.0.0",
74
74
  "rxjs": "^5.0.3",