botframework-webchat-component 4.15.0 → 4.15.2-main.20220413.d89850f

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 (125) hide show
  1. package/lib/Activity/CarouselLayout.js +3 -3
  2. package/lib/Activity/Speak.d.ts +2 -2
  3. package/lib/Activity/Speak.d.ts.map +1 -1
  4. package/lib/Activity/Speak.js +14 -7
  5. package/lib/Activity/StackedLayout.d.ts +5 -3
  6. package/lib/Activity/StackedLayout.d.ts.map +1 -1
  7. package/lib/Activity/StackedLayout.js +15 -20
  8. package/lib/Attachment/FileContent.js +2 -2
  9. package/lib/BasicSendBox.d.ts.map +1 -1
  10. package/lib/BasicSendBox.js +7 -8
  11. package/lib/BasicToast.js +1 -1
  12. package/lib/BasicToaster.js +1 -1
  13. package/lib/BasicTranscript.d.ts.map +1 -1
  14. package/lib/BasicTranscript.js +30 -15
  15. package/lib/BasicTypingIndicator.js +1 -1
  16. package/lib/Composer.js +3 -3
  17. package/lib/ConnectivityStatus/Connecting.js +1 -1
  18. package/lib/Dictation.js +1 -1
  19. package/lib/Middleware/Activity/createCoreMiddleware.d.ts.map +1 -1
  20. package/lib/Middleware/Activity/createCoreMiddleware.js +9 -12
  21. package/lib/Middleware/ActivityStatus/SendStatus/SendFailedRetry.js +1 -1
  22. package/lib/Middleware/ActivityStatus/SendStatus/SendStatus.d.ts +2 -2
  23. package/lib/Middleware/ActivityStatus/SendStatus/SendStatus.d.ts.map +1 -1
  24. package/lib/Middleware/ActivityStatus/SendStatus/SendStatus.js +4 -3
  25. package/lib/Middleware/ActivityStatus/Timestamp.d.ts +2 -2
  26. package/lib/Middleware/ActivityStatus/Timestamp.d.ts.map +1 -1
  27. package/lib/Middleware/ActivityStatus/Timestamp.js +4 -2
  28. package/lib/Middleware/ActivityStatus/createSendStatusMiddleware.js +2 -2
  29. package/lib/ReactWebChat.js +2 -2
  30. package/lib/ScreenReaderActivity.js +1 -1
  31. package/lib/ScreenReaderText.js +1 -1
  32. package/lib/SendBox/AutoResizeTextArea.js +1 -1
  33. package/lib/SendBox/IconButton.js +1 -1
  34. package/lib/SendBox/MicrophoneButton.js +1 -1
  35. package/lib/SendBox/SendButton.js +1 -1
  36. package/lib/SendBox/SuggestedAction.js +2 -2
  37. package/lib/SendBox/SuggestedActions.js +2 -2
  38. package/lib/SendBox/TextBox.js +3 -3
  39. package/lib/SendBox/UploadButton.js +3 -3
  40. package/lib/Styles/StyleSet/Bubble.js +2 -2
  41. package/lib/Styles/StyleSet/CarouselFilmStrip.js +2 -2
  42. package/lib/Styles/StyleSet/CarouselFilmStripAttachment.js +2 -2
  43. package/lib/Styles/createStyleSet.d.ts +1 -1
  44. package/lib/Styles/createStyleSet.js +2 -2
  45. package/lib/Transcript/ActivityRow.d.ts +2 -2
  46. package/lib/Transcript/ActivityRow.d.ts.map +1 -1
  47. package/lib/Transcript/ActivityRow.js +4 -2
  48. package/lib/Transcript/ActivityTextAlt.js +1 -1
  49. package/lib/Transcript/FocusTrap.js +1 -1
  50. package/lib/Transcript/KeyboardHelp.js +1 -1
  51. package/lib/Transcript/LiveRegionTranscript.d.ts.map +1 -1
  52. package/lib/Transcript/LiveRegionTranscript.js +22 -7
  53. package/lib/Transcript/useActivityAccessibleName.d.ts +2 -2
  54. package/lib/Transcript/useActivityAccessibleName.d.ts.map +1 -1
  55. package/lib/Transcript/useActivityAccessibleName.js +2 -2
  56. package/lib/Transcript/useTypistNames.d.ts +3 -0
  57. package/lib/Transcript/useTypistNames.d.ts.map +1 -0
  58. package/lib/Transcript/useTypistNames.js +61 -0
  59. package/lib/Utils/AccessKeySink/Surface.js +1 -1
  60. package/lib/Utils/AccessibleButton.js +1 -1
  61. package/lib/Utils/AccessibleInputText.js +1 -1
  62. package/lib/Utils/AccessibleTextArea.js +1 -1
  63. package/lib/Utils/CroppedImage.js +1 -1
  64. package/lib/Utils/FocusRedirector.js +1 -1
  65. package/lib/Utils/InlineMarkdown.js +3 -3
  66. package/lib/Utils/TypeFocusSink/FocusBox.js +1 -1
  67. package/lib/Utils/addTargetBlankToHyperlinksMarkdown.js +2 -2
  68. package/lib/Utils/downscaleImageToDataURL/index.js +1 -1
  69. package/lib/Utils/getActivityUniqueId.js +1 -1
  70. package/lib/connectToWebChat.js +2 -2
  71. package/lib/hooks/internal/BypassSpeechSynthesisPonyfill.js +3 -3
  72. package/lib/hooks/internal/useMemoize.d.ts +1 -1
  73. package/lib/hooks/internal/useMemoize.d.ts.map +1 -1
  74. package/lib/hooks/internal/useMemoize.js +1 -1
  75. package/lib/hooks/useObserveTranscriptFocus.d.ts +2 -2
  76. package/lib/hooks/useObserveTranscriptFocus.d.ts.map +1 -1
  77. package/lib/hooks/useObserveTranscriptFocus.js +1 -1
  78. package/lib/hooks/useSendFiles.d.ts.map +1 -1
  79. package/lib/hooks/useSendFiles.js +4 -4
  80. package/lib/index.d.ts +3 -3
  81. package/lib/index.js +5 -5
  82. package/lib/providers/ActivityTree/ActivityTreeComposer.d.ts.map +1 -1
  83. package/lib/providers/ActivityTree/ActivityTreeComposer.js +2 -2
  84. package/lib/providers/ActivityTree/private/types.d.ts +2 -2
  85. package/lib/providers/ActivityTree/private/types.d.ts.map +1 -1
  86. package/lib/providers/ActivityTree/private/useActivitiesWithRenderer.d.ts +2 -2
  87. package/lib/providers/ActivityTree/private/useActivitiesWithRenderer.d.ts.map +1 -1
  88. package/lib/providers/ActivityTree/private/useActivitiesWithRenderer.js +1 -1
  89. package/lib/providers/ActivityTree/private/useActivityTreeWithRenderer.d.ts.map +1 -1
  90. package/lib/providers/ActivityTree/private/useActivityTreeWithRenderer.js +1 -1
  91. package/lib/providers/LiveRegionTwin/LiveRegionTwinComposer.d.ts +2 -0
  92. package/lib/providers/LiveRegionTwin/LiveRegionTwinComposer.d.ts.map +1 -1
  93. package/lib/providers/LiveRegionTwin/LiveRegionTwinComposer.js +10 -6
  94. package/lib/providers/LiveRegionTwin/private/LiveRegionTwinContainer.d.ts +1 -0
  95. package/lib/providers/LiveRegionTwin/private/LiveRegionTwinContainer.d.ts.map +1 -1
  96. package/lib/providers/LiveRegionTwin/private/LiveRegionTwinContainer.js +22 -8
  97. package/lib/providers/TranscriptFocus/TranscriptFocusComposer.js +1 -1
  98. package/package.json +24 -20
  99. package/src/Activity/Speak.tsx +21 -18
  100. package/src/Activity/StackedLayout.tsx +20 -26
  101. package/src/Attachment/FileContent.tsx +1 -1
  102. package/src/BasicSendBox.tsx +3 -2
  103. package/src/BasicTranscript.tsx +29 -13
  104. package/src/Middleware/Activity/createCoreMiddleware.tsx +5 -10
  105. package/src/Middleware/ActivityStatus/SendStatus/SendStatus.tsx +5 -3
  106. package/src/Middleware/ActivityStatus/Timestamp.tsx +5 -3
  107. package/src/SendBox/SuggestedAction.tsx +1 -1
  108. package/src/SendBox/SuggestedActions.tsx +1 -1
  109. package/src/Transcript/ActivityRow.tsx +4 -5
  110. package/src/Transcript/ActivityTextAlt.tsx +2 -3
  111. package/src/Transcript/LiveRegionTranscript.tsx +27 -12
  112. package/src/Transcript/useActivityAccessibleName.ts +3 -4
  113. package/src/Transcript/useTypistNames.ts +37 -0
  114. package/src/Utils/getActivityUniqueId.ts +2 -2
  115. package/src/hooks/internal/useMemoize.ts +6 -6
  116. package/src/hooks/useObserveTranscriptFocus.ts +2 -2
  117. package/src/hooks/useSendFiles.ts +7 -5
  118. package/src/providers/ActivityTree/ActivityTreeComposer.tsx +2 -2
  119. package/src/providers/ActivityTree/private/types.ts +2 -2
  120. package/src/providers/ActivityTree/private/useActivitiesWithRenderer.ts +4 -6
  121. package/src/providers/ActivityTree/private/useActivityTreeWithRenderer.ts +6 -11
  122. package/src/providers/LiveRegionTwin/LiveRegionTwinComposer.tsx +10 -3
  123. package/src/providers/LiveRegionTwin/private/LiveRegionTwinContainer.tsx +22 -6
  124. package/lib/Middleware/GroupActivities/createCoreMiddleware.js +0 -69
  125. package/src/Middleware/GroupActivities/createCoreMiddleware.js +0 -57
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
3
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
4
 
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
@@ -66,7 +66,8 @@ var LiveRegionTwinComposer = function LiveRegionTwinComposer(_ref) {
66
66
  className = _ref.className,
67
67
  _ref$fadeAfter = _ref.fadeAfter,
68
68
  fadeAfter = _ref$fadeAfter === void 0 ? DEFAULT_FADE_AFTER : _ref$fadeAfter,
69
- role = _ref.role;
69
+ role = _ref.role,
70
+ textElementClassName = _ref.textElementClassName;
70
71
 
71
72
  var _useState = (0, _react.useState)([]),
72
73
  _useState2 = _slicedToArray(_useState, 2),
@@ -129,7 +130,8 @@ var LiveRegionTwinComposer = function LiveRegionTwinComposer(_ref) {
129
130
  "aria-live": ariaLive,
130
131
  "aria-roledescription": ariaRoleDescription,
131
132
  className: className,
132
- role: role
133
+ role: role,
134
+ textElementClassName: textElementClassName
133
135
  }), children);
134
136
  };
135
137
 
@@ -140,7 +142,8 @@ LiveRegionTwinComposer.defaultProps = {
140
142
  children: undefined,
141
143
  className: undefined,
142
144
  fadeAfter: DEFAULT_FADE_AFTER,
143
- role: undefined
145
+ role: undefined,
146
+ textElementClassName: undefined
144
147
  };
