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

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 (82) hide show
  1. package/lib/cjs/common/Constants.js +2 -6
  2. package/lib/cjs/components/callingcontainer/subcomponents/CurrentCall/CurrentCall.js +1 -1
  3. package/lib/cjs/components/callingcontainer/subcomponents/IncomingCall/IncomingCall.js +15 -2
  4. package/lib/cjs/components/chatbutton/ChatButton.js +23 -22
  5. package/lib/cjs/components/chatbutton/common/defaultProps/defaultChatButtonControlProps.js +2 -1
  6. package/lib/cjs/components/common/commandbutton/CommandButton.js +30 -2
  7. package/lib/cjs/components/{header → common}/subcomponents/CloseButton.js +4 -3
  8. package/lib/cjs/components/confirmationpane/ConfirmationPane.js +7 -0
  9. package/lib/cjs/components/confirmationpane/common/defaultStyles/defaultConfirmationPaneButtonGroupStyles.js +5 -1
  10. package/lib/cjs/components/confirmationpane/common/defaultStyles/defaultConfirmationPaneGeneralStyles.js +7 -4
  11. package/lib/cjs/components/footer/Footer.js +2 -2
  12. package/lib/cjs/components/footer/common/defaultProps/defaultFooterControlProps.js +1 -0
  13. package/lib/cjs/components/footer/common/defaultStyles/defaultFooterStyleProps.js +12 -6
  14. package/lib/cjs/components/footer/subcomponents/AudioNotificationButton.js +28 -4
  15. package/lib/cjs/components/header/Header.js +2 -2
  16. package/lib/cjs/components/inputvalidationpane/InputValidationPane.js +28 -28
  17. package/lib/cjs/components/inputvalidationpane/common/default/defaultStyles/defaultInputValidationPaneCancelButtonStyles.js +2 -1
  18. package/lib/cjs/components/inputvalidationpane/common/default/defaultStyles/defaultInputValidationPaneInvalidInputErrorMessageStyles.js +1 -1
  19. package/lib/cjs/components/inputvalidationpane/common/default/defaultStyles/defaultInputValidationPaneSendButtonStyles.js +2 -1
  20. package/lib/cjs/components/loadingpane/common/defaultProps/defaultStyles/defaultLoadingPaneIconStyles.js +1 -1
  21. package/lib/cjs/components/postchatsurveypane/PostChatSurveyPane.js +2 -1
  22. package/lib/cjs/components/prechatsurveypane/PreChatSurveyPane.js +21 -8
  23. package/lib/cjs/components/prechatsurveypane/common/defaultProps/defaultStyles/defaultPreChatSurveyPaneButtonStyles.js +3 -1
  24. package/lib/cjs/components/prechatsurveypane/common/defaultProps/defaultStyles/defaultPreChatSurveyPaneMultilineTextInputStyles.js +10 -0
  25. package/lib/cjs/components/prechatsurveypane/common/defaultProps/defaultStyles/defaultPreChatSurveyPaneStyles.js +7 -1
  26. package/lib/cjs/components/prechatsurveypane/common/defaultProps/defaultStyles/defaultPreChatSurveyPaneTextInputStyles.js +10 -0
  27. package/lib/cjs/components/prechatsurveypane/interfaces/IPreChatSurveyPaneElementStyles.js +1 -0
  28. package/lib/cjs/components/proactivechatpane/ProactiveChatPane.js +36 -35
  29. package/lib/cjs/components/proactivechatpane/common/default/defaultProps/defaultProactiveChatPaneControlProps.js +5 -1
  30. package/lib/cjs/components/proactivechatpane/common/default/defaultStyles/defaultProactiveChatPaneCloseButtonStyles.js +2 -13
  31. package/lib/cjs/components/proactivechatpane/common/presetOne/presetOneProps/presetOneProactiveChatPaneControlProps.js +5 -1
  32. package/lib/cjs/components/proactivechatpane/common/presetThree/presetThreeProps/presetThreeProactiveChatPaneControlProps.js +5 -1
  33. package/lib/cjs/index.js +6 -0
  34. package/lib/cjs/services/BroadcastService.js +36 -8
  35. package/lib/esm/common/Constants.js +1 -4
  36. package/lib/esm/components/callingcontainer/subcomponents/CurrentCall/CurrentCall.js +1 -1
  37. package/lib/esm/components/callingcontainer/subcomponents/IncomingCall/IncomingCall.js +15 -2
  38. package/lib/esm/components/chatbutton/ChatButton.js +22 -21
  39. package/lib/esm/components/chatbutton/common/defaultProps/defaultChatButtonControlProps.js +2 -1
  40. package/lib/esm/components/common/commandbutton/CommandButton.js +30 -2
  41. package/lib/esm/components/{header → common}/subcomponents/CloseButton.js +4 -3
  42. package/lib/esm/components/confirmationpane/ConfirmationPane.js +8 -1
  43. package/lib/esm/components/confirmationpane/common/defaultStyles/defaultConfirmationPaneButtonGroupStyles.js +5 -1
  44. package/lib/esm/components/confirmationpane/common/defaultStyles/defaultConfirmationPaneGeneralStyles.js +7 -4
  45. package/lib/esm/components/footer/Footer.js +2 -2
  46. package/lib/esm/components/footer/common/defaultProps/defaultFooterControlProps.js +1 -0
  47. package/lib/esm/components/footer/common/defaultStyles/defaultFooterStyleProps.js +12 -6
  48. package/lib/esm/components/footer/subcomponents/AudioNotificationButton.js +28 -4
  49. package/lib/esm/components/header/Header.js +2 -2
  50. package/lib/esm/components/inputvalidationpane/InputValidationPane.js +29 -29
  51. package/lib/esm/components/inputvalidationpane/common/default/defaultStyles/defaultInputValidationPaneCancelButtonStyles.js +2 -1
  52. package/lib/esm/components/inputvalidationpane/common/default/defaultStyles/defaultInputValidationPaneInvalidInputErrorMessageStyles.js +1 -1
  53. package/lib/esm/components/inputvalidationpane/common/default/defaultStyles/defaultInputValidationPaneSendButtonStyles.js +2 -1
  54. package/lib/esm/components/loadingpane/common/defaultProps/defaultStyles/defaultLoadingPaneIconStyles.js +1 -1
  55. package/lib/esm/components/postchatsurveypane/PostChatSurveyPane.js +2 -1
  56. package/lib/esm/components/prechatsurveypane/PreChatSurveyPane.js +21 -8
  57. package/lib/esm/components/prechatsurveypane/common/defaultProps/defaultStyles/defaultPreChatSurveyPaneButtonStyles.js +3 -1
  58. package/lib/esm/components/prechatsurveypane/common/defaultProps/defaultStyles/defaultPreChatSurveyPaneMultilineTextInputStyles.js +3 -0
  59. package/lib/esm/components/prechatsurveypane/common/defaultProps/defaultStyles/defaultPreChatSurveyPaneStyles.js +5 -1
  60. package/lib/esm/components/prechatsurveypane/common/defaultProps/defaultStyles/defaultPreChatSurveyPaneTextInputStyles.js +3 -0
  61. package/lib/esm/components/prechatsurveypane/interfaces/IPreChatSurveyPaneElementStyles.js +1 -0
  62. package/lib/esm/components/proactivechatpane/ProactiveChatPane.js +33 -34
  63. package/lib/esm/components/proactivechatpane/common/default/defaultProps/defaultProactiveChatPaneControlProps.js +5 -1
  64. package/lib/esm/components/proactivechatpane/common/default/defaultStyles/defaultProactiveChatPaneCloseButtonStyles.js +2 -11
  65. package/lib/esm/components/proactivechatpane/common/presetOne/presetOneProps/presetOneProactiveChatPaneControlProps.js +5 -1
  66. package/lib/esm/components/proactivechatpane/common/presetThree/presetThreeProps/presetThreeProactiveChatPaneControlProps.js +5 -1
  67. package/lib/esm/index.js +1 -0
  68. package/lib/esm/services/BroadcastService.js +34 -8
  69. package/lib/types/common/Constants.d.ts +1 -2
  70. package/lib/types/components/chatbutton/interfaces/IChatButtonControlProps.d.ts +1 -0
  71. package/lib/types/components/common/interfaces/ICommandButtonControlProps.d.ts +1 -0
  72. package/lib/types/components/common/interfaces/ICommandButtonProps.d.ts +1 -0
  73. package/lib/types/components/{header → common}/subcomponents/CloseButton.d.ts +1 -1
  74. package/lib/types/components/prechatsurveypane/common/defaultProps/defaultStyles/defaultPreChatSurveyPaneMultilineTextInputStyles.d.ts +2 -0
  75. package/lib/types/components/prechatsurveypane/common/defaultProps/defaultStyles/defaultPreChatSurveyPaneTextInputStyles.d.ts +2 -0
  76. package/lib/types/components/prechatsurveypane/interfaces/IPreChatSurveyPaneButtonStyles.d.ts +2 -0
  77. package/lib/types/components/prechatsurveypane/interfaces/IPreChatSurveyPaneElementStyles.d.ts +5 -0
  78. package/lib/types/components/prechatsurveypane/interfaces/IPreChatSurveyPaneStyleProps.d.ts +5 -0
  79. package/lib/types/components/proactivechatpane/interfaces/IProactiveChatPaneControlProps.d.ts +2 -1
  80. package/lib/types/index.d.ts +1 -0
  81. package/lib/types/services/BroadcastService.d.ts +1 -0
  82. package/package.json +2 -2
