stream-chat-react 10.13.1 → 11.0.0-rc.1

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 (53) hide show
  1. package/dist/browser.full-bundle.js +614 -533
  2. package/dist/browser.full-bundle.js.map +1 -1
  3. package/dist/browser.full-bundle.min.js +5 -5
  4. package/dist/browser.full-bundle.min.js.map +1 -1
  5. package/dist/components/Channel/Channel.d.ts +3 -2
  6. package/dist/components/Channel/Channel.d.ts.map +1 -1
  7. package/dist/components/Channel/Channel.js +46 -42
  8. package/dist/components/ChannelList/ChannelList.d.ts +7 -0
  9. package/dist/components/ChannelList/ChannelList.d.ts.map +1 -1
  10. package/dist/components/ChannelList/ChannelList.js +2 -2
  11. package/dist/components/ChannelList/hooks/usePaginatedChannels.d.ts +1 -1
  12. package/dist/components/ChannelList/hooks/usePaginatedChannels.d.ts.map +1 -1
  13. package/dist/components/ChannelList/hooks/usePaginatedChannels.js +32 -3
  14. package/dist/components/Reactions/ReactionSelector.d.ts +3 -8
  15. package/dist/components/Reactions/ReactionSelector.d.ts.map +1 -1
  16. package/dist/components/Reactions/ReactionSelector.js +18 -25
  17. package/dist/components/Reactions/ReactionsList.d.ts +3 -8
  18. package/dist/components/Reactions/ReactionsList.d.ts.map +1 -1
  19. package/dist/components/Reactions/ReactionsList.js +9 -12
  20. package/dist/components/Reactions/SimpleReactionsList.d.ts +2 -5
  21. package/dist/components/Reactions/SimpleReactionsList.d.ts.map +1 -1
  22. package/dist/components/Reactions/SimpleReactionsList.js +12 -15
  23. package/dist/components/Reactions/SpriteImage.d.ts +12 -0
  24. package/dist/components/Reactions/SpriteImage.d.ts.map +1 -0
  25. package/dist/components/Reactions/SpriteImage.js +28 -0
  26. package/dist/components/Reactions/StreamEmoji.d.ts +18 -0
  27. package/dist/components/Reactions/StreamEmoji.d.ts.map +1 -0
  28. package/dist/components/Reactions/StreamEmoji.js +16 -0
  29. package/dist/components/Reactions/hooks/useProcessReactions.d.ts +8 -10
  30. package/dist/components/Reactions/hooks/useProcessReactions.d.ts.map +1 -1
  31. package/dist/components/Reactions/hooks/useProcessReactions.js +14 -18
  32. package/dist/components/Reactions/index.d.ts +3 -0
  33. package/dist/components/Reactions/index.d.ts.map +1 -1
  34. package/dist/components/Reactions/index.js +3 -0
  35. package/dist/components/Reactions/reactionOptions.d.ts +8 -0
  36. package/dist/components/Reactions/reactionOptions.d.ts.map +1 -0
  37. package/dist/components/Reactions/reactionOptions.js +11 -0
  38. package/dist/components/Reactions/utils/utils.d.ts +1 -0
  39. package/dist/components/Reactions/utils/utils.d.ts.map +1 -1
  40. package/dist/components/Reactions/utils/utils.js +12 -0
  41. package/dist/context/ComponentContext.d.ts +2 -0
  42. package/dist/context/ComponentContext.d.ts.map +1 -1
  43. package/dist/context/EmojiContext.d.ts +1 -2
  44. package/dist/context/EmojiContext.d.ts.map +1 -1
  45. package/dist/context/EmojiContext.js +1 -3
  46. package/dist/index.cjs.js +193 -119
  47. package/dist/index.cjs.js.map +1 -1
  48. package/dist/types/types.d.ts +3 -0
  49. package/dist/types/types.d.ts.map +1 -1
  50. package/dist/version.d.ts +1 -1
  51. package/dist/version.d.ts.map +1 -1
  52. package/dist/version.js +1 -1
  53. package/package.json +1 -1
package/dist/index.cjs.js CHANGED
@@ -55,7 +55,6 @@ var streamChat = require('stream-chat');
55
55
  var deepequal = require('react-fast-compare');
56
56
  var ReactDOM = require('react-dom');
57
57
  var reactVirtuoso = require('react-virtuoso');
58
- var nimbleEmoji = require('emoji-mart/dist/components/emoji/nimble-emoji');
59
58
  var nimblePicker = require('emoji-mart/dist/components/picker/nimble-picker');
60
59
 
61
60
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -117,7 +116,6 @@ var debounce__default = /*#__PURE__*/_interopDefaultLegacy(debounce$1);
117
116
  var throttle__default = /*#__PURE__*/_interopDefaultLegacy(throttle);
118
117
  var deepequal__default = /*#__PURE__*/_interopDefaultLegacy(deepequal);
119
118
  var ReactDOM__namespace = /*#__PURE__*/_interopNamespace(ReactDOM);
120
- var nimbleEmoji__default = /*#__PURE__*/_interopDefaultLegacy(nimbleEmoji);
121
119
  var nimblePicker__default = /*#__PURE__*/_interopDefaultLegacy(nimblePicker);
122
120
 