145
148
  LiveRegionTwinComposer.propTypes = {
146
149
  'aria-label': _propTypes.default.string,
@@ -149,8 +152,9 @@ LiveRegionTwinComposer.propTypes = {
149
152
  children: _propTypes.default.any,
150
153
  className: _propTypes.default.string,
151
154
  fadeAfter: _propTypes.default.number,
152
- role: _propTypes.default.string
155
+ role: _propTypes.default.string,
156
+ textElementClassName: _propTypes.default.string
153
157
  };
154
158
  var _default = LiveRegionTwinComposer;
155
159
  exports.default = _default;
156
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wcm92aWRlcnMvTGl2ZVJlZ2lvblR3aW4vTGl2ZVJlZ2lvblR3aW5Db21wb3Nlci50c3giXSwibmFtZXMiOlsiREVGQVVMVF9BUklBX0xJVkUiLCJERUZBVUxUX0ZBREVfQUZURVIiLCJMaXZlUmVnaW9uVHdpbkNvbXBvc2VyIiwiYXJpYUxhYmVsIiwiYXJpYUxpdmUiLCJhcmlhUm9sZURlc2NyaXB0aW9uIiwiY2hpbGRyZW4iLCJjbGFzc05hbWUiLCJmYWRlQWZ0ZXIiLCJyb2xlIiwic3RhdGljRWxlbWVudEVudHJpZXMiLCJzZXRTdGF0aWNFbGVtZW50RW50cmllcyIsImZhZGVBZnRlclJlZiIsIm1hcmtBbGxBc1JlbmRlcmVkVGltZW91dElkUmVmIiwibmV4dEtleVJlZiIsInN0YXRpY0VsZW1lbnRFbnRyaWVzUmVmIiwibWFya0FsbEFzUmVuZGVyZWQiLCJjdXJyZW50IiwibGVuZ3RoIiwiY2xlYXJUaW1lb3V0Iiwic2V0VGltZW91dCIsInF1ZXVlU3RhdGljRWxlbWVudCIsImVsZW1lbnQiLCJrZXkiLCJlbnRyaWVzIiwic3RhdGljRWxlbWVudEVudHJpZXNTdGF0ZSIsIk9iamVjdCIsImZyZWV6ZSIsImNvbnRleHQiLCJkZWZhdWx0UHJvcHMiLCJ1bmRlZmluZWQiLCJwcm9wVHlwZXMiLCJQcm9wVHlwZXMiLCJzdHJpbmciLCJvbmVPZiIsImFueSIsIm51bWJlciJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBSUE7O0FBQ0E7O0FBQ0E7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFJQSxJQUFNQSxpQkFBaUIsR0FBRyxRQUExQjtBQUNBLElBQU1DLGtCQUFrQixHQUFHLElBQTNCOztBQTRCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBTUMsc0JBQXVELEdBQUcsU0FBMURBLHNCQUEwRCxPQVExRDtBQUFBLE1BUFVDLFNBT1YsUUFQSixZ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QyxJQUFBLEtBQUssRUFBRUc7QUFBdkMsa0JBQ0UsNkJBQUMsZ0NBQUQ7QUFDRSxrQkFBWXpCLFNBRGQ7QUFFRSxpQkFBV0MsUUFGYjtBQUdFLDRCQUFzQkMsbUJBSHhCO0FBSUUsSUFBQSxTQUFTLEVBQUVFLFNBSmI7QUFLRSxJQUFBLElBQUksRUFBRUU7QUFMUixJQURGLEVBUUdILFFBUkgsQ0FERjtBQVlELENBaEZEOztBQWtGQUosc0JBQXNCLENBQUMyQixZQUF2QixHQUFzQztBQUNwQyxnQkFBY0MsU0FEc0I7QUFFcEMsZUFBYTlCLGlCQUZ1QjtBQUdwQywwQkFBd0I4QixTQUhZO0FBSXBDeEIsRUFBQUEsUUFBUSxFQUFFd0IsU0FKMEI7QUFLcEN2QixFQUFBQSxTQUFTLEVBQUV1QixTQUx5QjtBQU1wQ3RCLEVBQUFBLFNBQVMsRUFBRVAsa0JBTnlCO0FBT3BDUSxFQUFBQSxJQUFJLEVBQUVxQjtBQVA4QixDQUF0QztBQVVBNUIsc0JBQXNCLENBQUM2QixTQUF2QixHQUFtQztBQUNqQyxnQkFBY0MsbUJBQVVDLE1BRFM7QUFFakMsZUFBYUQsbUJBQVVFLEtBQVYsQ0FBZ0IsQ0FBQyxXQUFELEVBQWMsUUFBZCxDQUFoQixDQUZvQjtBQUdqQywwQkFBd0JGLG1CQUFVQyxNQUhEO0FBSWpDM0IsRUFBQUEsUUFBUSxFQUFFMEIsbUJBQVVHLEdBSmE7QUFLakM1QixFQUFBQSxTQUFTLEVBQUV5QixtQkFBVUMsTUFMWTtBQU1qQ3pCLEVBQUFBLFNBQVMsRUFBRXdCLG1CQUFVSSxNQU5ZO0FBT2pDM0IsRUFBQUEsSUFBSSxFQUFFdUIsbUJBQVVDO0FBUGlCLENBQW5DO2VBVWUvQixzQiIsInNvdXJjZVJvb3QiOiJjb21wb25lbnQ6Ly8vIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBSZWFjdCwgeyB1c2VDYWxsYmFjaywgdXNlRWZmZWN0LCB1c2VNZW1vLCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgdHlwZSB7IEZDLCBQcm9wc1dpdGhDaGlsZHJlbiB9IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IExpdmVSZWdpb25Ud2luQ29udGFpbmVyIGZyb20gJy4vcHJpdmF0ZS9MaXZlUmVnaW9uVHdpbkNvbnRhaW5lcic7XG5pbXBvcnQgTGl2ZVJlZ2lvblR3aW5Db250ZXh0IGZyb20gJy4vcHJpdmF0ZS9Db250ZXh0JztcbmltcG9ydCB1c2VWYWx1ZVJlZiBmcm9tICcuLi8uLi9ob29rcy9pbnRlcm5hbC91c2VWYWx1ZVJlZic7XG5cbmltcG9ydCB0eXBlIHsgU3RhdGljRWxlbWVudCwgU3RhdGljRWxlbWVudEVudHJ5IH0gZnJvbSAnLi9wcml2YXRlL3R5cGVzJztcblxuY29uc3QgREVGQVVMVF9BUklBX0xJVkUgPSAncG9saXRlJztcbmNvbnN0IERFRkFVTFRfRkFERV9BRlRFUiA9IDEwMDA7XG5cbnR5cGUgTGl2ZVJlZ2lvblR3aW5Db21wb3NlclByb3BzID0gUHJvcHNXaXRoQ2hpbGRyZW48e1xuICAvKiogT3B0aW9uYWwgXCJhcmlhLWxhYmVsXCIgYXR0cmlidXRlIGZvciB0aGUgbGl2ZSByZWdpb24gdHdpbiBjb250YWluZXIuICovXG4gICdhcmlhLWxhYmVsJz86IHN0cmluZztcblxuICAvKiogXCJhcmlhLWxpdmVcIiBhdHRyaWJ1dGUgZm9yIHRoZSBsaXZlIHJlZ2lvbiB0d2luIGNvbnRhaW5lciwgZGVmYXVsdHMgdG8gYCdwb2xpdGUnYC4gKi9cbiAgJ2FyaWEtbGl2ZSc/OiAnYXNzZXJ0aXZlJyB8ICdwb2xpdGUnO1xuXG4gIC8qKiBPcHRpb25hbCBcImFyaWEtcm9sZWRlc2NyaXB0aW9uXCIgYXR0cmlidXRlIGZvciB0aGUgbGl2ZSByZWdpb24gdHdpbiBjb250YWluZXIuICovXG4gICdhcmlhLXJvbGVkZXNjcmlwdGlvbic/OiBzdHJpbmc7XG5cbiAgLyoqIE9wdGlvbmFsIFwiY2xhc3NOYW1lXCIgYXR0cmlidXRlIGZvciB0aGUgbGl2ZSByZWdpb24gdHdpbiBjb250YWluZXIuICovXG4gIGNsYXNzTmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogU3RhdGljIGVsZW1lbnRzIHdpbGwgZmFkZSBvdXQgYWZ0ZXIgdGhpcyB0aW1lb3V0IHZhbHVlIHNwZWNpZmllZCBpbiBtaWxsaXNlY29uZHMsIGRlZmF1bHRzIHRvIGAxMDAwYC5cbiAgICpcbiAgICogV2hlbiBsb3dlcmluZyB0aGlzIHZhbHVlLCBtYWtlIHN1cmUgc2NyZWVuIHJlYWRlciBjYW4gY29udGludWUgdG8gcGljayB1cCBuZXcgc3RhdGljIGVsZW1lbnRzIGJlZm9yZSBmYWRpbmcgb3V0LlxuICAgKlxuICAgKiBJZiB0aGlzIHByb3AgaXMgdXBkYXRlZCwgaXQgd2lsbCBiZSByZWZsZWN0ZWQgaW4gbmV4dCBxdWV1ZWluZyBlbGVtZW50cy5cbiAgICovXG4gIGZhZGVBZnRlcj86IG51bWJlcjtcblxuICAvKiogT3B0aW9uYWwgXCJyb2xlXCIgYXR0cmlidXRlIGZvciB0aGUgbGl2ZSByZWdpb24gdHdpbiBjb250YWluZXIuICovXG4gIHJvbGU/OiBzdHJpbmc7XG59PjtcblxuLyoqXG4gKiBMaXZlIHJlZ2lvbiB0d2luIGlzIGFuIFVJIGNvbXBvbmVudCBmb3IgcXVldWVpbmcgdGV4dHMgb3IgZWxlbWVudHMgdG8gdGhlIHNjcmVlbiByZWFkZXIgdXNpbmdcbiAqIGEgY29udGFpbmVyIGVsZW1lbnQgd2l0aCBgYXJpYS1saXZlYCBhdHRyaWJ1dGUgc2V0LlxuICpcbiAqIEFmdGVyIHRoZSB0ZXh0IGlzIHJlbmRlcmVkIGFuZCBxdWV1ZWQsIGl0IHdpbGwgYmUgcmVtb3ZlZCB0byByZWR1Y2UgYnVyZGVuIG9uIHRoZSBET00gdHJlZS5cbiAqIEN1cnJlbnRseSwgd2UgYXNzdW1lIHRoZSBhc3Npc3RpdmUgdGVjaG5vbG9naWVzIHNob3VsZCBwaWNrIHVwIHRoZSB0ZXh0IHdpdGhpbiAxIHNlY29uZCBvZiByZW5kZXJpbmcuXG4gKiBUaGlzIHZhbHVlIGlzIGNvbmZpZ3VyYWJsZS5cbiAqXG4gKiBCeSBkZWZhdWx0LCB0aGUgbGl2ZSByZWdpb24gaXMgdmlzaWJsZS4gSWYgaXMgaXMgbm90IGRlc2lyYWJsZSwgdGhlIGNhbGxlciBjYW4gdXNlIGBjbGFzc05hbWVgIHByb3AgdG9cbiAqIGhpZGUgaXRzIHZpc3VhbHMuXG4gKi9cbmNvbnN0IExpdmVSZWdpb25Ud2luQ29tcG9zZXI6IEZDPExpdmVSZWdpb25Ud2luQ29tcG9zZXJQcm9wcz4gPSAoe1xuICAnYXJpYS1sYWJlbCc6IGFyaWFMYWJlbCxcbiAgJ2FyaWEtbGl2ZSc6IGFyaWFMaXZlID0gREVGQVVMVF9BUklBX0xJVkUsXG4gICdhcmlhLXJvbGVkZXNjcmlwdGlvbic6IGFyaWFSb2xlRGVzY3JpcHRpb24sXG4gIGNoaWxkcmVuLFxuICBjbGFzc05hbWUsXG4gIGZhZGVBZnRlciA9IERFRkFVTFRfRkFERV9BRlRFUixcbiAgcm9sZVxufSkgPT4ge1xuICBjb25zdCBbc3RhdGljRWxlbWVudEVudHJpZXMsIHNldFN0YXRpY0VsZW1lbnRFbnRyaWVzXSA9IHVzZVN0YXRlPFN0YXRpY0VsZW1lbnRFbnRyeVtdPihbXSk7XG4gIGNvbnN0IGZhZGVBZnRlclJlZiA9IHVzZVZhbHVlUmVmKGZhZGVBZnRlcik7XG4gIGNvbnN0IG1hcmtBbGxBc1JlbmRlcmVkVGltZW91dElkUmVmID0gdXNlUmVmPGFueT4oKTtcbiAgY29uc3QgbmV4dEtleVJlZiA9IHVzZVJlZjxudW1iZXI+KDEpO1xuXG4gIGNvbnN0IHN0YXRpY0VsZW1lbnRFbnRyaWVzUmVmID0gdXNlVmFsdWVSZWYoc3RhdGljRWxlbWVudEVudHJpZXMpO1xuXG4gIC8vIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIGJ5IGFuIGVmZmVjdCBob29rIGB1c2VNYXJrQWxsQXNSZW5kZXJlZEVmZmVjdGAsIGl0IG11c3QgYmUgZGVzaWduZWQgd2l0aCBjb252ZXJnaW5nIGluIG1pbmQuXG4gIC8vIFRvIHByZXZlbnQgaW5maW5pdGUgcmVuZGVyIGxvb3AsIGFmdGVyIG11bHRpcGxlIGNhbGxzIHRvIHRoaXMgZnVuY3Rpb24sIGl0IHNob3VsZCBldmVudHVhbGx5IG5vLW9wLlxuICBjb25zdCBtYXJrQWxsQXNSZW5kZXJlZCA9IHVzZUNhbGxiYWNrPCgpID0+IHZvaWQ+KCgpID0+IHtcbiAgICBpZiAoIXN0YXRpY0VsZW1lbnRFbnRyaWVzUmVmLmN1cnJlbnQubGVuZ3RoKSB7XG4gICAgICAvLyBOb3RoaW5nIHRvIHJlbW92ZS5cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBXaGVuIHJlbW92aW5nIGVhY2ggZWxlbWVudCBvbmUtYnktb25lIGJhc2VkIG9uIGFuIGluZGl2aWR1YWwgdGltZW91dCwgTmFycmF0b3Igd291bGQgbmFycmF0ZSB0aGVtIHR3aWNlIG9jY2FzaW9uYWxseS5cbiAgICAvLyBQb3NzaWJseSBpdCB0aGluayBzb21lIGVsZW1lbnRzIHRoYXQgaXMgbm90IHJlbW92ZWQgZHVyaW5nIHRoZSBjdXJyZW50IGN5Y2xlLCBhcmUgbmV3IGVsZW1lbnRzIGFuZCBxdWV1ZWQgdGhlbSB0d2ljZS5cbiAgICAvLyBUaHVzLCB3ZSBhcmUgcmVtb3ZpbmcgYWxsIGF0IG9uY2UgdG8gcHJldmVudCBidWdzIGluIE5hcnJhdG9yLlxuICAgIG1hcmtBbGxBc1JlbmRlcmVkVGltZW91dElkUmVmLmN1cnJlbnQgJiYgY2xlYXJUaW1lb3V0KG1hcmtBbGxBc1JlbmRlcmVkVGltZW91dElkUmVmLmN1cnJlbnQpO1xuXG4gICAgbWFya0FsbEFzUmVuZGVyZWRUaW1lb3V0SWRSZWYuY3VycmVudCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgLy8gV2UgYXJlIHBsYXlpbmcgc2FmZSBieSB1c2luZyB2YWx1ZSByZWYgdG8gY2hlY2sgaXRzIGxlbmd0aCBoZXJlLlxuICAgICAgLy8gSWYgd2UgYXJlIGNlcnRhaW4gdGhhdCBgc2V0U3RhdGljRWxlbWVudHMoZW1wdHlBcnJheSA9PiBlbXB0eUFycmF5KWAgaXMgYSBuby1vcCxcbiAgICAgIC8vIHdlIGNvdWxkIHJlcGxhY2UgaXQgd2l0aCBqdXN0IHRoZSBzZXR0ZXIgZnVuY3Rpb24uXG4gICAgICBzdGF0aWNFbGVtZW50RW50cmllc1JlZi5jdXJyZW50Lmxlbmd0aCAmJiBzZXRTdGF0aWNFbGVtZW50RW50cmllcyhbXSk7XG4gICAgfSwgZmFkZUFmdGVyUmVmLmN1cnJlbnQpO1xuICB9LCBbZmFkZUFmdGVyUmVmLCBtYXJrQWxsQXNSZW5kZXJlZFRpbWVvdXRJZFJlZiwgc2V0U3RhdGljRWxlbWVudEVudHJpZXMsIHN0YXRpY0VsZW1lbnRFbnRyaWVzUmVmXSk7XG5cbiAgLy8gV2hlbiB0aGlzIGNvbXBvbmVudCBpcyB1bm1vdW50aW5nLCBtYWtlIHN1cmUgYWxsIGZ1dHVyZSBgc2V0VGltZW91dGAgYXJlIGNsZWFyZWQgYW5kIHNob3VsZCBub3QgYmUgZmlyZWQuXG4gIHVzZUVmZmVjdChcbiAgICAoKSA9PiAoKSA9PiBtYXJrQWxsQXNSZW5kZXJlZFRpbWVvdXRJZFJlZi5jdXJyZW50ICYmIGNsZWFyVGltZW91dChtYXJrQWxsQXNSZW5kZXJlZFRpbWVvdXRJZFJlZi5jdXJyZW50KSxcbiAgICBbbWFya0FsbEFzUmVuZGVyZWRUaW1lb3V0SWRSZWZdXG4gICk7XG5cbiAgY29uc3QgcXVldWVTdGF0aWNFbGVtZW50ID0gdXNlQ2FsbGJhY2s8KHN0YXRpY0VsZW1lbnQ6IFN0YXRpY0VsZW1lbnQpID0+IHZvaWQ+KFxuICAgIChlbGVtZW50OiBTdGF0aWNFbGVtZW50KTogdm9pZCA9PiB7XG4gICAgICBjb25zdCBrZXkgPSBuZXh0S2V5UmVmLmN1cnJlbnQ7XG5cbiAgICAgIG5leHRLZXlSZWYuY3VycmVudCA9IG5leHRLZXlSZWYuY3VycmVudCArIDE7XG5cbiAgICAgIHNldFN0YXRpY0VsZW1lbnRFbnRyaWVzKGVudHJpZXMgPT4gWy4uLmVudHJpZXMsIHsgZWxlbWVudCwga2V5IH1dKTtcbiAgICB9LFxuICAgIFtuZXh0S2V5UmVmLCBzZXRTdGF0aWNFbGVtZW50RW50cmllc11cbiAgKTtcblxuICBjb25zdCBzdGF0aWNFbGVtZW50RW50cmllc1N0YXRlID0gdXNlTWVtbzxyZWFkb25seSBbcmVhZG9ubHkgU3RhdGljRWxlbWVudEVudHJ5W11dPihcbiAgICAoKSA9PiBPYmplY3QuZnJlZXplKFtPYmplY3QuZnJlZXplKHN0YXRpY0VsZW1lbnRFbnRyaWVzKV0pIGFzIHJlYWRvbmx5IFtyZWFkb25seSBTdGF0aWNFbGVtZW50RW50cnlbXV0sXG4gICAgW3N0YXRpY0VsZW1lbnRFbnRyaWVzXVxuICApO1xuXG4gIGNvbnN0IGNvbnRleHQgPSB1c2VNZW1vKFxuICAgICgpID0+ICh7XG4gICAgICBtYXJrQWxsQXNSZW5kZXJlZCxcbiAgICAgIHF1ZXVlU3RhdGljRWxlbWVudCxcbiAgICAgIHN0YXRpY0VsZW1lbnRFbnRyaWVzU3RhdGVcbiAgICB9KSxcbiAgICBbbWFya0FsbEFzUmVuZGVyZWQsIHF1ZXVlU3RhdGljRWxlbWVudCwgc3RhdGljRWxlbWVudEVudHJpZXNTdGF0ZV1cbiAgKTtcblxuICByZXR1cm4gKFxuICAgIDxMaXZlUmVnaW9uVHdpbkNvbnRleHQuUHJvdmlkZXIgdmFsdWU9e2NvbnRleHR9PlxuICAgICAgPExpdmVSZWdpb25Ud2luQ29udGFpbmVyXG4gICAgICAgIGFyaWEtbGFiZWw9e2FyaWFMYWJlbH1cbiAgICAgICAgYXJpYS1saXZlPXthcmlhTGl2ZX1cbiAgICAgICAgYXJpYS1yb2xlZGVzY3JpcHRpb249e2FyaWFSb2xlRGVzY3JpcHRpb259XG4gICAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lfVxuICAgICAgICByb2xlPXtyb2xlfVxuICAgICAgLz5cbiAgICAgIHtjaGlsZHJlbn1cbiAgICA8L0xpdmVSZWdpb25Ud2luQ29udGV4dC5Qcm92aWRlcj5cbiAgKTtcbn07XG5cbkxpdmVSZWdpb25Ud2luQ29tcG9zZXIuZGVmYXVsdFByb3BzID0ge1xuICAnYXJpYS1sYWJlbCc6IHVuZGVmaW5lZCxcbiAgJ2FyaWEtbGl2ZSc6IERFRkFVTFRfQVJJQV9MSVZFLFxuICAnYXJpYS1yb2xlZGVzY3JpcHRpb24nOiB1bmRlZmluZWQsXG4gIGNoaWxkcmVuOiB1bmRlZmluZWQsXG4gIGNsYXNzTmFtZTogdW5kZWZpbmVkLFxuICBmYWRlQWZ0ZXI6IERFRkFVTFRfRkFERV9BRlRFUixcbiAgcm9sZTogdW5kZWZpbmVkXG59O1xuXG5MaXZlUmVnaW9uVHdpbkNvbXBvc2VyLnByb3BUeXBlcyA9IHtcbiAgJ2FyaWEtbGFiZWwnOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAnYXJpYS1saXZlJzogUHJvcFR5cGVzLm9uZU9mKFsnYXNzZXJ0aXZlJywgJ3BvbGl0ZSddKSxcbiAgJ2FyaWEtcm9sZWRlc2NyaXB0aW9uJzogUHJvcFR5cGVzLnN0cmluZyxcbiAgY2hpbGRyZW46IFByb3BUeXBlcy5hbnksXG4gIGNsYXNzTmFtZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgZmFkZUFmdGVyOiBQcm9wVHlwZXMubnVtYmVyLFxuICByb2xlOiBQcm9wVHlwZXMuc3RyaW5nXG59O1xuXG5leHBvcnQgZGVmYXVsdCBMaXZlUmVnaW9uVHdpbkNvbXBvc2VyO1xuIl19
160
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wcm92aWRlcnMvTGl2ZVJlZ2lvblR3aW4vTGl2ZVJlZ2lvblR3aW5Db21wb3Nlci50c3giXSwibmFtZXMiOlsiREVGQVVMVF9BUklBX0xJVkUiLCJERUZBVUxUX0ZBREVfQUZURVIiLCJMaXZlUmVnaW9uVHdpbkNvbXBvc2VyIiwiYXJpYUxhYmVsIiwiYXJpYUxpdmUiLCJhcmlhUm9sZURlc2NyaXB0aW9uIiwiY2hpbGRyZW4iLCJjbGFzc05hbWUiLCJmYWRlQWZ0ZXIiLCJyb2xlIiwidGV4dEVsZW1lbnRDbGFzc05hbWUiLCJzdGF0aWNFbGVtZW50RW50cmllcyIsInNldFN0YXRpY0VsZW1lbnRFbnRyaWVzIiwiZmFkZUFmdGVyUmVmIiwibWFya0FsbEFzUmVuZGVyZWRUaW1lb3V0SWRSZWYiLCJuZXh0S2V5UmVmIiwic3RhdGljRWxlbWVudEVudHJpZXNSZWYiLCJtYXJrQWxsQXNSZW5kZXJlZCIsImN1cnJlbnQiLCJsZW5ndGgiLCJjbGVhclRpbWVvdXQiLCJzZXRUaW1lb3V0IiwicXVldWVTdGF0aWNFbGVtZW50IiwiZWxlbWVudCIsImtleSIsImVudHJpZXMiLCJzdGF0aWNFbGVtZW50RW50cmllc1N0YXRlIiwiT2JqZWN0IiwiZnJlZXplIiwiY29udGV4dCIsImRlZmF1bHRQcm9wcyIsInVuZGVmaW5lZCIsInByb3BUeXBlcyIsIlByb3BUeXBlcyIsInN0cmluZyIsIm9uZU9mIiwiYW55IiwibnVtYmVyIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFJQTs7QUFDQTs7QUFDQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUlBLElBQU1BLGlCQUFpQixHQUFHLFFBQTFCO0FBQ0EsSUFBTUMsa0JBQWtCLEdBQUcsSUFBM0I7O0FBK0JBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFNQyxzQkFBdUQsR0FBRyxTQUExREEsc0JBQTBELE9BUzFE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Oi8vLyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgUmVhY3QsIHsgdXNlQ2FsbGJhY2ssIHVzZUVmZmVjdCwgdXNlTWVtbywgdXNlUmVmLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHR5cGUgeyBGQywgUHJvcHNXaXRoQ2hpbGRyZW4gfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCBMaXZlUmVnaW9uVHdpbkNvbnRhaW5lciBmcm9tICcuL3ByaXZhdGUvTGl2ZVJlZ2lvblR3aW5Db250YWluZXInO1xuaW1wb3J0IExpdmVSZWdpb25Ud2luQ29udGV4dCBmcm9tICcuL3ByaXZhdGUvQ29udGV4dCc7XG5pbXBvcnQgdXNlVmFsdWVSZWYgZnJvbSAnLi4vLi4vaG9va3MvaW50ZXJuYWwvdXNlVmFsdWVSZWYnO1xuXG5pbXBvcnQgdHlwZSB7IFN0YXRpY0VsZW1lbnQsIFN0YXRpY0VsZW1lbnRFbnRyeSB9IGZyb20gJy4vcHJpdmF0ZS90eXBlcyc7XG5cbmNvbnN0IERFRkFVTFRfQVJJQV9MSVZFID0gJ3BvbGl0ZSc7XG5jb25zdCBERUZBVUxUX0ZBREVfQUZURVIgPSAxMDAwO1xuXG50eXBlIExpdmVSZWdpb25Ud2luQ29tcG9zZXJQcm9wcyA9IFByb3BzV2l0aENoaWxkcmVuPHtcbiAgLyoqIE9wdGlvbmFsIFwiYXJpYS1sYWJlbFwiIGF0dHJpYnV0ZSBmb3IgdGhlIGxpdmUgcmVnaW9uIHR3aW4gY29udGFpbmVyLiAqL1xuICAnYXJpYS1sYWJlbCc/OiBzdHJpbmc7XG5cbiAgLyoqIFwiYXJpYS1saXZlXCIgYXR0cmlidXRlIGZvciB0aGUgbGl2ZSByZWdpb24gdHdpbiBjb250YWluZXIsIGRlZmF1bHRzIHRvIGAncG9saXRlJ2AuICovXG4gICdhcmlhLWxpdmUnPzogJ2Fzc2VydGl2ZScgfCAncG9saXRlJztcblxuICAvKiogT3B0aW9uYWwgXCJhcmlhLXJvbGVkZXNjcmlwdGlvblwiIGF0dHJpYnV0ZSBmb3IgdGhlIGxpdmUgcmVnaW9uIHR3aW4gY29udGFpbmVyLiAqL1xuICAnYXJpYS1yb2xlZGVzY3JpcHRpb24nPzogc3RyaW5nO1xuXG4gIC8qKiBPcHRpb25hbCBcImNsYXNzTmFtZVwiIGF0dHJpYnV0ZSBmb3IgdGhlIGxpdmUgcmVnaW9uIHR3aW4gY29udGFpbmVyLiAqL1xuICBjbGFzc05hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFN0YXRpYyBlbGVtZW50cyB3aWxsIGZhZGUgb3V0IGFmdGVyIHRoaXMgdGltZW91dCB2YWx1ZSBzcGVjaWZpZWQgaW4gbWlsbGlzZWNvbmRzLCBkZWZhdWx0cyB0byBgMTAwMGAuXG4gICAqXG4gICAqIFdoZW4gbG93ZXJpbmcgdGhpcyB2YWx1ZSwgbWFrZSBzdXJlIHNjcmVlbiByZWFkZXIgY2FuIGNvbnRpbnVlIHRvIHBpY2sgdXAgbmV3IHN0YXRpYyBlbGVtZW50cyBiZWZvcmUgZmFkaW5nIG91dC5cbiAgICpcbiAgICogSWYgdGhpcyBwcm9wIGlzIHVwZGF0ZWQsIGl0IHdpbGwgYmUgcmVmbGVjdGVkIGluIG5leHQgcXVldWVpbmcgZWxlbWVudHMuXG4gICAqL1xuICBmYWRlQWZ0ZXI/OiBudW1iZXI7XG5cbiAgLyoqIE9wdGlvbmFsIFwicm9sZVwiIGF0dHJpYnV0ZSBmb3IgdGhlIGxpdmUgcmVnaW9uIHR3aW4gY29udGFpbmVyLiAqL1xuICByb2xlPzogc3RyaW5nO1xuXG4gIC8qKiBPcHRpb25hbCBcImNsYXNzTmFtZVwiIGF0dHJpYnV0ZSBmb3Igc3RhdGljIHRleHQgZWxlbWVudC4gKi9cbiAgdGV4dEVsZW1lbnRDbGFzc05hbWU/OiBzdHJpbmc7XG59PjtcblxuLyoqXG4gKiBMaXZlIHJlZ2lvbiB0d2luIGlzIGFuIFVJIGNvbXBvbmVudCBmb3IgcXVldWVpbmcgdGV4dHMgb3IgZWxlbWVudHMgdG8gdGhlIHNjcmVlbiByZWFkZXIgdXNpbmdcbiAqIGEgY29udGFpbmVyIGVsZW1lbnQgd2l0aCBgYXJpYS1saXZlYCBhdHRyaWJ1dGUgc2V0LlxuICpcbiAqIEFmdGVyIHRoZSB0ZXh0IGlzIHJlbmRlcmVkIGFuZCBxdWV1ZWQsIGl0IHdpbGwgYmUgcmVtb3ZlZCB0byByZWR1Y2UgYnVyZGVuIG9uIHRoZSBET00gdHJlZS5cbiAqIEN1cnJlbnRseSwgd2UgYXNzdW1lIHRoZSBhc3Npc3RpdmUgdGVjaG5vbG9naWVzIHNob3VsZCBwaWNrIHVwIHRoZSB0ZXh0IHdpdGhpbiAxIHNlY29uZCBvZiByZW5kZXJpbmcuXG4gKiBUaGlzIHZhbHVlIGlzIGNvbmZpZ3VyYWJsZS5cbiAqXG4gKiBCeSBkZWZhdWx0LCB0aGUgbGl2ZSByZWdpb24gaXMgdmlzaWJsZS4gSWYgaXMgaXMgbm90IGRlc2lyYWJsZSwgdGhlIGNhbGxlciBjYW4gdXNlIGBjbGFzc05hbWVgIHByb3AgdG9cbiAqIGhpZGUgaXRzIHZpc3VhbHMuXG4gKi9cbmNvbnN0IExpdmVSZWdpb25Ud2luQ29tcG9zZXI6IEZDPExpdmVSZWdpb25Ud2luQ29tcG9zZXJQcm9wcz4gPSAoe1xuICAnYXJpYS1sYWJlbCc6IGFyaWFMYWJlbCxcbiAgJ2FyaWEtbGl2ZSc6IGFyaWFMaXZlID0gREVGQVVMVF9BUklBX0xJVkUsXG4gICdhcmlhLXJvbGVkZXNjcmlwdGlvbic6IGFyaWFSb2xlRGVzY3JpcHRpb24sXG4gIGNoaWxkcmVuLFxuICBjbGFzc05hbWUsXG4gIGZhZGVBZnRlciA9IERFRkFVTFRfRkFERV9BRlRFUixcbiAgcm9sZSxcbiAgdGV4dEVsZW1lbnRDbGFzc05hbWVcbn0pID0+IHtcbiAgY29uc3QgW3N0YXRpY0VsZW1lbnRFbnRyaWVzLCBzZXRTdGF0aWNFbGVtZW50RW50cmllc10gPSB1c2VTdGF0ZTxTdGF0aWNFbGVtZW50RW50cnlbXT4oW10pO1xuICBjb25zdCBmYWRlQWZ0ZXJSZWYgPSB1c2VWYWx1ZVJlZihmYWRlQWZ0ZXIpO1xuICBjb25zdCBtYXJrQWxsQXNSZW5kZXJlZFRpbWVvdXRJZFJlZiA9IHVzZVJlZjxhbnk+KCk7XG4gIGNvbnN0IG5leHRLZXlSZWYgPSB1c2VSZWY8bnVtYmVyPigxKTtcblxuICBjb25zdCBzdGF0aWNFbGVtZW50RW50cmllc1JlZiA9IHVzZVZhbHVlUmVmKHN0YXRpY0VsZW1lbnRFbnRyaWVzKTtcblxuICAvLyBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCBieSBhbiBlZmZlY3QgaG9vayBgdXNlTWFya0FsbEFzUmVuZGVyZWRFZmZlY3RgLCBpdCBtdXN0IGJlIGRlc2lnbmVkIHdpdGggY29udmVyZ2luZyBpbiBtaW5kLlxuICAvLyBUbyBwcmV2ZW50IGluZmluaXRlIHJlbmRlciBsb29wLCBhZnRlciBtdWx0aXBsZSBjYWxscyB0byB0aGlzIGZ1bmN0aW9uLCBpdCBzaG91bGQgZXZlbnR1YWxseSBuby1vcC5cbiAgY29uc3QgbWFya0FsbEFzUmVuZGVyZWQgPSB1c2VDYWxsYmFjazwoKSA9PiB2b2lkPigoKSA9PiB7XG4gICAgaWYgKCFzdGF0aWNFbGVtZW50RW50cmllc1JlZi5jdXJyZW50Lmxlbmd0aCkge1xuICAgICAgLy8gTm90aGluZyB0byByZW1vdmUuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gV2hlbiByZW1vdmluZyBlYWNoIGVsZW1lbnQgb25lLWJ5LW9uZSBiYXNlZCBvbiBhbiBpbmRpdmlkdWFsIHRpbWVvdXQsIE5hcnJhdG9yIHdvdWxkIG5hcnJhdGUgdGhlbSB0d2ljZSBvY2Nhc2lvbmFsbHkuXG4gICAgLy8gUG9zc2libHkgaXQgdGhpbmsgc29tZSBlbGVtZW50cyB0aGF0IGlzIG5vdCByZW1vdmVkIGR1cmluZyB0aGUgY3VycmVudCBjeWNsZSwgYXJlIG5ldyBlbGVtZW50cyBhbmQgcXVldWVkIHRoZW0gdHdpY2UuXG4gICAgLy8gVGh1cywgd2UgYXJlIHJlbW92aW5nIGFsbCBhdCBvbmNlIHRvIHByZXZlbnQgYnVncyBpbiBOYXJyYXRvci5cbiAgICBtYXJrQWxsQXNSZW5kZXJlZFRpbWVvdXRJZFJlZi5jdXJyZW50ICYmIGNsZWFyVGltZW91dChtYXJrQWxsQXNSZW5kZXJlZFRpbWVvdXRJZFJlZi5jdXJyZW50KTtcblxuICAgIG1hcmtBbGxBc1JlbmRlcmVkVGltZW91dElkUmVmLmN1cnJlbnQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIC8vIFdlIGFyZSBwbGF5aW5nIHNhZmUgYnkgdXNpbmcgdmFsdWUgcmVmIHRvIGNoZWNrIGl0cyBsZW5ndGggaGVyZS5cbiAgICAgIC8vIElmIHdlIGFyZSBjZXJ0YWluIHRoYXQgYHNldFN0YXRpY0VsZW1lbnRzKGVtcHR5QXJyYXkgPT4gZW1wdHlBcnJheSlgIGlzIGEgbm8tb3AsXG4gICAgICAvLyB3ZSBjb3VsZCByZXBsYWNlIGl0IHdpdGgganVzdCB0aGUgc2V0dGVyIGZ1bmN0aW9uLlxuICAgICAgc3RhdGljRWxlbWVudEVudHJpZXNSZWYuY3VycmVudC5sZW5ndGggJiYgc2V0U3RhdGljRWxlbWVudEVudHJpZXMoW10pO1xuICAgIH0sIGZhZGVBZnRlclJlZi5jdXJyZW50KTtcbiAgfSwgW2ZhZGVBZnRlclJlZiwgbWFya0FsbEFzUmVuZGVyZWRUaW1lb3V0SWRSZWYsIHNldFN0YXRpY0VsZW1lbnRFbnRyaWVzLCBzdGF0aWNFbGVtZW50RW50cmllc1JlZl0pO1xuXG4gIC8vIFdoZW4gdGhpcyBjb21wb25lbnQgaXMgdW5tb3VudGluZywgbWFrZSBzdXJlIGFsbCBmdXR1cmUgYHNldFRpbWVvdXRgIGFyZSBjbGVhcmVkIGFuZCBzaG91bGQgbm90IGJlIGZpcmVkLlxuICB1c2VFZmZlY3QoXG4gICAgKCkgPT4gKCkgPT4gbWFya0FsbEFzUmVuZGVyZWRUaW1lb3V0SWRSZWYuY3VycmVudCAmJiBjbGVhclRpbWVvdXQobWFya0FsbEFzUmVuZGVyZWRUaW1lb3V0SWRSZWYuY3VycmVudCksXG4gICAgW21hcmtBbGxBc1JlbmRlcmVkVGltZW91dElkUmVmXVxuICApO1xuXG4gIGNvbnN0IHF1ZXVlU3RhdGljRWxlbWVudCA9IHVzZUNhbGxiYWNrPChzdGF0aWNFbGVtZW50OiBTdGF0aWNFbGVtZW50KSA9PiB2b2lkPihcbiAgICAoZWxlbWVudDogU3RhdGljRWxlbWVudCk6IHZvaWQgPT4ge1xuICAgICAgY29uc3Qga2V5ID0gbmV4dEtleVJlZi5jdXJyZW50O1xuXG4gICAgICBuZXh0S2V5UmVmLmN1cnJlbnQgPSBuZXh0S2V5UmVmLmN1cnJlbnQgKyAxO1xuXG4gICAgICBzZXRTdGF0aWNFbGVtZW50RW50cmllcyhlbnRyaWVzID0+IFsuLi5lbnRyaWVzLCB7IGVsZW1lbnQsIGtleSB9XSk7XG4gICAgfSxcbiAgICBbbmV4dEtleVJlZiwgc2V0U3RhdGljRWxlbWVudEVudHJpZXNdXG4gICk7XG5cbiAgY29uc3Qgc3RhdGljRWxlbWVudEVudHJpZXNTdGF0ZSA9IHVzZU1lbW88cmVhZG9ubHkgW3JlYWRvbmx5IFN0YXRpY0VsZW1lbnRFbnRyeVtdXT4oXG4gICAgKCkgPT4gT2JqZWN0LmZyZWV6ZShbT2JqZWN0LmZyZWV6ZShzdGF0aWNFbGVtZW50RW50cmllcyldKSBhcyByZWFkb25seSBbcmVhZG9ubHkgU3RhdGljRWxlbWVudEVudHJ5W11dLFxuICAgIFtzdGF0aWNFbGVtZW50RW50cmllc11cbiAgKTtcblxuICBjb25zdCBjb250ZXh0ID0gdXNlTWVtbyhcbiAgICAoKSA9PiAoe1xuICAgICAgbWFya0FsbEFzUmVuZGVyZWQsXG4gICAgICBxdWV1ZVN0YXRpY0VsZW1lbnQsXG4gICAgICBzdGF0aWNFbGVtZW50RW50cmllc1N0YXRlXG4gICAgfSksXG4gICAgW21hcmtBbGxBc1JlbmRlcmVkLCBxdWV1ZVN0YXRpY0VsZW1lbnQsIHN0YXRpY0VsZW1lbnRFbnRyaWVzU3RhdGVdXG4gICk7XG5cbiAgcmV0dXJuIChcbiAgICA8TGl2ZVJlZ2lvblR3aW5Db250ZXh0LlByb3ZpZGVyIHZhbHVlPXtjb250ZXh0fT5cbiAgICAgIDxMaXZlUmVnaW9uVHdpbkNvbnRhaW5lclxuICAgICAgICBhcmlhLWxhYmVsPXthcmlhTGFiZWx9XG4gICAgICAgIGFyaWEtbGl2ZT17YXJpYUxpdmV9XG4gICAgICAgIGFyaWEtcm9sZWRlc2NyaXB0aW9uPXthcmlhUm9sZURlc2NyaXB0aW9ufVxuICAgICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZX1cbiAgICAgICAgcm9sZT17cm9sZX1cbiAgICAgICAgdGV4dEVsZW1lbnRDbGFzc05hbWU9e3RleHRFbGVtZW50Q2xhc3NOYW1lfVxuICAgICAgLz5cbiAgICAgIHtjaGlsZHJlbn1cbiAgICA8L0xpdmVSZWdpb25Ud2luQ29udGV4dC5Qcm92aWRlcj5cbiAgKTtcbn07XG5cbkxpdmVSZWdpb25Ud2luQ29tcG9zZXIuZGVmYXVsdFByb3BzID0ge1xuICAnYXJpYS1sYWJlbCc6IHVuZGVmaW5lZCxcbiAgJ2FyaWEtbGl2ZSc6IERFRkFVTFRfQVJJQV9MSVZFLFxuICAnYXJpYS1yb2xlZGVzY3JpcHRpb24nOiB1bmRlZmluZWQsXG4gIGNoaWxkcmVuOiB1bmRlZmluZWQsXG4gIGNsYXNzTmFtZTogdW5kZWZpbmVkLFxuICBmYWRlQWZ0ZXI6IERFRkFVTFRfRkFERV9BRlRFUixcbiAgcm9sZTogdW5kZWZpbmVkLFxuICB0ZXh0RWxlbWVudENsYXNzTmFtZTogdW5kZWZpbmVkXG59O1xuXG5MaXZlUmVnaW9uVHdpbkNvbXBvc2VyLnByb3BUeXBlcyA9IHtcbiAgJ2FyaWEtbGFiZWwnOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAnYXJpYS1saXZlJzogUHJvcFR5cGVzLm9uZU9mKFsnYXNzZXJ0aXZlJywgJ3BvbGl0ZSddKSxcbiAgJ2FyaWEtcm9sZWRlc2NyaXB0aW9uJzogUHJvcFR5cGVzLnN0cmluZyxcbiAgY2hpbGRyZW46IFByb3BUeXBlcy5hbnksXG4gIGNsYXNzTmFtZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgZmFkZUFmdGVyOiBQcm9wVHlwZXMubnVtYmVyLFxuICByb2xlOiBQcm9wVHlwZXMuc3RyaW5nLFxuICB0ZXh0RWxlbWVudENsYXNzTmFtZTogUHJvcFR5cGVzLnN0cmluZ1xufTtcblxuZXhwb3J0IGRlZmF1bHQgTGl2ZVJlZ2lvblR3aW5Db21wb3NlcjtcbiJdfQ==
@@ -5,6 +5,7 @@ declare type LiveRegionTwinContainerProps = {
5
5
  'aria-roledescription'?: string;
6
6
  className?: string;
7
7
  role?: string;
8
+ textElementClassName?: string;
8
9
  };
9
10
  declare const LiveRegionTwinContainer: VFC<LiveRegionTwinContainerProps>;
10
11
  export default LiveRegionTwinContainer;
@@ -1 +1 @@
1
- {"version":3,"file":"LiveRegionTwinContainer.d.ts","sourceRoot":"","sources":["../../../../src/providers/LiveRegionTwin/private/LiveRegionTwinContainer.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAKjC,aAAK,4BAA4B,GAAG;IAClC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,WAAW,GAAG,QAAQ,CAAC;IACpC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAGF,QAAA,MAAM,uBAAuB,EAAE,GAAG,CAAC,4BAA4B,CA2B9D,CAAC;AAmBF,eAAe,uBAAuB,CAAC"}
1
+ {"version":3,"file":"LiveRegionTwinContainer.d.ts","sourceRoot":"","sources":["../../../../src/providers/LiveRegionTwin/private/LiveRegionTwinContainer.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAKjC,aAAK,4BAA4B,GAAG;IAClC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,WAAW,GAAG,QAAQ,CAAC;IACpC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B,CAAC;AAGF,QAAA,MAAM,uBAAuB,EAAE,GAAG,CAAC,4BAA4B,CAwC9D,CAAC;AAqBF,eAAe,uBAAuB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
3
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
4
 
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
@@ -39,7 +39,8 @@ var LiveRegionTwinContainer = function LiveRegionTwinContainer(_ref) {
39
39
  ariaLive = _ref['aria-live'],
40
40
  ariaRoleDescription = _ref['aria-roledescription'],
41
41
  className = _ref.className,
42
- role = _ref.role;
42
+ role = _ref.role,
43
+ textElementClassName = _ref.textElementClassName;
43
44
 
44
45
  var _useStaticElementEntr = (0, _useStaticElementEntries.default)(),
45
46
  _useStaticElementEntr2 = _slicedToArray(_useStaticElementEntr, 1),
@@ -58,9 +59,20 @@ var LiveRegionTwinContainer = function LiveRegionTwinContainer(_ref) {
58
59
  }, staticElementEntries.map(function (_ref2) {
59
60
  var element = _ref2.element,
60
61
  key = _ref2.key;
61
- return typeof element === 'string' ? /*#__PURE__*/_react.default.createElement("div", {
62
- key: key
63
- }, element) : /*#__PURE__*/_react.default.createElement(_react.Fragment, {
62
+
63
+ if (typeof element === 'string') {
64
+ var id = "webchat__live-region-twin__text-element-".concat(key);
65
+ return /*#__PURE__*/_react.default.createElement("div", {
66
+ "aria-atomic": true,
67
+ "aria-labelledby": id,
68
+ className: textElementClassName,
69
+ key: key
70
+ }, /*#__PURE__*/_react.default.createElement("p", {
71
+ id: id
72
+ }, element));
73
+ }
74
+
75
+ return /*#__PURE__*/_react.default.createElement(_react.Fragment, {
64
76
  key: key
65
77
  }, element);
66
78
  }));
@@ -70,7 +82,8 @@ LiveRegionTwinContainer.defaultProps = {
70
82
  'aria-label': undefined,
71
83
  'aria-roledescription': undefined,
72
84
  className: undefined,
73
- role: undefined
85
+ role: undefined,
86
+ textElementClassName: undefined
74
87
  };
75
88
  LiveRegionTwinContainer.propTypes = {
76
89
  'aria-label': _propTypes.default.string,
@@ -79,8 +92,9 @@ LiveRegionTwinContainer.propTypes = {
79
92
  'aria-live': _propTypes.default.oneOf(['assertive', 'polite']).isRequired,
80
93
  'aria-roledescription': _propTypes.default.string,
81
94
  className: _propTypes.default.string,
82
- role: _propTypes.default.string
95
+ role: _propTypes.default.string,
96
+ textElementClassName: _propTypes.default.string
83
97
  };
84
98
  var _default = LiveRegionTwinContainer;
85
99
  exports.default = _default;
86
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wcm92aWRlcnMvTGl2ZVJlZ2lvblR3aW4vcHJpdmF0ZS9MaXZlUmVnaW9uVHdpbkNvbnRhaW5lci50c3giXSwibmFtZXMiOlsiTGl2ZVJlZ2lvblR3aW5Db250YWluZXIiLCJhcmlhTGFiZWwiLCJhcmlhTGl2ZSIsImFyaWFSb2xlRGVzY3JpcHRpb24iLCJjbGFzc05hbWUiLCJyb2xlIiwic3RhdGljRWxlbWVudEVudHJpZXMiLCJtYXAiLCJlbGVtZW50Iiwia2V5IiwiZGVmYXVsdFByb3BzIiwidW5kZWZpbmVkIiwicHJvcFR5cGVzIiwiUHJvcFR5cGVzIiwic3RyaW5nIiwib25lT2YiLCJpc1JlcXVpcmVkIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFJQTs7QUFDQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFVQTtBQUNBLElBQU1BLHVCQUEwRCxHQUFHLFNBQTdEQSx1QkFBNkQsT0FNN0Q7QUFBQSxNQUxVQyxTQUtWLFFBTEosWUFLSTtBQUFBLE1BSlNDLFFBSVQsUUFKSixXQUlJO0FBQUEsTUFIb0JDLG1CQUdwQixRQUhKLHNCQUdJO0FBQUEsTUFGSkMsU0FFSSxRQUZKQSxTQUVJO0FBQUEsTUFESkMsSUFDSSxRQURKQSxJQUNJOztBQUNKLDhCQUErQix1Q0FBL0I7QUFBQTtBQUFBLE1BQU9DLG9CQUFQLDZCQURJLENBR0o7QUFDQTtBQUNBOzs7QUFDQTtBQUVBLHNCQUNFO0FBQ0Usa0JBQVlMLFNBRGQ7QUFFRSxpQkFBV0MsUUFGYjtBQUdFLDRCQUFzQkMsbUJBSHhCO0FBSUUsSUFBQSxTQUFTLEVBQUVDLFNBSmI7QUFLRSxJQUFBLElBQUksRUFBRUM7QUFMUixLQU9HQyxvQkFBb0IsQ0FBQ0MsR0FBckIsQ0FBeUI7QUFBQSxRQUFHQyxPQUFILFNBQUdBLE9BQUg7QUFBQSxRQUFZQyxHQUFaLFNBQVlBLEdBQVo7QUFBQSxXQUN4QixPQUFPRCxPQUFQLEtBQW1CLFFBQW5CLGdCQUE4QjtBQUFLLE1BQUEsR0FBRyxFQUFFQztBQUFWLE9BQWdCRCxPQUFoQixDQUE5QixnQkFBK0QsNkJBQUMsZUFBRDtBQUFVLE1BQUEsR0FBRyxFQUFFQztBQUFmLE9BQXFCRCxPQUFyQixDQUR2QztBQUFBLEdBQXpCLENBUEgsQ0FERjtBQWFELENBM0JEOztBQTZCQVIsdUJBQXVCLENBQUNVLFlBQXhCLEdBQXVDO0FBQ3JDLGdCQUFjQyxTQUR1QjtBQUVyQywwQkFBd0JBLFNBRmE7QUFHckNQLEVBQUFBLFNBQVMsRUFBRU8sU0FIMEI7QUFJckNOLEVBQUFBLElBQUksRUFBRU07QUFKK0IsQ0FBdkM7QUFPQVgsdUJBQXVCLENBQUNZLFNBQXhCLEdBQW9DO0FBQ2xDLGdCQUFjQyxtQkFBVUMsTUFEVTtBQUVsQztBQUNBO0FBQ0EsZUFBYUQsbUJBQVVFLEtBQVYsQ0FBZ0IsQ0FBQyxXQUFELEVBQWMsUUFBZCxDQUFoQixFQUF5Q0MsVUFKcEI7QUFLbEMsMEJBQXdCSCxtQkFBVUMsTUFMQTtBQU1sQ1YsRUFBQUEsU0FBUyxFQUFFUyxtQkFBVUMsTUFOYTtBQU9sQ1QsRUFBQUEsSUFBSSxFQUFFUSxtQkFBVUM7QUFQa0IsQ0FBcEM7ZUFVZWQsdUIiLCJzb3VyY2VSb290IjoiY29tcG9uZW50Oi8vLyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgUmVhY3QsIHsgRnJhZ21lbnQgfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCB0eXBlIHsgVkZDIH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgdXNlTWFya0FsbEFzUmVuZGVyZWRFZmZlY3QgZnJvbSAnLi91c2VNYXJrQWxsQXNSZW5kZXJlZEVmZmVjdCc7XG5pbXBvcnQgdXNlU3RhdGljRWxlbWVudEVudHJpZXMgZnJvbSAnLi91c2VTdGF0aWNFbGVtZW50RW50cmllcyc7XG5cbnR5cGUgTGl2ZVJlZ2lvblR3aW5Db250YWluZXJQcm9wcyA9IHtcbiAgJ2FyaWEtbGFiZWwnPzogc3RyaW5nO1xuICAnYXJpYS1saXZlJzogJ2Fzc2VydGl2ZScgfCAncG9saXRlJztcbiAgJ2FyaWEtcm9sZWRlc2NyaXB0aW9uJz86IHN0cmluZztcbiAgY2xhc3NOYW1lPzogc3RyaW5nO1xuICByb2xlPzogc3RyaW5nO1xufTtcblxuLy8gVGhpcyBjb250YWluZXIgaXMgbWFya2VkIGFzIHByaXZhdGUgYmVjYXVzZSB3ZSBhc3N1bWUgdGhlcmUgaXMgb25seSBvbmUgaW5zdGFuY2UgdW5kZXIgdGhlIDxMaXZlUmVnaW9uVHdpbkNvbnRleHQ+LlxuY29uc3QgTGl2ZVJlZ2lvblR3aW5Db250YWluZXI6IFZGQzxMaXZlUmVnaW9uVHdpbkNvbnRhaW5lclByb3BzPiA9ICh7XG4gICdhcmlhLWxhYmVsJzogYXJpYUxhYmVsLFxuICAnYXJpYS1saXZlJzogYXJpYUxpdmUsXG4gICdhcmlhLXJvbGVkZXNjcmlwdGlvbic6IGFyaWFSb2xlRGVzY3JpcHRpb24sXG4gIGNsYXNzTmFtZSxcbiAgcm9sZVxufSkgPT4ge1xuICBjb25zdCBbc3RhdGljRWxlbWVudEVudHJpZXNdID0gdXNlU3RhdGljRWxlbWVudEVudHJpZXMoKTtcblxuICAvLyBXZSBhc3N1bWUgdGhlcmUgaXMgb25seSBvbmUgaW5zdGFuY2UgdW5kZXIgdGhlIDxMaXZlUmVnaW9uVHdpbkNvbnRleHQ+LlxuICAvLyBUaGUgYXNzdW1wdGlvbiBtYWRlIHVzIHNhZmUgdG8gbWFyayBldmVyeXRoaW5nIGlzIHJlbmRlcmVkLlxuICAvLyBJbiBjb250cmFyeSwgaWYgd2UgaGF2ZSAwLXRvLW1hbnkgYXQgZGlmZmVyZW50IHRpbWUsIHdlIG1heSBmYWxzZWx5IG1hcmsgc29tZXRoaW5nIGFzIHJlbmRlcmVkLlxuICB1c2VNYXJrQWxsQXNSZW5kZXJlZEVmZmVjdCgpO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgYXJpYS1sYWJlbD17YXJpYUxhYmVsfVxuICAgICAgYXJpYS1saXZlPXthcmlhTGl2ZX1cbiAgICAgIGFyaWEtcm9sZWRlc2NyaXB0aW9uPXthcmlhUm9sZURlc2NyaXB0aW9ufVxuICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWV9XG4gICAgICByb2xlPXtyb2xlfVxuICAgID5cbiAgICAgIHtzdGF0aWNFbGVtZW50RW50cmllcy5tYXAoKHsgZWxlbWVudCwga2V5IH0pID0+XG4gICAgICAgIHR5cGVvZiBlbGVtZW50ID09PSAnc3RyaW5nJyA/IDxkaXYga2V5PXtrZXl9PntlbGVtZW50fTwvZGl2PiA6IDxGcmFnbWVudCBrZXk9e2tleX0+e2VsZW1lbnR9PC9GcmFnbWVudD5cbiAgICAgICl9XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5MaXZlUmVnaW9uVHdpbkNvbnRhaW5lci5kZWZhdWx0UHJvcHMgPSB7XG4gICdhcmlhLWxhYmVsJzogdW5kZWZpbmVkLFxuICAnYXJpYS1yb2xlZGVzY3JpcHRpb24nOiB1bmRlZmluZWQsXG4gIGNsYXNzTmFtZTogdW5kZWZpbmVkLFxuICByb2xlOiB1bmRlZmluZWRcbn07XG5cbkxpdmVSZWdpb25Ud2luQ29udGFpbmVyLnByb3BUeXBlcyA9IHtcbiAgJ2FyaWEtbGFiZWwnOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAvLyBQcm9wVHlwZXMub25lT2YoKSByZXR1cm5zIHR5cGUgb2YgYHN0cmluZ2AsIGJ1dCBub3QgYCdhc3NlcnRpdmUnIHwgJ3BvbGl0ZSdgLlxuICAvLyBAdHMtaWdub3JlXG4gICdhcmlhLWxpdmUnOiBQcm9wVHlwZXMub25lT2YoWydhc3NlcnRpdmUnLCAncG9saXRlJ10pLmlzUmVxdWlyZWQsXG4gICdhcmlhLXJvbGVkZXNjcmlwdGlvbic6IFByb3BUeXBlcy5zdHJpbmcsXG4gIGNsYXNzTmFtZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgcm9sZTogUHJvcFR5cGVzLnN0cmluZ1xufTtcblxuZXhwb3J0IGRlZmF1bHQgTGl2ZVJlZ2lvblR3aW5Db250YWluZXI7XG4iXX0=
100
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wcm92aWRlcnMvTGl2ZVJlZ2lvblR3aW4vcHJpdmF0ZS9MaXZlUmVnaW9uVHdpbkNvbnRhaW5lci50c3giXSwibmFtZXMiOlsiTGl2ZVJlZ2lvblR3aW5Db250YWluZXIiLCJhcmlhTGFiZWwiLCJhcmlhTGl2ZSIsImFyaWFSb2xlRGVzY3JpcHRpb24iLCJjbGFzc05hbWUiLCJyb2xlIiwidGV4dEVsZW1lbnRDbGFzc05hbWUiLCJzdGF0aWNFbGVtZW50RW50cmllcyIsIm1hcCIsImVsZW1lbnQiLCJrZXkiLCJpZCIsImRlZmF1bHRQcm9wcyIsInVuZGVmaW5lZCIsInByb3BUeXBlcyIsIlByb3BUeXBlcyIsInN0cmluZyIsIm9uZU9mIiwiaXNSZXF1aXJlZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBSUE7O0FBQ0E7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBV0E7QUFDQSxJQUFNQSx1QkFBMEQsR0FBRyxTQUE3REEsdUJBQTZELE9BTzdEO0FBQUEsTUFOVUMsU0FNVixRQU5KLFlBTUk7QUFBQSxNQUxTQyxRQUtULFFBTEosV0FLSTtBQUFBLE1BSm9CQyxtQkFJcEIsUUFKSixzQkFJSTtBQUFBLE1BSEpDLFNBR0ksUUFISkEsU0FHSTtBQUFBLE1BRkpDLElBRUksUUFGSkEsSUFFSTtBQUFBLE1BREpDLG9CQUNJLFFBREpBLG9CQUNJOztBQUNKLDhCQUErQix1Q0FBL0I7QUFBQTtBQUFBLE1BQU9DLG9CQUFQLDZCQURJLENBR0o7QUFDQTtBQUNBOzs7QUFDQTtBQUVBLHNCQUNFO0FBQ0Usa0JBQVlOLFNBRGQ7QUFFRSxpQkFBV0MsUUFGYjtBQUdFLDRCQUFzQkMsbUJBSHhCO0FBSUUsSUFBQSxTQUFTLEVBQUVDLFNBSmI7QUFLRSxJQUFBLElBQUksRUFBRUM7QUFMUixLQU9HRSxvQkFBb0IsQ0FBQ0MsR0FBckIsQ0FBeUIsaUJBQXNCO0FBQUEsUUFBbkJDLE9BQW1CLFNBQW5CQSxPQUFtQjtBQUFBLFFBQVZDLEdBQVUsU0FBVkEsR0FBVTs7QUFDOUMsUUFBSSxPQUFPRCxPQUFQLEtBQW1CLFFBQXZCLEVBQWlDO0FBQy9CLFVBQU1FLEVBQUUscURBQThDRCxHQUE5QyxDQUFSO0FBRUEsMEJBQ0U7QUFBSyx1QkFBYSxJQUFsQjtBQUF3QiwyQkFBaUJDLEVBQXpDO0FBQTZDLFFBQUEsU0FBUyxFQUFFTCxvQkFBeEQ7QUFBOEUsUUFBQSxHQUFHLEVBQUVJO0FBQW5GLHNCQUdFO0FBQUcsUUFBQSxFQUFFLEVBQUVDO0FBQVAsU0FBWUYsT0FBWixDQUhGLENBREY7QUFPRDs7QUFFRCx3QkFBTyw2QkFBQyxlQUFEO0FBQVUsTUFBQSxHQUFHLEVBQUVDO0FBQWYsT0FBcUJELE9BQXJCLENBQVA7QUFDRCxHQWRBLENBUEgsQ0FERjtBQXlCRCxDQXhDRDs7QUEwQ0FULHVCQUF1QixDQUFDWSxZQUF4QixHQUF1QztBQUNyQyxnQkFBY0MsU0FEdUI7QUFFckMsMEJBQXdCQSxTQUZhO0FBR3JDVCxFQUFBQSxTQUFTLEVBQUVTLFNBSDBCO0FBSXJDUixFQUFBQSxJQUFJLEVBQUVRLFNBSitCO0FBS3JDUCxFQUFBQSxvQkFBb0IsRUFBRU87QUFMZSxDQUF2QztBQVFBYix1QkFBdUIsQ0FBQ2MsU0FBeEIsR0FBb0M7QUFDbEMsZ0JBQWNDLG1CQUFVQyxNQURVO0FBRWxDO0FBQ0E7QUFDQSxlQUFhRCxtQkFBVUUsS0FBVixDQUFnQixDQUFDLFdBQUQsRUFBYyxRQUFkLENBQWhCLEVBQXlDQyxVQUpwQjtBQUtsQywwQkFBd0JILG1CQUFVQyxNQUxBO0FBTWxDWixFQUFBQSxTQUFTLEVBQUVXLG1CQUFVQyxNQU5hO0FBT2xDWCxFQUFBQSxJQUFJLEVBQUVVLG1CQUFVQyxNQVBrQjtBQVFsQ1YsRUFBQUEsb0JBQW9CLEVBQUVTLG1CQUFVQztBQVJFLENBQXBDO2VBV2VoQix1QiIsInNvdXJjZVJvb3QiOiJjb21wb25lbnQ6Ly8vIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBSZWFjdCwgeyBGcmFnbWVudCB9IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHR5cGUgeyBWRkMgfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCB1c2VNYXJrQWxsQXNSZW5kZXJlZEVmZmVjdCBmcm9tICcuL3VzZU1hcmtBbGxBc1JlbmRlcmVkRWZmZWN0JztcbmltcG9ydCB1c2VTdGF0aWNFbGVtZW50RW50cmllcyBmcm9tICcuL3VzZVN0YXRpY0VsZW1lbnRFbnRyaWVzJztcblxudHlwZSBMaXZlUmVnaW9uVHdpbkNvbnRhaW5lclByb3BzID0ge1xuICAnYXJpYS1sYWJlbCc/OiBzdHJpbmc7XG4gICdhcmlhLWxpdmUnOiAnYXNzZXJ0aXZlJyB8ICdwb2xpdGUnO1xuICAnYXJpYS1yb2xlZGVzY3JpcHRpb24nPzogc3RyaW5nO1xuICBjbGFzc05hbWU/OiBzdHJpbmc7XG4gIHJvbGU/OiBzdHJpbmc7XG4gIHRleHRFbGVtZW50Q2xhc3NOYW1lPzogc3RyaW5nO1xufTtcblxuLy8gVGhpcyBjb250YWluZXIgaXMgbWFya2VkIGFzIHByaXZhdGUgYmVjYXVzZSB3ZSBhc3N1bWUgdGhlcmUgaXMgb25seSBvbmUgaW5zdGFuY2UgdW5kZXIgdGhlIDxMaXZlUmVnaW9uVHdpbkNvbnRleHQ+LlxuY29uc3QgTGl2ZVJlZ2lvblR3aW5Db250YWluZXI6IFZGQzxMaXZlUmVnaW9uVHdpbkNvbnRhaW5lclByb3BzPiA9ICh7XG4gICdhcmlhLWxhYmVsJzogYXJpYUxhYmVsLFxuICAnYXJpYS1saXZlJzogYXJpYUxpdmUsXG4gICdhcmlhLXJvbGVkZXNjcmlwdGlvbic6IGFyaWFSb2xlRGVzY3JpcHRpb24sXG4gIGNsYXNzTmFtZSxcbiAgcm9sZSxcbiAgdGV4dEVsZW1lbnRDbGFzc05hbWVcbn0pID0+IHtcbiAgY29uc3QgW3N0YXRpY0VsZW1lbnRFbnRyaWVzXSA9IHVzZVN0YXRpY0VsZW1lbnRFbnRyaWVzKCk7XG5cbiAgLy8gV2UgYXNzdW1lIHRoZXJlIGlzIG9ubHkgb25lIGluc3RhbmNlIHVuZGVyIHRoZSA8TGl2ZVJlZ2lvblR3aW5Db250ZXh0Pi5cbiAgLy8gVGhlIGFzc3VtcHRpb24gbWFkZSB1cyBzYWZlIHRvIG1hcmsgZXZlcnl0aGluZyBpcyByZW5kZXJlZC5cbiAgLy8gSW4gY29udHJhcnksIGlmIHdlIGhhdmUgMC10by1tYW55IGF0IGRpZmZlcmVudCB0aW1lLCB3ZSBtYXkgZmFsc2VseSBtYXJrIHNvbWV0aGluZyBhcyByZW5kZXJlZC5cbiAgdXNlTWFya0FsbEFzUmVuZGVyZWRFZmZlY3QoKTtcblxuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIGFyaWEtbGFiZWw9e2FyaWFMYWJlbH1cbiAgICAgIGFyaWEtbGl2ZT17YXJpYUxpdmV9XG4gICAgICBhcmlhLXJvbGVkZXNjcmlwdGlvbj17YXJpYVJvbGVEZXNjcmlwdGlvbn1cbiAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lfVxuICAgICAgcm9sZT17cm9sZX1cbiAgICA+XG4gICAgICB7c3RhdGljRWxlbWVudEVudHJpZXMubWFwKCh7IGVsZW1lbnQsIGtleSB9KSA9PiB7XG4gICAgICAgIGlmICh0eXBlb2YgZWxlbWVudCA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICBjb25zdCBpZCA9IGB3ZWJjaGF0X19saXZlLXJlZ2lvbi10d2luX190ZXh0LWVsZW1lbnQtJHtrZXl9YDtcblxuICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8ZGl2IGFyaWEtYXRvbWljPXt0cnVlfSBhcmlhLWxhYmVsbGVkYnk9e2lkfSBjbGFzc05hbWU9e3RleHRFbGVtZW50Q2xhc3NOYW1lfSBrZXk9e2tleX0+XG4gICAgICAgICAgICAgIHsvKiBcImFyaWEtbGFiZWxsZWRieVwiIHJlcXVpcmVzIHRoZSB1c2Ugb2YgXCJpZFwiIGF0dHJpYnV0ZS4gKi99XG4gICAgICAgICAgICAgIHsvKiBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QvZm9yYmlkLWRvbS1wcm9wcyAqL31cbiAgICAgICAgICAgICAgPHAgaWQ9e2lkfT57ZWxlbWVudH08L3A+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIDxGcmFnbWVudCBrZXk9e2tleX0+e2VsZW1lbnR9PC9GcmFnbWVudD47XG4gICAgICB9KX1cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbkxpdmVSZWdpb25Ud2luQ29udGFpbmVyLmRlZmF1bHRQcm9wcyA9IHtcbiAgJ2FyaWEtbGFiZWwnOiB1bmRlZmluZWQsXG4gICdhcmlhLXJvbGVkZXNjcmlwdGlvbic6IHVuZGVmaW5lZCxcbiAgY2xhc3NOYW1lOiB1bmRlZmluZWQsXG4gIHJvbGU6IHVuZGVmaW5lZCxcbiAgdGV4dEVsZW1lbnRDbGFzc05hbWU6IHVuZGVmaW5lZFxufTtcblxuTGl2ZVJlZ2lvblR3aW5Db250YWluZXIucHJvcFR5cGVzID0ge1xuICAnYXJpYS1sYWJlbCc6IFByb3BUeXBlcy5zdHJpbmcsXG4gIC8vIFByb3BUeXBlcy5vbmVPZigpIHJldHVybnMgdHlwZSBvZiBgc3RyaW5nYCwgYnV0IG5vdCBgJ2Fzc2VydGl2ZScgfCAncG9saXRlJ2AuXG4gIC8vIEB0cy1pZ25vcmVcbiAgJ2FyaWEtbGl2ZSc6IFByb3BUeXBlcy5vbmVPZihbJ2Fzc2VydGl2ZScsICdwb2xpdGUnXSkuaXNSZXF1aXJlZCxcbiAgJ2FyaWEtcm9sZWRlc2NyaXB0aW9uJzogUHJvcFR5cGVzLnN0cmluZyxcbiAgY2xhc3NOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICByb2xlOiBQcm9wVHlwZXMuc3RyaW5nLFxuICB0ZXh0RWxlbWVudENsYXNzTmFtZTogUHJvcFR5cGVzLnN0cmluZ1xufTtcblxuZXhwb3J0IGRlZmF1bHQgTGl2ZVJlZ2lvblR3aW5Db250YWluZXI7XG4iXX0=
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
3
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
4
 
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "botframework-webchat-component",
3
- "version": "4.15.0",
3
+ "version": "4.15.2-main.20220413.d89850f",
4
4
  "description": "React component of botframework-webchat",
5
5
  "main": "lib/index.js",
6
6
  "typings": "lib/index.d.ts",
@@ -21,6 +21,9 @@
21
21
  "build": "npm run build:typescript && npm run build:babel",
22
22
  "build:babel": "babel src --copy-files --extensions .js,.ts,.tsx --ignore **/*.spec.js,**/*.spec.ts,**/*.spec.tsx,**/*.test.js,**/*.test.ts,**/*.test.tsx,__tests__/**/*.js,__tests__/**/*.ts,__tests__/**/*.tsx --no-copy-ignored --out-dir lib --verbose",
23
23
  "build:typescript": "tsc --project src/tsconfig.json",
24
+ "bump": "npm run bump:prod && npm run bump:dev",
25
+ "bump:dev": "npm install $(cat package.json | jq -r '(.devDependencies | keys) - .skipBump | .[]' | awk '{print $1 \"@latest\"}')",
26
+ "bump:prod": "npm install --save-exact $(cat package.json | jq -r '(.dependencies | keys) - .skipBump | .[]' | awk '{print $1 \"@latest\"}')",
24
27
  "eslint": "npm run precommit",
25
28
  "precommit": "npm run precommit:eslint -- src && npm run precommit:typecheck",
26
29
  "precommit:eslint": "../../node_modules/.bin/eslint --report-unused-disable-directives --max-warnings 0",
@@ -30,39 +33,40 @@
30
33
  "start:babel": "npm run build:babel -- --skip-initial-build --watch",
31
34
  "start:typescript": "npm run build:typescript -- --watch"
32
35
  },
36
+ "skipBump": [],
33
37
  "devDependencies": {
34
- "@babel/cli": "^7.15.7",
35
- "@babel/core": "^7.15.8",
36
- "@babel/preset-env": "^7.15.8",
37
- "@babel/preset-react": "^7.14.5",
38
- "@babel/preset-typescript": "^7.15.0",
39
- "@types/node": "^16.10.9",
40
- "@types/react": "^17.0.29",
41
- "babel-plugin-istanbul": "^6.0.0",
38
+ "@babel/cli": "^7.17.6",
39
+ "@babel/core": "^7.17.5",
40
+ "@babel/preset-env": "^7.16.11",
41
+ "@babel/preset-react": "^7.16.7",
42
+ "@babel/preset-typescript": "^7.16.7",
43
+ "@types/node": "^17.0.21",
44
+ "@types/react": "^17.0.39",
45
+ "babel-plugin-istanbul": "^6.1.1",
42
46
  "babel-plugin-transform-inline-environment-variables": "^0.4.3",
43
- "concurrently": "^6.3.0",
44
- "core-js": "^3.18.3",
45
- "node-dev": "^7.0.0",
46
- "typescript": "^4.3.5"
47
+ "concurrently": "^7.0.0",
48
+ "core-js": "^3.21.1",
49
+ "node-dev": "^7.1.0",
50
+ "typescript": "^4.6.2"
47
51
  },
48
52
  "dependencies": {
49
- "@emotion/css": "11.1.3",
53
+ "@emotion/css": "11.7.1",
50
54
  "base64-js": "1.5.1",
51
- "botframework-webchat-api": "4.15.0",
52
- "botframework-webchat-core": "4.15.0",
55
+ "botframework-webchat-api": "4.15.2-main.20220413.d89850f",
56
+ "botframework-webchat-core": "4.15.2-main.20220413.d89850f",
53
57
  "classnames": "2.3.1",
54
58
  "compute-scroll-into-view": "1.0.17",
55
59
  "event-target-shim": "6.0.2",
56
60
  "markdown-it": "12.3.2",
57
61
  "math-random": "2.0.1",
58
- "memoize-one": "5.2.1",
59
- "prop-types": "15.7.2",
62
+ "memoize-one": "6.0.0",
63
+ "prop-types": "15.8.1",
60
64
  "react-dictate-button": "2.0.1",
61
65
  "react-film": "3.1.0",
62
- "react-redux": "7.2.4",
66
+ "react-redux": "7.2.6",
63
67
  "react-say": "2.1.0",
64
68
  "react-scroll-to-bottom": "4.2.0",
65
- "redux": "4.0.5",
69
+ "redux": "4.1.2",
66
70
  "simple-update-in": "2.2.0"
67
71
  },
68
72
  "peerDependencies": {
@@ -1,8 +1,8 @@
1
- import { DirectLineActivity } from 'botframework-webchat-core';
2
1
  import { hooks } from 'botframework-webchat-api';
3
2
  import PropTypes from 'prop-types';
4
3
  import React, { FC, useCallback, useMemo } from 'react';
5
4
  import Say, { SayUtterance } from 'react-say';
5
+ import type { WebChatActivity } from 'botframework-webchat-core';
6
6
 
7
7
  import connectToWebChat from '../connectToWebChat';
8
8
  import SayAlt from './SayAlt';
@@ -24,7 +24,7 @@ const connectSpeakActivity = (...selectors) =>
24
24
  );
25
25
 
26
26
  type SpeakProps = {
27
- activity: DirectLineActivity;
27
+ activity: WebChatActivity;
28
28
  };
29
29
 
30
30
  const Speak: FC<SpeakProps> = ({ activity }) => {
@@ -36,25 +36,25 @@ const Speak: FC<SpeakProps> = ({ activity }) => {
36
36
  markActivityAsSpoken(activity);
37
37
  }, [activity, markActivityAsSpoken]);
38
38
 
39
- const singleLine = useMemo(() => {
39
+ const singleLine: false | string = useMemo(() => {
40
+ if (activity.type !== 'message') {
41
+ return false;
42
+ }
43
+
40
44
  const { attachments = [], speak, text } = activity;
41
45
 
42
- return (
43
- !!activity &&
44
- [
45
- speak || text,
46
- ...attachments
47
- .filter(({ contentType }) => contentType === 'application/vnd.microsoft.card.adaptive')
48
- .map(attachment => attachment?.content?.speak)
49
- ]
50
- .filter(line => line)
51
- .join('\r\n')
52
- );
46
+ return [
47
+ speak || text,
48
+ ...attachments
49
+ .filter(({ contentType }) => contentType === 'application/vnd.microsoft.card.adaptive')
50
+ .map(attachment => attachment?.content?.speak)
51
+ ]
52
+ .filter(line => line)
53
+ .join('\r\n');
53
54
  }, [activity]);
54
55
 
55
- const {
56
- channelData: { speechSynthesisUtterance } = {}
57
- }: { channelData: { speechSynthesisUtterance?: SpeechSynthesisUtterance } } = activity;
56
+ const speechSynthesisUtterance: false | SpeechSynthesisUtterance | undefined =
57
+ activity.type === 'message' && activity.channelData?.speechSynthesisUtterance;
58
58
 
59
59
  return (
60
60
  !!activity && (
@@ -71,6 +71,8 @@ const Speak: FC<SpeakProps> = ({ activity }) => {
71
71
  };
72
72
 
73
73
  Speak.propTypes = {
74
+ // PropTypes cannot fully capture TypeScript types.
75
+ // @ts-ignore
74
76
  activity: PropTypes.shape({
75
77
  attachments: PropTypes.arrayOf(
76
78
  PropTypes.shape({
@@ -84,7 +86,8 @@ Speak.propTypes = {
84
86
  speechSynthesisUtterance: PropTypes.any
85
87
  }),
86
88
  speak: PropTypes.string,
87
- text: PropTypes.string
89
+ text: PropTypes.string,
90
+ type: PropTypes.string.isRequired
88
91
  }).isRequired
89
92
  };
90
93
 
@@ -1,10 +1,10 @@
1
- /* eslint complexity: ["error", 30] */
1
+ /* eslint complexity: ["error", 50] */
2
2
 
3
- import { DirectLineActivity } from 'botframework-webchat-core';
4
3
  import { hooks, RenderAttachment } from 'botframework-webchat-api';
5
4
  import classNames from 'classnames';
6
5
  import PropTypes from 'prop-types';
7
6
  import React, { FC, ReactNode } from 'react';
7
+ import type { WebChatActivity } from 'botframework-webchat-core';
8
8
 
9
9
  import Bubble from './Bubble';
10
10
  import connectToWebChat from '../connectToWebChat';
@@ -89,11 +89,11 @@ const connectStackedLayout = (...selectors) =>
89
89
  );
90
90
 
91
91
  type StackedLayoutProps = {
92
- activity: DirectLineActivity;
92
+ activity: WebChatActivity;
93
93
  hideTimestamp?: boolean;
94
94
  renderActivityStatus?: (({ hideTimestamp: boolean }) => Exclude<ReactNode, boolean | null | undefined>) | false;
95
95
  renderAttachment?: RenderAttachment;
96
- renderAvatar?: (activity: DirectLineActivity) => (() => Exclude<ReactNode, boolean | null | undefined>) | false;
96
+ renderAvatar?: ({ activity: WebChatActivity }) => (() => Exclude<ReactNode, boolean | null | undefined>) | false;
97
97
  showCallout?: boolean;
98
98
  };
99
99
 
@@ -115,23 +115,13 @@ const StackedLayout: FC<StackedLayoutProps> = ({
115
115
 
116
116
  const { bubbleNubOffset, bubbleNubSize, bubbleFromUserNubOffset, bubbleFromUserNubSize } = styleOptions;
117
117
 
118
- const {
119
- attachments = [],
120
- channelData: { messageBack: { displayText: messageBackDisplayText } = {} } = {},
121
- from: { role } = {},
122
- text,
123
- textFormat
124
- }: {
125
- attachments?: [];
126
- channelData?: { messageBack?: { displayText?: string } };
127
- from?: { role?: 'bot' | 'user' };
128
- text?: string;
129
- textFormat?: string;
130
- } = activity;
131
-
132
- const activityDisplayText = messageBackDisplayText || text;
133
- const fromUser = role === 'user';
118
+ const isMessage = activity.type === 'message';
134
119
 
120
+ const attachments = (isMessage && activity.attachments) || [];
121
+ const fromUser = activity.from.role === 'user';
122
+ const messageBackDisplayText: string = (isMessage && activity.channelData?.messageBack?.displayText) || '';
123
+
124
+ const activityDisplayText = isMessage ? messageBackDisplayText || activity.text : '';
135
125
  const attachedAlt = localize(fromUser ? 'ACTIVITY_YOU_ATTACHED_ALT' : 'ACTIVITY_BOT_ATTACHED_ALT');
136
126
  const greetingAlt = (
137
127
  fromUser ? localize('ACTIVITY_YOU_SAID_ALT') : localize('ACTIVITY_BOT_SAID_ALT', botInitials || '')
@@ -152,7 +142,7 @@ const StackedLayout: FC<StackedLayoutProps> = ({
152
142
  const extraTrailing = !hasOtherAvatar && hasOtherNub; // This is for bot message with user nub and no user avatar. And vice versa.
153
143
 
154
144
  const showAvatar = showCallout && hasAvatar && !!renderAvatar;
155
- const showNub = showCallout && hasNub && (topAlignedCallout || !attachments.length);
145
+ const showNub = showCallout && hasNub && (topAlignedCallout || !attachments?.length);
156
146
 
157
147
  return (
158
148
  <div
@@ -192,10 +182,12 @@ const StackedLayout: FC<StackedLayoutProps> = ({
192
182
  >
193
183
  {renderAttachment({
194
184
  activity,
195
- attachment: {
196
- content: activityDisplayText,
197
- contentType: textFormatToContentType(textFormat)
198
- }
185
+ attachment: isMessage
186
+ ? {
187
+ content: activityDisplayText,
188
+ contentType: textFormatToContentType(activity.textFormat)
189
+ }
190
+ : undefined
199
191
  })}
200
192
  </Bubble>
201
193
  </div>
@@ -246,6 +238,8 @@ StackedLayout.defaultProps = {
246
238
  };
247
239
 
248
240
  StackedLayout.propTypes = {
241
+ // PropTypes cannot fully capture TypeScript types.
242
+ // @ts-ignore
249
243
  activity: PropTypes.shape({
250
244
  attachments: PropTypes.array,
251
245
  channelData: PropTypes.shape({
@@ -257,7 +251,7 @@ StackedLayout.propTypes = {
257
251
  role: PropTypes.string.isRequired
258
252
  }).isRequired,
259
253
  text: PropTypes.string,
260
- textFormat: PropTypes.string,
254
+ textFormat: PropTypes.oneOf(['markdown', 'plain', 'xml']),
261
255
  timestamp: PropTypes.string,
262
256
  type: PropTypes.string.isRequired
263
257
  }).isRequired,
@@ -24,7 +24,7 @@ const ROOT_STYLE = {
24
24
  }
25
25
  };
26
26
 
27
- const ALLOWED_PROTOCOLS = ['data:', 'http:', 'https:'];
27
+ const ALLOWED_PROTOCOLS = ['blob:', 'data:', 'http:', 'https:'];
28
28
 
29
29
  function isAllowedProtocol(url) {
30
30
  try {
@@ -3,6 +3,7 @@ import { hooks } from 'botframework-webchat-api';
3
3
  import classNames from 'classnames';
4
4
  import PropTypes from 'prop-types';
5
5
  import React, { FC } from 'react';
6
+ import type { WebChatActivity } from 'botframework-webchat-core';
6
7
 
7
8
  import DictationInterims from './SendBox/DictationInterims';
8
9
  import MicrophoneButton from './SendBox/MicrophoneButton';
@@ -31,8 +32,8 @@ const ROOT_STYLE = {
31
32
  };
32
33
 
33
34
  // TODO: [P3] We should consider exposing core/src/definitions and use it instead
34
- function activityIsSpeakingOrQueuedToSpeak({ channelData: { speak } = {} }: { channelData: { speak?: any } }) {
35
- return !!speak;
35
+ function activityIsSpeakingOrQueuedToSpeak(activity: WebChatActivity) {
36
+ return activity.type === 'message' && activity.channelData?.speak;
36
37
  }
37
38
 
38
39
  function useSendBoxSpeechInterimsVisible(): [boolean] {
@@ -15,8 +15,8 @@ import React, { forwardRef, Fragment, useCallback, useMemo, useRef } from 'react
15
15
 
16
16
  import type { ActivityComponentFactory, AvatarComponentFactory } from 'botframework-webchat-api';
17
17
  import type { ActivityElementMap } from './Transcript/types';
18
- import type { DirectLineActivity } from 'botframework-webchat-core';
19
18
  import type { FC, KeyboardEventHandler, MutableRefObject, ReactNode, VFC } from 'react';
19
+ import type { WebChatActivity } from 'botframework-webchat-core';
20
20
 
21
21
  import { android } from './Utils/detectBrowser';
22
22
  import ActivityRow from './Transcript/ActivityRow';
@@ -94,11 +94,7 @@ const ROOT_STYLE = {
94
94
  };
95
95
 
96
96
  type RenderingElement = {
97
- activity: DirectLineActivity & {
98
- channelData?: {
99
- ['webchat:fallback-text']: string;
100
- };
101
- };
97
+ activity: WebChatActivity;
102
98
  callbackRef: (element: HTMLElement) => void;
103
99
  hideTimestamp: boolean;
104
100
  key: string;
@@ -267,16 +263,22 @@ const InternalTranscript = forwardRef<HTMLDivElement, InternalTranscriptProps>(
267
263
  if (scrollableElement && activityBoundingBoxElement) {
268
264
  // ESLint conflict with TypeScript. The result of getClientRects() is not an Array but DOMRectList, and cannot be destructured.
269
265
  // eslint-disable-next-line prefer-destructuring
270
- const { height: activityHeight, y: activityY } = activityBoundingBoxElement.getClientRects()[0];
266
+ const activityBoundingBoxElementClientRect = activityBoundingBoxElement.getClientRects()[0];
271
267
 
272
268
  // ESLint conflict with TypeScript. The result of getClientRects() is not an Array but DOMRectList, and cannot be destructured.
273
269
  // eslint-disable-next-line prefer-destructuring
274
- const { height: scrollableHeight } = scrollableElement.getClientRects()[0];
275
- const activityOffsetTop = activityY + scrollableElement.scrollTop;
270
+ const scrollableElementClientRect = scrollableElement.getClientRects()[0];
276
271
 
277
- const scrollTop = Math.min(activityOffsetTop, activityOffsetTop - scrollableHeight + activityHeight);
272
+ // If either the activity or the transcript scrollable is not on DOM, we will not scroll the view.
273
+ if (activityBoundingBoxElementClientRect && scrollableElementClientRect) {
274
+ const { height: activityHeight, y: activityY } = activityBoundingBoxElementClientRect;
275
+ const { height: scrollableHeight } = scrollableElementClientRect;
276
+ const activityOffsetTop = activityY + scrollableElement.scrollTop;
278
277
 
279
- scrollToBottomScrollTo(scrollTop, { behavior });
278
+ const scrollTop = Math.min(activityOffsetTop, activityOffsetTop - scrollableHeight + activityHeight);
279
+
280
+ scrollToBottomScrollTo(scrollTop, { behavior });
281
+ }
280
282
  }
281
283
  }
282
284
  },
@@ -342,7 +344,14 @@ const InternalTranscript = forwardRef<HTMLDivElement, InternalTranscriptProps>(
342
344
 
343
345
  // "getClientRects()" is not returning an array, thus, it is not destructurable.
344
346
  // eslint-disable-next-line prefer-destructuring
345
- const { bottom: scrollableClientBottom } = scrollableElement.getClientRects()[0];
347
+ const scrollableElementClientRect = scrollableElement.getClientRects()[0];
348
+
349
+ // If the scrollable is not mounted, we cannot measure which activity is in view. Thus, we will not fire any events.
350
+ if (!scrollableElementClientRect) {
351
+ return;
352
+ }
353
+
354
+ const { bottom: scrollableClientBottom } = scrollableElementClientRect;
346
355
 
347
356
  // Find the activity just above scroll view bottom.
348
357
  // If the scroll view is already on top, get the first activity.
@@ -352,7 +361,14 @@ const InternalTranscript = forwardRef<HTMLDivElement, InternalTranscriptProps>(
352
361
  ? activityElements
353
362
  .reverse()
354
363
  // Add subpixel tolerance
355
- .find(([, element]) => element.getClientRects()[0].bottom < scrollableClientBottom + 1)
364
+ .find(([, element]) => {
365
+ // "getClientRects()" is not returning an array, thus, it is not destructurable.
366
+ // eslint-disable-next-line prefer-destructuring
367
+ const elementClientRect = element.getClientRects()[0];
368
+
369
+ // If the activity is not attached to DOM tree, we should not count it as "bottommost visible activity", as it is not visible.
370
+ return elementClientRect && elementClientRect.bottom < scrollableClientBottom + 1;
371
+ })
356
372
  : activityElements[0]
357
373
  )?.[0];
358
374
 
@@ -1,4 +1,3 @@
1
- /* eslint-disable complexity */
2
1
  import { ActivityMiddleware } from 'botframework-webchat-api';
3
2
  import React from 'react';
4
3
 
@@ -20,28 +19,24 @@ export default function createCoreMiddleware(): ActivityMiddleware[] {
20
19
  if (type === 'conversationUpdate' || type === 'event' || type === 'invoke' || type === 'typing') {
21
20
  return false;
22
21
  } else if (type === 'message') {
23
- const { attachments = [], channelData, text } = activity;
22
+ const { attachments, channelData, text } = activity;
24
23
 
25
24
  if (
26
25
  // Do not show postback
27
- (channelData && channelData.postBack) ||
26
+ channelData?.postBack ||
28
27
  // Do not show messageBack if displayText is undefined
29
- (channelData && channelData.messageBack && !channelData.messageBack.displayText) ||
28
+ (channelData?.messageBack && !channelData.messageBack.displayText) ||
30
29
  // Do not show empty bubbles (no text and attachments, and not "typing")
31
- !(text || attachments.length)
30
+ !(text || attachments?.length)
32
31
  ) {
33
32
  return false;
34
33
  }
35
- // eslint-disable-next-line no-dupe-else-if
36
- } else if (type === 'typing' && activity.from.role === 'user') {
37
- // Do not show typing by oneself
38
- return false;
39
34
  }
40
35
 
41
36
  if (type === 'message' || type === 'typing') {
42
37
  if (
43
38
  type === 'message' &&
44
- (activity.attachments || []).length > 1 &&
39
+ (activity.attachments?.length || 0) > 1 &&
45
40
  activity.attachmentLayout === 'carousel'
46
41
  ) {
47
42
  // The following line is not a React functional component, it's a render function called by useCreateActivityRenderer() hook.