@@ -1,5 +1,7 @@
1
1
  export const defaultPreChatSurveyPaneButtonStyles = {
2
2
  backgroundColor: "rgb(49, 95, 162)",
3
3
  color: "#FFFFFF",
4
- fontFamily: "Segoe UI, Arial, sans-serif"
4
+ fontFamily: "Segoe UI, Arial, sans-serif",
5
+ fontSize: "15px",
6
+ height: "48px"
5
7
  };
@@ -0,0 +1,3 @@
1
+ export const defaultPreChatSurveyPaneMultilineTextInputStyles = {
2
+ height: "52px"
3
+ };
@@ -1,8 +1,12 @@
1
1
  import { defaultPreChatSurveyPaneACContainerStyles } from "./defaultPreChatSurveyPaneACContainerStyles";
2
2
  import { defaultPreChatSurveyPaneButtonStyles } from "./defaultPreChatSurveyPaneButtonStyles";
3
3
  import { defaultPreChatSurveyPaneGeneralStyles } from "./defaultPreChatSurveyPaneGeneralStyles";
4
+ import { defaultPreChatSurveyPaneMultilineTextInputStyles } from "./defaultPreChatSurveyPaneMultilineTextInputStyles";
5
+ import { defaultPreChatSurveyPaneTextInputStyles } from "./defaultPreChatSurveyPaneTextInputStyles";
4
6
  export const defaultPreChatSurveyPaneStyles = {
5
7
  generalStyleProps: defaultPreChatSurveyPaneGeneralStyles,
6
8
  customButtonStyleProps: defaultPreChatSurveyPaneButtonStyles,
7
- adaptiveCardContainerStyleProps: defaultPreChatSurveyPaneACContainerStyles
9
+ adaptiveCardContainerStyleProps: defaultPreChatSurveyPaneACContainerStyles,
10
+ customTextInputStyleProps: defaultPreChatSurveyPaneTextInputStyles,
11
+ customMultilineTextInputStyleProps: defaultPreChatSurveyPaneMultilineTextInputStyles
8
12
  };