123
121
  /******************************************************************************
@@ -506,14 +504,12 @@ var withComponentContext = function (Component) {
506
504
  return WithComponentContextComponent;
507
505
  };
508
506
 
509
- var DefaultEmoji$1 = React__default["default"].lazy(function () { return Promise.resolve().then(function () { return DefaultEmoji; }); });
510
507
  var DefaultEmojiPicker$1 = React__default["default"].lazy(function () { return Promise.resolve().then(function () { return DefaultEmojiPicker; }); });
511
508
  var EmojiContext = React__default["default"].createContext(undefined);
512
509
  var EmojiProvider = function (_a) {
513
510
  var children = _a.children, value = _a.value;
514
- var _b = value.Emoji, Emoji = _b === void 0 ? DefaultEmoji$1 : _b, emojiConfig = value.emojiConfig, _c = value.EmojiIndex, EmojiIndex = _c === void 0 ? DefaultEmojiIndex__default["default"] : _c, _d = value.EmojiPicker, EmojiPicker = _d === void 0 ? DefaultEmojiPicker$1 : _d;
511
+ var emojiConfig = value.emojiConfig, _b = value.EmojiIndex, EmojiIndex = _b === void 0 ? DefaultEmojiIndex__default["default"] : _b, _c = value.EmojiPicker, EmojiPicker = _c === void 0 ? DefaultEmojiPicker$1 : _c;
515
512
  var emojiContextValue = {
516
- Emoji: Emoji,
517
513
  emojiConfig: emojiConfig,
518
514
  EmojiIndex: EmojiIndex,
519
515
  EmojiPicker: EmojiPicker,
@@ -27387,8 +27383,6 @@ var defaultMinimalEmojis = [
27387
27383
  __assign(__assign({ colons: ':pensive:', id: 'sad', name: 'sad', sheet_x: 0, sheet_y: 1 }, commonEmoji), emojiSetDef),
27388
27384
  __assign(__assign({ colons: ':angry:', id: 'angry', name: 'angry', sheet_x: 1, sheet_y: 1 }, commonEmoji), emojiSetDef),
27389
27385
  ];
27390
- // use this only for small lists like in ReactionSelector
27391
- var getStrippedEmojiData = function (data) { return (__assign(__assign({}, data), { emojis: {} })); };
27392
27386
 
27393
27387
  var useCreateChannelStateContext = function (value) {
27394
27388
  var _a;
@@ -32318,24 +32312,32 @@ var isMutableRef = function (ref) {
32318
32312
  }
32319
32313
  return false;
32320
32314
  };
32315
+ var getImageDimensions = function (source) {
32316
+ return new Promise(function (resolve, reject) {
32317
+ var image = new Image();
32318
+ image.addEventListener('load', function () {
32319
+ resolve([image.width, image.height]);
32320
+ }, { once: true });
32321
+ image.addEventListener('error', function () { return reject("Couldn't load image from ".concat(source)); }, {
32322
+ once: true,
32323
+ });
32324
+ image.src = source;
32325
+ });
32326
+ };
32321
32327
 
32322
32328
  var UnMemoizedReactionSelector = React__default["default"].forwardRef(function (props, ref) {
32323
32329
  var _a;
32324
- var _b = props.additionalEmojiProps, additionalEmojiProps = _b === void 0 ? {} : _b, propAvatar = props.Avatar, _c = props.detailedView, detailedView = _c === void 0 ? true : _c, propHandleReaction = props.handleReaction, propLatestReactions = props.latest_reactions, propOwnReactions = props.own_reactions, propReactionCounts = props.reaction_counts, propReactionOptions = props.reactionOptions, _d = props.reverse, reverse = _d === void 0 ? false : _d;
32325
- var contextAvatar = useComponentContext('ReactionSelector').Avatar;
32326
- var _e = useEmojiContext('ReactionSelector'), Emoji = _e.Emoji, emojiConfig = _e.emojiConfig;
32327
- var _f = useMessageContext('ReactionSelector'), contextHandleReaction = _f.handleReaction, message = _f.message;
32328
- var _g = emojiConfig || {}, defaultMinimalEmojis = _g.defaultMinimalEmojis, fullEmojiData = _g.emojiData, emojiSetDef = _g.emojiSetDef;
32330
+ var propAvatar = props.Avatar, _b = props.detailedView, detailedView = _b === void 0 ? true : _b, propHandleReaction = props.handleReaction, propLatestReactions = props.latest_reactions, propOwnReactions = props.own_reactions, propReactionCounts = props.reaction_counts, propReactionOptions = props.reactionOptions, _c = props.reverse, reverse = _c === void 0 ? false : _c;
32331
+ var _d = useComponentContext('ReactionSelector'), contextAvatar = _d.Avatar, contextReactionOptions = _d.reactionOptions;
32332
+ var _e = useMessageContext('ReactionSelector'), contextHandleReaction = _e.handleReaction, message = _e.message;
32333
+ var reactionOptions = propReactionOptions !== null && propReactionOptions !== void 0 ? propReactionOptions : contextReactionOptions;
32329
32334
  var Avatar$1 = propAvatar || contextAvatar || Avatar;
32330
32335
  var handleReaction = propHandleReaction || contextHandleReaction;
32331
32336
  var latestReactions = propLatestReactions || (message === null || message === void 0 ? void 0 : message.latest_reactions) || [];
32332
32337
  var ownReactions = propOwnReactions || (message === null || message === void 0 ? void 0 : message.own_reactions) || [];
32333
32338
  var reactionCounts = propReactionCounts || (message === null || message === void 0 ? void 0 : message.reaction_counts) || {};
32334
- var reactionOptions = propReactionOptions || defaultMinimalEmojis;
32335
- var reactionsAreCustom = !!(propReactionOptions === null || propReactionOptions === void 0 ? void 0 : propReactionOptions.length);
32336
- var emojiData = React.useMemo(function () { return (reactionsAreCustom ? fullEmojiData : getStrippedEmojiData(fullEmojiData)); }, [fullEmojiData, reactionsAreCustom]);
32337
- var _h = React.useState(null), tooltipReactionType = _h[0], setTooltipReactionType = _h[1];
32338
- var _j = React.useState(null), tooltipPositions = _j[0], setTooltipPositions = _j[1];
32339
+ var _f = React.useState(null), tooltipReactionType = _f[0], setTooltipReactionType = _f[1];
32340
+ var _g = React.useState(null), tooltipPositions = _g[0], setTooltipPositions = _g[1];
32339
32341
  var targetRef = React.useRef(null);
32340
32342
  var tooltipRef = React.useRef(null);
32341
32343
  var showTooltip = React.useCallback(function (event, reactionType) {
@@ -32392,17 +32394,17 @@ var UnMemoizedReactionSelector = React__default["default"].forwardRef(function (
32392
32394
  } },
32393
32395
  React__default["default"].createElement("div", { className: 'arrow', style: { left: tooltipPositions === null || tooltipPositions === void 0 ? void 0 : tooltipPositions.arrow } }), (_a = getUsersPerReactionType(tooltipReactionType)) === null || _a === void 0 ? void 0 :
32394
32396
  _a.map(function (user, i, users) { return (React__default["default"].createElement("span", { className: 'latest-user-username', key: "key-".concat(i, "-").concat(user) }, "".concat(user).concat(i < users.length - 1 ? ', ' : ''))); }))),
32395
- React__default["default"].createElement("ul", { className: 'str-chat__message-reactions-list str-chat__message-reactions-options' }, reactionOptions.map(function (reactionOption) {
32396
- var latestUser = getLatestUserForReactionType(reactionOption.id);
32397
- var count = reactionCounts && reactionCounts[reactionOption.id];
32398
- return (React__default["default"].createElement("li", { key: "item-".concat(reactionOption.id) },
32399
- React__default["default"].createElement("button", { "aria-label": "Select Reaction: ".concat(reactionOption.name), className: clsx('str-chat__message-reactions-list-item str-chat__message-reactions-option', {
32400
- 'str-chat__message-reactions-option-selected': iHaveReactedWithReaction(reactionOption.id),
32401
- }), "data-text": reactionOption.id, onClick: function (event) { return handleReaction(reactionOption.id, event); } },
32402
- !!count && detailedView && (React__default["default"].createElement("div", { className: 'latest-user str-chat__message-reactions-last-user', onClick: hideTooltip, onMouseEnter: function (e) { return showTooltip(e, reactionOption.id); }, onMouseLeave: hideTooltip }, latestUser ? (React__default["default"].createElement(Avatar$1, { image: latestUser.image, name: latestUser.name, size: 20, user: latestUser })) : (React__default["default"].createElement("div", { className: 'latest-user-not-found' })))),
32403
- React__default["default"].createElement(React.Suspense, { fallback: null },
32404
- React__default["default"].createElement("span", { className: 'str-chat__message-reaction-emoji' },
32405
- React__default["default"].createElement(Emoji, __assign({ data: emojiData, emoji: reactionOption, size: 20 }, (reactionsAreCustom ? additionalEmojiProps : emojiSetDef))))),
32397
+ React__default["default"].createElement("ul", { className: 'str-chat__message-reactions-list str-chat__message-reactions-options' }, reactionOptions.map(function (_a) {
32398
+ var Component = _a.Component, reactionName = _a.name, reactionType = _a.type;
32399
+ var latestUser = getLatestUserForReactionType(reactionType);
32400
+ var count = reactionCounts && reactionCounts[reactionType];
32401
+ return (React__default["default"].createElement("li", { key: reactionType },
32402
+ React__default["default"].createElement("button", { "aria-label": "Select Reaction: ".concat(reactionName || reactionType), className: clsx('str-chat__message-reactions-list-item str-chat__message-reactions-option', {
32403
+ 'str-chat__message-reactions-option-selected': iHaveReactedWithReaction(reactionType),
32404
+ }), "data-text": reactionType, onClick: function (event) { return handleReaction(reactionType, event); } },
32405
+ !!count && detailedView && (React__default["default"].createElement("div", { className: 'latest-user str-chat__message-reactions-last-user', onClick: hideTooltip, onMouseEnter: function (e) { return showTooltip(e, reactionType); }, onMouseLeave: hideTooltip }, latestUser ? (React__default["default"].createElement(Avatar$1, { image: latestUser.image, name: latestUser.name, size: 20, user: latestUser })) : (React__default["default"].createElement("div", { className: 'latest-user-not-found' })))),
32406
+ React__default["default"].createElement("span", { className: 'str-chat__message-reaction-emoji' },
32407
+ React__default["default"].createElement(Component, null)),
32406
32408
  Boolean(count) && detailedView && (React__default["default"].createElement("span", { className: 'str-chat__message-reactions-list-item__count' }, count || '')))));
32407
32409
  }))));
32408
32410
  });
@@ -32412,19 +32414,18 @@ var UnMemoizedReactionSelector = React__default["default"].forwardRef(function (
32412
32414
  var ReactionSelector = React__default["default"].memo(UnMemoizedReactionSelector);
32413
32415
 
32414
32416
  var useProcessReactions = function (params) {
32415
- var _a = params.additionalEmojiProps, additionalEmojiProps = _a === void 0 ? {} : _a, emojiConfig = params.emojiConfig, propOwnReactions = params.own_reactions, propReactionCounts = params.reaction_counts, propReactionOptions = params.reactionOptions, propReactions = params.reactions;
32416
- var message = useMessageContext('ReactionsList').message;
32417
- var _b = emojiConfig || {}, defaultMinimalEmojis = _b.defaultMinimalEmojis, fullEmojiData = _b.emojiData, emojiSetDef = _b.emojiSetDef;
32417
+ var propOwnReactions = params.own_reactions, propReactionCounts = params.reaction_counts, propReactionOptions = params.reactionOptions, propReactions = params.reactions;
32418
+ var message = useMessageContext('useProcessReactions').message;
32419
+ var contextReactionOptions = useComponentContext('useProcessReactions').reactionOptions;
32420
+ var reactionOptions = propReactionOptions !== null && propReactionOptions !== void 0 ? propReactionOptions : contextReactionOptions;
32418
32421
  var latestReactions = propReactions || message.latest_reactions || [];
32419
32422
  var ownReactions = propOwnReactions || (message === null || message === void 0 ? void 0 : message.own_reactions) || [];
32420
32423
  var reactionCounts = propReactionCounts || message.reaction_counts || {};
32421
- var reactionOptions = propReactionOptions || defaultMinimalEmojis;
32422
- var reactionsAreCustom = !!(propReactionOptions === null || propReactionOptions === void 0 ? void 0 : propReactionOptions.length);
32423
32424
  var iHaveReactedWithReaction = React.useCallback(function (reactionType) { return ownReactions.find(function (reaction) { return reaction.type === reactionType; }); }, [ownReactions]);
32424
- var getEmojiByReactionType = React.useCallback(function (type) {
32425
- return reactionOptions.find(function (option) { return option.id === type; });
32426
- }, [reactionOptions]);
32427
- var emojiData = React.useMemo(function () { return (reactionsAreCustom ? fullEmojiData : getStrippedEmojiData(fullEmojiData)); }, [fullEmojiData, reactionsAreCustom]);
32425
+ var getEmojiByReactionType = React.useCallback(function (reactionType) { return reactionOptions.find(function (_a) {
32426
+ var type = _a.type;
32427
+ return type === reactionType;
32428
+ }); }, [reactionOptions]);
32428
32429
  var latestReactionTypes = React.useMemo(function () {
32429
32430
  return latestReactions.reduce(function (reactionTypes, _a) {
32430
32431
  var type = _a.type;
@@ -32435,13 +32436,13 @@ var useProcessReactions = function (params) {
32435
32436
  }, []);
32436
32437
  }, [latestReactions]);
32437
32438
  var supportedReactionMap = React.useMemo(function () {
32438
- return reactionOptions.reduce(function (acc, _a) {
32439
- var id = _a.id;
32440
- acc[id] = true;
32441
- return acc;
32439
+ return reactionOptions.reduce(function (map, _a) {
32440
+ var reactionType = _a.type;
32441
+ map[reactionType] = true;
32442
+ return map;
32442
32443
  }, {});
32443
32444
  }, [reactionOptions]);
32444
- var supportedReactionsArePresent = React.useMemo(function () { return latestReactionTypes.some(function (type) { return supportedReactionMap[type]; }); }, [latestReactionTypes, supportedReactionMap]);
32445
+ var supportedReactionsArePresent = React.useMemo(function () { return latestReactionTypes.some(function (reactionType) { return supportedReactionMap[reactionType]; }); }, [latestReactionTypes, supportedReactionMap]);
32445
32446
  var totalReactionCount = React.useMemo(function () {
32446
32447
  return supportedReactionsArePresent
32447
32448
  ? Object.values(reactionCounts).reduce(function (total, count) { return total + count; }, 0)
@@ -32458,9 +32459,7 @@ var useProcessReactions = function (params) {
32458
32459
  }, {});
32459
32460
  }, [latestReactions]);
32460
32461
  return {
32461
- additionalEmojiProps: reactionsAreCustom ? additionalEmojiProps : emojiSetDef,
32462
32462
  aggregatedUserNamesByType: aggregatedUserNamesByType,
32463
- emojiData: emojiData,
32464
32463
  getEmojiByReactionType: getEmojiByReactionType,
32465
32464
  iHaveReactedWithReaction: iHaveReactedWithReaction,
32466
32465
  latestReactions: latestReactions,
@@ -32485,9 +32484,8 @@ var ButtonWithTooltip = function (_a) {
32485
32484
  };
32486
32485
  var UnMemoizedReactionsList = function (props) {
32487
32486
  var onClick = props.onClick, _a = props.reverse, reverse = _a === void 0 ? false : _a, rest = __rest(props, ["onClick", "reverse"]);
32488
- var _b = useEmojiContext('ReactionsList'), Emoji = _b.Emoji, emojiConfig = _b.emojiConfig;
32489
32487
  var onReactionListClick = useMessageContext('ReactionsList').onReactionListClick;
32490
- var _c = useProcessReactions(__assign({ emojiConfig: emojiConfig }, rest)), additionalEmojiProps = _c.additionalEmojiProps, aggregatedUserNamesByType = _c.aggregatedUserNamesByType, emojiData = _c.emojiData, getEmojiByReactionType = _c.getEmojiByReactionType, iHaveReactedWithReaction = _c.iHaveReactedWithReaction, latestReactions = _c.latestReactions, latestReactionTypes = _c.latestReactionTypes, reactionCounts = _c.reactionCounts, supportedReactionsArePresent = _c.supportedReactionsArePresent, totalReactionCount = _c.totalReactionCount;
32488
+ var _b = useProcessReactions(rest), aggregatedUserNamesByType = _b.aggregatedUserNamesByType, getEmojiByReactionType = _b.getEmojiByReactionType, iHaveReactedWithReaction = _b.iHaveReactedWithReaction, latestReactions = _b.latestReactions, latestReactionTypes = _b.latestReactionTypes, reactionCounts = _b.reactionCounts, supportedReactionsArePresent = _b.supportedReactionsArePresent, totalReactionCount = _b.totalReactionCount;
32491
32489
  if (!latestReactions.length)
32492
32490
  return null;
32493
32491
  if (!supportedReactionsArePresent)
@@ -32497,17 +32495,16 @@ var UnMemoizedReactionsList = function (props) {
32497
32495
  }), "data-testid": 'reaction-list', onClick: onClick || onReactionListClick, onKeyUp: onClick || onReactionListClick, role: 'figure' },
32498
32496
  React__default["default"].createElement("ul", { className: 'str-chat__message-reactions' },
32499
32497
  latestReactionTypes.map(function (reactionType) {
32500
- var emojiObject = getEmojiByReactionType(reactionType);
32498
+ var ReactionOption = getEmojiByReactionType(reactionType);
32501
32499
  var isOwnReaction = iHaveReactedWithReaction(reactionType);
32502
- return emojiObject ? (React__default["default"].createElement("li", { className: clsx('str-chat__message-reaction', {
32500
+ return (ReactionOption && (React__default["default"].createElement("li", { className: clsx('str-chat__message-reaction', {
32503
32501
  'str-chat__message-reaction-own': isOwnReaction,
32504
- }), key: emojiObject.id },
32505
- React__default["default"].createElement(ButtonWithTooltip, { "aria-label": "Reactions: ".concat(reactionType), title: aggregatedUserNamesByType[reactionType].join(', '), type: 'button' },
32506
- React__default["default"].createElement(React.Suspense, { fallback: null },
32507
- React__default["default"].createElement("span", { className: 'str-chat__message-reaction-emoji' },
32508
- React__default["default"].createElement(Emoji, __assign({ data: emojiData, emoji: emojiObject, size: 16 }, additionalEmojiProps)))),
32502
+ }), key: reactionType },
32503
+ React__default["default"].createElement(ButtonWithTooltip, { "aria-label": "Reactions: ".concat(reactionType), "data-testid": "reactions-list-button-".concat(reactionType), title: aggregatedUserNamesByType[reactionType].join(', '), type: 'button' },
32504
+ React__default["default"].createElement("span", { className: 'str-chat__message-reaction-emoji' },
32505
+ React__default["default"].createElement(ReactionOption.Component, null)),
32509
32506
  "\u00A0",
32510
- React__default["default"].createElement("span", { className: 'str-chat__message-reaction-count', "data-testclass": 'reaction-list-reaction-count' }, reactionCounts[reactionType])))) : null;
32507
+ React__default["default"].createElement("span", { className: 'str-chat__message-reaction-count', "data-testclass": 'reaction-list-reaction-count' }, reactionCounts[reactionType])))));
32511
32508
  }),
32512
32509
  React__default["default"].createElement("li", null,
32513
32510
  React__default["default"].createElement("span", { className: 'str-chat__reaction-list--counter' }, totalReactionCount)))));
@@ -32533,10 +32530,9 @@ var WithTooltip = function (_a) {
32533
32530
  };
32534
32531
  var UnMemoizedSimpleReactionsList = function (props) {
32535
32532
  var propHandleReaction = props.handleReaction, rest = __rest(props, ["handleReaction"]);
32536
- var _a = useEmojiContext('SimpleReactionsList'), Emoji = _a.Emoji, emojiConfig = _a.emojiConfig;
32537
32533
  var contextHandleReaction = useMessageContext('SimpleReactionsList').handleReaction;
32538
- var _b = useProcessReactions(__assign({ emojiConfig: emojiConfig }, rest)), additionalEmojiProps = _b.additionalEmojiProps, emojiData = _b.emojiData, getEmojiByReactionType = _b.getEmojiByReactionType, iHaveReactedWithReaction = _b.iHaveReactedWithReaction, latestReactions = _b.latestReactions, latestReactionTypes = _b.latestReactionTypes, supportedReactionsArePresent = _b.supportedReactionsArePresent, totalReactionCount = _b.totalReactionCount;
32539
- var _c = React.useState(undefined), tooltipReactionType = _c[0], setTooltipReactionType = _c[1];
32534
+ var _a = useProcessReactions(rest), getEmojiByReactionType = _a.getEmojiByReactionType, iHaveReactedWithReaction = _a.iHaveReactedWithReaction, latestReactions = _a.latestReactions, latestReactionTypes = _a.latestReactionTypes, supportedReactionsArePresent = _a.supportedReactionsArePresent, totalReactionCount = _a.totalReactionCount;
32535
+ var _b = React.useState(undefined), tooltipReactionType = _b[0], setTooltipReactionType = _b[1];
32540
32536
  var themeVersion = useChatContext('SimpleReactionsList').themeVersion;
32541
32537
  var handleReaction = propHandleReaction || contextHandleReaction;
32542
32538
  if (!latestReactions.length)
@@ -32556,27 +32552,77 @@ var UnMemoizedSimpleReactionsList = function (props) {
32556
32552
  };
32557
32553
  return (React__default["default"].createElement("div", { className: 'str-chat__message-reactions-container' },
32558
32554
  React__default["default"].createElement("ul", { className: 'str-chat__simple-reactions-list str-chat__message-reactions', "data-testid": 'simple-reaction-list', onMouseLeave: function () { return setTooltipReactionType(undefined); } },
32559
- latestReactionTypes.map(function (reactionType, i) {
32555
+ latestReactionTypes.map(function (reactionType) {
32560
32556
  var _a;
32561
- var emojiObject = getEmojiByReactionType(reactionType);
32557
+ var ReactionOption = getEmojiByReactionType(reactionType);
32562
32558
  var isOwnReaction = iHaveReactedWithReaction(reactionType);
32563
- var tooltipVisible = emojiObject && tooltipReactionType === (emojiObject === null || emojiObject === void 0 ? void 0 : emojiObject.id);
32559
+ var tooltipVisible = tooltipReactionType === reactionType;
32564
32560
  var tooltipContent = (_a = getUsersPerReactionType(tooltipReactionType)) === null || _a === void 0 ? void 0 : _a.join(', ');
32565
- return emojiObject ? (React__default["default"].createElement("li", { className: clsx('str-chat__simple-reactions-list-item', {
32561
+ return (ReactionOption && (React__default["default"].createElement("li", { className: clsx('str-chat__simple-reactions-list-item', {
32566
32562
  'str-chat__message-reaction-own': isOwnReaction,
32567
- }), key: "".concat(emojiObject.id, "-").concat(i), onClick: function (event) { return handleReaction(reactionType, event); }, onKeyUp: function (event) { return handleReaction(reactionType, event); } },
32563
+ }), key: reactionType, onClick: function (event) { return handleReaction(reactionType, event); }, onKeyUp: function (event) { return handleReaction(reactionType, event); } },
32568
32564
  React__default["default"].createElement(WithTooltip, { onMouseEnter: function () { return setTooltipReactionType(reactionType); }, onMouseLeave: function () { return setTooltipReactionType(undefined); }, title: tooltipContent },
32569
- React__default["default"].createElement(React.Suspense, { fallback: null },
32570
- React__default["default"].createElement(Emoji, __assign({ data: emojiData, emoji: emojiObject, size: 13 }, additionalEmojiProps))),
32565
+ React__default["default"].createElement(ReactionOption.Component, null),
32571
32566
  "\u00A0",
32572
32567
  tooltipVisible && themeVersion === '1' && (React__default["default"].createElement("div", { className: 'str-chat__simple-reactions-list-tooltip' },
32573
32568
  React__default["default"].createElement("div", { className: 'arrow' }),
32574
- tooltipContent))))) : null;
32569
+ tooltipContent))))));
32575
32570
  }),
32576
32571
  React__default["default"].createElement("li", { className: 'str-chat__simple-reactions-list-item--last-number' }, totalReactionCount))));
32577
32572
  };
32578
32573
  var SimpleReactionsList = React__default["default"].memo(UnMemoizedSimpleReactionsList);
32579
32574
 
32575
+ var SpriteImage = function (_a) {
32576
+ var columns = _a.columns, fallback = _a.fallback, height = _a.height, position = _a.position, rows = _a.rows, spriteUrl = _a.spriteUrl, width = _a.width;
32577
+ var _b = React.useState([0, 0]), _c = _b[0], spriteWidth = _c[0], spriteHeight = _c[1], setSpriteDimensions = _b[1];
32578
+ React.useEffect(function () {
32579
+ getImageDimensions(spriteUrl).then(setSpriteDimensions).catch(console.error);
32580
+ }, [spriteUrl]);
32581
+ var x = position[0], y = position[1];
32582
+ var spriteItemWidth = spriteWidth / columns;
32583
+ var spriteItemHeight = spriteHeight / rows;
32584
+ var resizeRatio = 1;
32585
+ if (!width && height)
32586
+ resizeRatio = height / spriteItemHeight;
32587
+ if (width && !height)
32588
+ resizeRatio = width / spriteItemWidth;
32589
+ if (resizeRatio === Infinity)
32590
+ resizeRatio = 1;
32591
+ if (!spriteHeight || !spriteWidth)
32592
+ return React__default["default"].createElement(React__default["default"].Fragment, null, fallback);
32593
+ return (React__default["default"].createElement("div", { "data-testid": 'sprite-image', style: {
32594
+ backgroundImage: "url('".concat(spriteUrl, "')"),
32595
+ backgroundPosition: "".concat(x * (100 / (columns - 1)), "% ").concat(y * (100 / (rows - 1)), "%"),
32596
+ backgroundSize: "".concat(columns * 100, "% ").concat(rows * 100, "%"),
32597
+ height: height !== null && height !== void 0 ? height : spriteItemHeight * resizeRatio,
32598
+ width: width !== null && width !== void 0 ? width : spriteItemWidth * resizeRatio,
32599
+ } }));
32600
+ };
32601
+
32602
+ var StreamSpriteEmojiPositions = {
32603
+ angry: [1, 1],
32604
+ haha: [1, 0],
32605
+ like: [0, 0],
32606
+ love: [1, 2],
32607
+ sad: [0, 1],
32608
+ wow: [0, 2],
32609
+ };
32610
+ var STREAM_SPRITE_URL = 'https://getstream.imgix.net/images/emoji-sprite.png';
32611
+ var StreamEmoji = function (_a) {
32612
+ var fallback = _a.fallback, type = _a.type;
32613
+ var position = StreamSpriteEmojiPositions[type];
32614
+ return (React__default["default"].createElement(SpriteImage, { columns: 2, fallback: fallback, height: 18, position: position, rows: 3, spriteUrl: STREAM_SPRITE_URL }));
32615
+ };
32616
+
32617
+ /* eslint-disable sort-keys */
32618
+ var defaultReactionOptions = [
32619
+ { type: 'haha', Component: function () { return React__default["default"].createElement(StreamEmoji, { fallback: '\uD83D\uDE02', type: 'haha' }); }, name: 'Joy' },
32620
+ { type: 'like', Component: function () { return React__default["default"].createElement(StreamEmoji, { fallback: '\uD83D\uDC4D', type: 'like' }); }, name: 'Thumbs up' },
32621
+ { type: 'love', Component: function () { return React__default["default"].createElement(StreamEmoji, { fallback: '\u2764\uFE0F', type: 'love' }); }, name: 'Heart' },
32622
+ { type: 'sad', Component: function () { return React__default["default"].createElement(StreamEmoji, { fallback: '\uD83D\uDE14', type: 'sad' }); }, name: 'Sad' },
32623
+ { type: 'wow', Component: function () { return React__default["default"].createElement(StreamEmoji, { fallback: '\uD83D\uDE32', type: 'wow' }); }, name: 'Astonished' },
32624
+ ];
32625
+
32580
32626
  var MessageSimpleWithContext = function (props) {
32581
32627
  var _a;
32582
32628
  var additionalMessageInputProps = props.additionalMessageInputProps, clearEditingState = props.clearEditingState, editing = props.editing, endOfGroup = props.endOfGroup, firstOfGroup = props.firstOfGroup, groupedByUser = props.groupedByUser, handleAction = props.handleAction, handleOpenThread = props.handleOpenThread, handleRetry = props.handleRetry, highlighted = props.highlighted, isMyMessage = props.isMyMessage, isReactionEnabled = props.isReactionEnabled, message = props.message, onUserClick = props.onUserClick, onUserHover = props.onUserHover, reactionSelectorRef = props.reactionSelectorRef, renderText = props.renderText, showDetailedReactions = props.showDetailedReactions, threadList = props.threadList;
@@ -33633,49 +33679,52 @@ var ChannelInner = function (props) {
33633
33679
  jumpToMessage,
33634
33680
  jumpToLatestMessage,
33635
33681
  ]);
