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.
- package/dist/browser.full-bundle.js +581 -529
- package/dist/browser.full-bundle.js.map +1 -1
- package/dist/browser.full-bundle.min.js +5 -5
- package/dist/browser.full-bundle.min.js.map +1 -1
- package/dist/components/Channel/Channel.d.ts +3 -2
- package/dist/components/Channel/Channel.d.ts.map +1 -1
- package/dist/components/Channel/Channel.js +46 -42
- package/dist/components/Reactions/ReactionSelector.d.ts +3 -8
- package/dist/components/Reactions/ReactionSelector.d.ts.map +1 -1
- package/dist/components/Reactions/ReactionSelector.js +18 -25
- package/dist/components/Reactions/ReactionsList.d.ts +3 -8
- package/dist/components/Reactions/ReactionsList.d.ts.map +1 -1
- package/dist/components/Reactions/ReactionsList.js +9 -12
- package/dist/components/Reactions/SimpleReactionsList.d.ts +2 -5
- package/dist/components/Reactions/SimpleReactionsList.d.ts.map +1 -1
- package/dist/components/Reactions/SimpleReactionsList.js +12 -15
- package/dist/components/Reactions/SpriteImage.d.ts +12 -0
- package/dist/components/Reactions/SpriteImage.d.ts.map +1 -0
- package/dist/components/Reactions/SpriteImage.js +28 -0
- package/dist/components/Reactions/StreamEmoji.d.ts +18 -0
- package/dist/components/Reactions/StreamEmoji.d.ts.map +1 -0
- package/dist/components/Reactions/StreamEmoji.js +16 -0
- package/dist/components/Reactions/hooks/useProcessReactions.d.ts +8 -10
- package/dist/components/Reactions/hooks/useProcessReactions.d.ts.map +1 -1
- package/dist/components/Reactions/hooks/useProcessReactions.js +14 -18
- package/dist/components/Reactions/index.d.ts +3 -0
- package/dist/components/Reactions/index.d.ts.map +1 -1
- package/dist/components/Reactions/index.js +3 -0
- package/dist/components/Reactions/reactionOptions.d.ts +8 -0
- package/dist/components/Reactions/reactionOptions.d.ts.map +1 -0
- package/dist/components/Reactions/reactionOptions.js +11 -0
- package/dist/components/Reactions/utils/utils.d.ts +1 -0
- package/dist/components/Reactions/utils/utils.d.ts.map +1 -1
- package/dist/components/Reactions/utils/utils.js +12 -0
- package/dist/context/ComponentContext.d.ts +2 -0
- package/dist/context/ComponentContext.d.ts.map +1 -1
- package/dist/context/EmojiContext.d.ts +1 -2
- package/dist/context/EmojiContext.d.ts.map +1 -1
- package/dist/context/EmojiContext.js +1 -3
- package/dist/index.cjs.js +160 -115
- package/dist/index.cjs.js.map +1 -1
- package/dist/types/types.d.ts +3 -0
- package/dist/types/types.d.ts.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.d.ts.map +1 -1
- package/dist/version.js +1 -1
- 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
|
|
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
|
|
32325
|
-
var
|
|
32326
|
-
var _e =
|
|
32327
|
-
var
|
|
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
|
|
32335
|
-
var
|
|
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 (
|
|
32396
|
-
var
|
|
32397
|
-
var
|
|
32398
|
-
|
|
32399
|
-
|
|
32400
|
-
|
|
32401
|
-
|
|
32402
|
-
|
|
32403
|
-
React__default["default"].createElement(
|
|
32404
|
-
|
|
32405
|
-
|
|
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
|
|
32416
|
-
var message = useMessageContext('
|
|
32417
|
-
var
|
|
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 (
|
|
32425
|
-
|
|
32426
|
-
|
|
32427
|
-
|
|
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 (
|
|
32439
|
-
var
|
|
32440
|
-
|
|
32441
|
-
return
|
|
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 (
|
|
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
|
|
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
|
|
32498
|
+
var ReactionOption = getEmojiByReactionType(reactionType);
|
|
32501
32499
|
var isOwnReaction = iHaveReactedWithReaction(reactionType);
|
|
32502
|
-
return
|
|
32500
|
+
return (ReactionOption && (React__default["default"].createElement("li", { className: clsx('str-chat__message-reaction', {
|
|
32503
32501
|
'str-chat__message-reaction-own': isOwnReaction,
|
|
32504
|
-
}), key:
|
|
32505
|
-
React__default["default"].createElement(ButtonWithTooltip, { "aria-label": "Reactions: ".concat(reactionType), title: aggregatedUserNamesByType[reactionType].join(', '), type: 'button' },
|
|
32506
|
-
React__default["default"].createElement(
|
|
32507
|
-
React__default["default"].createElement(
|
|
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]))))
|
|
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
|
|
32539
|
-
var
|
|
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
|
|
32555
|
+
latestReactionTypes.map(function (reactionType) {
|
|
32560
32556
|
var _a;
|
|
32561
|
-
var
|
|
32557
|
+
var ReactionOption = getEmojiByReactionType(reactionType);
|
|
32562
32558
|
var isOwnReaction = iHaveReactedWithReaction(reactionType);
|
|
32563
|
-
var tooltipVisible =
|
|
32559
|
+
var tooltipVisible = tooltipReactionType === reactionType;
|
|
32564
32560
|
var tooltipContent = (_a = getUsersPerReactionType(tooltipReactionType)) === null || _a === void 0 ? void 0 : _a.join(', ');
|
|
32565
|
-
return
|
|
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:
|
|
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(
|
|
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)))))
|
|
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 () {
|
|
33637
|
-
|
|
33638
|
-
|
|
33639
|
-
|
|
33640
|
-
|
|
33641
|
-
|
|
33642
|
-
|
|
33643
|
-
|
|
33644
|
-
|
|
33645
|
-
|
|
33646
|
-
|
|
33647
|
-
|
|
33648
|
-
|
|
33649
|
-
|
|
33650
|
-
|
|
33651
|
-
|
|
33652
|
-
|
|
33653
|
-
|
|
33654
|
-
|
|
33655
|
-
|
|
33656
|
-
|
|
33657
|
-
|
|
33658
|
-
|
|
33659
|
-
|
|
33660
|
-
|
|
33661
|
-
|
|
33662
|
-
|
|
33663
|
-
|
|
33664
|
-
|
|
33665
|
-
|
|
33666
|
-
|
|
33667
|
-
|
|
33668
|
-
|
|
33669
|
-
|
|
33670
|
-
|
|
33671
|
-
|
|
33672
|
-
|
|
33673
|
-
|
|
33674
|
-
|
|
33675
|
-
|
|
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,
|
|
@@ -35003,7 +35052,7 @@ var UnMemoizedChannelList = function (props) {
|
|
|
35003
35052
|
*/
|
|
35004
35053
|
var ChannelList = React__default["default"].memo(UnMemoizedChannelList);
|
|
35005
35054
|
|
|
35006
|
-
var version = '
|
|
35055
|
+
var version = '11.0.0-rc.1';
|
|
35007
35056
|
|
|
35008
35057
|
var useChat = function (_a) {
|
|
35009
35058
|
var _b, _c;
|
|
@@ -37048,13 +37097,6 @@ var Window = React__default["default"].memo(UnMemoizedWindow);
|
|
|
37048
37097
|
|
|
37049
37098
|
// @ts-expect-error
|
|
37050
37099
|
|
|
37051
|
-
var DefaultEmoji = /*#__PURE__*/Object.freeze({
|
|
37052
|
-
__proto__: null,
|
|
37053
|
-
'default': nimbleEmoji__default["default"]
|
|
37054
|
-
});
|
|
37055
|
-
|
|
37056
|
-
// @ts-expect-error
|
|
37057
|
-
|
|
37058
37100
|
var DefaultEmojiPicker = /*#__PURE__*/Object.freeze({
|
|
37059
37101
|
__proto__: null,
|
|
37060
37102
|
'default': nimblePicker__default["default"]
|
|
@@ -37183,6 +37225,8 @@ exports.SendButton = SendButton;
|
|
|
37183
37225
|
exports.SendIconV1 = SendIconV1;
|
|
37184
37226
|
exports.SendIconV2 = SendIconV2;
|
|
37185
37227
|
exports.SimpleReactionsList = SimpleReactionsList;
|
|
37228
|
+
exports.SpriteImage = SpriteImage;
|
|
37229
|
+
exports.StreamEmoji = StreamEmoji;
|
|
37186
37230
|
exports.Streami18n = Streami18n;
|
|
37187
37231
|
exports.Thread = Thread;
|
|
37188
37232
|
exports.ThreadHeader = ThreadHeader;
|
|
@@ -37209,6 +37253,7 @@ exports.darkModeTheme = darkModeTheme;
|
|
|
37209
37253
|
exports.deTranslations = deTranslations;
|
|
37210
37254
|
exports.defaultDateTimeParser = defaultDateTimeParser;
|
|
37211
37255
|
exports.defaultPinPermissions = defaultPinPermissions;
|
|
37256
|
+
exports.defaultReactionOptions = defaultReactionOptions;
|
|
37212
37257
|
exports.defaultScrollToItem = defaultScrollToItem;
|
|
37213
37258
|
exports.defaultTimestampFormat = defaultTimestampFormat;
|
|
37214
37259
|
exports.defaultTranslatorFunction = defaultTranslatorFunction;
|