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,69 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = createDefaultGroupActivityMiddleware;
7
-
8
- var _botframeworkWebchatCore = require("botframework-webchat-core");
9
-
10
- var SENT = _botframeworkWebchatCore.Constants.ActivityClientState.SENT;
11
-
12
- function bin(items, grouping) {
13
- var lastBin;
14
- var bins = [];
15
- var lastItem;
16
- items.forEach(function (item) {
17
- if (lastItem && grouping(lastItem, item)) {
18
- lastBin.push(item);
19
- } else {
20
- lastBin = [item];
21
- bins.push(lastBin);
22
- }
23
-
24
- lastItem = item;
25
- });
26
- return bins;
27
- }
28
-
29
- function sending(activity) {
30
- return activity.from.role === 'user' && activity.channelData && activity.channelData.state !== SENT;
31
- }
32
-
33
- function shouldGroupTimestamp(activityX, activityY, groupTimestamp) {
34
- if (groupTimestamp === false) {
35
- // Hide timestamp for all activities.
36
- return true;
37
- } else if (activityX && activityY) {
38
- if (sending(activityX) !== sending(activityY)) {
39
- return false;
40
- }
41
-
42
- groupTimestamp = typeof groupTimestamp === 'number' ? groupTimestamp : Infinity;
43
- var timeX = new Date(activityX.timestamp).getTime();
44
- var timeY = new Date(activityY.timestamp).getTime();
45
- return Math.abs(timeX - timeY) <= groupTimestamp;
46
- }
47
-
48
- return false;
49
- }
50
-
51
- function createDefaultGroupActivityMiddleware(_ref) {
52
- var groupTimestamp = _ref.groupTimestamp;
53
- return function () {
54
- return function () {
55
- return function (_ref2) {
56
- var activities = _ref2.activities;
57
- return {
58
- sender: bin(activities, function (x, y) {
59
- return x.from.role === y.from.role;
60
- }),
61
- status: bin(activities, function (x, y) {
62
- return shouldGroupTimestamp(x, y, groupTimestamp);
63
- })
64
- };
65
- };
66
- };
67
- };
68
- }
69
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9NaWRkbGV3YXJlL0dyb3VwQWN0aXZpdGllcy9jcmVhdGVDb3JlTWlkZGxld2FyZS5qcyJdLCJuYW1lcyI6WyJTRU5UIiwiQ29uc3RhbnRzIiwiQWN0aXZpdHlDbGllbnRTdGF0ZSIsImJpbiIsIml0ZW1zIiwiZ3JvdXBpbmciLCJsYXN0QmluIiwiYmlucyIsImxhc3RJdGVtIiwiZm9yRWFjaCIsIml0ZW0iLCJwdXNoIiwic2VuZGluZyIsImFjdGl2aXR5IiwiZnJvbSIsInJvbGUiLCJjaGFubmVsRGF0YSIsInN0YXRlIiwic2hvdWxkR3JvdXBUaW1lc3RhbXAiLCJhY3Rpdml0eVgiLCJhY3Rpdml0eVkiLCJncm91cFRpbWVzdGFtcCIsIkluZmluaXR5IiwidGltZVgiLCJEYXRlIiwidGltZXN0YW1wIiwiZ2V0VGltZSIsInRpbWVZIiwiTWF0aCIsImFicyIsImNyZWF0ZURlZmF1bHRHcm91cEFjdGl2aXR5TWlkZGxld2FyZSIsImFjdGl2aXRpZXMiLCJzZW5kZXIiLCJ4IiwieSIsInN0YXR1cyJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBOztBQUVBLElBQ3lCQSxJQUR6QixHQUVJQyxrQ0FGSixDQUNFQyxtQkFERixDQUN5QkYsSUFEekI7O0FBSUEsU0FBU0csR0FBVCxDQUFhQyxLQUFiLEVBQW9CQyxRQUFwQixFQUE4QjtBQUM1QixNQUFJQyxPQUFKO0FBQ0EsTUFBTUMsSUFBSSxHQUFHLEVBQWI7QUFDQSxNQUFJQyxRQUFKO0FBRUFKLEVBQUFBLEtBQUssQ0FBQ0ssT0FBTixDQUFjLFVBQUFDLElBQUksRUFBSTtBQUNwQixRQUFJRixRQUFRLElBQUlILFFBQVEsQ0FBQ0csUUFBRCxFQUFXRSxJQUFYLENBQXhCLEVBQTBDO0FBQ3hDSixNQUFBQSxPQUFPLENBQUNLLElBQVIsQ0FBYUQsSUFBYjtBQUNELEtBRkQsTUFFTztBQUNMSixNQUFBQSxPQUFPLEdBQUcsQ0FBQ0ksSUFBRCxDQUFWO0FBQ0FILE1BQUFBLElBQUksQ0FBQ0ksSUFBTCxDQUFVTCxPQUFWO0FBQ0Q7O0FBRURFLElBQUFBLFFBQVEsR0FBR0UsSUFBWDtBQUNELEdBVEQ7QUFXQSxTQUFPSCxJQUFQO0FBQ0Q7O0FBRUQsU0FBU0ssT0FBVCxDQUFpQkMsUUFBakIsRUFBMkI7QUFDekIsU0FBT0EsUUFBUSxDQUFDQyxJQUFULENBQWNDLElBQWQsS0FBdUIsTUFBdkIsSUFBaUNGLFFBQVEsQ0FBQ0csV0FBMUMsSUFBeURILFFBQVEsQ0FBQ0csV0FBVCxDQUFxQkMsS0FBckIsS0FBK0JqQixJQUEvRjtBQUNEOztBQUVELFNBQVNrQixvQkFBVCxDQUE4QkMsU0FBOUIsRUFBeUNDLFNBQXpDLEVBQW9EQyxjQUFwRCxFQUFvRTtBQUNsRSxNQUFJQSxjQUFjLEtBQUssS0FBdkIsRUFBOEI7QUFDNUI7QUFDQSxXQUFPLElBQVA7QUFDRCxHQUhELE1BR08sSUFBSUYsU0FBUyxJQUFJQyxTQUFqQixFQUE0QjtBQUNqQyxRQUFJUixPQUFPLENBQUNPLFNBQUQsQ0FBUCxLQUF1QlAsT0FBTyxDQUFDUSxTQUFELENBQWxDLEVBQStDO0FBQzdDLGFBQU8sS0FBUDtBQUNEOztBQUVEQyxJQUFBQSxjQUFjLEdBQUcsT0FBT0EsY0FBUCxLQUEwQixRQUExQixHQUFxQ0EsY0FBckMsR0FBc0RDLFFBQXZFO0FBRUEsUUFBTUMsS0FBSyxHQUFHLElBQUlDLElBQUosQ0FBU0wsU0FBUyxDQUFDTSxTQUFuQixFQUE4QkMsT0FBOUIsRUFBZDtBQUNBLFFBQU1DLEtBQUssR0FBRyxJQUFJSCxJQUFKLENBQVNKLFNBQVMsQ0FBQ0ssU0FBbkIsRUFBOEJDLE9BQTlCLEVBQWQ7QUFFQSxXQUFPRSxJQUFJLENBQUNDLEdBQUwsQ0FBU04sS0FBSyxHQUFHSSxLQUFqQixLQUEyQk4sY0FBbEM7QUFDRDs7QUFFRCxTQUFPLEtBQVA7QUFDRDs7QUFFYyxTQUFTUyxvQ0FBVCxPQUFrRTtBQUFBLE1BQWxCVCxjQUFrQixRQUFsQkEsY0FBa0I7QUFDL0UsU0FBTztBQUFBLFdBQ0w7QUFBQSxhQUNBO0FBQUEsWUFBR1UsVUFBSCxTQUFHQSxVQUFIO0FBQUEsZUFBcUI7QUFDbkJDLFVBQUFBLE1BQU0sRUFBRTdCLEdBQUcsQ0FBQzRCLFVBQUQsRUFBYSxVQUFDRSxDQUFELEVBQUlDLENBQUo7QUFBQSxtQkFBVUQsQ0FBQyxDQUFDbkIsSUFBRixDQUFPQyxJQUFQLEtBQWdCbUIsQ0FBQyxDQUFDcEIsSUFBRixDQUFPQyxJQUFqQztBQUFBLFdBQWIsQ0FEUTtBQUVuQm9CLFVBQUFBLE1BQU0sRUFBRWhDLEdBQUcsQ0FBQzRCLFVBQUQsRUFBYSxVQUFDRSxDQUFELEVBQUlDLENBQUo7QUFBQSxtQkFBVWhCLG9CQUFvQixDQUFDZSxDQUFELEVBQUlDLENBQUosRUFBT2IsY0FBUCxDQUE5QjtBQUFBLFdBQWI7QUFGUSxTQUFyQjtBQUFBLE9BREE7QUFBQSxLQURLO0FBQUEsR0FBUDtBQU1EIiwic291cmNlUm9vdCI6ImNvbXBvbmVudDovLy8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25zdGFudHMgfSBmcm9tICdib3RmcmFtZXdvcmstd2ViY2hhdC1jb3JlJztcblxuY29uc3Qge1xuICBBY3Rpdml0eUNsaWVudFN0YXRlOiB7IFNFTlQgfVxufSA9IENvbnN0YW50cztcblxuZnVuY3Rpb24gYmluKGl0ZW1zLCBncm91cGluZykge1xuICBsZXQgbGFzdEJpbjtcbiAgY29uc3QgYmlucyA9IFtdO1xuICBsZXQgbGFzdEl0ZW07XG5cbiAgaXRlbXMuZm9yRWFjaChpdGVtID0+IHtcbiAgICBpZiAobGFzdEl0ZW0gJiYgZ3JvdXBpbmcobGFzdEl0ZW0sIGl0ZW0pKSB7XG4gICAgICBsYXN0QmluLnB1c2goaXRlbSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGxhc3RCaW4gPSBbaXRlbV07XG4gICAgICBiaW5zLnB1c2gobGFzdEJpbik7XG4gICAgfVxuXG4gICAgbGFzdEl0ZW0gPSBpdGVtO1xuICB9KTtcblxuICByZXR1cm4gYmlucztcbn1cblxuZnVuY3Rpb24gc2VuZGluZyhhY3Rpdml0eSkge1xuICByZXR1cm4gYWN0aXZpdHkuZnJvbS5yb2xlID09PSAndXNlcicgJiYgYWN0aXZpdHkuY2hhbm5lbERhdGEgJiYgYWN0aXZpdHkuY2hhbm5lbERhdGEuc3RhdGUgIT09IFNFTlQ7XG59XG5cbmZ1bmN0aW9uIHNob3VsZEdyb3VwVGltZXN0YW1wKGFjdGl2aXR5WCwgYWN0aXZpdHlZLCBncm91cFRpbWVzdGFtcCkge1xuICBpZiAoZ3JvdXBUaW1lc3RhbXAgPT09IGZhbHNlKSB7XG4gICAgLy8gSGlkZSB0aW1lc3RhbXAgZm9yIGFsbCBhY3Rpdml0aWVzLlxuICAgIHJldHVybiB0cnVlO1xuICB9IGVsc2UgaWYgKGFjdGl2aXR5WCAmJiBhY3Rpdml0eVkpIHtcbiAgICBpZiAoc2VuZGluZyhhY3Rpdml0eVgpICE9PSBzZW5kaW5nKGFjdGl2aXR5WSkpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBncm91cFRpbWVzdGFtcCA9IHR5cGVvZiBncm91cFRpbWVzdGFtcCA9PT0gJ251bWJlcicgPyBncm91cFRpbWVzdGFtcCA6IEluZmluaXR5O1xuXG4gICAgY29uc3QgdGltZVggPSBuZXcgRGF0ZShhY3Rpdml0eVgudGltZXN0YW1wKS5nZXRUaW1lKCk7XG4gICAgY29uc3QgdGltZVkgPSBuZXcgRGF0ZShhY3Rpdml0eVkudGltZXN0YW1wKS5nZXRUaW1lKCk7XG5cbiAgICByZXR1cm4gTWF0aC5hYnModGltZVggLSB0aW1lWSkgPD0gZ3JvdXBUaW1lc3RhbXA7XG4gIH1cblxuICByZXR1cm4gZmFsc2U7XG59XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGNyZWF0ZURlZmF1bHRHcm91cEFjdGl2aXR5TWlkZGxld2FyZSh7IGdyb3VwVGltZXN0YW1wIH0pIHtcbiAgcmV0dXJuICgpID0+XG4gICAgKCkgPT5cbiAgICAoeyBhY3Rpdml0aWVzIH0pID0+ICh7XG4gICAgICBzZW5kZXI6IGJpbihhY3Rpdml0aWVzLCAoeCwgeSkgPT4geC5mcm9tLnJvbGUgPT09IHkuZnJvbS5yb2xlKSxcbiAgICAgIHN0YXR1czogYmluKGFjdGl2aXRpZXMsICh4LCB5KSA9PiBzaG91bGRHcm91cFRpbWVzdGFtcCh4LCB5LCBncm91cFRpbWVzdGFtcCkpXG4gICAgfSk7XG59XG4iXX0=
@@ -1,57 +0,0 @@
1
- import { Constants } from 'botframework-webchat-core';
2
-
3
- const {
4
- ActivityClientState: { SENT }
5
- } = Constants;
6
-
7
- function bin(items, grouping) {
8
- let lastBin;
9
- const bins = [];
10
- let lastItem;
11
-
12
- items.forEach(item => {
13
- if (lastItem && grouping(lastItem, item)) {
14
- lastBin.push(item);
15
- } else {
16
- lastBin = [item];
17
- bins.push(lastBin);
18
- }
19
-
20
- lastItem = item;
21
- });
22
-
23
- return bins;
24
- }
25
-
26
- function sending(activity) {
27
- return activity.from.role === 'user' && activity.channelData && activity.channelData.state !== SENT;
28
- }
29
-
30
- function shouldGroupTimestamp(activityX, activityY, groupTimestamp) {
31
- if (groupTimestamp === false) {
32
- // Hide timestamp for all activities.
33
- return true;
34
- } else if (activityX && activityY) {
35
- if (sending(activityX) !== sending(activityY)) {
36
- return false;
37
- }
38
-
39
- groupTimestamp = typeof groupTimestamp === 'number' ? groupTimestamp : Infinity;
40
-
41
- const timeX = new Date(activityX.timestamp).getTime();
42
- const timeY = new Date(activityY.timestamp).getTime();
43
-
44
- return Math.abs(timeX - timeY) <= groupTimestamp;
45
- }
46
-
47
- return false;
48
- }
49
-
50
- export default function createDefaultGroupActivityMiddleware({ groupTimestamp }) {
51
- return () =>
52
- () =>
53
- ({ activities }) => ({
54
- sender: bin(activities, (x, y) => x.from.role === y.from.role),
55
- status: bin(activities, (x, y) => shouldGroupTimestamp(x, y, groupTimestamp))
56
- });
57
- }