33636
- var componentContextValue = React.useMemo(function () { return ({
33637
- Attachment: props.Attachment || Attachment,
33638
- AttachmentPreviewList: props.AttachmentPreviewList,
33639
- AutocompleteSuggestionHeader: props.AutocompleteSuggestionHeader,
33640
- AutocompleteSuggestionItem: props.AutocompleteSuggestionItem,
33641
- AutocompleteSuggestionList: props.AutocompleteSuggestionList,
33642
- Avatar: props.Avatar,
33643
- CooldownTimer: props.CooldownTimer,
33644
- DateSeparator: props.DateSeparator,
33645
- EditMessageInput: props.EditMessageInput,
33646
- EmojiIcon: props.EmojiIcon,
33647
- EmptyStateIndicator: props.EmptyStateIndicator,
33648
- FileUploadIcon: props.FileUploadIcon,
33649
- GiphyPreviewMessage: props.GiphyPreviewMessage,
33650
- HeaderComponent: props.HeaderComponent,
33651
- Input: props.Input,
33652
- LinkPreviewList: props.LinkPreviewList,
33653
- LoadingIndicator: props.LoadingIndicator,
33654
- Message: props.Message || MessageSimple,
33655
- MessageDeleted: props.MessageDeleted,
33656
- MessageListNotifications: props.MessageListNotifications,
33657
- MessageNotification: props.MessageNotification,
33658
- MessageOptions: props.MessageOptions,
33659
- MessageRepliesCountButton: props.MessageRepliesCountButton,
33660
- MessageStatus: props.MessageStatus,
33661
- MessageSystem: props.MessageSystem,
33662
- MessageTimestamp: props.MessageTimestamp,
33663
- ModalGallery: props.ModalGallery,
33664
- PinIndicator: props.PinIndicator,
33665
- QuotedMessage: props.QuotedMessage,
33666
- QuotedMessagePreview: props.QuotedMessagePreview,
33667
- ReactionSelector: props.ReactionSelector,
33668
- ReactionsList: props.ReactionsList,
33669
- SendButton: props.SendButton,
33670
- ThreadHead: props.ThreadHead,
33671
- ThreadHeader: props.ThreadHeader,
33672
- ThreadStart: props.ThreadStart,
33673
- TriggerProvider: props.TriggerProvider,
33674
- TypingIndicator: props.TypingIndicator,
33675
- VirtualMessage: props.VirtualMessage,
33676
- }); }, []);
33682
+ var componentContextValue = React.useMemo(function () {
33683
+ var _a;
33684
+ return ({
33685
+ Attachment: props.Attachment || Attachment,
33686
+ AttachmentPreviewList: props.AttachmentPreviewList,
33687
+ AutocompleteSuggestionHeader: props.AutocompleteSuggestionHeader,
33688
+ AutocompleteSuggestionItem: props.AutocompleteSuggestionItem,
33689
+ AutocompleteSuggestionList: props.AutocompleteSuggestionList,
33690
+ Avatar: props.Avatar,
33691
+ CooldownTimer: props.CooldownTimer,
33692
+ DateSeparator: props.DateSeparator,
33693
+ EditMessageInput: props.EditMessageInput,
33694
+ EmojiIcon: props.EmojiIcon,
33695
+ EmptyStateIndicator: props.EmptyStateIndicator,
33696
+ FileUploadIcon: props.FileUploadIcon,
33697
+ GiphyPreviewMessage: props.GiphyPreviewMessage,
33698
+ HeaderComponent: props.HeaderComponent,
33699
+ Input: props.Input,
33700
+ LinkPreviewList: props.LinkPreviewList,
33701
+ LoadingIndicator: props.LoadingIndicator,
33702
+ Message: props.Message || MessageSimple,
33703
+ MessageDeleted: props.MessageDeleted,
33704
+ MessageListNotifications: props.MessageListNotifications,
33705
+ MessageNotification: props.MessageNotification,
33706
+ MessageOptions: props.MessageOptions,
33707
+ MessageRepliesCountButton: props.MessageRepliesCountButton,
33708
+ MessageStatus: props.MessageStatus,
33709
+ MessageSystem: props.MessageSystem,
33710
+ MessageTimestamp: props.MessageTimestamp,
33711
+ ModalGallery: props.ModalGallery,
33712
+ PinIndicator: props.PinIndicator,
33713
+ QuotedMessage: props.QuotedMessage,
33714
+ QuotedMessagePreview: props.QuotedMessagePreview,
33715
+ reactionOptions: (_a = props.reactionOptions) !== null && _a !== void 0 ? _a : defaultReactionOptions,
33716
+ ReactionSelector: props.ReactionSelector,
33717
+ ReactionsList: props.ReactionsList,
33718
+ SendButton: props.SendButton,
33719
+ ThreadHead: props.ThreadHead,
33720
+ ThreadHeader: props.ThreadHeader,
33721
+ ThreadStart: props.ThreadStart,
33722
+ TriggerProvider: props.TriggerProvider,
33723
+ TypingIndicator: props.TypingIndicator,
33724
+ VirtualMessage: props.VirtualMessage,
33725
+ });
33726
+ }, [props.reactionOptions]);
33677
33727
  var emojiContextValue = React.useMemo(function () { return ({
33678
- Emoji: props.Emoji,
33679
33728
  emojiConfig: emojiConfig,
33680
33729
  EmojiIndex: props.EmojiIndex,
33681
33730
  EmojiPicker: props.EmojiPicker,
@@ -34167,10 +34216,19 @@ var useNotificationRemovedFromChannelListener = function (setChannels, customHan
34167
34216
  }, [customHandler]);
34168
34217
  };
34169
34218
 
34170
- var usePaginatedChannels = function (client, filters, sort, options, activeChannelHandler) {
34171
- var _a = useChatContext('usePaginatedChannels').channelsQueryState, setError = _a.setError, setQueryInProgress = _a.setQueryInProgress;
34219
+ var RECOVER_LOADED_CHANNELS_THROTTLE_INTERVAL_IN_MS = 5000;
34220
+ var MIN_RECOVER_LOADED_CHANNELS_THROTTLE_INTERVAL_IN_MS = 2000;
34221
+ var usePaginatedChannels = function (client, filters, sort, options, activeChannelHandler, recoveryThrottleIntervalMs) {
34222
+ if (recoveryThrottleIntervalMs === void 0) { recoveryThrottleIntervalMs = RECOVER_LOADED_CHANNELS_THROTTLE_INTERVAL_IN_MS; }
34223
+ var _a = useChatContext('usePaginatedChannels').channelsQueryState, error = _a.error, setError = _a.setError, setQueryInProgress = _a.setQueryInProgress;
34172
34224
  var _b = React.useState([]), channels = _b[0], setChannels = _b[1];
34173
34225
  var _c = React.useState(true), hasNextPage = _c[0], setHasNextPage = _c[1];
34226
+ var lastRecoveryTimestamp = React.useRef();
34227
+ var recoveryThrottleInterval = recoveryThrottleIntervalMs < MIN_RECOVER_LOADED_CHANNELS_THROTTLE_INTERVAL_IN_MS
34228
+ ? MIN_RECOVER_LOADED_CHANNELS_THROTTLE_INTERVAL_IN_MS
34229
+ : recoveryThrottleIntervalMs
34230
+ ? recoveryThrottleIntervalMs
34231
+ : RECOVER_LOADED_CHANNELS_THROTTLE_INTERVAL_IN_MS;
34174
34232
  // memoize props
34175
34233
  var filterString = React.useMemo(function () { return JSON.stringify(filters); }, [filters]);
34176
34234
  var sortString = React.useMemo(function () { return JSON.stringify(sort); }, [sort]);
@@ -34217,9 +34275,29 @@ var usePaginatedChannels = function (client, filters, sort, options, activeChann
34217
34275
  }
34218
34276
  });
34219
34277
  }); };
