stream-chat-react 10.14.0 → 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 (47) hide show
  1. package/dist/browser.full-bundle.js +581 -529
  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/Reactions/ReactionSelector.d.ts +3 -8
  9. package/dist/components/Reactions/ReactionSelector.d.ts.map +1 -1
  10. package/dist/components/Reactions/ReactionSelector.js +18 -25
  11. package/dist/components/Reactions/ReactionsList.d.ts +3 -8
  12. package/dist/components/Reactions/ReactionsList.d.ts.map +1 -1
  13. package/dist/components/Reactions/ReactionsList.js +9 -12
  14. package/dist/components/Reactions/SimpleReactionsList.d.ts +2 -5
  15. package/dist/components/Reactions/SimpleReactionsList.d.ts.map +1 -1
  16. package/dist/components/Reactions/SimpleReactionsList.js +12 -15
  17. package/dist/components/Reactions/SpriteImage.d.ts +12 -0
  18. package/dist/components/Reactions/SpriteImage.d.ts.map +1 -0
  19. package/dist/components/Reactions/SpriteImage.js +28 -0
  20. package/dist/components/Reactions/StreamEmoji.d.ts +18 -0
  21. package/dist/components/Reactions/StreamEmoji.d.ts.map +1 -0
  22. package/dist/components/Reactions/StreamEmoji.js +16 -0
  23. package/dist/components/Reactions/hooks/useProcessReactions.d.ts +8 -10
  24. package/dist/components/Reactions/hooks/useProcessReactions.d.ts.map +1 -1
  25. package/dist/components/Reactions/hooks/useProcessReactions.js +14 -18
  26. package/dist/components/Reactions/index.d.ts +3 -0
  27. package/dist/components/Reactions/index.d.ts.map +1 -1
  28. package/dist/components/Reactions/index.js +3 -0
  29. package/dist/components/Reactions/reactionOptions.d.ts +8 -0
  30. package/dist/components/Reactions/reactionOptions.d.ts.map +1 -0
  31. package/dist/components/Reactions/reactionOptions.js +11 -0
  32. package/dist/components/Reactions/utils/utils.d.ts +1 -0
  33. package/dist/components/Reactions/utils/utils.d.ts.map +1 -1
  34. package/dist/components/Reactions/utils/utils.js +12 -0
  35. package/dist/context/ComponentContext.d.ts +2 -0
  36. package/dist/context/ComponentContext.d.ts.map +1 -1
  37. package/dist/context/EmojiContext.d.ts +1 -2
  38. package/dist/context/EmojiContext.d.ts.map +1 -1
  39. package/dist/context/EmojiContext.js +1 -3
  40. package/dist/index.cjs.js +160 -115
  41. package/dist/index.cjs.js.map +1 -1
  42. package/dist/types/types.d.ts +3 -0
  43. package/dist/types/types.d.ts.map +1 -1
  44. package/dist/version.d.ts +1 -1
  45. package/dist/version.d.ts.map +1 -1
  46. package/dist/version.js +1 -1
  47. package/package.json +1 -1
@@ -6940,14 +6940,12 @@ var StreamChatReact = (function (exports, React$2, streamChat, ReactDOM) {
6940
6940
 
6941
6941
  var DefaultEmojiIndex = /*@__PURE__*/getDefaultExportFromCjs(nimbleEmojiIndex);
6942
6942
 
6943
- window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var DefaultEmoji$1 = React__default["default"].lazy(function () { return Promise.resolve().then(function () { return DefaultEmoji; }); });
6944
- var DefaultEmojiPicker$1 = React__default["default"].lazy(function () { return Promise.resolve().then(function () { return DefaultEmojiPicker; }); });
6943
+ window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var DefaultEmojiPicker$1 = React__default["default"].lazy(function () { return Promise.resolve().then(function () { return DefaultEmojiPicker; }); });
6945
6944
  var EmojiContext = React__default["default"].createContext(undefined);
6946
6945
  var EmojiProvider = function (_a) {
6947
6946
  var children = _a.children, value = _a.value;
6948
- var _b = value.Emoji, Emoji = _b === void 0 ? DefaultEmoji$1 : _b, emojiConfig = value.emojiConfig, _c = value.EmojiIndex, EmojiIndex = _c === void 0 ? DefaultEmojiIndex : _c, _d = value.EmojiPicker, EmojiPicker = _d === void 0 ? DefaultEmojiPicker$1 : _d;
6947
+ var emojiConfig = value.emojiConfig, _b = value.EmojiIndex, EmojiIndex = _b === void 0 ? DefaultEmojiIndex : _b, _c = value.EmojiPicker, EmojiPicker = _c === void 0 ? DefaultEmojiPicker$1 : _c;
6949
6948
  var emojiContextValue = {
6950
- Emoji: Emoji,
6951
6949
  emojiConfig: emojiConfig,
6952
6950
  EmojiIndex: EmojiIndex,
6953
6951
  EmojiPicker: EmojiPicker,
@@ -39604,8 +39602,6 @@ var StreamChatReact = (function (exports, React$2, streamChat, ReactDOM) {
39604
39602
  __assign(__assign({ colons: ':pensive:', id: 'sad', name: 'sad', sheet_x: 0, sheet_y: 1 }, commonEmoji), emojiSetDef),
39605
39603
  __assign(__assign({ colons: ':angry:', id: 'angry', name: 'angry', sheet_x: 1, sheet_y: 1 }, commonEmoji), emojiSetDef),
39606
39604
  ];
39607
- // use this only for small lists like in ReactionSelector
39608
- var getStrippedEmojiData = function (data) { return (__assign(__assign({}, data), { emojis: {} })); };
39609
39605
 
39610
39606
  window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var useCreateChannelStateContext = function (value) {
39611
39607
  var _a;
@@ -44852,24 +44848,32 @@ var StreamChatReact = (function (exports, React$2, streamChat, ReactDOM) {
44852
44848
  }
44853
44849
  return false;
44854
44850
  };
44851
+ var getImageDimensions = function (source) {
44852
+ return new Promise(function (resolve, reject) {
44853
+ var image = new Image();
44854
+ image.addEventListener('load', function () {
44855
+ resolve([image.width, image.height]);
44856
+ }, { once: true });
44857
+ image.addEventListener('error', function () { return reject("Couldn't load image from ".concat(source)); }, {
44858
+ once: true,
44859
+ });
44860
+ image.src = source;
44861
+ });
44862
+ };
44855
44863
 
44856
44864
  window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var UnMemoizedReactionSelector = React__default["default"].forwardRef(function (props, ref) {
44857
44865
  var _a;
44858
- 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;
44859
- var contextAvatar = useComponentContext('ReactionSelector').Avatar;
44860
- var _e = useEmojiContext('ReactionSelector'), Emoji = _e.Emoji, emojiConfig = _e.emojiConfig;
44861
- var _f = useMessageContext('ReactionSelector'), contextHandleReaction = _f.handleReaction, message = _f.message;
44862
- var _g = emojiConfig || {}, defaultMinimalEmojis = _g.defaultMinimalEmojis, fullEmojiData = _g.emojiData, emojiSetDef = _g.emojiSetDef;
44866
+ 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;
44867
+ var _d = useComponentContext('ReactionSelector'), contextAvatar = _d.Avatar, contextReactionOptions = _d.reactionOptions;
44868
+ var _e = useMessageContext('ReactionSelector'), contextHandleReaction = _e.handleReaction, message = _e.message;
44869
+ var reactionOptions = propReactionOptions !== null && propReactionOptions !== void 0 ? propReactionOptions : contextReactionOptions;
44863
44870
  var Avatar$1 = propAvatar || contextAvatar || Avatar;
44864
44871
  var handleReaction = propHandleReaction || contextHandleReaction;
44865
44872
  var latestReactions = propLatestReactions || (message === null || message === void 0 ? void 0 : message.latest_reactions) || [];
44866
44873
  var ownReactions = propOwnReactions || (message === null || message === void 0 ? void 0 : message.own_reactions) || [];
44867
44874
  var reactionCounts = propReactionCounts || (message === null || message === void 0 ? void 0 : message.reaction_counts) || {};
44868
- var reactionOptions = propReactionOptions || defaultMinimalEmojis;
44869
- var reactionsAreCustom = !!(propReactionOptions === null || propReactionOptions === void 0 ? void 0 : propReactionOptions.length);
44870
- var emojiData = React$2.useMemo(function () { return (reactionsAreCustom ? fullEmojiData : getStrippedEmojiData(fullEmojiData)); }, [fullEmojiData, reactionsAreCustom]);
44871
- var _h = React$2.useState(null), tooltipReactionType = _h[0], setTooltipReactionType = _h[1];
44872
- var _j = React$2.useState(null), tooltipPositions = _j[0], setTooltipPositions = _j[1];
44875
+ var _f = React$2.useState(null), tooltipReactionType = _f[0], setTooltipReactionType = _f[1];
44876
+ var _g = React$2.useState(null), tooltipPositions = _g[0], setTooltipPositions = _g[1];
44873
44877
  var targetRef = React$2.useRef(null);
44874
44878
  var tooltipRef = React$2.useRef(null);
44875
44879
  var showTooltip = React$2.useCallback(function (event, reactionType) {
@@ -44926,17 +44930,17 @@ var StreamChatReact = (function (exports, React$2, streamChat, ReactDOM) {
44926
44930
  } },
44927
44931
  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 :
44928
44932
  _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 ? ', ' : ''))); }))),
44929
- React__default["default"].createElement("ul", { className: 'str-chat__message-reactions-list str-chat__message-reactions-options' }, reactionOptions.map(function (reactionOption) {
44930
- var latestUser = getLatestUserForReactionType(reactionOption.id);
44931
- var count = reactionCounts && reactionCounts[reactionOption.id];
44932
- return (React__default["default"].createElement("li", { key: "item-".concat(reactionOption.id) },
44933
- 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', {
44934
- 'str-chat__message-reactions-option-selected': iHaveReactedWithReaction(reactionOption.id),
44935
- }), "data-text": reactionOption.id, onClick: function (event) { return handleReaction(reactionOption.id, event); } },
44936
- !!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' })))),
44937
- React__default["default"].createElement(React$2.Suspense, { fallback: null },
44938
- React__default["default"].createElement("span", { className: 'str-chat__message-reaction-emoji' },
44939
- React__default["default"].createElement(Emoji, __assign({ data: emojiData, emoji: reactionOption, size: 20 }, (reactionsAreCustom ? additionalEmojiProps : emojiSetDef))))),
44933
+ React__default["default"].createElement("ul", { className: 'str-chat__message-reactions-list str-chat__message-reactions-options' }, reactionOptions.map(function (_a) {
44934
+ var Component = _a.Component, reactionName = _a.name, reactionType = _a.type;
44935
+ var latestUser = getLatestUserForReactionType(reactionType);
44936
+ var count = reactionCounts && reactionCounts[reactionType];
44937
+ return (React__default["default"].createElement("li", { key: reactionType },
44938
+ 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', {
44939
+ 'str-chat__message-reactions-option-selected': iHaveReactedWithReaction(reactionType),
44940
+ }), "data-text": reactionType, onClick: function (event) { return handleReaction(reactionType, event); } },
44941
+ !!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' })))),
44942
+ React__default["default"].createElement("span", { className: 'str-chat__message-reaction-emoji' },
44943
+ React__default["default"].createElement(Component, null)),
44940
44944
  Boolean(count) && detailedView && (React__default["default"].createElement("span", { className: 'str-chat__message-reactions-list-item__count' }, count || '')))));
44941
44945
  }))));