@@ -0,0 +1,3 @@
1
+ export const defaultPreChatSurveyPaneTextInputStyles = {
2
+ height: "20px"
3
+ };
@@ -1,13 +1,14 @@
1
- import { IconButton, Label, Stack } from "@fluentui/react";
1
+ 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); }
2
+
3
+ import { Label, Stack } from "@fluentui/react";
2
4
  import React, { useCallback } from "react";
3
5
  import { BroadcastService } from "../../services/BroadcastService";
4
6
  import { DefaultButton } from "@fluentui/react/lib/Button";
7
+ import CloseButton from "../common/subcomponents/CloseButton";
5
8
  import { KeyCodes } from "../../common/Constants";
6
9
  import { decodeComponentString } from "../../common/decodeComponentString";
7
10
  import { defaultProactiveChatPaneBodyContainerStyles } from "./common/default/defaultStyles/defaultProactiveChatPaneBodyContainerStyles";
8
11
  import { defaultProactiveChatPaneBodyTitleStyles } from "./common/default/defaultStyles/defaultProactiveChatPaneBodyTitleStyles";
9
- import { defaultProactiveChatPaneCloseButtonHoveredStyles } from "./common/default/defaultStyles/defaultProactiveChatPaneCloseButtonHoveredStyles";
10
- import { defaultProactiveChatPaneCloseButtonStyles } from "./common/default/defaultStyles/defaultProactiveChatPaneCloseButtonStyles";
11
12
  import { defaultProactiveChatPaneControlProps } from "./common/default/defaultProps/defaultProactiveChatPaneControlProps";
12
13
  import { defaultProactiveChatPaneGeneralStyles } from "./common/default/defaultStyles/defaultProactiveChatPaneGeneralStyles";
13
14
  import { defaultProactiveChatPaneHeaderContainerStyles } from "./common/default/defaultStyles/defaultProactiveChatPaneHeaderContainerStyles";
@@ -17,9 +18,10 @@ import { defaultProactiveChatPaneSubtitleStyles } from "./common/default/default
17
18
  import { defaultProactiveChatPaneTextContainerStyles } from "./common/default/defaultStyles/defaultProactiveChatPaneTextContainerStyles";
18
19
  import { defaultProactiveChatPaneTitleStyles } from "./common/default/defaultStyles/defaultProactiveChatPaneTitleStyles";
19
20
  import { generateEventName } from "../../common/utils";
21
+ import { defaultProactiveChatPaneProps } from "./common/default/defaultProps/defaultProactiveChatPaneProps";
20
22
 