34278
+ var throttleRecover = React.useCallback(function () {
34279
+ var now = Date.now();
34280
+ var isFirstRecovery = !lastRecoveryTimestamp.current;
34281
+ var timeElapsedSinceLastRecoveryMs = lastRecoveryTimestamp.current
34282
+ ? now - lastRecoveryTimestamp.current
34283
+ : 0;
34284
+ if (!isFirstRecovery && timeElapsedSinceLastRecoveryMs < recoveryThrottleInterval && !error) {
34285
+ return;
34286
+ }
34287
+ lastRecoveryTimestamp.current = now;
34288
+ queryChannels('reload');
34289
+ }, [error, queryChannels, recoveryThrottleInterval]);
34220
34290
  var loadNextPage = function () {
34221
34291
  queryChannels();
34222
34292
  };
34293
+ React.useEffect(function () {
34294
+ if (client.recoverStateOnReconnect)
34295
+ return;
34296
+ var unsubscribe = client.on('connection.recovered', throttleRecover).unsubscribe;
34297
+ return function () {
34298
+ unsubscribe();
34299
+ };
34300
+ }, [client, throttleRecover]);
34223
34301
  React.useEffect(function () {
34224
34302
  queryChannels('reload');
34225
34303
  }, [filterString, sortString]);
@@ -34852,7 +34930,7 @@ var DEFAULT_OPTIONS = {};
34852
34930
  var DEFAULT_SORT = {};
