@microsoft/omnichannel-chat-widget 0.1.0-main.8b6c0d8 → 0.1.0-main.8cded52

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 (205) hide show
  1. package/README.md +259 -0
  2. package/lib/cjs/assets/Audios.js +8 -0
  3. package/lib/cjs/assets/Icons.js +28 -0
  4. package/lib/cjs/common/Constants.js +54 -4
  5. package/lib/cjs/common/contextDataStore/DataStoreManager.js +14 -0
  6. package/lib/cjs/{assets/assets.d.js → common/interfaces/IContextDataStore.js} +0 -0
  7. package/lib/cjs/common/telemetry/TelemetryConstants.js +61 -4
  8. package/lib/cjs/common/telemetry/TelemetryHelper.js +22 -4
  9. package/lib/cjs/common/telemetry/TelemetryManager.js +28 -9
  10. package/lib/cjs/common/telemetry/defaultConfigs/defaultAriaConfig.js +3 -3
  11. package/lib/cjs/common/telemetry/defaultConfigs/defaultTelemetryConfiguration.js +4 -1
  12. package/lib/cjs/common/telemetry/loggers/ariaTelemetryLogger.js +48 -15
  13. package/lib/cjs/common/telemetry/loggers/consoleLogger.js +9 -5
  14. package/lib/cjs/common/utils.js +89 -2
  15. package/lib/cjs/components/callingcontainerstateful/CallingContainerStateful.js +14 -0
  16. package/lib/cjs/components/chatbuttonstateful/ChatButtonStateful.js +28 -5
  17. package/lib/cjs/components/confirmationpanestateful/ConfirmationPaneStateful.js +7 -54
  18. package/lib/cjs/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.js +2 -2
  19. package/lib/cjs/components/footerstateful/FooterStateful.js +4 -5
  20. package/lib/cjs/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.js +11 -2
  21. package/lib/cjs/components/headerstateful/HeaderStateful.js +14 -10
  22. package/lib/cjs/components/livechatwidget/common/ActivityStreamHandler.js +44 -0
  23. package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.js +23 -0
  24. package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/IActivitySubscriber.js +1 -0
  25. package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.js +39 -0
  26. package/lib/cjs/components/livechatwidget/common/ChatAdapterShim.js +70 -0
  27. package/lib/cjs/components/livechatwidget/common/Deferred.js +42 -0
  28. package/lib/cjs/components/livechatwidget/common/createAdapter.js +13 -1
  29. package/lib/cjs/components/livechatwidget/common/createMarkdown.js +32 -32
  30. package/lib/cjs/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +50 -48
  31. package/lib/cjs/components/livechatwidget/common/disposeTelemetryLoggers.js +14 -0
  32. package/lib/cjs/components/livechatwidget/common/endChat.js +142 -43
  33. package/lib/cjs/components/livechatwidget/common/initCallingSdk.js +5 -0
  34. package/lib/cjs/components/livechatwidget/common/initWebChatComposer.js +51 -10
  35. package/lib/cjs/components/livechatwidget/common/reconnectChatHelper.js +115 -22
  36. package/lib/cjs/components/livechatwidget/common/registerTelemetryLoggers.js +11 -7
  37. package/lib/cjs/components/livechatwidget/common/setPostChatContextAndLoadSurvey.js +22 -24
  38. package/lib/cjs/components/livechatwidget/common/shareObservable.js +45 -0
  39. package/lib/cjs/components/livechatwidget/common/startChat.js +225 -40
  40. package/lib/cjs/components/livechatwidget/common/startProactiveChat.js +3 -3
  41. package/lib/cjs/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +296 -69
  42. package/lib/cjs/components/loadingpanestateful/LoadingPaneStateful.js +1 -1
  43. package/lib/cjs/components/ooohpanestateful/OOOHPaneStateful.js +8 -0
  44. package/lib/cjs/components/postchatloadingpanestateful/PostChatLoadingPaneStateful.js +8 -0
  45. package/lib/cjs/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +22 -10
  46. package/lib/cjs/components/proactivechatpanestateful/ProactiveChatPaneStateful.js +27 -5
  47. package/lib/cjs/components/proactivechatpanestateful/interfaces/IProactiveChatNotificationConfig.js +1 -0
  48. package/lib/cjs/components/webchatcontainerstateful/WebChatContainerStateful.js +80 -0
  49. package/lib/cjs/components/webchatcontainerstateful/common/mockchatsdk.js +6 -0
  50. package/lib/cjs/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.js +51 -73
  51. package/lib/cjs/components/webchatcontainerstateful/interfaces/IBotMagicCodeConfig.js +1 -0
  52. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.js +14 -0
  53. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.js +25 -48
  54. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware.js +3 -1
  55. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.js +52 -0
  56. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.js +98 -0
  57. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.js +117 -0
  58. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/conversationEndMiddleware.js +6 -6
  59. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.js +45 -0
  60. package/lib/cjs/contexts/common/ConversationState.js +4 -2
  61. package/lib/cjs/contexts/common/LiveChatWidgetActionType.js +14 -7
  62. package/lib/cjs/contexts/common/LiveChatWidgetContextInitialState.js +14 -5
  63. package/lib/cjs/contexts/createReducer.js +51 -10
  64. package/lib/cjs/controller/componentController.js +5 -5
  65. package/lib/cjs/plugins/newMessageEventHandler.js +99 -0
  66. package/lib/esm/assets/Audios.js +1 -0
  67. package/lib/esm/assets/Icons.js +11 -0
  68. package/lib/esm/common/Constants.js +50 -3
  69. package/lib/esm/common/contextDataStore/DataStoreManager.js +5 -0
  70. package/lib/esm/common/interfaces/IContextDataStore.js +1 -0
  71. package/lib/esm/common/telemetry/TelemetryConstants.js +57 -3
  72. package/lib/esm/common/telemetry/TelemetryHelper.js +22 -5
  73. package/lib/esm/common/telemetry/TelemetryManager.js +22 -9
  74. package/lib/esm/common/telemetry/defaultConfigs/defaultAriaConfig.js +3 -3
  75. package/lib/esm/common/telemetry/defaultConfigs/defaultTelemetryConfiguration.js +4 -1
  76. package/lib/esm/common/telemetry/loggers/ariaTelemetryLogger.js +50 -15
  77. package/lib/esm/common/telemetry/loggers/consoleLogger.js +9 -5
  78. package/lib/esm/common/utils.js +64 -1
  79. package/lib/esm/components/callingcontainerstateful/CallingContainerStateful.js +14 -0
  80. package/lib/esm/components/chatbuttonstateful/ChatButtonStateful.js +31 -8
  81. package/lib/esm/components/confirmationpanestateful/ConfirmationPaneStateful.js +7 -50
  82. package/lib/esm/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.js +2 -2
  83. package/lib/esm/components/footerstateful/FooterStateful.js +4 -5
  84. package/lib/esm/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.js +9 -3
  85. package/lib/esm/components/headerstateful/HeaderStateful.js +15 -11
  86. package/lib/esm/components/livechatwidget/common/ActivityStreamHandler.js +34 -0
  87. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.js +14 -0
  88. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/IActivitySubscriber.js +1 -0
  89. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.js +29 -0
  90. package/lib/esm/components/livechatwidget/common/ChatAdapterShim.js +59 -0
  91. package/lib/esm/components/livechatwidget/common/Deferred.js +33 -0
  92. package/lib/esm/components/livechatwidget/common/createAdapter.js +12 -2
  93. package/lib/esm/components/livechatwidget/common/createMarkdown.js +32 -31
  94. package/lib/esm/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +48 -49
  95. package/lib/esm/components/livechatwidget/common/disposeTelemetryLoggers.js +4 -0
  96. package/lib/esm/components/livechatwidget/common/endChat.js +139 -42
  97. package/lib/esm/components/livechatwidget/common/initCallingSdk.js +3 -0
  98. package/lib/esm/components/livechatwidget/common/initWebChatComposer.js +45 -11
  99. package/lib/esm/components/livechatwidget/common/reconnectChatHelper.js +104 -22
  100. package/lib/esm/components/livechatwidget/common/registerTelemetryLoggers.js +10 -3
  101. package/lib/esm/components/livechatwidget/common/setPostChatContextAndLoadSurvey.js +19 -22
  102. package/lib/esm/components/livechatwidget/common/shareObservable.js +38 -0
  103. package/lib/esm/components/livechatwidget/common/startChat.js +212 -37
  104. package/lib/esm/components/livechatwidget/common/startProactiveChat.js +5 -5
  105. package/lib/esm/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +280 -74
  106. package/lib/esm/components/loadingpanestateful/LoadingPaneStateful.js +1 -1
  107. package/lib/esm/components/ooohpanestateful/OOOHPaneStateful.js +6 -0
  108. package/lib/esm/components/postchatloadingpanestateful/PostChatLoadingPaneStateful.js +6 -0
  109. package/lib/esm/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +22 -10
  110. package/lib/esm/components/proactivechatpanestateful/ProactiveChatPaneStateful.js +26 -6
  111. package/lib/esm/components/proactivechatpanestateful/interfaces/IProactiveChatNotificationConfig.js +1 -0
  112. package/lib/esm/components/webchatcontainerstateful/WebChatContainerStateful.js +72 -0
  113. package/lib/esm/components/webchatcontainerstateful/common/mockchatsdk.js +6 -0
  114. package/lib/esm/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.js +2 -12
  115. package/lib/esm/components/webchatcontainerstateful/interfaces/IBotMagicCodeConfig.js +1 -0
  116. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.js +5 -0
  117. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.js +23 -46
  118. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware.js +2 -1
  119. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.js +41 -0
  120. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.js +94 -0
  121. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.js +107 -0
  122. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/conversationEndMiddleware.js +6 -6
  123. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.js +32 -0
  124. package/lib/esm/contexts/common/ConversationState.js +4 -2
  125. package/lib/esm/contexts/common/LiveChatWidgetActionType.js +14 -7
  126. package/lib/esm/contexts/common/LiveChatWidgetContextInitialState.js +14 -5
  127. package/lib/esm/contexts/createReducer.js +51 -9
  128. package/lib/esm/controller/componentController.js +5 -5
  129. package/lib/esm/plugins/newMessageEventHandler.js +82 -0
  130. package/lib/types/assets/Audios.d.ts +1 -0
  131. package/lib/types/assets/Icons.d.ts +11 -0
  132. package/lib/types/common/Constants.d.ts +27 -1
  133. package/lib/types/common/contextDataStore/DataStoreManager.d.ts +4 -0
  134. package/lib/types/common/interfaces/IContextDataStore.d.ts +14 -0
  135. package/lib/types/common/telemetry/TelemetryConstants.d.ts +45 -2
  136. package/lib/types/common/telemetry/TelemetryHelper.d.ts +2 -0
  137. package/lib/types/common/telemetry/TelemetryManager.d.ts +1 -0
  138. package/lib/types/common/telemetry/definitions/Contracts.d.ts +3 -0
  139. package/lib/types/common/telemetry/definitions/Payload.d.ts +15 -9
  140. package/lib/types/common/telemetry/interfaces/IChatSDKLogger.d.ts +1 -0
  141. package/lib/types/common/telemetry/interfaces/IInternalTelemetryData.d.ts +2 -0
  142. package/lib/types/common/telemetry/interfaces/ITelemetryConfig.d.ts +12 -0
  143. package/lib/types/common/utils.d.ts +8 -1
  144. package/lib/types/components/confirmationpanestateful/interfaces/IConfirmationPaneStatefulParams.d.ts +5 -2
  145. package/lib/types/components/footerstateful/audionotificationstateful/interfaces/IAudioNotificationStatefulParams.d.ts +0 -1
  146. package/lib/types/components/headerstateful/interfaces/IHeaderStatefulParams.d.ts +5 -1
  147. package/lib/types/components/livechatwidget/common/ActivityStreamHandler.d.ts +14 -0
  148. package/lib/types/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.d.ts +5 -0
  149. package/lib/types/components/livechatwidget/common/ActivitySubscriber/IActivitySubscriber.d.ts +6 -0
  150. package/lib/types/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.d.ts +7 -0
  151. package/lib/types/components/livechatwidget/common/ChatAdapterShim.d.ts +7 -0
  152. package/lib/types/components/livechatwidget/common/Deferred.d.ts +9 -0
  153. package/lib/types/components/livechatwidget/common/disposeTelemetryLoggers.d.ts +1 -0
  154. package/lib/types/components/livechatwidget/common/endChat.d.ts +4 -1
  155. package/lib/types/components/livechatwidget/common/reconnectChatHelper.d.ts +6 -2
  156. package/lib/types/components/livechatwidget/common/setPostChatContextAndLoadSurvey.d.ts +1 -1
  157. package/lib/types/components/livechatwidget/common/shareObservable.d.ts +1 -0
  158. package/lib/types/components/livechatwidget/common/startChat.d.ts +4 -2
  159. package/lib/types/components/livechatwidget/common/startProactiveChat.d.ts +2 -1
  160. package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetComponentOverrides.d.ts +1 -0
  161. package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetControlProps.d.ts +1 -0
  162. package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetProps.d.ts +4 -1
  163. package/lib/types/components/prechatsurveypanestateful/interfaces/IPreChatSurveyPaneStatefulParams.d.ts +1 -1
  164. package/lib/types/components/proactivechatpanestateful/interfaces/IProactiveChatNotificationConfig.d.ts +3 -0
  165. package/lib/types/components/reconnectchatpanestateful/interfaces/IReconnectChatPaneStatefulProps.d.ts +1 -1
  166. package/lib/types/components/webchatcontainerstateful/common/mockchatsdk.d.ts +2 -0
  167. package/lib/types/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.d.ts +1 -1
  168. package/lib/types/components/webchatcontainerstateful/interfaces/IBotMagicCodeConfig.d.ts +4 -0
  169. package/lib/types/components/webchatcontainerstateful/interfaces/IWebChatContainerStatefulProps.d.ts +2 -0
  170. package/lib/types/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.d.ts +3 -0
  171. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.d.ts +0 -1
  172. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.d.ts +2 -0
  173. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.d.ts +1 -0
  174. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.d.ts +5 -0
  175. package/lib/types/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.d.ts +1 -0
  176. package/lib/types/contexts/common/ConversationState.d.ts +4 -2
  177. package/lib/types/contexts/common/ILiveChatWidgetContext.d.ts +6 -1
  178. package/lib/types/contexts/common/LiveChatWidgetActionType.d.ts +15 -8
  179. package/lib/types/plugins/newMessageEventHandler.d.ts +2 -0
  180. package/package.json +13 -12
  181. package/lib/cjs/assets/audios/newMessageNotification.mp3 +0 -0
  182. package/lib/cjs/assets/icons/archiveIcon.svg +0 -3
  183. package/lib/cjs/assets/icons/audioIcon.svg +0 -6
  184. package/lib/cjs/assets/icons/blankIcon.svg +0 -6
  185. package/lib/cjs/assets/icons/excelIcon.svg +0 -6
  186. package/lib/cjs/assets/icons/imageIcon.svg +0 -6
  187. package/lib/cjs/assets/icons/oneNoteIcon.svg +0 -6
  188. package/lib/cjs/assets/icons/pdfIcon.svg +0 -6
  189. package/lib/cjs/assets/icons/powerpointIcon.svg +0 -6
  190. package/lib/cjs/assets/icons/videoIcon.svg +0 -6
  191. package/lib/cjs/assets/icons/visioIcon.svg +0 -6
  192. package/lib/cjs/assets/icons/wordIcon.svg +0 -6
  193. package/lib/esm/assets/assets.d.js +0 -0
  194. package/lib/esm/assets/audios/newMessageNotification.mp3 +0 -0
  195. package/lib/esm/assets/icons/archiveIcon.svg +0 -3
  196. package/lib/esm/assets/icons/audioIcon.svg +0 -6
  197. package/lib/esm/assets/icons/blankIcon.svg +0 -6
  198. package/lib/esm/assets/icons/excelIcon.svg +0 -6
  199. package/lib/esm/assets/icons/imageIcon.svg +0 -6
  200. package/lib/esm/assets/icons/oneNoteIcon.svg +0 -6
  201. package/lib/esm/assets/icons/pdfIcon.svg +0 -6
  202. package/lib/esm/assets/icons/powerpointIcon.svg +0 -6
  203. package/lib/esm/assets/icons/videoIcon.svg +0 -6
  204. package/lib/esm/assets/icons/visioIcon.svg +0 -6
  205. package/lib/esm/assets/icons/wordIcon.svg +0 -6