44942
44946
  });
@@ -44946,19 +44950,18 @@ var StreamChatReact = (function (exports, React$2, streamChat, ReactDOM) {
44946
44950
  var ReactionSelector = React__default["default"].memo(UnMemoizedReactionSelector);
44947
44951
 
44948
44952
  window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var useProcessReactions = function (params) {
44949
- 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;
44950
- var message = useMessageContext('ReactionsList').message;
44951
- var _b = emojiConfig || {}, defaultMinimalEmojis = _b.defaultMinimalEmojis, fullEmojiData = _b.emojiData, emojiSetDef = _b.emojiSetDef;
44953
+ var propOwnReactions = params.own_reactions, propReactionCounts = params.reaction_counts, propReactionOptions = params.reactionOptions, propReactions = params.reactions;
44954
+ var message = useMessageContext('useProcessReactions').message;
44955
+ var contextReactionOptions = useComponentContext('useProcessReactions').reactionOptions;
44956
+ var reactionOptions = propReactionOptions !== null && propReactionOptions !== void 0 ? propReactionOptions : contextReactionOptions;
44952
44957
  var latestReactions = propReactions || message.latest_reactions || [];
44953
44958
  var ownReactions = propOwnReactions || (message === null || message === void 0 ? void 0 : message.own_reactions) || [];
44954
44959
  var reactionCounts = propReactionCounts || message.reaction_counts || {};
44955
- var reactionOptions = propReactionOptions || defaultMinimalEmojis;
44956
- var reactionsAreCustom = !!(propReactionOptions === null || propReactionOptions === void 0 ? void 0 : propReactionOptions.length);
44957
44960
  var iHaveReactedWithReaction = React$2.useCallback(function (reactionType) { return ownReactions.find(function (reaction) { return reaction.type === reactionType; }); }, [ownReactions]);
44958
- var getEmojiByReactionType = React$2.useCallback(function (type) {
44959
- return reactionOptions.find(function (option) { return option.id === type; });
44960
- }, [reactionOptions]);
44961
- var emojiData = React$2.useMemo(function () { return (reactionsAreCustom ? fullEmojiData : getStrippedEmojiData(fullEmojiData)); }, [fullEmojiData, reactionsAreCustom]);
44961
+ var getEmojiByReactionType = React$2.useCallback(function (reactionType) { return reactionOptions.find(function (_a) {
44962
+ var type = _a.type;
44963
+ return type === reactionType;
44964
+ }); }, [reactionOptions]);
44962
44965
  var latestReactionTypes = React$2.useMemo(function () {
44963
44966
  return latestReactions.reduce(function (reactionTypes, _a) {
44964
44967
  var type = _a.type;
@@ -44969,13 +44972,13 @@ var StreamChatReact = (function (exports, React$2, streamChat, ReactDOM) {
44969
44972
  }, []);
44970
44973
  }, [latestReactions]);
44971
44974
  var supportedReactionMap = React$2.useMemo(function () {
44972
- return reactionOptions.reduce(function (acc, _a) {
44973
- var id = _a.id;
44974
- acc[id] = true;
44975
- return acc;
44975
+ return reactionOptions.reduce(function (map, _a) {
44976
+ var reactionType = _a.type;
44977
+ map[reactionType] = true;
44978
+ return map;
44976
44979
  }, {});
44977
44980
  }, [reactionOptions]);
44978
- var supportedReactionsArePresent = React$2.useMemo(function () { return latestReactionTypes.some(function (type) { return supportedReactionMap[type]; }); }, [latestReactionTypes, supportedReactionMap]);
44981
+ var supportedReactionsArePresent = React$2.useMemo(function () { return latestReactionTypes.some(function (reactionType) { return supportedReactionMap[reactionType]; }); }, [latestReactionTypes, supportedReactionMap]);
44979
44982
  var totalReactionCount = React$2.useMemo(function () {
44980
44983
  return supportedReactionsArePresent
44981
44984
  ? Object.values(reactionCounts).reduce(function (total, count) { return total + count; }, 0)
@@ -44992,9 +44995,7 @@ var StreamChatReact = (function (exports, React$2, streamChat, ReactDOM) {
44992
44995
  }, {});
44993
44996
  }, [latestReactions]);
44994
44997
  return {
44995
- additionalEmojiProps: reactionsAreCustom ? additionalEmojiProps : emojiSetDef,
44996
44998
  aggregatedUserNamesByType: aggregatedUserNamesByType,
44997
- emojiData: emojiData,
44998
44999
  getEmojiByReactionType: getEmojiByReactionType,
44999
45000
  iHaveReactedWithReaction: iHaveReactedWithReaction,
45000
45001
  latestReactions: latestReactions,
@@ -45019,9 +45020,8 @@ var StreamChatReact = (function (exports, React$2, streamChat, ReactDOM) {
45019
45020
  };
45020
45021
  var UnMemoizedReactionsList = function (props) {
45021
45022
  var onClick = props.onClick, _a = props.reverse, reverse = _a === void 0 ? false : _a, rest = __rest(props, ["onClick", "reverse"]);
45022
- var _b = useEmojiContext('ReactionsList'), Emoji = _b.Emoji, emojiConfig = _b.emojiConfig;
45023
45023
  var onReactionListClick = useMessageContext('ReactionsList').onReactionListClick;
45024
- 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;
45024
+ 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;
45025
45025
  if (!latestReactions.length)
45026
45026
  return null;
45027
45027
  if (!supportedReactionsArePresent)
@@ -45031,17 +45031,16 @@ var StreamChatReact = (function (exports, React$2, streamChat, ReactDOM) {
45031
45031
  }), "data-testid": 'reaction-list', onClick: onClick || onReactionListClick, onKeyUp: onClick || onReactionListClick, role: 'figure' },
45032
45032
  React__default["default"].createElement("ul", { className: 'str-chat__message-reactions' },
45033
45033
  latestReactionTypes.map(function (reactionType) {
45034
- var emojiObject = getEmojiByReactionType(reactionType);
45034
+ var ReactionOption = getEmojiByReactionType(reactionType);
45035
45035
  var isOwnReaction = iHaveReactedWithReaction(reactionType);
45036
- return emojiObject ? (React__default["default"].createElement("li", { className: clsx('str-chat__message-reaction', {
45036
+ return (ReactionOption && (React__default["default"].createElement("li", { className: clsx('str-chat__message-reaction', {
45037
45037
  'str-chat__message-reaction-own': isOwnReaction,
45038
- }), key: emojiObject.id },
45039
- React__default["default"].createElement(ButtonWithTooltip, { "aria-label": "Reactions: ".concat(reactionType), title: aggregatedUserNamesByType[reactionType].join(', '), type: 'button' },
45040
- React__default["default"].createElement(React$2.Suspense, { fallback: null },
45041
- React__default["default"].createElement("span", { className: 'str-chat__message-reaction-emoji' },
45042
- React__default["default"].createElement(Emoji, __assign({ data: emojiData, emoji: emojiObject, size: 16 }, additionalEmojiProps)))),
45038
+ }), key: reactionType },
45039
+ React__default["default"].createElement(ButtonWithTooltip, { "aria-label": "Reactions: ".concat(reactionType), "data-testid": "reactions-list-button-".concat(reactionType), title: aggregatedUserNamesByType[reactionType].join(', '), type: 'button' },
45040
+ React__default["default"].createElement("span", { className: 'str-chat__message-reaction-emoji' },
45041
+ React__default["default"].createElement(ReactionOption.Component, null)),
45043
45042
  "\u00A0",
45044
- React__default["default"].createElement("span", { className: 'str-chat__message-reaction-count', "data-testclass": 'reaction-list-reaction-count' }, reactionCounts[reactionType])))) : null;
45043
+ React__default["default"].createElement("span", { className: 'str-chat__message-reaction-count', "data-testclass": 'reaction-list-reaction-count' }, reactionCounts[reactionType])))));
45045
45044
  }),
45046
45045
  React__default["default"].createElement("li", null,
45047
45046
  React__default["default"].createElement("span", { className: 'str-chat__reaction-list--counter' }, totalReactionCount)))));
@@ -45067,10 +45066,9 @@ var StreamChatReact = (function (exports, React$2, streamChat, ReactDOM) {
45067
45066
  };
45068
45067
  var UnMemoizedSimpleReactionsList = function (props) {
45069
45068
  var propHandleReaction = props.handleReaction, rest = __rest(props, ["handleReaction"]);
45070
- var _a = useEmojiContext('SimpleReactionsList'), Emoji = _a.Emoji, emojiConfig = _a.emojiConfig;
45071
45069
  var contextHandleReaction = useMessageContext('SimpleReactionsList').handleReaction;
45072
- 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;
45073
- var _c = React$2.useState(undefined), tooltipReactionType = _c[0], setTooltipReactionType = _c[1];
45070
+ var _a = useProcessReactions(rest), getEmojiByReactionType = _a.getEmojiByReactionType, iHaveReactedWithReaction = _a.iHaveReactedWithReaction, latestReactions = _a.latestReactions, latestReactionTypes = _a.latestReactionTypes, supportedReactionsArePresent = _a.supportedReactionsArePresent, totalReactionCount = _a.totalReactionCount;
45071
+ var _b = React$2.useState(undefined), tooltipReactionType = _b[0], setTooltipReactionType = _b[1];
45074
45072
  var themeVersion = useChatContext('SimpleReactionsList').themeVersion;
45075
45073
  var handleReaction = propHandleReaction || contextHandleReaction;
45076
45074
  if (!latestReactions.length)
@@ -45090,27 +45088,77 @@ var StreamChatReact = (function (exports, React$2, streamChat, ReactDOM) {
45090
45088
  };
45091
45089
  return (React__default["default"].createElement("div", { className: 'str-chat__message-reactions-container' },
45092
45090
  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); } },
45093
- latestReactionTypes.map(function (reactionType, i) {
45091
+ latestReactionTypes.map(function (reactionType) {
45094
45092
  var _a;
45095
- var emojiObject = getEmojiByReactionType(reactionType);
45093
+ var ReactionOption = getEmojiByReactionType(reactionType);
45096
45094
  var isOwnReaction = iHaveReactedWithReaction(reactionType);
45097
- var tooltipVisible = emojiObject && tooltipReactionType === (emojiObject === null || emojiObject === void 0 ? void 0 : emojiObject.id);
45095
+ var tooltipVisible = tooltipReactionType === reactionType;
45098
45096
  var tooltipContent = (_a = getUsersPerReactionType(tooltipReactionType)) === null || _a === void 0 ? void 0 : _a.join(', ');
45099
- return emojiObject ? (React__default["default"].createElement("li", { className: clsx('str-chat__simple-reactions-list-item', {
45097
+ return (ReactionOption && (React__default["default"].createElement("li", { className: clsx('str-chat__simple-reactions-list-item', {
45100
45098
  'str-chat__message-reaction-own': isOwnReaction,
45101
- }), key: "".concat(emojiObject.id, "-").concat(i), onClick: function (event) { return handleReaction(reactionType, event); }, onKeyUp: function (event) { return handleReaction(reactionType, event); } },
45099
+ }), key: reactionType, onClick: function (event) { return handleReaction(reactionType, event); }, onKeyUp: function (event) { return handleReaction(reactionType, event); } },
45102
45100
  React__default["default"].createElement(WithTooltip, { onMouseEnter: function () { return setTooltipReactionType(reactionType); }, onMouseLeave: function () { return setTooltipReactionType(undefined); }, title: tooltipContent },
45103
- React__default["default"].createElement(React$2.Suspense, { fallback: null },
45104
- React__default["default"].createElement(Emoji, __assign({ data: emojiData, emoji: emojiObject, size: 13 }, additionalEmojiProps))),
45101
+ React__default["default"].createElement(ReactionOption.Component, null),
45105
45102
  "\u00A0",
45106
45103
  tooltipVisible && themeVersion === '1' && (React__default["default"].createElement("div", { className: 'str-chat__simple-reactions-list-tooltip' },
45107
45104
  React__default["default"].createElement("div", { className: 'arrow' }),
45108
- tooltipContent))))) : null;
45105
+ tooltipContent))))));
45109
45106
  }),
45110
45107
  React__default["default"].createElement("li", { className: 'str-chat__simple-reactions-list-item--last-number' }, totalReactionCount))));
45111
45108
  };
45112
45109
  var SimpleReactionsList = React__default["default"].memo(UnMemoizedSimpleReactionsList);
45113
45110
 
45111
+ window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var SpriteImage = function (_a) {
45112
+ var columns = _a.columns, fallback = _a.fallback, height = _a.height, position = _a.position, rows = _a.rows, spriteUrl = _a.spriteUrl, width = _a.width;
45113
+ var _b = React$2.useState([0, 0]), _c = _b[0], spriteWidth = _c[0], spriteHeight = _c[1], setSpriteDimensions = _b[1];
45114
+ React$2.useEffect(function () {
45115
+ getImageDimensions(spriteUrl).then(setSpriteDimensions).catch(console.error);
45116
+ }, [spriteUrl]);
45117
+ var x = position[0], y = position[1];
45118
+ var spriteItemWidth = spriteWidth / columns;
45119
+ var spriteItemHeight = spriteHeight / rows;
45120
+ var resizeRatio = 1;
45121
+ if (!width && height)
45122
+ resizeRatio = height / spriteItemHeight;
45123
+ if (width && !height)
45124
+ resizeRatio = width / spriteItemWidth;
45125
+ if (resizeRatio === Infinity)
45126
+ resizeRatio = 1;
45127
+ if (!spriteHeight || !spriteWidth)
45128
+ return React__default["default"].createElement(React__default["default"].Fragment, null, fallback);
45129
+ return (React__default["default"].createElement("div", { "data-testid": 'sprite-image', style: {
45130
+ backgroundImage: "url('".concat(spriteUrl, "')"),
45131
+ backgroundPosition: "".concat(x * (100 / (columns - 1)), "% ").concat(y * (100 / (rows - 1)), "%"),
45132
+ backgroundSize: "".concat(columns * 100, "% ").concat(rows * 100, "%"),
45133
+ height: height !== null && height !== void 0 ? height : spriteItemHeight * resizeRatio,
45134
+ width: width !== null && width !== void 0 ? width : spriteItemWidth * resizeRatio,
45135
+ } }));
45136
+ };
45137
+
45138
+ window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var StreamSpriteEmojiPositions = {
45139
+ angry: [1, 1],
45140
+ haha: [1, 0],
45141
+ like: [0, 0],
45142
+ love: [1, 2],
45143
+ sad: [0, 1],
45144
+ wow: [0, 2],
45145
+ };
45146
+ var STREAM_SPRITE_URL = 'https://getstream.imgix.net/images/emoji-sprite.png';
45147
+ var StreamEmoji = function (_a) {
45148
+ var fallback = _a.fallback, type = _a.type;
45149
+ var position = StreamSpriteEmojiPositions[type];
45150
+ return (React__default["default"].createElement(SpriteImage, { columns: 2, fallback: fallback, height: 18, position: position, rows: 3, spriteUrl: STREAM_SPRITE_URL }));
45151
+ };
45152
+
45153
+ window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};/* eslint-disable sort-keys */
45154
+ var defaultReactionOptions = [
45155
+ { type: 'haha', Component: function () { return React__default["default"].createElement(StreamEmoji, { fallback: '\uD83D\uDE02', type: 'haha' }); }, name: 'Joy' },
45156
+ { type: 'like', Component: function () { return React__default["default"].createElement(StreamEmoji, { fallback: '\uD83D\uDC4D', type: 'like' }); }, name: 'Thumbs up' },
45157
+ { type: 'love', Component: function () { return React__default["default"].createElement(StreamEmoji, { fallback: '\u2764\uFE0F', type: 'love' }); }, name: 'Heart' },
45158
+ { type: 'sad', Component: function () { return React__default["default"].createElement(StreamEmoji, { fallback: '\uD83D\uDE14', type: 'sad' }); }, name: 'Sad' },
45159
+ { type: 'wow', Component: function () { return React__default["default"].createElement(StreamEmoji, { fallback: '\uD83D\uDE32', type: 'wow' }); }, name: 'Astonished' },
45160
+ ];
45161
+
45114
45162
  window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};
45115
45163
 
45116
45164
  window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var MessageSimpleWithContext = function (props) {
@@ -46169,49 +46217,52 @@ var StreamChatReact = (function (exports, React$2, streamChat, ReactDOM) {
46169
46217
  jumpToMessage,
46170
46218
  jumpToLatestMessage,
46171
46219
  ]);
46172
- var componentContextValue = React$2.useMemo(function () { return ({
46173
- Attachment: props.Attachment || Attachment,
46174
- AttachmentPreviewList: props.AttachmentPreviewList,
46175
- AutocompleteSuggestionHeader: props.AutocompleteSuggestionHeader,
46176
- AutocompleteSuggestionItem: props.AutocompleteSuggestionItem,
46177
- AutocompleteSuggestionList: props.AutocompleteSuggestionList,
46178
- Avatar: props.Avatar,
46179
- CooldownTimer: props.CooldownTimer,
46180
- DateSeparator: props.DateSeparator,
46181
- EditMessageInput: props.EditMessageInput,
46182
- EmojiIcon: props.EmojiIcon,
46183
- EmptyStateIndicator: props.EmptyStateIndicator,
46184
- FileUploadIcon: props.FileUploadIcon,
46185
- GiphyPreviewMessage: props.GiphyPreviewMessage,
46186
- HeaderComponent: props.HeaderComponent,
46187
- Input: props.Input,
46188
- LinkPreviewList: props.LinkPreviewList,
46189
- LoadingIndicator: props.LoadingIndicator,
46190
- Message: props.Message || MessageSimple,
46191
- MessageDeleted: props.MessageDeleted,
46192
- MessageListNotifications: props.MessageListNotifications,
46193
- MessageNotification: props.MessageNotification,
46194
- MessageOptions: props.MessageOptions,
46195
- MessageRepliesCountButton: props.MessageRepliesCountButton,
46196
- MessageStatus: props.MessageStatus,
46197
- MessageSystem: props.MessageSystem,
46198
- MessageTimestamp: props.MessageTimestamp,
46199
- ModalGallery: props.ModalGallery,
46200
- PinIndicator: props.PinIndicator,
46201
- QuotedMessage: props.QuotedMessage,
46202
- QuotedMessagePreview: props.QuotedMessagePreview,
46203
- ReactionSelector: props.ReactionSelector,
46204
- ReactionsList: props.ReactionsList,
46205
- SendButton: props.SendButton,
46206
- ThreadHead: props.ThreadHead,
46207
- ThreadHeader: props.ThreadHeader,
46208
- ThreadStart: props.ThreadStart,
46209
- TriggerProvider: props.TriggerProvider,
46210
- TypingIndicator: props.TypingIndicator,
46211
- VirtualMessage: props.VirtualMessage,
46212
- }); }, []);
46220
+ var componentContextValue = React$2.useMemo(function () {
46221
+ var _a;
46222
+ return ({
46223
+ Attachment: props.Attachment || Attachment,
46224
+ AttachmentPreviewList: props.AttachmentPreviewList,
46225
+ AutocompleteSuggestionHeader: props.AutocompleteSuggestionHeader,
46226
+ AutocompleteSuggestionItem: props.AutocompleteSuggestionItem,
46227
+ AutocompleteSuggestionList: props.AutocompleteSuggestionList,
46228
+ Avatar: props.Avatar,
46229
+ CooldownTimer: props.CooldownTimer,
46230
+ DateSeparator: props.DateSeparator,
46231
+ EditMessageInput: props.EditMessageInput,
46232
+ EmojiIcon: props.EmojiIcon,
46233
+ EmptyStateIndicator: props.EmptyStateIndicator,
46234
+ FileUploadIcon: props.FileUploadIcon,
46235
+ GiphyPreviewMessage: props.GiphyPreviewMessage,
46236
+ HeaderComponent: props.HeaderComponent,
46237
+ Input: props.Input,
46238
+ LinkPreviewList: props.LinkPreviewList,
46239
+ LoadingIndicator: props.LoadingIndicator,
46240
+ Message: props.Message || MessageSimple,
46241
+ MessageDeleted: props.MessageDeleted,
46242
+ MessageListNotifications: props.MessageListNotifications,
46243
+ MessageNotification: props.MessageNotification,
46244
+ MessageOptions: props.MessageOptions,
46245
+ MessageRepliesCountButton: props.MessageRepliesCountButton,
46246
+ MessageStatus: props.MessageStatus,
46247
+ MessageSystem: props.MessageSystem,
46248
+ MessageTimestamp: props.MessageTimestamp,
46249
+ ModalGallery: props.ModalGallery,
46250
+ PinIndicator: props.PinIndicator,
46251
+ QuotedMessage: props.QuotedMessage,
46252
+ QuotedMessagePreview: props.QuotedMessagePreview,
46253
+ reactionOptions: (_a = props.reactionOptions) !== null && _a !== void 0 ? _a : defaultReactionOptions,
46254
+ ReactionSelector: props.ReactionSelector,
46255
+ ReactionsList: props.ReactionsList,
46256
+ SendButton: props.SendButton,
46257
+ ThreadHead: props.ThreadHead,
46258
+ ThreadHeader: props.ThreadHeader,
46259
+ ThreadStart: props.ThreadStart,
46260
+ TriggerProvider: props.TriggerProvider,
46261
+ TypingIndicator: props.TypingIndicator,
46262
+ VirtualMessage: props.VirtualMessage,
46263
+ });
46264
+ }, [props.reactionOptions]);
46213
46265
  var emojiContextValue = React$2.useMemo(function () { return ({
46214
- Emoji: props.Emoji,
46215
46266
  emojiConfig: emojiConfig,
46216
46267
  EmojiIndex: props.EmojiIndex,
46217
46268
  EmojiPicker: props.EmojiPicker,
@@ -47555,7 +47606,7 @@ var StreamChatReact = (function (exports, React$2, streamChat, ReactDOM) {
47555
47606
 
47556
47607
  window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};
47557
47608
 
47558
- window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var version$1 = '10.14.0';
47609
+ window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var version$1 = '11.0.0-rc.1';
47559
47610
 
47560
47611
  window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var useChat = function (_a) {
47561
47612
  var _b, _c;
@@ -50843,421 +50894,6 @@ var StreamChatReact = (function (exports, React$2, streamChat, ReactDOM) {
50843
50894
 
50844
50895
  window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};
50845
50896
 
50846
- var nimbleEmoji$1 = {};
50847
-
50848
- var sharedProps = {};
50849
-
50850
- window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};
50851
- var hasRequiredSharedProps;
50852
-
50853
- function requireSharedProps () {
50854
- if (hasRequiredSharedProps) return sharedProps;
50855
- hasRequiredSharedProps = 1;
50856
-
50857
- var _interopRequireDefault = interopRequireDefault.exports;
50858
-
50859
- Object.defineProperty(sharedProps, "__esModule", {
50860
- value: true
50861
- });
50862
- sharedProps.PickerPropTypes = sharedProps.EmojiPropTypes = void 0;
50863
-
50864
- var _propTypes = _interopRequireDefault(requirePropTypes());
50865
-
50866
- var EmojiPropTypes = {
50867
- data: _propTypes["default"].object.isRequired,
50868
- onOver: _propTypes["default"].func,
50869
- onLeave: _propTypes["default"].func,
50870
- onClick: _propTypes["default"].func,
50871
- fallback: _propTypes["default"].func,
50872
- backgroundImageFn: _propTypes["default"].func,
50873
- "native": _propTypes["default"].bool,
50874
- forceSize: _propTypes["default"].bool,
50875
- tooltip: _propTypes["default"].bool,
50876
- useButton: _propTypes["default"].bool,
50877
- skin: _propTypes["default"].oneOf([1, 2, 3, 4, 5, 6]),
50878
- sheetSize: _propTypes["default"].oneOf([16, 20, 32, 64]),
50879
- sheetColumns: _propTypes["default"].number,
50880
- sheetRows: _propTypes["default"].number,
50881
- set: _propTypes["default"].oneOf(['apple', 'google', 'twitter', 'facebook']),
50882
- size: _propTypes["default"].number.isRequired,
50883
- emoji: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].object]).isRequired
50884
- };
50885
- sharedProps.EmojiPropTypes = EmojiPropTypes;
50886
- var PickerPropTypes = {
50887
- onClick: _propTypes["default"].func,
50888
- onSelect: _propTypes["default"].func,
50889
- onSkinChange: _propTypes["default"].func,
50890
- perLine: _propTypes["default"].number,
50891
- emojiSize: _propTypes["default"].number,
50892
- i18n: _propTypes["default"].object,
50893
- style: _propTypes["default"].object,
50894
- title: _propTypes["default"].string,
50895
- emoji: _propTypes["default"].string,
50896
- color: _propTypes["default"].string,
50897
- set: EmojiPropTypes.set,
50898
- skin: EmojiPropTypes.skin,
50899
- "native": _propTypes["default"].bool,
50900
- backgroundImageFn: EmojiPropTypes.backgroundImageFn,
50901
- sheetSize: EmojiPropTypes.sheetSize,
50902
- emojisToShowFilter: _propTypes["default"].func,
50903
- showPreview: _propTypes["default"].bool,
50904
- showSkinTones: _propTypes["default"].bool,
50905
- emojiTooltip: EmojiPropTypes.tooltip,
50906
- useButton: EmojiPropTypes.useButton,
50907
- theme: _propTypes["default"].oneOf(['auto', 'light', 'dark']),
50908
- include: _propTypes["default"].arrayOf(_propTypes["default"].string),
50909
- exclude: _propTypes["default"].arrayOf(_propTypes["default"].string),
50910
- recent: _propTypes["default"].arrayOf(_propTypes["default"].string),
50911
- autoFocus: _propTypes["default"].bool,
50912
- enableFrequentEmojiSort: _propTypes["default"].bool,
50913
- custom: _propTypes["default"].arrayOf(_propTypes["default"].shape({
50914
- name: _propTypes["default"].string.isRequired,
50915
- short_names: _propTypes["default"].arrayOf(_propTypes["default"].string).isRequired,
50916
- emoticons: _propTypes["default"].arrayOf(_propTypes["default"].string),
50917
- keywords: _propTypes["default"].arrayOf(_propTypes["default"].string),
50918
- imageUrl: _propTypes["default"].string,
50919
- spriteUrl: _propTypes["default"].string,
50920
- sheet_x: _propTypes["default"].number,
50921
- sheet_y: _propTypes["default"].number,
50922
- size: _propTypes["default"].number,
50923
- sheetColumns: _propTypes["default"].number,
50924
- sheetRows: _propTypes["default"].number
50925
- })),
50926
- skinEmoji: _propTypes["default"].string,
50927
- notFound: _propTypes["default"].func,
50928
- notFoundEmoji: _propTypes["default"].string,
50929
- icons: _propTypes["default"].object
50930
- };
50931
- sharedProps.PickerPropTypes = PickerPropTypes;
50932
- return sharedProps;
50933
- }
50934
-
50935
- var sharedDefaultProps = {};
50936
-
50937
- window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};
50938
- var hasRequiredSharedDefaultProps;
50939
-
50940
- function requireSharedDefaultProps () {
50941
- if (hasRequiredSharedDefaultProps) return sharedDefaultProps;
50942
- hasRequiredSharedDefaultProps = 1;
50943
-
50944
- Object.defineProperty(sharedDefaultProps, "__esModule", {
50945
- value: true
50946
- });
50947
- sharedDefaultProps.EmojiDefaultProps = sharedDefaultProps.PickerDefaultProps = void 0;
50948
- var EmojiDefaultProps = {
50949
- skin: 1,
50950
- set: 'apple',
50951
- sheetSize: 64,
50952
- sheetColumns: 57,
50953
- sheetRows: 57,
50954
- "native": false,
50955
- forceSize: false,
50956
- tooltip: false,
50957
- useButton: true,
50958
- backgroundImageFn: function backgroundImageFn(set, sheetSize) {
50959
- return "https://unpkg.com/emoji-datasource-".concat(set, "@").concat("5.0.1", "/img/").concat(set, "/sheets-256/").concat(sheetSize, ".png");
50960
- }
50961
- };
50962
- sharedDefaultProps.EmojiDefaultProps = EmojiDefaultProps;
50963
- var PickerDefaultProps = {
50964
- onClick: function onClick() {},
50965
- onSelect: function onSelect() {},
50966
- onSkinChange: function onSkinChange() {},
50967
- emojiSize: 24,
50968
- perLine: 9,
50969
- i18n: {},
50970
- style: {},
50971
- title: 'Emoji Mart™',
50972
- emoji: 'department_store',
50973
- color: '#ae65c5',
50974
- set: EmojiDefaultProps.set,
50975
- theme: 'light',
50976
- skin: null,
50977
- defaultSkin: EmojiDefaultProps.skin,
50978
- "native": EmojiDefaultProps["native"],
50979
- sheetSize: EmojiDefaultProps.sheetSize,
50980
- backgroundImageFn: EmojiDefaultProps.backgroundImageFn,
50981
- emojisToShowFilter: null,
50982
- showPreview: true,
50983
- showSkinTones: true,
50984
- emojiTooltip: EmojiDefaultProps.tooltip,
50985
- useButton: EmojiDefaultProps.useButton,
50986
- autoFocus: false,
50987
- enableFrequentEmojiSort: false,
50988
- custom: [],
50989
- skinEmoji: '',
50990
- notFound: function notFound() {},
50991
- notFoundEmoji: 'sleuth_or_spy',
50992
- icons: {}
50993
- };
50994
- sharedDefaultProps.PickerDefaultProps = PickerDefaultProps;
50995
- return sharedDefaultProps;
50996
- }
50997
-
50998
- window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};
50999
- (function (exports) {
51000
-
51001
- var _interopRequireDefault = interopRequireDefault.exports;
51002
-
51003
- Object.defineProperty(exports, "__esModule", {
51004
- value: true
51005
- });
51006
- exports["default"] = void 0;
51007
-
51008
- var _extends2 = _interopRequireDefault(_extends$3.exports);
51009
-
51010
- var _defineProperty2 = _interopRequireDefault(defineProperty$1.exports);
51011
-
51012
- var _react = _interopRequireDefault(React__default["default"]);
51013
-
51014
- var _propTypes = _interopRequireDefault(requirePropTypes());
51015
-
51016
- var _utils = requireUtils();
51017
-
51018
- var _data = requireData();
51019
-
51020
- var _sharedProps = requireSharedProps();
51021
-
51022
- var _sharedDefaultProps = requireSharedDefaultProps();
51023
-
51024
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
51025
-
51026
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
51027
-
51028
- var _getData = function _getData(props) {
51029
- var emoji = props.emoji,
51030
- skin = props.skin,
51031
- set = props.set,
51032
- data = props.data;
51033
- return (0, _utils.getData)(emoji, skin, set, data);
51034
- };
51035
-
51036
- var _getPosition = function _getPosition(props) {
51037
- var _getData2 = _getData(props),
51038
- sheet_x = _getData2.sheet_x,
51039
- sheet_y = _getData2.sheet_y,
51040
- multiplyX = 100 / (props.sheetColumns - 1),
51041
- multiplyY = 100 / (props.sheetRows - 1);
51042
-
51043
- return "".concat(multiplyX * sheet_x, "% ").concat(multiplyY * sheet_y, "%");
51044
- };
51045
-
51046
- var _getSanitizedData = function _getSanitizedData(props) {
51047
- var emoji = props.emoji,
51048
- skin = props.skin,
51049
- set = props.set,
51050
- data = props.data;
51051
- return (0, _utils.getSanitizedData)(emoji, skin, set, data);
51052
- };
51053
-
51054
- var _handleClick = function _handleClick(e, props) {
51055
- if (!props.onClick) {
51056
- return;
51057
- }
51058
-
51059
- var onClick = props.onClick,
51060
- emoji = _getSanitizedData(props);
51061
-
51062
- onClick(emoji, e);
51063
- };
51064
-
51065
- var _handleOver = function _handleOver(e, props) {
51066
- if (!props.onOver) {
51067
- return;
51068
- }
51069
-
51070
- var onOver = props.onOver,
51071
- emoji = _getSanitizedData(props);
51072
-
51073
- onOver(emoji, e);
51074
- };
51075
-
51076
- var _handleLeave = function _handleLeave(e, props) {
51077
- if (!props.onLeave) {
51078
- return;
51079
- }
51080
-
51081
- var onLeave = props.onLeave,
51082
- emoji = _getSanitizedData(props);
51083
-
51084
- onLeave(emoji, e);
51085
- };
51086
-
51087
- var _isNumeric = function _isNumeric(value) {
51088
- return !isNaN(value - parseFloat(value));
51089
- };
51090
-
51091
- var _convertStyleToCSS = function _convertStyleToCSS(style) {
51092
- var div = document.createElement('div');
51093
-
51094
- for (var key in style) {
51095
- var value = style[key];
51096
-
51097
- if (_isNumeric(value)) {
51098
- value += 'px';
51099
- }
51100
-
51101
- div.style[key] = value;
51102
- }
51103
-
51104
- return div.getAttribute('style');
51105
- };
51106
-
51107
- var NimbleEmoji = function NimbleEmoji(props) {
51108
- if (props.data.compressed) {
51109
- (0, _data.uncompress)(props.data);
51110
- }
51111
-
51112
- for (var k in NimbleEmoji.defaultProps) {
51113
- if (props[k] == undefined && NimbleEmoji.defaultProps[k] != undefined) {
51114
- props[k] = NimbleEmoji.defaultProps[k];
51115
- }
51116
- }
51117
-
51118
- var data = _getData(props);
51119
-
51120
- if (!data) {
51121
- if (props.fallback) {
51122
- return props.fallback(null, props);
51123
- } else {
51124
- return null;
51125
- }
51126
- }
51127
-
51128
- var unified = data.unified,
51129
- custom = data.custom,
51130
- short_names = data.short_names,
51131
- imageUrl = data.imageUrl,
51132
- style = {},
51133
- children = props.children,
51134
- className = 'emoji-mart-emoji',
51135
- nativeEmoji = unified && (0, _utils.unifiedToNative)(unified),
51136
- label = [nativeEmoji].concat(short_names).filter(Boolean).join(', '),
51137
- title = null;
51138
-
51139
- if (!unified && !custom) {
51140
- if (props.fallback) {
51141
- return props.fallback(data, props);
51142
- } else {
51143
- return null;
51144
- }
51145
- }
51146
-
51147
- if (props.tooltip) {
51148
- title = short_names[0];
51149
- }
51150
-
51151
- if (props["native"] && unified) {
51152
- className += ' emoji-mart-emoji-native';
51153
- style = {
51154
- fontSize: props.size
51155
- };
51156
- children = nativeEmoji;
51157
-
51158
- if (props.forceSize) {
51159
- style.display = 'inline-block';
51160
- style.width = props.size;
51161
- style.height = props.size;
51162
- style.wordBreak = 'keep-all';
51163
- }
51164
- } else if (custom) {
51165
- className += ' emoji-mart-emoji-custom';
51166
- style = {
51167
- width: props.size,
51168
- height: props.size,
51169
- display: 'inline-block'
51170
- };
51171
-
51172
- if (data.spriteUrl) {
51173
- style = _objectSpread({}, style, {
51174
- backgroundImage: "url(".concat(data.spriteUrl, ")"),
51175
- backgroundSize: "".concat(100 * props.sheetColumns, "% ").concat(100 * props.sheetRows, "%"),
51176
- backgroundPosition: _getPosition(props)
51177
- });
51178
- } else {
51179
- style = _objectSpread({}, style, {
51180
- backgroundImage: "url(".concat(imageUrl, ")"),
51181
- backgroundSize: 'contain',
51182
- backgroundRepeat: 'no-repeat',
51183
- backgroundPosition: 'center'
51184
- });
51185
- }
51186
- } else {
51187
- var setHasEmoji = data["has_img_".concat(props.set)] == undefined || data["has_img_".concat(props.set)];
51188
-
51189
- if (!setHasEmoji) {
51190
- if (props.fallback) {
51191
- return props.fallback(data, props);
51192
- } else {
51193
- return null;
51194
- }
51195
- } else {
51196
- style = {
51197
- width: props.size,
51198
- height: props.size,
51199
- display: 'inline-block',
51200
- backgroundImage: "url(".concat(props.backgroundImageFn(props.set, props.sheetSize), ")"),
51201
- backgroundSize: "".concat(100 * props.sheetColumns, "% ").concat(100 * props.sheetRows, "%"),
51202
- backgroundPosition: _getPosition(props)
51203
- };
51204
- }
51205
- }
51206
-
51207
- var Tag = {
51208
- name: 'span',
51209
- props: {}
51210
- };
51211
-
51212
- if (props.onClick && props.useButton) {
51213
- Tag.name = 'button';
51214
- Tag.props = {
51215
- type: 'button'
51216
- };
51217
- }
51218
-
51219
- if (props.html) {
51220
- style = _convertStyleToCSS(style);
51221
- return "<".concat(Tag.name, " style='").concat(style, "' aria-label='").concat(label, "' ").concat(title ? "title='".concat(title, "'") : '', " class='").concat(className, "'>").concat(children || '', "</").concat(Tag.name, ">");
51222
- } else {
51223
- return _react["default"].createElement(Tag.name, (0, _extends2["default"])({
51224
- onClick: function onClick(e) {
51225
- return _handleClick(e, props);
51226
- },
51227
- onMouseEnter: function onMouseEnter(e) {
51228
- return _handleOver(e, props);
51229
- },
51230
- onMouseLeave: function onMouseLeave(e) {
51231
- return _handleLeave(e, props);
51232
- },
51233
- "aria-label": label,
51234
- title: title,
51235
- className: className
51236
- }, Tag.props), _react["default"].createElement("span", {
51237
- style: style
51238
- }, children));
51239
- }
51240
- };
51241
-
51242
- NimbleEmoji.propTypes
51243
- /* remove-proptypes */
51244
- = _objectSpread({}, _sharedProps.EmojiPropTypes, {
51245
- data: _propTypes["default"].object.isRequired
51246
- });
51247
- NimbleEmoji.defaultProps = _sharedDefaultProps.EmojiDefaultProps;
51248
- var _default = NimbleEmoji;
51249
- exports["default"] = _default;
51250
- } (nimbleEmoji$1));
51251
-
51252
- var nimbleEmoji = /*@__PURE__*/getDefaultExportFromCjs(nimbleEmoji$1);
51253
-
51254
- window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};// @ts-expect-error
51255
-
51256
- var DefaultEmoji = /*#__PURE__*/Object.freeze({
51257
- __proto__: null,
51258
- 'default': nimbleEmoji
51259
- });
51260
-
51261
50897
  var nimblePicker$1 = {};
51262
50898
 
51263
50899
  var interopRequireWildcard = {exports: {}};
@@ -51577,6 +51213,93 @@ var StreamChatReact = (function (exports, React$2, streamChat, ReactDOM) {
51577
51213
  return frequently;
51578
51214
  }
51579
51215
 
51216
+ var sharedProps = {};
51217
+
51218
+ window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};
51219
+ var hasRequiredSharedProps;
51220
+
51221
+ function requireSharedProps () {
51222
+ if (hasRequiredSharedProps) return sharedProps;
51223
+ hasRequiredSharedProps = 1;
51224
+
51225
+ var _interopRequireDefault = interopRequireDefault.exports;
51226
+
51227
+ Object.defineProperty(sharedProps, "__esModule", {
51228
+ value: true
51229
+ });
51230
+ sharedProps.PickerPropTypes = sharedProps.EmojiPropTypes = void 0;
51231
+
51232
+ var _propTypes = _interopRequireDefault(requirePropTypes());
51233
+
51234
+ var EmojiPropTypes = {
51235
+ data: _propTypes["default"].object.isRequired,
51236
+ onOver: _propTypes["default"].func,
51237
+ onLeave: _propTypes["default"].func,
51238
+ onClick: _propTypes["default"].func,
51239
+ fallback: _propTypes["default"].func,
51240
+ backgroundImageFn: _propTypes["default"].func,
51241
+ "native": _propTypes["default"].bool,
51242
+ forceSize: _propTypes["default"].bool,
51243
+ tooltip: _propTypes["default"].bool,
51244
+ useButton: _propTypes["default"].bool,
51245
+ skin: _propTypes["default"].oneOf([1, 2, 3, 4, 5, 6]),
51246
+ sheetSize: _propTypes["default"].oneOf([16, 20, 32, 64]),
51247
+ sheetColumns: _propTypes["default"].number,
51248
+ sheetRows: _propTypes["default"].number,
51249
+ set: _propTypes["default"].oneOf(['apple', 'google', 'twitter', 'facebook']),
51250
+ size: _propTypes["default"].number.isRequired,
51251
+ emoji: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].object]).isRequired
51252
+ };
51253
+ sharedProps.EmojiPropTypes = EmojiPropTypes;
51254
+ var PickerPropTypes = {
51255
+ onClick: _propTypes["default"].func,
51256
+ onSelect: _propTypes["default"].func,
51257
+ onSkinChange: _propTypes["default"].func,
51258
+ perLine: _propTypes["default"].number,
51259
+ emojiSize: _propTypes["default"].number,
51260
+ i18n: _propTypes["default"].object,
51261
+ style: _propTypes["default"].object,
51262
+ title: _propTypes["default"].string,
51263
+ emoji: _propTypes["default"].string,
51264
+ color: _propTypes["default"].string,
51265
+ set: EmojiPropTypes.set,
51266
+ skin: EmojiPropTypes.skin,
51267
+ "native": _propTypes["default"].bool,
51268
+ backgroundImageFn: EmojiPropTypes.backgroundImageFn,
51269
+ sheetSize: EmojiPropTypes.sheetSize,
51270
+ emojisToShowFilter: _propTypes["default"].func,
51271
+ showPreview: _propTypes["default"].bool,
51272
+ showSkinTones: _propTypes["default"].bool,
51273
+ emojiTooltip: EmojiPropTypes.tooltip,
51274
+ useButton: EmojiPropTypes.useButton,
51275
+ theme: _propTypes["default"].oneOf(['auto', 'light', 'dark']),
51276
+ include: _propTypes["default"].arrayOf(_propTypes["default"].string),
51277
+ exclude: _propTypes["default"].arrayOf(_propTypes["default"].string),
51278
+ recent: _propTypes["default"].arrayOf(_propTypes["default"].string),
51279
+ autoFocus: _propTypes["default"].bool,
51280
+ enableFrequentEmojiSort: _propTypes["default"].bool,
51281
+ custom: _propTypes["default"].arrayOf(_propTypes["default"].shape({
51282
+ name: _propTypes["default"].string.isRequired,
51283
+ short_names: _propTypes["default"].arrayOf(_propTypes["default"].string).isRequired,
51284
+ emoticons: _propTypes["default"].arrayOf(_propTypes["default"].string),
51285
+ keywords: _propTypes["default"].arrayOf(_propTypes["default"].string),
51286
+ imageUrl: _propTypes["default"].string,
51287
+ spriteUrl: _propTypes["default"].string,
51288
+ sheet_x: _propTypes["default"].number,
51289
+ sheet_y: _propTypes["default"].number,
51290
+ size: _propTypes["default"].number,
51291
+ sheetColumns: _propTypes["default"].number,
51292
+ sheetRows: _propTypes["default"].number
51293
+ })),
51294
+ skinEmoji: _propTypes["default"].string,
51295
+ notFound: _propTypes["default"].func,
51296
+ notFoundEmoji: _propTypes["default"].string,
51297
+ icons: _propTypes["default"].object
51298
+ };
51299
+ sharedProps.PickerPropTypes = PickerPropTypes;
51300
+ return sharedProps;
51301
+ }
51302
+
51580
51303
  var anchors = {};