34853
34931
  var UnMemoizedChannelList = function (props) {
34854
34932
  var _a, _b;
34855
- var additionalChannelSearchProps = props.additionalChannelSearchProps, _c = props.Avatar, Avatar$1 = _c === void 0 ? Avatar : _c, allowNewMessagesFromUnfilteredChannels = props.allowNewMessagesFromUnfilteredChannels, channelRenderFilterFn = props.channelRenderFilterFn, _d = props.ChannelSearch, ChannelSearch$1 = _d === void 0 ? ChannelSearch : _d, customActiveChannel = props.customActiveChannel, _e = props.EmptyStateIndicator, EmptyStateIndicator$1 = _e === void 0 ? EmptyStateIndicator : _e, filters = props.filters, _f = props.LoadingErrorIndicator, LoadingErrorIndicator = _f === void 0 ? ChatDown : _f, _g = props.LoadingIndicator, LoadingIndicator = _g === void 0 ? LoadingChannels : _g, _h = props.List, List = _h === void 0 ? ChannelListMessenger : _h, lockChannelOrder = props.lockChannelOrder, onAddedToChannel = props.onAddedToChannel, onChannelDeleted = props.onChannelDeleted, onChannelHidden = props.onChannelHidden, onChannelTruncated = props.onChannelTruncated, onChannelUpdated = props.onChannelUpdated, onChannelVisible = props.onChannelVisible, onMessageNew = props.onMessageNew, onRemovedFromChannel = props.onRemovedFromChannel, options = props.options, _j = props.Paginator, Paginator = _j === void 0 ? LoadMorePaginator : _j, Preview = props.Preview, renderChannels = props.renderChannels, _k = props.sendChannelsToList, sendChannelsToList = _k === void 0 ? false : _k, _l = props.setActiveChannelOnMount, setActiveChannelOnMount = _l === void 0 ? true : _l, _m = props.showChannelSearch, showChannelSearch = _m === void 0 ? false : _m, _o = props.sort, sort = _o === void 0 ? DEFAULT_SORT : _o, _p = props.watchers, watchers = _p === void 0 ? {} : _p;
34933
+ var additionalChannelSearchProps = props.additionalChannelSearchProps, _c = props.Avatar, Avatar$1 = _c === void 0 ? Avatar : _c, allowNewMessagesFromUnfilteredChannels = props.allowNewMessagesFromUnfilteredChannels, channelRenderFilterFn = props.channelRenderFilterFn, _d = props.ChannelSearch, ChannelSearch$1 = _d === void 0 ? ChannelSearch : _d, customActiveChannel = props.customActiveChannel, _e = props.EmptyStateIndicator, EmptyStateIndicator$1 = _e === void 0 ? EmptyStateIndicator : _e, filters = props.filters, _f = props.LoadingErrorIndicator, LoadingErrorIndicator = _f === void 0 ? ChatDown : _f, _g = props.LoadingIndicator, LoadingIndicator = _g === void 0 ? LoadingChannels : _g, _h = props.List, List = _h === void 0 ? ChannelListMessenger : _h, lockChannelOrder = props.lockChannelOrder, onAddedToChannel = props.onAddedToChannel, onChannelDeleted = props.onChannelDeleted, onChannelHidden = props.onChannelHidden, onChannelTruncated = props.onChannelTruncated, onChannelUpdated = props.onChannelUpdated, onChannelVisible = props.onChannelVisible, onMessageNew = props.onMessageNew, onRemovedFromChannel = props.onRemovedFromChannel, options = props.options, _j = props.Paginator, Paginator = _j === void 0 ? LoadMorePaginator : _j, Preview = props.Preview, recoveryThrottleIntervalMs = props.recoveryThrottleIntervalMs, renderChannels = props.renderChannels, _k = props.sendChannelsToList, sendChannelsToList = _k === void 0 ? false : _k, _l = props.setActiveChannelOnMount, setActiveChannelOnMount = _l === void 0 ? true : _l, _m = props.showChannelSearch, showChannelSearch = _m === void 0 ? false : _m, _o = props.sort, sort = _o === void 0 ? DEFAULT_SORT : _o, _p = props.watchers, watchers = _p === void 0 ? {} : _p;
34856
34934
  var _q = useChatContext('ChannelList'), channel = _q.channel, channelsQueryState = _q.channelsQueryState, client = _q.client, closeMobileNav = _q.closeMobileNav, customClasses = _q.customClasses, _r = _q.navOpen, navOpen = _r === void 0 ? false : _r, setActiveChannel = _q.setActiveChannel, theme = _q.theme, useImageFlagEmojisOnWindows = _q.useImageFlagEmojisOnWindows;
34857
34935
  var channelListRef = React.useRef(null);
34858
34936
  var _s = React.useState(0), channelUpdateCount = _s[0], setChannelUpdateCount = _s[1];
@@ -34916,7 +34994,7 @@ var UnMemoizedChannelList = function (props) {
34916
34994
  setSearchActive(false);
34917
34995
  (_a = additionalChannelSearchProps === null || additionalChannelSearchProps === void 0 ? void 0 : additionalChannelSearchProps.onSearchExit) === null || _a === void 0 ? void 0 : _a.call(additionalChannelSearchProps);
34918
34996
  }, []);