@@ -1,4 +1,7 @@
1
- export interface ConfigValidationTelemetryData {
1
+ export interface BaseTelemetryData {
2
+ Data?: any;
3
+ }
4
+ export interface ConfigValidationTelemetryData extends BaseTelemetryData {
2
5
  Event?: string;
3
6
  RequestId?: string;
4
7
  LCWVersion?: string;
@@ -8,7 +11,7 @@ export interface ConfigValidationTelemetryData {
8
11
  ExceptionDetails?: object;
9
12
  Domain?: string;
10
13
  }
11
- export interface LoadTelemetryData {
14
+ export interface LoadTelemetryData extends BaseTelemetryData {
12
15
  Event?: string;
13
16
  ResourcePath?: string;
14
17
  ElapsedTimeInMilliseconds?: number;
@@ -16,19 +19,22 @@ export interface LoadTelemetryData {
16
19
  ChatState?: string;
17
20
  ChatType?: string;
18
21
  ExceptionDetails?: object;
22
+ OCChatSDKVersion?: string;
23
+ OCChatWidgetVersion?: string;
24
+ OCChatComponentsVersion?: string;
19
25
  }
20
- export interface MessageProcessingErrorData {
26
+ export interface MessageProcessingErrorData extends BaseTelemetryData {
21
27
  Event: string;
22
28
  ExceptionDetails: object;
23
29
  }
24
- export interface OCChatSDKTelemetryData {
30
+ export interface OCChatSDKTelemetryData extends BaseTelemetryData {
25
31
  RequestId: string;
26
32
  Event?: string;
27
33
  ElapsedTimeInMilliseconds?: number;
28
34
  TransactionId: string;
29
35
  ExceptionDetails?: object;
30
36
  }
31
- export interface IC3ClientTelemetryData {
37
+ export interface IC3ClientTelemetryData extends BaseTelemetryData {
32
38
  SubscriptionId?: string;
33
39
  EndpointUrl?: string;
34
40
  EndpointId?: string;
@@ -39,7 +45,7 @@ export interface IC3ClientTelemetryData {
39
45
  ShouldBubbleToHost?: boolean;
40
46
  Description?: string;
41
47
  }
42
- export interface WebChatTelemetryData {
48
+ export interface WebChatTelemetryData extends BaseTelemetryData {
43
49
  data?: any;
44
50
  dimensions?: any;
45
51
  duration?: number;
@@ -50,7 +56,7 @@ export interface WebChatTelemetryData {
50
56
  name?: string;
51
57
  type?: string;
52
58
  }
53
- export interface ACSAdapterTelemetryData {
59
+ export interface ACSAdapterTelemetryData extends BaseTelemetryData {
54
60
  Description?: string;
55
61
  ACSUserId?: string;
56
62
  ChatThreadId?: string;
@@ -60,14 +66,14 @@ export interface ACSAdapterTelemetryData {
60
66
  ErrorCode?: string;
61
67
  ExceptionDetails?: any;
62
68
  }
63
- export interface ActionTelemetryData {
69
+ export interface ActionTelemetryData extends BaseTelemetryData {
64
70
  Event?: string;
65
71
  ElapsedTimeInMilliseconds?: number;
66
72
  ActionType?: string;
67
73
  ExceptionDetails?: object;
68
74
  Description?: string;
69
75
  }
70
- export interface CallingTelemetryData {
76
+ export interface CallingTelemetryData extends BaseTelemetryData {
71
77
  CallId?: string;
72
78
  Event?: string;
73
79
  ElapsedTimeInMilliseconds?: number;
@@ -1,4 +1,5 @@
1
1
  import { LogLevel, TelemetryInput } from "../TelemetryConstants";
2
2
  export interface IChatSDKLogger {
3
3
  log: (logLevel: LogLevel, telemetryInput: TelemetryInput) => void;
4
+ dispose: () => void;
4
5
  }
@@ -16,4 +16,6 @@ export interface IInternalTelemetryData {
16
16
  orgUrl?: string;
17
17
  lcwRuntimeId?: string;
18
18
  channelId?: string;
19
+ chatWidgetVersion?: string;
20
+ chatComponentVersion?: string;
19
21
  }
@@ -29,4 +29,16 @@ export interface ITelemetryConfig {
29
29
  * custom loggers list
30
30
  */
31
31
  telemetryLoggers?: IChatSDKLogger[];
32
+ /**
33
+ * Omnichannel chat widget version
34
+ */
35
+ chatWidgetVersion: string;
36
+ /**
37
+ * Omnichannel chat components version
38
+ */
39
+ chatComponentVersion: string;
40
+ /**
41
+ * Omnichannel Chat SDK Version
42
+ */
43
+ OCChatSDKVersion: string;
32
44
  }
@@ -18,6 +18,13 @@ export declare const extractPreChatSurveyResponseValues: (preChatSurvey: string,
18
18
  value: string;
19
19
  }[]) => {};
20
20
  export declare const isNullOrUndefined: (obj: any) => boolean;
21
- export declare const isNullOrEmptyString: (s: string) => boolean;
21
+ export declare const isNullOrEmptyString: (s: string | null) => boolean;
22
22
  export declare const newGuid: () => string;
23
23
  export declare const createTimer: () => ITimer;
24
+ export declare const getDomain: (hostValue: any) => string;
25
+ export declare const getWidgetCacheId: (orgId: string, widgetId: string, widgetInstanceId: string) => string;
26
+ export declare const getWidgetEndChatEventName: (orgId: string, widgetId: string, widgetInstanceId: string) => string;
27
+ export declare const getStateFromCache: (orgId: string, widgetId: string, widgetInstanceId: string) => any;
28
+ export declare const isUndefinedOrEmpty: (object: any) => boolean;
29
+ export declare const addDelayInMs: (ms: number) => Promise<void>;
30
+ export declare const getBroadcastChannelName: (widgetId: string, widgetInstanceId: string) => string;
@@ -1,3 +1,4 @@
1
+ import { ILiveChatWidgetContext } from "../../../contexts/common/ILiveChatWidgetContext";
1
2
  import { IConfirmationPaneStatefulProps } from "./IConfirmationPaneStatefulProps";
2
3
  export interface IConfirmationPaneStatefulParams extends IConfirmationPaneStatefulProps {
3
4
  /**
@@ -5,7 +6,9 @@ export interface IConfirmationPaneStatefulParams extends IConfirmationPaneStatef
5
6
  */
6
7
  setPostChatContext: () => Promise<void>;
7
8
  /**
8
- * endChat: Internal Prop injected for triggering end of a chat using chatSDK
9
+ * prepareEndChat: Internal Prop injected for checking PostChat contexts and trigerring end of chat
10
+ * @param adapter : The chat adapter for the live chat session
11
+ * @param state : The chat state where the conversation is currently in
9
12
  */
10
- endChat: (adapter: any) => Promise<void>;
13
+ prepareEndChat: (adapter: any, state: ILiveChatWidgetContext) => Promise<void>;
11
14
  }
@@ -1,5 +1,4 @@
1
1
  export interface IAudioNotificationStatefulParams {
2
2
  audioSrc?: string;
3
- hideAudioNotificationButton?: boolean;
4
3
  isAudioMuted?: boolean;
5
4
  }
@@ -12,6 +12,10 @@ export interface IHeaderStatefulParams {
12
12
  outOfOfficeHeaderProps?: IHeaderProps;
13
13
  /**
14
14
  * endChat: Internal Prop injected for triggering end of a chat using chatSDK
15
+ * @param adapter : The chat adapter for the live chat session
16
+ * @param skipEndChatSDK : If set to true endchat will skip chatSDK endChat call
17
+ * @param skipCloseChat : If set to true endchat will skip closing the live chat instance
18
+ * @param postMessageToOtherTab : If set to true endchat will send a message to other tabs(multi-tabs)
15
19
  */
16
- endChat: (adapter: any) => Promise<void>;
20
+ endChat: (adapter: any, skipEndChatSDK?: boolean, skipCloseChat?: boolean, postMessageToOtherTab?: boolean) => Promise<void>;
17
21
  }
@@ -0,0 +1,14 @@
1
+ export declare class ActivityStreamHandler {
2
+ static restoreDeferred: any;
3
+ static restorePromise: Promise<any>;
4
+ /**
5
+ * Use of a deferred pattern, to hold the execution of the activity.
6
+ *
7
+ * */
8
+ static cork(): void;
9
+ /**
10
+ * Resolve the promise, releasing it to continue with the execution of the activity.
11
+ *
12
+ * */
13
+ static uncork(): void;
14
+ }
@@ -0,0 +1,5 @@
1
+ import { IActivitySubscriber } from "./IActivitySubscriber";
2
+ export declare class DefaultActivitySubscriber implements IActivitySubscriber {
3
+ observer: any;
4
+ next(activity: any): Promise<boolean>;
5
+ }
@@ -0,0 +1,6 @@
1
+ export interface IActivitySubscriber {
2
+ observer: any;
3
+ next(activity: any): Promise<any>;
4
+ applicable?(activity: any): boolean;
5
+ apply?(activity: any): Promise<any>;
6
+ }
@@ -0,0 +1,7 @@
1
+ import { IActivitySubscriber } from "./IActivitySubscriber";
2
+ export declare class PauseActivitySubscriber implements IActivitySubscriber {
3
+ observer: any;
4
+ apply(activity: any): Promise<void>;
5
+ applicable(activity: any): boolean;
6
+ next(activity: any): Promise<any>;
7
+ }
@@ -0,0 +1,7 @@
1
+ export declare class ChatAdapterShim {
2
+ chatAdapter: any;
3
+ activityObserver: any;
4
+ private subscribers;
5
+ constructor(chatAdapter: any);
6
+ addSubscriber(subscriber: any): void;
7
+ }
@@ -0,0 +1,9 @@
1
+ export declare class Deferred<T> {
2
+ private _promise;
3
+ private _resolve;
4
+ private _reject;
5
+ constructor();
6
+ resolve: (value?: any | PromiseLike<T>) => void;
7
+ reject: (value?: any | PromiseLike<T>) => void;
8
+ get promise(): Promise<T>;
9
+ }
@@ -0,0 +1 @@
1
+ export declare const disposeTelemetryLoggers: () => void;
@@ -1,4 +1,7 @@
1
1
  import { Dispatch } from "react";
2
2
  import { ILiveChatWidgetAction } from "../../../contexts/common/ILiveChatWidgetAction";
3
3
  import { ILiveChatWidgetProps } from "../interfaces/ILiveChatWidgetProps";
4
- export declare const endChat: (props: ILiveChatWidgetProps, chatSDK: any, setAdapter: any, setWebChatStyles: any, dispatch: Dispatch<ILiveChatWidgetAction>, adapter: any) => Promise<void>;
4
+ import { ILiveChatWidgetContext } from "../../../contexts/common/ILiveChatWidgetContext";
5
+ declare const prepareEndChat: (props: ILiveChatWidgetProps, chatSDK: any, setAdapter: any, setWebChatStyles: any, dispatch: Dispatch<ILiveChatWidgetAction>, adapter: any, state: ILiveChatWidgetContext) => Promise<void>;
6
+ declare const endChat: (props: ILiveChatWidgetProps, chatSDK: any, setAdapter: any, setWebChatStyles: any, dispatch: Dispatch<ILiveChatWidgetAction>, adapter: any, skipEndChatSDK?: boolean | undefined, skipCloseChat?: boolean | undefined, postMessageToOtherTab?: boolean | undefined) => Promise<void>;
7
+ export { prepareEndChat, endChat };
@@ -1,7 +1,11 @@
1
1
  import "regenerator-runtime/runtime";
2
+ import ChatConfig from "@microsoft/omnichannel-chat-sdk/lib/core/ChatConfig";
2
3
  import { Dispatch } from "react";
3
4
  import { ILiveChatWidgetAction } from "../../../contexts/common/ILiveChatWidgetAction";
4
5
  import { ILiveChatWidgetProps } from "../interfaces/ILiveChatWidgetProps";
6
+ declare const getChatReconnectContext: (chatSDK: any, reconnectId?: string | undefined) => Promise<any>;
5
7
  declare const getReconnectIdForAuthenticatedChat: (props: ILiveChatWidgetProps, chatSDK: any) => Promise<string | undefined>;
6
- declare const handleUnauthenticatedReconnectChat: (dispatch: Dispatch<ILiveChatWidgetAction>, reconnectId: string, initStartChat: any) => Promise<void>;
7
- export { getReconnectIdForAuthenticatedChat, handleUnauthenticatedReconnectChat };
8
+ declare const handleUnauthenticatedReconnectChat: (chatSDK: any, chatConfig: ChatConfig | undefined, getAuthToken: ((authClientFunction?: string | undefined) => Promise<string | null>) | undefined, dispatch: Dispatch<ILiveChatWidgetAction>, setAdapter: any, reconnectId: string, initStartChat: any, redirectInSameWindow: boolean | undefined) => Promise<void>;
9
+ declare const startUnauthenticatedReconnectChat: (chatSDK: any, chatConfig: ChatConfig | undefined, getAuthToken: ((authClientFunction?: string | undefined) => Promise<string | null>) | undefined, dispatch: Dispatch<ILiveChatWidgetAction>, setAdapter: any, reconnectId: string, initStartChat: any) => Promise<void>;
10
+ declare const handleRedirectUnauthenticatedReconnectChat: (chatSDK: any, chatConfig: ChatConfig | undefined, getAuthToken: ((authClientFunction?: string | undefined) => Promise<string | null>) | undefined, dispatch: Dispatch<ILiveChatWidgetAction>, setAdapter: any, initStartChat: any, reconnectId: string, redirectInSameWindow: boolean | undefined) => Promise<void>;
11
+ export { getChatReconnectContext, getReconnectIdForAuthenticatedChat, handleUnauthenticatedReconnectChat, startUnauthenticatedReconnectChat, handleRedirectUnauthenticatedReconnectChat };
@@ -1,3 +1,3 @@
1
1
  import { Dispatch } from "react";
2
2
  import { ILiveChatWidgetAction } from "../../../contexts/common/ILiveChatWidgetAction";
3
- export declare const setPostChatContextAndLoadSurvey: (chatSDK: any, dispatch: Dispatch<ILiveChatWidgetAction>, loadSurvey: boolean) => Promise<void>;
3
+ export declare const setPostChatContextAndLoadSurvey: (chatSDK: any, dispatch: Dispatch<ILiveChatWidgetAction>, persistedChat?: boolean | undefined) => Promise<void>;
@@ -0,0 +1 @@
1
+ export declare function shareObservable(observable: any): any;
@@ -1,7 +1,9 @@
1
+ import ChatConfig from "@microsoft/omnichannel-chat-sdk/lib/core/ChatConfig";
1
2
  import { Dispatch } from "react";
2
3
  import { ILiveChatWidgetAction } from "../../../contexts/common/ILiveChatWidgetAction";
3
4
  import { ILiveChatWidgetContext } from "../../../contexts/common/ILiveChatWidgetContext";
4
5
  import { ILiveChatWidgetProps } from "../interfaces/ILiveChatWidgetProps";
5
6
  declare const prepareStartChat: (props: ILiveChatWidgetProps, chatSDK: any, state: ILiveChatWidgetContext, dispatch: Dispatch<ILiveChatWidgetAction>, setAdapter: any) => Promise<void>;
6
- declare const initStartChat: (chatSDK: any, dispatch: Dispatch<ILiveChatWidgetAction>, setAdapter: any, params?: any) => Promise<void>;
7
- export { prepareStartChat, initStartChat };
7
+ declare const setPreChatAndInitiateChat: (chatSDK: any, chatConfig: ChatConfig | undefined, getAuthToken: ((authClientFunction?: string | undefined) => Promise<string | null>) | undefined, dispatch: Dispatch<ILiveChatWidgetAction>, setAdapter: any, isProactiveChat?: boolean | undefined, proactiveChatEnablePrechatState?: boolean | undefined) => Promise<void>;
8
+ declare const initStartChat: (chatSDK: any, chatConfig: ChatConfig | undefined, getAuthToken: ((authClientFunction?: string | undefined) => Promise<string | null>) | undefined, dispatch: Dispatch<ILiveChatWidgetAction>, setAdapter: any, params?: any, persistedState?: any) => Promise<void>;
9
+ export { prepareStartChat, initStartChat, setPreChatAndInitiateChat };
@@ -1,3 +1,4 @@
1
1
  import { Dispatch } from "react";
2
2
  import { ILiveChatWidgetAction } from "../../../contexts/common/ILiveChatWidgetAction";
3
- export declare const startProactiveChat: (dispatch: Dispatch<ILiveChatWidgetAction>, bodyTitle?: string | undefined, showPrechat?: boolean | undefined, inNewWindow?: boolean | undefined) => void;
3
+ import { IProactiveChatNotificationConfig } from "../../proactivechatpanestateful/interfaces/IProactiveChatNotificationConfig";
4
+ export declare const startProactiveChat: (dispatch: Dispatch<ILiveChatWidgetAction>, notificationConfig?: IProactiveChatNotificationConfig | undefined, enablePreChat?: boolean | undefined, inNewWindow?: boolean | undefined) => void;
@@ -9,6 +9,7 @@ export interface ILiveChatWidgetComponentOverrides {
9
9
  outOfOfficeHoursPane?: ReactNode | string;
10
10
  postChatLoadingPane?: ReactNode | string;
11
11
  postChatSurveyPane?: ReactNode | string;
12
+ preChatSurveyPane?: ReactNode | string;
12
13
  proactiveChatPane?: ReactNode | string;
13
14
  reconnectChatPane?: ReactNode | string;
14
15
  webChatContainer?: ReactNode | string;
@@ -14,4 +14,5 @@ export interface ILiveChatWidgetControlProps {
14
14
  hideReconnectChatPane?: boolean;
15
15
  hideWebChatContainer?: boolean;
16
16
  skipChatButtonRendering?: boolean;
17
+ widgetInstanceId?: string | undefined;
17
18
  }
@@ -20,6 +20,7 @@ import { ITelemetryConfig } from "../../../common/telemetry/interfaces/ITelemetr
20
20
  import { IWebChatContainerStatefulProps } from "../../webchatcontainerstateful/interfaces/IWebChatContainerStatefulProps";
21
21
  import { OmnichannelChatSDK } from "@microsoft/omnichannel-chat-sdk";
22
22
  import { ILiveChatWidgetContext } from "../../../contexts/common/ILiveChatWidgetContext";
23
+ import { IContextDataStore } from "../../../common/interfaces/IContextDataStore";
23
24
  export interface ILiveChatWidgetProps {
24
25
  audioNotificationProps?: IAudioNotificationProps;
25
26
  callingContainerProps?: ICallingContainerProps;
@@ -44,7 +45,9 @@ export interface ILiveChatWidgetProps {
44
45
  proactiveChatPaneProps?: IProactiveChatPaneStatefulProps;
45
46
  reconnectChatPaneProps?: IReconnectChatPaneStatefulProps;
46
47
  styleProps?: ILiveChatWidgetStyleProps;
47
- telemetryConfig?: ITelemetryConfig;
48
+ telemetryConfig: ITelemetryConfig;
48
49
  webChatContainerProps?: IWebChatContainerStatefulProps;
49
50
  liveChatContextFromCache?: ILiveChatWidgetContext;
51
+ contextDataStore?: IContextDataStore;
52
+ getAuthToken?: (authClientFunction?: string) => Promise<string | null>;
50
53
  }
@@ -1,5 +1,5 @@
1
1
  import { IPreChatSurveyPaneProps } from "@microsoft/omnichannel-chat-components/lib/types/components/prechatsurveypane/interfaces/IPreChatSurveyPaneProps";
2
2
  export interface IPreChatSurveyPaneStatefulParams {
3
3
  surveyProps?: IPreChatSurveyPaneProps;
4
- initStartChat: (params?: any) => Promise<void>;
4
+ initStartChat: (params?: any, persistedState?: any) => Promise<void>;
5
5
  }
@@ -0,0 +1,3 @@
1
+ export interface IProactiveChatNotificationConfig {
2
+ message?: string;
3
+ }
@@ -1,6 +1,6 @@
1
1
  import { IReconnectChatPaneProps } from "@microsoft/omnichannel-chat-components/lib/types/components/reconnectchatpane/interfaces/IReconnectChatPaneProps";
2
2
  export interface IReconnectChatPaneStatefulProps extends IReconnectChatPaneProps {
3
- authClientFunction?: string;
4
3
  isReconnectEnabled?: boolean;
5
4
  reconnectId?: string;
5
+ redirectInSameWindow?: boolean;
6
6
  }
@@ -1,8 +1,10 @@
1
1
  import MockAdapter from "./mockadapter";
2
2
  export declare class MockChatSDK {
3
3
  protected sleep: (ms: any) => Promise<unknown>;
4
+ isMockModeOn: boolean;
4
5
  startChat(): Promise<void>;
5
6
  endChat(): null;
7
+ getChatToken(): null;
6
8
  createChatAdapter(): MockAdapter;
7
9
  getPreChatSurvey(parseToJson: boolean): string;
8
10
  getConversationDetails(): {};
@@ -3,5 +3,5 @@
3
3
  *
4
4
  * @param extension File extension
5
5
  */
6
- export declare const getFileAttachmentIconData: (extension: string) => any;
6
+ export declare const getFileAttachmentIconData: (extension: string) => unknown;
7
7
  export declare const isInlineMediaSupported: (attachmentName: string) => boolean;
@@ -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
+ }
@@ -5,7 +5,6 @@
5
5
  * 1. Renders system messages differently, according to Microsoft LiveChatWidget styles
6
6
  * 2. Changes the font size of user messages
7
7
  * 3. Decodes certain html characters that came through from chat services
8
- * 4. Triggers end conversation sequence when the chat thread is deleted
9
8
  ******/
10
9
  import React from "react";
11
10
  export declare const createActivityMiddleware: (systemMessageStyleProps?: React.CSSProperties | undefined, userMessageStyleProps?: React.CSSProperties | undefined) => () => (next: any) => (...args: any) => any;
@@ -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;
@@ -0,0 +1 @@
1
+ export declare function createWebChatTelemetry(): (event: any) => void;
@@ -5,6 +5,8 @@ export declare enum ConversationState {
5
5
  OutOfOffice = 3,
6
6
  ProactiveChat = 4,
7
7
  Active = 5,
8
- Postchat = 6,
9
- Closed = 7
8
+ InActive = 6,
9
+ PostchatLoading = 7,
10
+ Postchat = 8,
11
+ Closed = 9
10
12
  }
@@ -14,13 +14,16 @@ export interface ILiveChatWidgetContext {
14
14
  middlewareLocalizedTexts: ILiveChatWidgetLocalizedTexts | undefined;
15
15
  telemetryInternalData: IInternalTelemetryData;
16
16
  globalDir: "rtl" | "ltr";
17
+ liveChatContext: any;
18
+ customContext: any;
19
+ widgetSize: any;
20
+ widgetInstanceId: string;
17
21
  };
18
22
  appStates: {
19
23
  conversationState: ConversationState;
20
24
  isMinimized: boolean;
21
25
  previousElementOnFocusBeforeModalOpen: HTMLElement | null;
22
26
  outsideOperatingHours: boolean;
23
- shouldShowPostChat: boolean;
24
27
  preChatResponseEmail: string;
25
28
  isAudioMuted: boolean | null;
26
29
  newMessage: boolean;
@@ -33,6 +36,7 @@ export interface ILiveChatWidgetContext {
33
36
  };
34
37
  e2vvEnabled: boolean;
35
38
  unreadMessageCount: number;
39
+ conversationEndedByAgent: boolean;
36
40
  };
37
41
  uiStates: {
38
42
  showConfirmationPane: boolean;
@@ -42,5 +46,6 @@ export interface ILiveChatWidgetContext {
42
46
  disableRemoteVideo: boolean;
43
47
  disableSelfVideo: boolean;
44
48
  isIncomingCall: boolean;
49
+ focusChatButton: boolean;
45
50
  };
46
51
  }
@@ -8,13 +8,13 @@ export declare enum LiveChatWidgetActionType {
8
8
  SET_PREVIOUS_FOCUSED_ELEMENT = 6,
9
9
  SET_OUTSIDE_OPERATING_HOURS = 7,
10
10
  SET_PRE_CHAT_SURVEY_RESPONSE = 8,
11
- SET_SHOW_CONFIRMATION = 9,
12
- SET_SHOW_EMAIL_TRANSCRIPT_PANE = 10,
13
- SET_PRECHAT_RESPONSE_EMAIL = 11,
14
- SET_AUDIO_NOTIFICATION = 12,
15
- SET_E2VV_ENABLED = 13,
16
- SET_POST_CHAT_CONTEXT = 14,
17
- SET_SHOULD_SHOW_POST_CHAT = 15,
11
+ SET_CUSTOM_CONTEXT = 9,
12
+ SET_SHOW_CONFIRMATION = 10,
13
+ SET_SHOW_EMAIL_TRANSCRIPT_PANE = 11,
14
+ SET_PRECHAT_RESPONSE_EMAIL = 12,
15
+ SET_AUDIO_NOTIFICATION = 13,
16
+ SET_E2VV_ENABLED = 14,
17
+ SET_POST_CHAT_CONTEXT = 15,
18
18
  SHOW_CALLING_CONTAINER = 16,
19
19
  SET_INCOMING_CALL = 17,
20
20
  DISABLE_VIDEO_CALL = 18,
@@ -25,5 +25,12 @@ export declare enum LiveChatWidgetActionType {
25
25
  SET_PROACTIVE_CHAT_PARAMS = 23,
26
26
  SET_TELEMETRY_DATA = 24,
27
27
  SET_RECONNECT_ID = 25,
28
- SET_UNREAD_MESSAGE_COUNT = 26
28
+ SET_UNREAD_MESSAGE_COUNT = 26,
29
+ SET_FOCUS_CHAT_BUTTON = 27,
30
+ SET_CONVERSATION_ENDED_BY_AGENT = 28,
31
+ SET_WIDGET_STATE = 29,
32
+ SET_LIVE_CHAT_CONTEXT = 30,
33
+ SET_BOT_OAUTH_SIGNIN_ID = 31,
34
+ SET_WIDGET_SIZE = 32,
35
+ SET_WIDGET_INSTANCE_ID = 33
29
36
  }
@@ -0,0 +1,2 @@
1
+ import { IActivity } from "botframework-directlinejs";
2
+ export declare const createOnNewAdapterActivityHandler: (chatId: string, userId: string) => (activity: IActivity) => void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@microsoft/omnichannel-chat-widget",
3
- "version": "0.1.0-main.8b6c0d8",
3
+ "version": "0.1.0-main.8cded52",
4
4
  "description": "Microsoft Omnichannel Chat Widget",
5
5
  "main": "lib/cjs/index.js",
6
6
  "types": "lib/types/index.d.ts",
@@ -16,7 +16,8 @@
16
16
  "import": "./lib/esm/index.js",
17
17
  "require": "./lib/cjs/index.js",
18
18
  "types": "./lib/types/index.d.ts"
19
- }
19
+ },
20
+ "./package.json": "./package.json"
20
21
  },
21
22
  "devDependencies": {
22
23
  "@babel/core": "^7.15.8",
@@ -67,41 +68,41 @@
67
68
  "storybook-addon-playwright": "^4.9.2",
68
69
  "terser-webpack-plugin": "^4.2.3",
69
70
  "ts-loader": "^9.2.6",
70
- "typescript": "^4.4.4",
71
+ "typescript": "4.6.4",
71
72
  "webpack": "^4.44.2",
72
73
  "webpack-cli": "^4.9.2"
73
74
  },
74
- "peerDependencies": {
75
- "react": "^16.14.0",
76
- "react-dom": "^16.14.0"
77
- },
78
75
  "dependencies": {
79
76
  "@fluentui/react": "^8.49.1",
80
- "@microsoft/omnichannel-chat-components": "0.1.0-main.ea06308",
77
+ "@microsoft/omnichannel-chat-components": "0.1.0-main.a306d8c",
81
78
  "@microsoft/omnichannel-chat-sdk": "1.0.1-main.077d17c",
82
79
  "abort-controller-es5": "^2.0.1",
83
80
  "dompurify": "^2.3.4",
84
81
  "markdown-it": "^12.3.2",
85
82
  "markdown-it-for-inline": "^0.1.1",
83
+ "md5-typescript": "^1.0.5",
86
84
  "p-defer-es5": "^2.0.1",
87
85
  "slack-markdown-it": "^1.0.5"
88
86
  },
89
87
  "scripts": {
90
88
  "storybook": "start-storybook -p 6006",
89
+ "compose-storybook": "start-storybook -c stories/.storybook -p 9009",
90
+ "build-composite-storybook": "build-storybook -c stories/.storybook -o storybook-build",
91
91
  "build-storybook": "build-storybook",
92
- "build": "yarn eslint . && yarn build:esm && yarn copy:esm && yarn build:cjs && yarn copy:cjs && tsc",
92
+ "build": "yarn lint && yarn build:esm && yarn build:cjs && tsc",
93
93
  "test:unit": "jest -c jest.config.unit.cjs --env=jsdom --runInBand --force-exit",
94
+ "test:e2e": "cd automation_tests && yarn test",
95
+ "test:e2e:build": "yarn build-sample && cd automation_tests && yarn test",
94
96
  "test:visual": "jest -c jest.config.visual.cjs",
95
97
  "test:all": "yarn test:unit && yarn test:visual",
96
98
  "build:esm": "babel ./src --config-file ./babel.esm.config.json --out-dir lib/esm --extensions .ts,.js,.tsx --ignore **/*.test.ts,**/*.stories.tsx,**/*.test.tsx",
97
99
  "build:cjs": "babel ./src --config-file ./babel.config.json --out-dir lib/cjs --extensions .ts,.js,.tsx --ignore **/*.test.ts,**/*.stories.tsx,**/*.test.tsx",
98
- "copy:cjs": "copyfiles -u 2 src/assets/audios/* lib/cjs/assets && copyfiles -u 2 src/assets/icons/* lib/cjs/assets",
99
- "copy:esm": "copyfiles -u 2 src/assets/audios/* lib/esm/assets && copyfiles -u 2 src/assets/icons/* lib/esm/assets",
100
100
  "verify": "yarn install && yarn build-storybook && yarn test:all && yarn build && yarn storybook",
101
101
  "testpack": "yarn build && yarn pack",
102
102
  "build-sample": "yarn build && webpack --config ./webpack.config.cjs",
103
103
  "build-sample:dev": "yarn build && webpack --config ./webpack.dev.config.cjs",
104
- "test:visual:build": "yarn build-storybook && yarn test:visual"
104
+ "test:visual:build": "yarn build-storybook && yarn test:visual",
105
+ "lint": "yarn eslint ."
105
106
  },
106
107
  "resolutions": {
107
108
  "**/url-parse": "1.5.9",
@@ -1,3 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2048 2048" width="12px" height="12px">
2
- <path d="M1792 0q27 0 50 10t40 27 28 41 10 50v480q0 45-9 77t-24 58-31 46-31 40-23 44-10 55v992q0 27-10 50t-27 40-41 28-50 10H256V0h1536zM640 128v384h256V128H640zm1024 800q0-31-9-54t-24-44-31-41-31-45-23-58-10-78V128h-512v512H768v128H640V640H512V128H384v1792h384v-128h128v128h768V928zm128-800h-128v480q0 24 4 42t13 33 20 29 27 32q15-17 26-31t20-30 13-33 5-42V128zM640 896h128v128H640V896zm0 256h128v128H640v-128zm0 256h128v128H640v-128zm128 256v128H640v-128h128zm0-768V768h128v128H768zm0 256v-128h128v128H768zm0 256v-128h128v128H768zm0 256v-128h128v128H768z" />
3
- </svg>
@@ -1,6 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg"
2
- viewBox="0 0 2048 2048"
3
- width="12px"
4
- height="12px">
5
- <path d="M1792 1408q0 62-29 109t-76 80-104 50-111 17q-54 0-111-17t-103-49-76-80-30-110q0-61 29-109t76-80 104-50 111-17q51 0 100 12t92 39V226L768 450v1214q0 62-29 109t-76 80-104 50-111 17q-54 0-111-17t-103-49-76-80-30-110q0-61 29-109t76-80 104-50 111-17q51 0 100 12t92 39V350L1792 62v1346z" />
6
- </svg>
@@ -1,6 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg"
2
- viewBox="0 0 2048 2048"
3
- width="12px"
4
- height="12px">
5
- <path d="M549 0h1243v1755l-293 293H256V293L549 0zm1115 1701V128H603L384 347v1573h1061l219-219z" />
6
- </svg>
@@ -1,6 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg"
2
- viewBox="0 0 2048 2048"
3
- width="12px"
4
- height="12px">
5
- <path d="M2048 475v1445q0 27-10 50t-27 40-41 28-50 10H640q-27 0-50-10t-40-27-28-41-10-50v-256H115q-24 0-44-9t-37-25-25-36-9-45V627q0-24 9-44t25-37 36-25 45-9h397V128q0-27 10-50t27-40 41-28 50-10h933q26 0 49 9t42 28l347 347q18 18 27 41t10 50zm-384-256v165h165l-165-165zM261 1424h189q2-4 12-23t25-45 29-55 29-53 23-41 10-17q27 59 60 118t65 116h187l-209-339 205-333H707q-31 57-60 114t-63 112q-29-57-57-113t-57-113H279l199 335-217 337zm379 496h1280V512h-256q-27 0-50-10t-40-27-28-41-10-50V128H640v384h397q24 0 44 9t37 25 25 36 9 45v922q0 24-9 44t-25 37-36 25-45 9H640v256zm640-1024V768h512v128h-512zm0 256v-128h512v128h-512zm0 256v-128h512v128h-512z" />
6
- </svg>
@@ -1,6 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg"
2
- viewBox="0 0 2048 2048"
3
- width="12px"
4
- height="12px">
5
- <path d="M256 1920h1536v128H128V0h1115l549 549v91h-640V128H256v1792zM1280 512h293l-293-293v293zm768 256v1024H640V768h1408zM768 896v421l320-319 416 416 160-160 256 256V896H768zm987 768h139l-230-230-69 70 160 160zm-987 0h805l-485-486-320 321v165zm960-512q-26 0-45-19t-19-45q0-26 19-45t45-19q26 0 45 19t19 45q0 26-19 45t-45 19z" />
6
- </svg>
@@ -1,6 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg"
2
- viewBox="0 0 2048 2048"
3
- width="12px"
4
- height="12px">
5
- <path d="M1963 128q35 0 60 25t25 60v1622q0 35-25 60t-60 25H597q-35 0-60-25t-25-60v-299H85q-35 0-60-25t-25-60V597q0-35 25-60t60-25h427V213q0-35 25-60t60-25h1366zM389 939l242 420h152V689H635v429L402 689H241v670h148V939zm1531 853v-256h-256v256h256zm0-384v-256h-256v256h256zm0-384V768h-256v256h256zm0-384V256H640v256h299q35 0 60 25t25 60v854q0 35-25 60t-60 25H640v256h896V640h384z" />
6
- </svg>