21
23
  function ProactiveChatPane(props) {
22
- var _props$controlProps, _props$styleProps, _props$styleProps2, _props$styleProps3, _props$styleProps4, _props$styleProps5, _props$styleProps6, _props$styleProps7, _props$styleProps8, _props$styleProps9, _props$styleProps10, _props$styleProps11, _props$styleProps12, _props$styleProps13, _props$controlProps6, _props$styleProps14, _props$styleProps14$c, _props$controlProps7, _props$controlProps8, _props$styleProps15, _props$styleProps15$c, _props$styleProps16, _props$styleProps16$c, _props$controlProps9, _props$componentOverr, _props$styleProps17, _props$styleProps17$c, _props$controlProps10, _props$controlProps11, _props$componentOverr2, _props$styleProps18, _props$styleProps18$c, _props$controlProps12, _props$controlProps13, _props$componentOverr3, _props$styleProps19, _props$styleProps19$c, _props$controlProps14, _props$controlProps15, _props$styleProps20, _props$styleProps20$c, _props$controlProps16, _props$componentOverr4, _props$styleProps21, _props$styleProps21$c, _props$controlProps17, _props$controlProps18, _props$componentOverr5, _props$styleProps22, _props$styleProps22$c, _props$controlProps19, _props$controlProps20;
24
+ var _props$controlProps, _defaultProactiveChat, _props$controlProps6, _props$styleProps, _props$styleProps2, _props$styleProps3, _props$styleProps4, _props$styleProps5, _defaultProactiveChat2, _props$styleProps6, _defaultProactiveChat3, _props$styleProps7, _props$styleProps8, _props$styleProps9, _props$styleProps10, _props$styleProps11, _props$styleProps12, _props$controlProps7, _props$styleProps13, _props$styleProps13$c, _props$controlProps8, _props$controlProps9, _props$styleProps14, _props$styleProps14$c, _props$styleProps15, _props$styleProps15$c, _props$controlProps10, _props$componentOverr, _props$styleProps16, _props$styleProps16$c, _props$controlProps11, _props$controlProps12, _props$componentOverr2, _props$styleProps17, _props$styleProps17$c, _props$controlProps13, _props$controlProps14, _props$componentOverr3, _props$styleProps18, _props$styleProps18$c, _props$controlProps15, _props$styleProps19, _props$styleProps19$c, _props$controlProps16, _props$componentOverr4, _props$styleProps20, _props$styleProps20$c, _props$controlProps17, _props$controlProps18, _props$componentOverr5, _props$styleProps21, _props$styleProps21$c, _props$controlProps19, _props$controlProps20;
23
25
 
24
26
  const elementId = ((_props$controlProps = props.controlProps) === null || _props$controlProps === void 0 ? void 0 : _props$controlProps.id) ?? defaultProactiveChatPaneControlProps.id;
25
27
 
@@ -68,6 +70,7 @@ function ProactiveChatPane(props) {
68
70
  (_props$controlProps5 = props.controlProps) === null || _props$controlProps5 === void 0 ? void 0 : _props$controlProps5.onStart();
69
71
  }
70
72
  }, []);
73
+ const closeButtonProps = Object.assign({}, (_defaultProactiveChat = defaultProactiveChatPaneProps.controlProps) === null || _defaultProactiveChat === void 0 ? void 0 : _defaultProactiveChat.closeButtonProps, (_props$controlProps6 = props.controlProps) === null || _props$controlProps6 === void 0 ? void 0 : _props$controlProps6.closeButtonProps);
71
74
  const containerStyles = {
72
75
  root: Object.assign({}, defaultProactiveChatPaneGeneralStyles, (_props$styleProps = props.styleProps) === null || _props$styleProps === void 0 ? void 0 : _props$styleProps.generalStyleProps)
73
76
  };
