stream-chat-react 11.23.7 → 11.23.9

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.
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var Window = require('../../Window-60c672e3.js');
5
+ var Window = require('../../Window-09ecd2ee.js');
6
6
  var React = require('react');
7
7
  var Picker = require('@emoji-mart/react');
8
8
  require('dayjs');
@@ -1 +1 @@
1
- {"version":3,"file":"MessageOptions.d.ts","sourceRoot":"","sources":["../../../src/components/Message/MessageOptions.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAW1B,OAAO,EAAE,mBAAmB,EAAqB,MAAM,8BAA8B,CAAC;AAEtF,OAAO,KAAK,EAAE,yBAAyB,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAG9E,MAAM,MAAM,mBAAmB,CAC7B,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,EAAE,kBAAkB,CAAC,CAAC,GAAG;IAE/E,WAAW,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IAE7C,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB,iBAAiB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAEpD,YAAY,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IAE9C,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,UAAU,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;CAC7C,CAAC;AAoFF,eAAO,MAAM,cAAc,gKAES,CAAC"}
1
+ {"version":3,"file":"MessageOptions.d.ts","sourceRoot":"","sources":["../../../src/components/Message/MessageOptions.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAW1B,OAAO,EAAE,mBAAmB,EAAqB,MAAM,8BAA8B,CAAC;AAEtF,OAAO,KAAK,EAAE,yBAAyB,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAG9E,MAAM,MAAM,mBAAmB,CAC7B,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,EAAE,kBAAkB,CAAC,CAAC,GAAG;IAE/E,WAAW,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IAE7C,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB,iBAAiB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAEpD,YAAY,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IAE9C,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,UAAU,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;CAC7C,CAAC;AA+EF,eAAO,MAAM,cAAc,gKAES,CAAC"}
@@ -1,16 +1,15 @@
1
1
  import React from 'react';
2
2
  import { ActionsIcon as DefaultActionsIcon, ReactionIcon as DefaultReactionIcon, ThreadIcon as DefaultThreadIcon, } from './icons';
3
- import { MESSAGE_ACTIONS, showMessageActionsBox } from './utils';
3
+ import { MESSAGE_ACTIONS } from './utils';
4
4
  import { MessageActions } from '../MessageActions';
5
5
  import { useMessageContext } from '../../context/MessageContext';
6
6
  import { useTranslationContext } from '../../context';
7
7
  var UnMemoizedMessageOptions = function (props) {
8
8
  var _a = props.ActionsIcon, ActionsIcon = _a === void 0 ? DefaultActionsIcon : _a, _b = props.displayReplies, displayReplies = _b === void 0 ? true : _b, propHandleOpenThread = props.handleOpenThread, messageWrapperRef = props.messageWrapperRef, _c = props.ReactionIcon, ReactionIcon = _c === void 0 ? DefaultReactionIcon : _c, _d = props.theme, theme = _d === void 0 ? 'simple' : _d, _e = props.ThreadIcon, ThreadIcon = _e === void 0 ? DefaultThreadIcon : _e;
9
- var _f = useMessageContext('MessageOptions'), customMessageActions = _f.customMessageActions, getMessageActions = _f.getMessageActions, contextHandleOpenThread = _f.handleOpenThread, initialMessage = _f.initialMessage, message = _f.message, onReactionListClick = _f.onReactionListClick, showDetailedReactions = _f.showDetailedReactions, threadList = _f.threadList;
9
+ var _f = useMessageContext('MessageOptions'), getMessageActions = _f.getMessageActions, contextHandleOpenThread = _f.handleOpenThread, initialMessage = _f.initialMessage, message = _f.message, onReactionListClick = _f.onReactionListClick, showDetailedReactions = _f.showDetailedReactions, threadList = _f.threadList;
10
10
  var t = useTranslationContext('MessageOptions').t;
11
11
  var handleOpenThread = propHandleOpenThread || contextHandleOpenThread;
12
12
  var messageActions = getMessageActions();
13
- var showActionsBox = showMessageActionsBox(messageActions, threadList) || !!customMessageActions;
14
13
  var shouldShowReactions = messageActions.indexOf(MESSAGE_ACTIONS.react) > -1;
15
14
  var shouldShowReplies = messageActions.indexOf(MESSAGE_ACTIONS.reply) > -1 && displayReplies && !threadList;
16
15
  if (!message.type ||
@@ -24,7 +23,7 @@ var UnMemoizedMessageOptions = function (props) {
24
23
  }
25
24
  var rootClassName = "str-chat__message-".concat(theme, "__actions str-chat__message-options");
26
25
  return (React.createElement("div", { className: rootClassName, "data-testid": 'message-options' },
27
- showActionsBox && (React.createElement(MessageActions, { ActionsIcon: ActionsIcon, messageWrapperRef: messageWrapperRef })),
26
+ React.createElement(MessageActions, { ActionsIcon: ActionsIcon, messageWrapperRef: messageWrapperRef }),
28
27
  shouldShowReplies && (React.createElement("button", { "aria-label": t('aria/Open Thread'), className: "str-chat__message-".concat(theme, "__actions__action str-chat__message-").concat(theme, "__actions__action--thread str-chat__message-reply-in-thread-button"), "data-testid": 'thread-action', onClick: handleOpenThread },
29
28
  React.createElement(ThreadIcon, { className: 'str-chat__message-action-icon' }))),
30
29
  shouldShowReactions && (React.createElement("button", { "aria-expanded": showDetailedReactions, "aria-label": t('aria/Open Reaction Selector'), className: "str-chat__message-".concat(theme, "__actions__action str-chat__message-").concat(theme, "__actions__action--reactions str-chat__message-reactions-button"), "data-testid": 'message-reaction-action', onClick: onReactionListClick },
@@ -2,7 +2,7 @@ import type { TFunction } from 'i18next';
2
2
  import type { MessageResponse, Mute, StreamChat, UserResponse } from 'stream-chat';
3
3
  import type { PinPermissions } from './hooks';
4
4
  import type { MessageProps } from './types';
5
- import type { MessageContextValue, StreamMessage } from '../../context';
5
+ import type { ComponentContextValue, CustomMessageActions, MessageContextValue, StreamMessage } from '../../context';
6
6
  import type { DefaultStreamChatGenerics } from '../../types/types';
7
7
  /**
8
8
  * Following function validates a function which returns notification message.
@@ -39,7 +39,16 @@ export type Capabilities = {
39
39
  };
40
40
  export declare const getMessageActions: (actions: MessageActionsArray | boolean, { canDelete, canEdit, canFlag, canMarkUnread, canMute, canPin, canQuote, canReact, canReply, }: Capabilities) => MessageActionsArray<string>;
41
41
  export declare const ACTIONS_NOT_WORKING_IN_THREAD: string[];
42
+ /**
43
+ * @deprecated use `shouldRenderMessageActions` instead
44
+ */
42
45
  export declare const showMessageActionsBox: (actions: MessageActionsArray<string>, inThread?: boolean | undefined) => boolean;
46
+ export declare const shouldRenderMessageActions: <SCG extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>({ customMessageActions, CustomMessageActionsList, inThread, messageActions, }: {
47
+ messageActions: MessageActionsArray<string>;
48
+ customMessageActions?: CustomMessageActions<SCG> | undefined;
49
+ CustomMessageActionsList?: import("react").ComponentType<import("..").CustomMessageActionsListProps<SCG>> | undefined;
50
+ inThread?: boolean | undefined;
51
+ }) => boolean;
43
52
  export declare const areMessagePropsEqual: <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(prevProps: MessageProps<StreamChatGenerics, import("../../types/types").CustomTrigger> & {
44
53
  mutes?: Mute<StreamChatGenerics>[] | undefined;
45
54
  showDetailedReactions?: boolean | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/components/Message/utils.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACnF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACxE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAEnE;;;GAGG;AACH,eAAO,MAAM,qBAAqB,8CACV,OAAO,2BAiB9B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,2LAUvB,CAAC;AAEF,eAAO,MAAM,eAAe;;;;;;;;;;CAU3B,CAAC;AAEF,MAAM,MAAM,mBAAmB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI,KAAK,CAChE,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,CAAC,CAC9E,CAAC;AAGF,eAAO,MAAM,qBAAqB,EAAE,cAwDnC,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,eAAO,MAAM,iBAAiB,YACnB,mBAAmB,GAAG,OAAO,kGAWnC,YAAY,gCAmDhB,CAAC;AAEF,eAAO,MAAM,6BAA6B,UAKzC,CAAC;AAEF,eAAO,MAAM,qBAAqB,oDAErB,OAAO,GAAG,SAAS,YAsB/B,CAAC;AA4BF,eAAO,MAAM,oBAAoB;;;;;;aAsChC,CAAC;AAEF,eAAO,MAAM,sBAAsB;;;;aAgClC,CAAC;AAEF,eAAO,MAAM,mBAAmB,wJAIiD,CAAC;AAElF,eAAO,MAAM,qBAAqB,wJAIyB,CAAC;AAE5D,eAAO,MAAM,SAAS,yMASrB,CAAC;AAEF,eAAO,MAAM,sBAAsB,yMASlC,CAAC;AAEF,MAAM,WAAW,qBAAqB;IACpC,CAAC,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,EAC/E,IAAI,EAAE,YAAY,CAAC,kBAAkB,CAAC,GACrC,MAAM,CAAC;CACX;AAED;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,EAAE,qBAAsD,CAAC;AAEvF,eAAO,MAAM,oBAAoB,mIAI5B,SAAS,iEAEW,qBAAqB,WAiD7C,CAAC;AAEF,eAAO,MAAM,YAAY,UAAW,MAAM,YAOzC,CAAC;AAEF,eAAO,MAAM,gBAAgB,gLAM4C,CAAC;AAE1E,eAAO,MAAM,eAAe,4KAIU,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/components/Message/utils.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACnF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,KAAK,EACV,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,EACnB,aAAa,EACd,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAEnE;;;GAGG;AACH,eAAO,MAAM,qBAAqB,8CACV,OAAO,2BAiB9B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,2LAUvB,CAAC;AAEF,eAAO,MAAM,eAAe;;;;;;;;;;CAU3B,CAAC;AAEF,MAAM,MAAM,mBAAmB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI,KAAK,CAChE,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,CAAC,CAC9E,CAAC;AAGF,eAAO,MAAM,qBAAqB,EAAE,cAwDnC,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,eAAO,MAAM,iBAAiB,YACnB,mBAAmB,GAAG,OAAO,kGAWnC,YAAY,gCAmDhB,CAAC;AAEF,eAAO,MAAM,6BAA6B,UAKzC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB,oDAErB,OAAO,GAAG,SAAS,YACsC,CAAC;AAEvE,eAAO,MAAM,0BAA0B;;;;;aA6CtC,CAAC;AA4BF,eAAO,MAAM,oBAAoB;;;;;;aAsChC,CAAC;AAEF,eAAO,MAAM,sBAAsB;;;;aAgClC,CAAC;AAEF,eAAO,MAAM,mBAAmB,wJAIiD,CAAC;AAElF,eAAO,MAAM,qBAAqB,wJAIyB,CAAC;AAE5D,eAAO,MAAM,SAAS,yMASrB,CAAC;AAEF,eAAO,MAAM,sBAAsB,yMASlC,CAAC;AAEF,MAAM,WAAW,qBAAqB;IACpC,CAAC,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,EAC/E,IAAI,EAAE,YAAY,CAAC,kBAAkB,CAAC,GACrC,MAAM,CAAC;CACX;AAED;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,EAAE,qBAAsD,CAAC;AAEvF,eAAO,MAAM,oBAAoB,mIAI5B,SAAS,iEAEW,qBAAqB,WAiD7C,CAAC;AAEF,eAAO,MAAM,YAAY,UAAW,MAAM,YAOzC,CAAC;AAEF,eAAO,MAAM,gBAAgB,gLAM4C,CAAC;AAE1E,eAAO,MAAM,eAAe,4KAIU,CAAC"}
@@ -146,18 +146,29 @@ export var ACTIONS_NOT_WORKING_IN_THREAD = [
146
146
  MESSAGE_ACTIONS.reply,
147
147
  MESSAGE_ACTIONS.markUnread,
148
148
  ];
149
- export var showMessageActionsBox = function (actions, inThread) {
150
- if (actions.length === 0) {
149
+ /**
150
+ * @deprecated use `shouldRenderMessageActions` instead
151
+ */
152
+ export var showMessageActionsBox = function (actions, inThread) { return shouldRenderMessageActions({ inThread: inThread, messageActions: actions }); };
153
+ export var shouldRenderMessageActions = function (_a) {
154
+ var customMessageActions = _a.customMessageActions, CustomMessageActionsList = _a.CustomMessageActionsList, inThread = _a.inThread, messageActions = _a.messageActions;
155
+ if (typeof CustomMessageActionsList !== 'undefined' ||
156
+ typeof customMessageActions !== 'undefined')
157
+ return true;
158
+ if (!messageActions.length)
151
159
  return false;
152
- }
153
160
  if (inThread &&
154
- actions.filter(function (action) { return !ACTIONS_NOT_WORKING_IN_THREAD.includes(action); }).length === 0) {
161
+ messageActions.filter(function (action) { return !ACTIONS_NOT_WORKING_IN_THREAD.includes(action); }).length === 0) {
155
162
  return false;
156
163
  }
157
- if (actions.length === 1 && (actions.includes('react') || actions.includes('reply'))) {
164
+ if (messageActions.length === 1 &&
165
+ (messageActions.includes(MESSAGE_ACTIONS.react) ||
166
+ messageActions.includes(MESSAGE_ACTIONS.reply))) {
158
167
  return false;
159
168
  }
160
- if (actions.length === 2 && actions.includes('react') && actions.includes('reply')) {
169
+ if (messageActions.length === 2 &&
170
+ messageActions.includes(MESSAGE_ACTIONS.react) &&
171
+ messageActions.includes(MESSAGE_ACTIONS.reply)) {
161
172
  return false;
162
173
  }
163
174
  return true;
@@ -1 +1 @@
1
- {"version":3,"file":"MessageActions.d.ts","sourceRoot":"","sources":["../../../src/components/MessageActions/MessageActions.tsx"],"names":[],"mappings":"AAAA,OAAO,KAON,MAAM,OAAO,CAAC;AAQf,OAAO,EAAE,mBAAmB,EAAqB,MAAM,8BAA8B,CAAC;AAEtF,OAAO,KAAK,EAAE,yBAAyB,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAI9E,KAAK,yBAAyB,GAC1B,mBAAmB,GACnB,cAAc,GACd,YAAY,GACZ,kBAAkB,GAClB,YAAY,GACZ,WAAW,GACX,SAAS,CAAC;AAEd,MAAM,MAAM,mBAAmB,CAC7B,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,EAAE,yBAAyB,CAAC,CAAC,GAAG;IAEtF,WAAW,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IAE7C,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB,iBAAiB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAEpD,IAAI,CAAC,EAAE,MAAM,OAAO,CAAC;CACtB,CAAC;AAEF,eAAO,MAAM,cAAc,gKA4H1B,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACvC,iBAAiB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;IACjE,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC"}
1
+ {"version":3,"file":"MessageActions.d.ts","sourceRoot":"","sources":["../../../src/components/MessageActions/MessageActions.tsx"],"names":[],"mappings":"AAAA,OAAO,KAON,MAAM,OAAO,CAAC;AASf,OAAO,EAAE,mBAAmB,EAAqB,MAAM,8BAA8B,CAAC;AAEtF,OAAO,KAAK,EAAE,yBAAyB,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAI9E,KAAK,yBAAyB,GAC1B,mBAAmB,GACnB,cAAc,GACd,YAAY,GACZ,kBAAkB,GAClB,YAAY,GACZ,WAAW,GACX,SAAS,CAAC;AAEd,MAAM,MAAM,mBAAmB,CAC7B,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,EAAE,yBAAyB,CAAC,CAAC,GAAG;IAEtF,WAAW,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IAE7C,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB,iBAAiB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAEpD,IAAI,CAAC,EAAE,MAAM,OAAO,CAAC;CACtB,CAAC;AAEF,eAAO,MAAM,cAAc,gKAwI1B,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACvC,iBAAiB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;IACjE,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC"}
@@ -1,16 +1,18 @@
1
1
  import { __assign } from "tslib";
2
2
  import React, { useCallback, useEffect, useRef, useState, } from 'react';
3
+ import clsx from 'clsx';
3
4
  import { MessageActionsBox } from './MessageActionsBox';
4
5
  import { ActionsIcon as DefaultActionsIcon } from '../Message/icons';
5
- import { isUserMuted } from '../Message/utils';
6
+ import { isUserMuted, shouldRenderMessageActions } from '../Message/utils';
6
7
  import { useChatContext } from '../../context/ChatContext';
7
8
  import { useMessageContext } from '../../context/MessageContext';
8
9
  import { useMessageActionsBoxPopper } from './hooks';
9
- import { useTranslationContext } from '../../context';
10
+ import { useComponentContext, useTranslationContext } from '../../context';
10
11
  export var MessageActions = function (props) {
11
12
  var _a = props.ActionsIcon, ActionsIcon = _a === void 0 ? DefaultActionsIcon : _a, _b = props.customWrapperClass, customWrapperClass = _b === void 0 ? '' : _b, propGetMessageActions = props.getMessageActions, propHandleDelete = props.handleDelete, propHandleFlag = props.handleFlag, propHandleMarkUnread = props.handleMarkUnread, propHandleMute = props.handleMute, propHandlePin = props.handlePin, inline = props.inline, propMessage = props.message, messageWrapperRef = props.messageWrapperRef, mine = props.mine;
12
13
  var mutes = useChatContext('MessageActions').mutes;
13
- var _c = useMessageContext('MessageActions'), customMessageActions = _c.customMessageActions, contextGetMessageActions = _c.getMessageActions, contextHandleDelete = _c.handleDelete, contextHandleFlag = _c.handleFlag, contextHandleMarkUnread = _c.handleMarkUnread, contextHandleMute = _c.handleMute, contextHandlePin = _c.handlePin, isMyMessage = _c.isMyMessage, contextMessage = _c.message, setEditingState = _c.setEditingState;
14
+ var _c = useMessageContext('MessageActions'), customMessageActions = _c.customMessageActions, contextGetMessageActions = _c.getMessageActions, contextHandleDelete = _c.handleDelete, contextHandleFlag = _c.handleFlag, contextHandleMarkUnread = _c.handleMarkUnread, contextHandleMute = _c.handleMute, contextHandlePin = _c.handlePin, isMyMessage = _c.isMyMessage, contextMessage = _c.message, setEditingState = _c.setEditingState, threadList = _c.threadList;
15
+ var CustomMessageActionsList = useComponentContext('MessageActions').CustomMessageActionsList;
14
16
  var t = useTranslationContext('MessageActions').t;
15
17
  var getMessageActions = propGetMessageActions || contextGetMessageActions;
16
18
  var handleDelete = propHandleDelete || contextHandleDelete;
@@ -22,13 +24,19 @@ export var MessageActions = function (props) {
22
24
  var isMine = mine ? mine() : isMyMessage();
23
25
  var _d = useState(false), actionsBoxOpen = _d[0], setActionsBoxOpen = _d[1];
24
26
  var isMuted = useCallback(function () { return isUserMuted(message, mutes); }, [message, mutes]);
27
+ var messageActions = getMessageActions();
28
+ var renderMessageActions = shouldRenderMessageActions({
29
+ customMessageActions: customMessageActions,
30
+ CustomMessageActionsList: CustomMessageActionsList,
31
+ inThread: threadList,
32
+ messageActions: messageActions,
33
+ });
25
34
  var hideOptions = useCallback(function (event) {
26
35
  if (event instanceof KeyboardEvent && event.key !== 'Escape') {
27
36
  return;
28
37
  }
29
38
  setActionsBoxOpen(false);
30
39
  }, []);
31
- var messageActions = getMessageActions();
32
40
  var messageDeletedAt = !!(message === null || message === void 0 ? void 0 : message.deleted_at);
33
41
  useEffect(function () {
34
42
  if (messageWrapperRef === null || messageWrapperRef === void 0 ? void 0 : messageWrapperRef.current) {
@@ -56,7 +64,7 @@ export var MessageActions = function (props) {
56
64
  placement: isMine ? 'top-end' : 'top-start',
57
65
  referenceElement: actionsBoxButtonRef.current,
58
66
  }), attributes = _e.attributes, popperElementRef = _e.popperElementRef, styles = _e.styles;
59
- if (!messageActions.length && !customMessageActions)
67
+ if (!renderMessageActions)
60
68
  return null;
61
69
  return (React.createElement(MessageActionsWrapper, { customWrapperClass: customWrapperClass, inline: inline, setActionsBoxOpen: setActionsBoxOpen },
62
70
  React.createElement(MessageActionsBox, __assign({}, attributes.popper, { getMessageActions: getMessageActions, handleDelete: handleDelete, handleEdit: setEditingState, handleFlag: handleFlag, handleMarkUnread: handleMarkUnread, handleMute: handleMute, handlePin: handlePin, isUserMuted: isMuted, mine: isMine, open: actionsBoxOpen, ref: popperElementRef, style: styles.popper })),
@@ -65,7 +73,7 @@ export var MessageActions = function (props) {
65
73
  };
66
74
  var MessageActionsWrapper = function (props) {
67
75
  var children = props.children, customWrapperClass = props.customWrapperClass, inline = props.inline, setActionsBoxOpen = props.setActionsBoxOpen;
68
- var defaultWrapperClass = "\n str-chat__message-simple__actions__action\n str-chat__message-simple__actions__action--options\n str-chat__message-actions-container";
76
+ var defaultWrapperClass = clsx('str-chat__message-simple__actions__action', 'str-chat__message-simple__actions__action--options', 'str-chat__message-actions-container');
69
77
  var wrapperClass = customWrapperClass || defaultWrapperClass;
70
78
  var onClickOptionsAction = function (event) {
71
79
  event.stopPropagation();
package/dist/index.cjs.js CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var Window = require('./Window-60c672e3.js');
5
+ var Window = require('./Window-09ecd2ee.js');
6
6
  var React = require('react');
7
7
  var streamChat = require('stream-chat');
8
8
  var throttle = require('lodash.throttle');
@@ -1362,7 +1362,7 @@ function VirtualizedMessageList(props) {
1362
1362
  return (React__default["default"].createElement(VirtualizedMessageListWithContext, Window.__assign({ channel: channel, channelUnreadUiState: channelUnreadUiState, hasMore: !!hasMore, hasMoreNewer: !!hasMoreNewer, highlightedMessageId: highlightedMessageId, jumpToLatestMessage: jumpToLatestMessage, loadingMore: !!loadingMore, loadingMoreNewer: !!loadingMoreNewer, loadMore: loadMore, loadMoreNewer: loadMoreNewer, messages: messages, notifications: notifications, read: read, suppressAutoscroll: suppressAutoscroll }, props)));
1363
1363
  }
1364
1364
 
1365
- var version = '11.23.7';
1365
+ var version = '11.23.9';
1366
1366
 
1367
1367
  var useChat = function (_a) {
1368
1368
  var _b, _c;
@@ -1966,6 +1966,7 @@ exports.renderPreviewText = Window.renderPreviewText;
1966
1966
  exports.renderText = Window.renderText;
1967
1967
  exports.resampleWaveformData = Window.resampleWaveformData;
1968
1968
  exports.ruTranslations = Window.ruTranslations;
1969
+ exports.shouldRenderMessageActions = Window.shouldRenderMessageActions;
1969
1970
  exports.showMessageActionsBox = Window.showMessageActionsBox;
1970
1971
  exports.trTranslations = Window.trTranslations;
1971
1972
  exports.upSample = Window.upSample;
package/dist/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const version = "11.23.7";
1
+ export declare const version = "11.23.9";
2
2
  //# sourceMappingURL=version.d.ts.map
package/dist/version.js CHANGED
@@ -1 +1 @@
1
- export var version = '11.23.7';
1
+ export var version = '11.23.9';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "stream-chat-react",
3
- "version": "11.23.7",
3
+ "version": "11.23.9",
4
4
  "description": "React components to create chat conversations or livestream style chat",
5
5
  "author": "GetStream",
6
6
  "homepage": "https://getstream.io/chat/",
@@ -104,7 +104,7 @@
104
104
  "emoji-mart": "^5.4.0",
105
105
  "react": "^18.0.0 || ^17.0.0 || ^16.8.0",
106
106
  "react-dom": "^18.0.0 || ^17.0.0 || ^16.8.0",
107
- "stream-chat": "^8.33.1"
107
+ "stream-chat": "^8.39.0"
108
108
  },
109
109
  "peerDependenciesMeta": {
110
110
  "emoji-mart": {
@@ -226,7 +226,7 @@
226
226
  "rollup-plugin-url": "^3.0.1",
227
227
  "rollup-plugin-visualizer": "^4.2.0",
228
228
  "semantic-release": "^19.0.5",
229
- "stream-chat": "8.39.0",
229
+ "stream-chat": "^8.39.0",
230
230
  "style-loader": "^2.0.0",
231
231
  "ts-jest": "^28.0.8",
232
232
  "typescript": "^4.7.4",