34919
- var _u = usePaginatedChannels(client, filters || DEFAULT_FILTERS, sort || DEFAULT_SORT, options || DEFAULT_OPTIONS, activeChannelHandler), channels = _u.channels, hasNextPage = _u.hasNextPage, loadNextPage = _u.loadNextPage, setChannels = _u.setChannels;
34997
+ var _u = usePaginatedChannels(client, filters || DEFAULT_FILTERS, sort || DEFAULT_SORT, options || DEFAULT_OPTIONS, activeChannelHandler, recoveryThrottleIntervalMs), channels = _u.channels, hasNextPage = _u.hasNextPage, loadNextPage = _u.loadNextPage, setChannels = _u.setChannels;
34920
34998
  var loadedChannels = channelRenderFilterFn ? channelRenderFilterFn(channels) : channels;
34921
34999
  useMobileNavigation(channelListRef, navOpen, closeMobileNav);
34922
35000
  useMessageNewListener(setChannels, lockChannelOrder, allowNewMessagesFromUnfilteredChannels);
@@ -34974,7 +35052,7 @@ var UnMemoizedChannelList = function (props) {
34974
35052
  */
34975
35053
  var ChannelList = React__default["default"].memo(UnMemoizedChannelList);
34976
35054
 
34977
- var version = '10.13.1';
35055
+ var version = '11.0.0-rc.1';
34978
35056
 
34979
35057
  var useChat = function (_a) {
34980
35058
  var _b, _c;
@@ -37019,13 +37097,6 @@ var Window = React__default["default"].memo(UnMemoizedWindow);
37019
37097
 
37020
37098
  // @ts-expect-error
37021
37099
 
37022
- var DefaultEmoji = /*#__PURE__*/Object.freeze({
37023
- __proto__: null,
37024
- 'default': nimbleEmoji__default["default"]
37025
- });
37026
-
37027
- // @ts-expect-error
37028
-
37029
37100
  var DefaultEmojiPicker = /*#__PURE__*/Object.freeze({
37030
37101
  __proto__: null,
37031
37102
  'default': nimblePicker__default["default"]
@@ -37154,6 +37225,8 @@ exports.SendButton = SendButton;
37154
37225
  exports.SendIconV1 = SendIconV1;
37155
37226
  exports.SendIconV2 = SendIconV2;
37156
37227
  exports.SimpleReactionsList = SimpleReactionsList;
37228
+ exports.SpriteImage = SpriteImage;
37229
+ exports.StreamEmoji = StreamEmoji;
37157
37230
  exports.Streami18n = Streami18n;
37158
37231
  exports.Thread = Thread;
37159
37232
  exports.ThreadHeader = ThreadHeader;
@@ -37180,6 +37253,7 @@ exports.darkModeTheme = darkModeTheme;
37180
37253
  exports.deTranslations = deTranslations;
37181
37254
  exports.defaultDateTimeParser = defaultDateTimeParser;
37182
37255
  exports.defaultPinPermissions = defaultPinPermissions;
37256
+ exports.defaultReactionOptions = defaultReactionOptions;
37183
37257
  exports.defaultScrollToItem = defaultScrollToItem;
37184
37258
  exports.defaultTimestampFormat = defaultTimestampFormat;
37185
37259
  exports.defaultTranslatorFunction = defaultTranslatorFunction;