@@ -83,71 +86,67 @@ function ProactiveChatPane(props) {
83
86
  const subtitleStyles = {
84
87
  root: Object.assign({}, defaultProactiveChatPaneSubtitleStyles, (_props$styleProps5 = props.styleProps) === null || _props$styleProps5 === void 0 ? void 0 : _props$styleProps5.subtitleStyleProps)
85
88
  };
86
- const closeButtonStyles = {
87
- root: Object.assign({}, defaultProactiveChatPaneCloseButtonStyles, (_props$styleProps6 = props.styleProps) === null || _props$styleProps6 === void 0 ? void 0 : _props$styleProps6.closeButtonStyleProps),
88
- rootHovered: Object.assign({}, defaultProactiveChatPaneCloseButtonHoveredStyles, (_props$styleProps7 = props.styleProps) === null || _props$styleProps7 === void 0 ? void 0 : _props$styleProps7.closeButtonHoveredStyleProps),
89
- rootPressed: Object.assign({}, defaultProactiveChatPaneCloseButtonHoveredStyles, (_props$styleProps8 = props.styleProps) === null || _props$styleProps8 === void 0 ? void 0 : _props$styleProps8.closeButtonHoveredStyleProps)
90
- };
89
+ const closeButtonStyles = Object.assign({}, (_defaultProactiveChat2 = defaultProactiveChatPaneProps.styleProps) === null || _defaultProactiveChat2 === void 0 ? void 0 : _defaultProactiveChat2.closeButtonStyleProps, (_props$styleProps6 = props.styleProps) === null || _props$styleProps6 === void 0 ? void 0 : _props$styleProps6.closeButtonStyleProps);
90
+ const closeButtonHoverStyles = Object.assign({}, (_defaultProactiveChat3 = defaultProactiveChatPaneProps.styleProps) === null || _defaultProactiveChat3 === void 0 ? void 0 : _defaultProactiveChat3.closeButtonHoveredStyleProps, (_props$styleProps7 = props.styleProps) === null || _props$styleProps7 === void 0 ? void 0 : _props$styleProps7.closeButtonHoveredStyleProps);
91
91
  const bodyContainerStyles = {
92
- root: Object.assign({}, defaultProactiveChatPaneBodyContainerStyles, (_props$styleProps9 = props.styleProps) === null || _props$styleProps9 === void 0 ? void 0 : _props$styleProps9.bodyContainerStyleProps)
92
+ root: Object.assign({}, defaultProactiveChatPaneBodyContainerStyles, (_props$styleProps8 = props.styleProps) === null || _props$styleProps8 === void 0 ? void 0 : _props$styleProps8.bodyContainerStyleProps)
93
93
  };
94
94
  const bodyTitleStyles = {
95
- root: Object.assign({}, defaultProactiveChatPaneBodyTitleStyles, (_props$styleProps10 = props.styleProps) === null || _props$styleProps10 === void 0 ? void 0 : _props$styleProps10.bodyTitleStyleProps)
95
+ root: Object.assign({}, defaultProactiveChatPaneBodyTitleStyles, (_props$styleProps9 = props.styleProps) === null || _props$styleProps9 === void 0 ? void 0 : _props$styleProps9.bodyTitleStyleProps)
96
96
  };
97
97
  const startButtonStyles = {
98
- root: Object.assign({}, defaultProactiveChatPaneStartButtonStyles, (_props$styleProps11 = props.styleProps) === null || _props$styleProps11 === void 0 ? void 0 : _props$styleProps11.startButtonStyleProps),
99
- rootHovered: Object.assign({}, defaultProactiveChatPaneStartButtonHoveredStyles, (_props$styleProps12 = props.styleProps) === null || _props$styleProps12 === void 0 ? void 0 : _props$styleProps12.startButtonHoveredStyleProps),
100
- rootPressed: Object.assign({}, defaultProactiveChatPaneStartButtonHoveredStyles, (_props$styleProps13 = props.styleProps) === null || _props$styleProps13 === void 0 ? void 0 : _props$styleProps13.startButtonHoveredStyleProps)
98
+ root: Object.assign({}, defaultProactiveChatPaneStartButtonStyles, (_props$styleProps10 = props.styleProps) === null || _props$styleProps10 === void 0 ? void 0 : _props$styleProps10.startButtonStyleProps),
99
+ rootHovered: Object.assign({}, defaultProactiveChatPaneStartButtonHoveredStyles, (_props$styleProps11 = props.styleProps) === null || _props$styleProps11 === void 0 ? void 0 : _props$styleProps11.startButtonHoveredStyleProps),
100
+ rootPressed: Object.assign({}, defaultProactiveChatPaneStartButtonHoveredStyles, (_props$styleProps12 = props.styleProps) === null || _props$styleProps12 === void 0 ? void 0 : _props$styleProps12.startButtonHoveredStyleProps)
101
101
  };
102
- return /*#__PURE__*/React.createElement(React.Fragment, null, !((_props$controlProps6 = props.controlProps) !== null && _props$controlProps6 !== void 0 && _props$controlProps6.hideProactiveChatPane) && /*#__PURE__*/React.createElement(Stack, {
103
- className: (_props$styleProps14 = props.styleProps) === null || _props$styleProps14 === void 0 ? void 0 : (_props$styleProps14$c = _props$styleProps14.classNames) === null || _props$styleProps14$c === void 0 ? void 0 : _props$styleProps14$c.containerClassName,
102
+ return /*#__PURE__*/React.createElement(React.Fragment, null, !((_props$controlProps7 = props.controlProps) !== null && _props$controlProps7 !== void 0 && _props$controlProps7.hideProactiveChatPane) && /*#__PURE__*/React.createElement(Stack, {
103
+ className: (_props$styleProps13 = props.styleProps) === null || _props$styleProps13 === void 0 ? void 0 : (_props$styleProps13$c = _props$styleProps13.classNames) === null || _props$styleProps13$c === void 0 ? void 0 : _props$styleProps13$c.containerClassName,
104
104
  id: elementId,
105
105
  tabIndex: -1,
106
106
  onKeyDown: handleEscKeyDown,
107
- dir: ((_props$controlProps7 = props.controlProps) === null || _props$controlProps7 === void 0 ? void 0 : _props$controlProps7.dir) || defaultProactiveChatPaneControlProps.dir,
108
- "aria-label": ((_props$controlProps8 = props.controlProps) === null || _props$controlProps8 === void 0 ? void 0 : _props$controlProps8.proactiveChatPaneAriaLabel) || defaultProactiveChatPaneControlProps.proactiveChatPaneAriaLabel,
107
+ dir: ((_props$controlProps8 = props.controlProps) === null || _props$controlProps8 === void 0 ? void 0 : _props$controlProps8.dir) || defaultProactiveChatPaneControlProps.dir,
108
+ "aria-label": ((_props$controlProps9 = props.controlProps) === null || _props$controlProps9 === void 0 ? void 0 : _props$controlProps9.proactiveChatPaneAriaLabel) || defaultProactiveChatPaneControlProps.proactiveChatPaneAriaLabel,
109
109
  styles: containerStyles
110
110
  }, /*#__PURE__*/React.createElement(Stack, {
111
111
  horizontal: true,
112
- className: (_props$styleProps15 = props.styleProps) === null || _props$styleProps15 === void 0 ? void 0 : (_props$styleProps15$c = _props$styleProps15.classNames) === null || _props$styleProps15$c === void 0 ? void 0 : _props$styleProps15$c.headerContainerClassName,
112
+ className: (_props$styleProps14 = props.styleProps) === null || _props$styleProps14 === void 0 ? void 0 : (_props$styleProps14$c = _props$styleProps14.classNames) === null || _props$styleProps14$c === void 0 ? void 0 : _props$styleProps14$c.headerContainerClassName,
113
113
  styles: headerContainerStyles,
114
114
  tabIndex: -1,
115
115
  id: elementId + "-headercontainer"
116
116
  }, /*#__PURE__*/React.createElement(Stack, {
117
- className: (_props$styleProps16 = props.styleProps) === null || _props$styleProps16 === void 0 ? void 0 : (_props$styleProps16$c = _props$styleProps16.classNames) === null || _props$styleProps16$c === void 0 ? void 0 : _props$styleProps16$c.textContainerClassName,
117
+ className: (_props$styleProps15 = props.styleProps) === null || _props$styleProps15 === void 0 ? void 0 : (_props$styleProps15$c = _props$styleProps15.classNames) === null || _props$styleProps15$c === void 0 ? void 0 : _props$styleProps15$c.textContainerClassName,
118
118
  styles: textContainerStyles,
119
119
  tabIndex: -1,
120
120
  id: elementId + "-textcontainer"
121
- }, !((_props$controlProps9 = props.controlProps) !== null && _props$controlProps9 !== void 0 && _props$controlProps9.hideTitle) && (decodeComponentString((_props$componentOverr = props.componentOverrides) === null || _props$componentOverr === void 0 ? void 0 : _props$componentOverr.title) || /*#__PURE__*/React.createElement(Label, {
122
- className: (_props$styleProps17 = props.styleProps) === null || _props$styleProps17 === void 0 ? void 0 : (_props$styleProps17$c = _props$styleProps17.classNames) === null || _props$styleProps17$c === void 0 ? void 0 : _props$styleProps17$c.titleClassName,
121
+ }, !((_props$controlProps10 = props.controlProps) !== null && _props$controlProps10 !== void 0 && _props$controlProps10.hideTitle) && (decodeComponentString((_props$componentOverr = props.componentOverrides) === null || _props$componentOverr === void 0 ? void 0 : _props$componentOverr.title) || /*#__PURE__*/React.createElement(Label, {
122
+ className: (_props$styleProps16 = props.styleProps) === null || _props$styleProps16 === void 0 ? void 0 : (_props$styleProps16$c = _props$styleProps16.classNames) === null || _props$styleProps16$c === void 0 ? void 0 : _props$styleProps16$c.titleClassName,
123
123
  styles: titleStyles,
124
124
  tabIndex: -1,
125
125
  id: elementId + "-title"
126
- }, ((_props$controlProps10 = props.controlProps) === null || _props$controlProps10 === void 0 ? void 0 : _props$controlProps10.titleText) || defaultProactiveChatPaneControlProps.titleText)), !((_props$controlProps11 = props.controlProps) !== null && _props$controlProps11 !== void 0 && _props$controlProps11.hideSubtitle) && (decodeComponentString((_props$componentOverr2 = props.componentOverrides) === null || _props$componentOverr2 === void 0 ? void 0 : _props$componentOverr2.subtitle) || /*#__PURE__*/React.createElement(Label, {
127
- className: (_props$styleProps18 = props.styleProps) === null || _props$styleProps18 === void 0 ? void 0 : (_props$styleProps18$c = _props$styleProps18.classNames) === null || _props$styleProps18$c === void 0 ? void 0 : _props$styleProps18$c.subtitleClassName,
126
+ }, ((_props$controlProps11 = props.controlProps) === null || _props$controlProps11 === void 0 ? void 0 : _props$controlProps11.titleText) || defaultProactiveChatPaneControlProps.titleText)), !((_props$controlProps12 = props.controlProps) !== null && _props$controlProps12 !== void 0 && _props$controlProps12.hideSubtitle) && (decodeComponentString((_props$componentOverr2 = props.componentOverrides) === null || _props$componentOverr2 === void 0 ? void 0 : _props$componentOverr2.subtitle) || /*#__PURE__*/React.createElement(Label, {
127
+ className: (_props$styleProps17 = props.styleProps) === null || _props$styleProps17 === void 0 ? void 0 : (_props$styleProps17$c = _props$styleProps17.classNames) === null || _props$styleProps17$c === void 0 ? void 0 : _props$styleProps17$c.subtitleClassName,
128
128
  styles: subtitleStyles,
129
129
  tabIndex: -1,
130
130
  id: elementId + "-subtitle"
131
- }, ((_props$controlProps12 = props.controlProps) === null || _props$controlProps12 === void 0 ? void 0 : _props$controlProps12.subtitleText) || defaultProactiveChatPaneControlProps.subtitleText))), !((_props$controlProps13 = props.controlProps) !== null && _props$controlProps13 !== void 0 && _props$controlProps13.hideCloseButton) && (decodeComponentString((_props$componentOverr3 = props.componentOverrides) === null || _props$componentOverr3 === void 0 ? void 0 : _props$componentOverr3.closeButton) || /*#__PURE__*/React.createElement(IconButton, {
132
- className: (_props$styleProps19 = props.styleProps) === null || _props$styleProps19 === void 0 ? void 0 : (_props$styleProps19$c = _props$styleProps19.classNames) === null || _props$styleProps19$c === void 0 ? void 0 : _props$styleProps19$c.closeButtonClassName,
133
- styles: closeButtonStyles,
134
- tabIndex: 0,
131
+ }, ((_props$controlProps13 = props.controlProps) === null || _props$controlProps13 === void 0 ? void 0 : _props$controlProps13.subtitleText) || defaultProactiveChatPaneControlProps.subtitleText))), !((_props$controlProps14 = props.controlProps) !== null && _props$controlProps14 !== void 0 && _props$controlProps14.hideCloseButton) && (decodeComponentString((_props$componentOverr3 = props.componentOverrides) === null || _props$componentOverr3 === void 0 ? void 0 : _props$componentOverr3.closeButton) || /*#__PURE__*/React.createElement(CloseButton, _extends({}, closeButtonProps, {
132
+ className: (_props$styleProps18 = props.styleProps) === null || _props$styleProps18 === void 0 ? void 0 : (_props$styleProps18$c = _props$styleProps18.classNames) === null || _props$styleProps18$c === void 0 ? void 0 : _props$styleProps18$c.closeButtonClassName,
135
133
  onClick: handleCloseClick,
136
- id: elementId + "-closebutton",
137
- "aria-label": ((_props$controlProps14 = props.controlProps) === null || _props$controlProps14 === void 0 ? void 0 : _props$controlProps14.closeButtonAriaLabel) || defaultProactiveChatPaneControlProps.closeButtonAriaLabel
138
- }))), /*#__PURE__*/React.createElement(Stack, {
134
+ styles: closeButtonStyles,
135
+ hoverStyles: closeButtonHoverStyles,
136
+ id: elementId + "-closebutton"
137
+ })))), /*#__PURE__*/React.createElement(Stack, {
139
138
  horizontal: ((_props$controlProps15 = props.controlProps) === null || _props$controlProps15 === void 0 ? void 0 : _props$controlProps15.isBodyContainerHorizantal) || defaultProactiveChatPaneControlProps.isBodyContainerHorizantal,
140
- className: (_props$styleProps20 = props.styleProps) === null || _props$styleProps20 === void 0 ? void 0 : (_props$styleProps20$c = _props$styleProps20.classNames) === null || _props$styleProps20$c === void 0 ? void 0 : _props$styleProps20$c.bodyContainerClassName,
139
+ className: (_props$styleProps19 = props.styleProps) === null || _props$styleProps19 === void 0 ? void 0 : (_props$styleProps19$c = _props$styleProps19.classNames) === null || _props$styleProps19$c === void 0 ? void 0 : _props$styleProps19$c.bodyContainerClassName,
141
140
  styles: bodyContainerStyles,
142
141
  tabIndex: -1,
143
142
  id: elementId + "-bodycontainer"
144
143
  }, !((_props$controlProps16 = props.controlProps) !== null && _props$controlProps16 !== void 0 && _props$controlProps16.hideBodyTitle) && (decodeComponentString((_props$componentOverr4 = props.componentOverrides) === null || _props$componentOverr4 === void 0 ? void 0 : _props$componentOverr4.bodyTitle) || /*#__PURE__*/React.createElement(Label, {
145
- className: (_props$styleProps21 = props.styleProps) === null || _props$styleProps21 === void 0 ? void 0 : (_props$styleProps21$c = _props$styleProps21.classNames) === null || _props$styleProps21$c === void 0 ? void 0 : _props$styleProps21$c.bodyTitleClassName,
144
+ className: (_props$styleProps20 = props.styleProps) === null || _props$styleProps20 === void 0 ? void 0 : (_props$styleProps20$c = _props$styleProps20.classNames) === null || _props$styleProps20$c === void 0 ? void 0 : _props$styleProps20$c.bodyTitleClassName,
146
145
  styles: bodyTitleStyles,
147
146
  tabIndex: -1,
148
147
  id: elementId + "-bodytitle"
149
148
  }, ((_props$controlProps17 = props.controlProps) === null || _props$controlProps17 === void 0 ? void 0 : _props$controlProps17.bodyTitleText) || defaultProactiveChatPaneControlProps.bodyTitleText)), !((_props$controlProps18 = props.controlProps) !== null && _props$controlProps18 !== void 0 && _props$controlProps18.hideStartButton) && (decodeComponentString((_props$componentOverr5 = props.componentOverrides) === null || _props$componentOverr5 === void 0 ? void 0 : _props$componentOverr5.startButton) || /*#__PURE__*/React.createElement(DefaultButton, {
150
- className: (_props$styleProps22 = props.styleProps) === null || _props$styleProps22 === void 0 ? void 0 : (_props$styleProps22$c = _props$styleProps22.classNames) === null || _props$styleProps22$c === void 0 ? void 0 : _props$styleProps22$c.startButtonClassName,
149
+ className: (_props$styleProps21 = props.styleProps) === null || _props$styleProps21 === void 0 ? void 0 : (_props$styleProps21$c = _props$styleProps21.classNames) === null || _props$styleProps21$c === void 0 ? void 0 : _props$styleProps21$c.startButtonClassName,
151
150
  styles: startButtonStyles,
152
151
  tabIndex: 0,
153
152
  text: ((_props$controlProps19 = props.controlProps) === null || _props$controlProps19 === void 0 ? void 0 : _props$controlProps19.startButtonText) || defaultProactiveChatPaneControlProps.startButtonText,
@@ -8,7 +8,11 @@ export const defaultProactiveChatPaneControlProps = {
8
8
  hideSubtitle: false,
9
9
  subtitleText: "Live chat support!",
10
10
  hideCloseButton: false,
11
- closeButtonAriaLabel: "Close Button",
11
+ closeButtonProps: {
12
+ type: "icon",
13
+ iconName: "ChromeClose",
14
+ hideButtonTitle: true
15
+ },
12
16
  isBodyContainerHorizantal: false,
13
17
  hideBodyTitle: false,
14
18
  bodyTitleText: "Hi! Have any questions? I am here to help.",
@@ -1,13 +1,4 @@
1
- import { CloseChatButtonIconBase64 } from "../../../../../assets/Icons";
2
1
  export const defaultProactiveChatPaneCloseButtonStyles = {
3
- backgroundImage: `url(${CloseChatButtonIconBase64})`,
4
- backgroundPosition: "center",
5
- backgroundRepeat: "no-repeat",
6
- color: "#605e5c",
7
- cursor: "pointer",
8
- height: "14px",
9
- lineHeight: "14px",
10
- textAlign: "center",
11
- width: "14px",
12
- zIndex: "inherit"
2
+ color: "white",
3
+ fontSize: "12px"
13
4
  };
@@ -8,7 +8,11 @@ export const presetOneProactiveChatPaneControlProps = {
8
8
  hideSubtitle: false,
9
9
  subtitleText: "Live chat support!",
10
10
  hideCloseButton: false,
11
- closeButtonAriaLabel: "Close Button",
11
+ closeButtonProps: {
12
+ type: "icon",
13
+ iconName: "ChromeClose",
14
+ hideButtonTitle: true
15
+ },
12
16
  isBodyContainerHorizantal: true,
13
17
  hideBodyTitle: false,
14
18
  bodyTitleText: "Hi! Have any questions? I am here to help.",
@@ -8,7 +8,11 @@ export const presetThreeProactiveChatPaneControlProps = {
8
8
  hideSubtitle: false,
9
9
  subtitleText: "Live chat support!",
10
10
  hideCloseButton: false,
11
- closeButtonAriaLabel: "Close Button",
11
+ closeButtonProps: {
12
+ type: "icon",
13
+ iconName: "ChromeClose",
14
+ hideButtonTitle: true
15
+ },
12
16
  isBodyContainerHorizantal: false,
13
17
  hideBodyTitle: false,
14
18
  bodyTitleText: "Hi! Have any questions? I am here to help.",
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",
@@ -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;
@@ -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.bff9c0d",
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",