51581
51304
 
51582
51305
  window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};
@@ -51708,6 +51431,332 @@ var StreamChatReact = (function (exports, React$2, streamChat, ReactDOM) {
51708
51431
 
51709
51432
  var category = {};
51710
51433
 
51434
+ var nimbleEmoji = {};
51435
+
51436
+ var sharedDefaultProps = {};
51437
+
51438
+ window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};
51439
+ var hasRequiredSharedDefaultProps;
51440
+
51441
+ function requireSharedDefaultProps () {
51442
+ if (hasRequiredSharedDefaultProps) return sharedDefaultProps;
51443
+ hasRequiredSharedDefaultProps = 1;
51444
+
51445
+ Object.defineProperty(sharedDefaultProps, "__esModule", {
51446
+ value: true
51447
+ });
51448
+ sharedDefaultProps.EmojiDefaultProps = sharedDefaultProps.PickerDefaultProps = void 0;
51449
+ var EmojiDefaultProps = {
51450
+ skin: 1,
51451
+ set: 'apple',
51452
+ sheetSize: 64,
51453
+ sheetColumns: 57,
51454
+ sheetRows: 57,
51455
+ "native": false,
51456
+ forceSize: false,
51457
+ tooltip: false,
51458
+ useButton: true,
51459
+ backgroundImageFn: function backgroundImageFn(set, sheetSize) {
51460
+ return "https://unpkg.com/emoji-datasource-".concat(set, "@").concat("5.0.1", "/img/").concat(set, "/sheets-256/").concat(sheetSize, ".png");
51461
+ }
51462
+ };
51463
+ sharedDefaultProps.EmojiDefaultProps = EmojiDefaultProps;
51464
+ var PickerDefaultProps = {
51465
+ onClick: function onClick() {},
51466
+ onSelect: function onSelect() {},
51467
+ onSkinChange: function onSkinChange() {},
51468
+ emojiSize: 24,
51469
+ perLine: 9,
51470
+ i18n: {},
51471
+ style: {},
51472
+ title: 'Emoji Mart™',
51473
+ emoji: 'department_store',
51474
+ color: '#ae65c5',
51475
+ set: EmojiDefaultProps.set,
51476
+ theme: 'light',
51477
+ skin: null,
51478
+ defaultSkin: EmojiDefaultProps.skin,
51479
+ "native": EmojiDefaultProps["native"],
51480
+ sheetSize: EmojiDefaultProps.sheetSize,
51481
+ backgroundImageFn: EmojiDefaultProps.backgroundImageFn,
51482
+ emojisToShowFilter: null,
51483
+ showPreview: true,
51484
+ showSkinTones: true,
51485
+ emojiTooltip: EmojiDefaultProps.tooltip,
51486
+ useButton: EmojiDefaultProps.useButton,
51487
+ autoFocus: false,
51488
+ enableFrequentEmojiSort: false,
51489
+ custom: [],
51490
+ skinEmoji: '',
51491
+ notFound: function notFound() {},
51492
+ notFoundEmoji: 'sleuth_or_spy',
51493
+ icons: {}
51494
+ };
51495
+ sharedDefaultProps.PickerDefaultProps = PickerDefaultProps;
51496
+ return sharedDefaultProps;
51497
+ }
51498
+
51499
+ window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};
51500
+ var hasRequiredNimbleEmoji;
51501
+
51502
+ function requireNimbleEmoji () {
51503
+ if (hasRequiredNimbleEmoji) return nimbleEmoji;
51504
+ hasRequiredNimbleEmoji = 1;
51505
+ (function (exports) {
51506
+
51507
+ var _interopRequireDefault = interopRequireDefault.exports;
51508
+
51509
+ Object.defineProperty(exports, "__esModule", {
51510
+ value: true
51511
+ });
51512
+ exports["default"] = void 0;
51513
+
51514
+ var _extends2 = _interopRequireDefault(_extends$3.exports);
51515
+
51516
+ var _defineProperty2 = _interopRequireDefault(defineProperty$1.exports);
51517
+
51518
+ var _react = _interopRequireDefault(React__default["default"]);
51519
+
51520
+ var _propTypes = _interopRequireDefault(requirePropTypes());
51521
+
51522
+ var _utils = requireUtils();
51523
+
51524
+ var _data = requireData();
51525
+
51526
+ var _sharedProps = requireSharedProps();
51527
+
51528
+ var _sharedDefaultProps = requireSharedDefaultProps();
51529
+
51530
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
51531
+
51532
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
51533
+
51534
+ var _getData = function _getData(props) {
51535
+ var emoji = props.emoji,
51536
+ skin = props.skin,
51537
+ set = props.set,
51538
+ data = props.data;
51539
+ return (0, _utils.getData)(emoji, skin, set, data);
51540
+ };
51541
+
51542
+ var _getPosition = function _getPosition(props) {
51543
+ var _getData2 = _getData(props),
51544
+ sheet_x = _getData2.sheet_x,
51545
+ sheet_y = _getData2.sheet_y,
51546
+ multiplyX = 100 / (props.sheetColumns - 1),
51547
+ multiplyY = 100 / (props.sheetRows - 1);
51548
+
51549
+ return "".concat(multiplyX * sheet_x, "% ").concat(multiplyY * sheet_y, "%");
51550
+ };
51551
+
51552
+ var _getSanitizedData = function _getSanitizedData(props) {
51553
+ var emoji = props.emoji,
51554
+ skin = props.skin,
51555
+ set = props.set,
51556
+ data = props.data;
51557
+ return (0, _utils.getSanitizedData)(emoji, skin, set, data);
51558
+ };
51559
+
51560
+ var _handleClick = function _handleClick(e, props) {
51561
+ if (!props.onClick) {
51562
+ return;
51563
+ }
51564
+
51565
+ var onClick = props.onClick,
51566
+ emoji = _getSanitizedData(props);
51567
+
51568
+ onClick(emoji, e);
51569
+ };
51570
+
51571
+ var _handleOver = function _handleOver(e, props) {
51572
+ if (!props.onOver) {
51573
+ return;
51574
+ }
51575
+
51576
+ var onOver = props.onOver,
51577
+ emoji = _getSanitizedData(props);
51578
+
51579
+ onOver(emoji, e);
51580
+ };
51581
+
51582
+ var _handleLeave = function _handleLeave(e, props) {
51583
+ if (!props.onLeave) {
51584
+ return;
51585
+ }
51586
+
51587
+ var onLeave = props.onLeave,
51588
+ emoji = _getSanitizedData(props);
51589
+
51590
+ onLeave(emoji, e);
51591
+ };
51592
+
51593
+ var _isNumeric = function _isNumeric(value) {
51594
+ return !isNaN(value - parseFloat(value));
51595
+ };
51596
+
51597
+ var _convertStyleToCSS = function _convertStyleToCSS(style) {
51598
+ var div = document.createElement('div');
51599
+
51600
+ for (var key in style) {
51601
+ var value = style[key];
51602
+
51603
+ if (_isNumeric(value)) {
51604
+ value += 'px';
51605
+ }
51606
+
51607
+ div.style[key] = value;
51608
+ }
51609
+
51610
+ return div.getAttribute('style');
51611
+ };
51612
+
51613
+ var NimbleEmoji = function NimbleEmoji(props) {
51614
+ if (props.data.compressed) {
51615
+ (0, _data.uncompress)(props.data);
51616
+ }
51617
+
51618
+ for (var k in NimbleEmoji.defaultProps) {
51619
+ if (props[k] == undefined && NimbleEmoji.defaultProps[k] != undefined) {
51620
+ props[k] = NimbleEmoji.defaultProps[k];
51621
+ }
51622
+ }
51623
+
51624
+ var data = _getData(props);
51625
+
51626
+ if (!data) {
51627
+ if (props.fallback) {
51628
+ return props.fallback(null, props);
51629
+ } else {
51630
+ return null;
51631
+ }
51632
+ }
51633
+
51634
+ var unified = data.unified,
51635
+ custom = data.custom,
51636
+ short_names = data.short_names,
51637
+ imageUrl = data.imageUrl,
51638
+ style = {},
51639
+ children = props.children,
51640
+ className = 'emoji-mart-emoji',
51641
+ nativeEmoji = unified && (0, _utils.unifiedToNative)(unified),
51642
+ label = [nativeEmoji].concat(short_names).filter(Boolean).join(', '),
51643
+ title = null;
51644
+
51645
+ if (!unified && !custom) {
51646
+ if (props.fallback) {
51647
+ return props.fallback(data, props);
51648
+ } else {
51649
+ return null;
51650
+ }
51651
+ }
51652
+
51653
+ if (props.tooltip) {
51654
+ title = short_names[0];
51655
+ }
51656
+
51657
+ if (props["native"] && unified) {
51658
+ className += ' emoji-mart-emoji-native';
51659
+ style = {
51660
+ fontSize: props.size
51661
+ };
51662
+ children = nativeEmoji;
51663
+
51664
+ if (props.forceSize) {
51665
+ style.display = 'inline-block';
51666
+ style.width = props.size;
51667
+ style.height = props.size;
51668
+ style.wordBreak = 'keep-all';
51669
+ }
51670
+ } else if (custom) {
51671
+ className += ' emoji-mart-emoji-custom';
51672
+ style = {
51673
+ width: props.size,
51674
+ height: props.size,
51675
+ display: 'inline-block'
51676
+ };
51677
+
51678
+ if (data.spriteUrl) {
51679
+ style = _objectSpread({}, style, {
51680
+ backgroundImage: "url(".concat(data.spriteUrl, ")"),
51681
+ backgroundSize: "".concat(100 * props.sheetColumns, "% ").concat(100 * props.sheetRows, "%"),
51682
+ backgroundPosition: _getPosition(props)
51683
+ });
51684
+ } else {
51685
+ style = _objectSpread({}, style, {
51686
+ backgroundImage: "url(".concat(imageUrl, ")"),
51687
+ backgroundSize: 'contain',
51688
+ backgroundRepeat: 'no-repeat',
51689
+ backgroundPosition: 'center'
51690
+ });
51691
+ }
51692
+ } else {
51693
+ var setHasEmoji = data["has_img_".concat(props.set)] == undefined || data["has_img_".concat(props.set)];
51694
+
51695
+ if (!setHasEmoji) {
51696
+ if (props.fallback) {
51697
+ return props.fallback(data, props);
51698
+ } else {
51699
+ return null;
51700
+ }
51701
+ } else {
51702
+ style = {
51703
+ width: props.size,
51704
+ height: props.size,
51705
+ display: 'inline-block',
51706
+ backgroundImage: "url(".concat(props.backgroundImageFn(props.set, props.sheetSize), ")"),
51707
+ backgroundSize: "".concat(100 * props.sheetColumns, "% ").concat(100 * props.sheetRows, "%"),
51708
+ backgroundPosition: _getPosition(props)
51709
+ };
51710
+ }
51711
+ }
51712
+
51713
+ var Tag = {
51714
+ name: 'span',
51715
+ props: {}
51716
+ };
51717
+
51718
+ if (props.onClick && props.useButton) {
51719
+ Tag.name = 'button';
51720
+ Tag.props = {
51721
+ type: 'button'
51722
+ };
51723
+ }
51724
+
51725
+ if (props.html) {
51726
+ style = _convertStyleToCSS(style);
51727
+ return "<".concat(Tag.name, " style='").concat(style, "' aria-label='").concat(label, "' ").concat(title ? "title='".concat(title, "'") : '', " class='").concat(className, "'>").concat(children || '', "</").concat(Tag.name, ">");
51728
+ } else {
51729
+ return _react["default"].createElement(Tag.name, (0, _extends2["default"])({
51730
+ onClick: function onClick(e) {
51731
+ return _handleClick(e, props);
51732
+ },
51733
+ onMouseEnter: function onMouseEnter(e) {
51734
+ return _handleOver(e, props);
51735
+ },
51736
+ onMouseLeave: function onMouseLeave(e) {
51737
+ return _handleLeave(e, props);
51738
+ },
51739
+ "aria-label": label,
51740
+ title: title,
51741
+ className: className
51742
+ }, Tag.props), _react["default"].createElement("span", {
51743
+ style: style
51744
+ }, children));
51745
+ }
51746
+ };
51747
+
51748
+ NimbleEmoji.propTypes
51749
+ /* remove-proptypes */
51750
+ = _objectSpread({}, _sharedProps.EmojiPropTypes, {
51751
+ data: _propTypes["default"].object.isRequired
51752
+ });
51753
+ NimbleEmoji.defaultProps = _sharedDefaultProps.EmojiDefaultProps;
51754
+ var _default = NimbleEmoji;
51755
+ exports["default"] = _default;
51756
+ } (nimbleEmoji));
51757
+ return nimbleEmoji;
51758
+ }
51759
+
51711
51760
  var notFound = {};
51712
51761
 
51713
51762
  window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};
@@ -51741,7 +51790,7 @@ var StreamChatReact = (function (exports, React$2, streamChat, ReactDOM) {
51741
51790
 
51742
51791
  var _propTypes = _interopRequireDefault(requirePropTypes());
51743
51792
 
51744
- var _nimbleEmoji = _interopRequireDefault(nimbleEmoji$1);
51793
+ var _nimbleEmoji = _interopRequireDefault(requireNimbleEmoji());
51745
51794
 
51746
51795
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
51747
51796
 
@@ -51835,7 +51884,7 @@ var StreamChatReact = (function (exports, React$2, streamChat, ReactDOM) {
51835
51884
 
51836
51885
  var _utils = requireUtils();
51837
51886
 
51838
- var _nimbleEmoji = _interopRequireDefault(nimbleEmoji$1);
51887
+ var _nimbleEmoji = _interopRequireDefault(requireNimbleEmoji());
51839
51888
 
51840
51889
  var _notFound = _interopRequireDefault(requireNotFound());
51841
51890
 
@@ -52229,7 +52278,7 @@ var StreamChatReact = (function (exports, React$2, streamChat, ReactDOM) {
52229
52278
 
52230
52279
  var _propTypes = _interopRequireDefault(requirePropTypes());
52231
52280
 
52232
- var _nimbleEmoji = _interopRequireDefault(nimbleEmoji$1);
52281
+ var _nimbleEmoji = _interopRequireDefault(requireNimbleEmoji());
52233
52282
 
52234
52283
  var _skins = _interopRequireDefault(requireSkins());
52235
52284
 
@@ -52466,7 +52515,7 @@ var StreamChatReact = (function (exports, React$2, streamChat, ReactDOM) {
52466
52515
 
52467
52516
  var _utils = requireUtils();
52468
52517
 
52469
- var _nimbleEmoji = _interopRequireDefault(nimbleEmoji$1);
52518
+ var _nimbleEmoji = _interopRequireDefault(requireNimbleEmoji());
52470
52519
 
52471
52520
  var _skinsEmoji = _interopRequireDefault(requireSkinsEmoji());
52472
52521
 
@@ -76619,7 +76668,7 @@ var StreamChatReact = (function (exports, React$2, streamChat, ReactDOM) {
76619
76668
  }, error);
76620
76669
  };
76621
76670
 
76622
- var Image = function Image(_ref) {
76671
+ var Image$1 = function Image(_ref) {
76623
76672
  var src = _ref.src,
76624
76673
  _ref$alt = _ref.alt,
76625
76674
  alt = _ref$alt === void 0 ? '' : _ref$alt,
@@ -77267,7 +77316,7 @@ var StreamChatReact = (function (exports, React$2, streamChat, ReactDOM) {
77267
77316
  }));
77268
77317
  },
77269
77318
  image: function image(tag) {
77270
- return React__default["default"].createElement(Image, Object.assign({}, tag.attributes, {
77319
+ return React__default["default"].createElement(Image$1, Object.assign({}, tag.attributes, {
77271
77320
  key: tag.key,
77272
77321
  src: tag.attributes.src
77273
77322
  }));
@@ -77563,7 +77612,7 @@ var StreamChatReact = (function (exports, React$2, streamChat, ReactDOM) {
77563
77612
  Col: Col,
77564
77613
  Error: Error$1,
77565
77614
  Icon: Icon,
77566
- Image: Image,
77615
+ Image: Image$1,
77567
77616
  Input: Input,
77568
77617
  Loading: Loading,
77569
77618
  MD: MD,
@@ -77705,6 +77754,8 @@ var StreamChatReact = (function (exports, React$2, streamChat, ReactDOM) {
77705
77754
  exports.SendIconV1 = SendIconV1;
77706
77755
  exports.SendIconV2 = SendIconV2;
77707
77756
  exports.SimpleReactionsList = SimpleReactionsList;
77757
+ exports.SpriteImage = SpriteImage;
77758
+ exports.StreamEmoji = StreamEmoji;
77708
77759
  exports.Streami18n = Streami18n;
77709
77760
  exports.Thread = Thread;
77710
77761
  exports.ThreadHeader = ThreadHeader;
@@ -77731,6 +77782,7 @@ var StreamChatReact = (function (exports, React$2, streamChat, ReactDOM) {
77731
77782
  exports.deTranslations = deTranslations;
77732
77783
  exports.defaultDateTimeParser = defaultDateTimeParser;
77733
77784
  exports.defaultPinPermissions = defaultPinPermissions;
77785
+ exports.defaultReactionOptions = defaultReactionOptions;
77734
77786
  exports.defaultScrollToItem = defaultScrollToItem;
77735
77787
  exports.defaultTimestampFormat = defaultTimestampFormat;
77736
77788
  exports.defaultTranslatorFunction = defaultTranslatorFunction;