Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions src/components/Channel/Channel.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,7 @@ type ChannelPropsForwardedToComponentContext = Pick<
| 'CustomMessageActionsList'
| 'DateSeparator'
| 'EditMessageInput'
| 'EditMessageModal'
| 'EmojiPicker'
| 'emojiSearchIndex'
| 'EmptyStateIndicator'
Expand Down Expand Up @@ -1207,6 +1208,7 @@ const ChannelInner = (
CustomMessageActionsList: props.CustomMessageActionsList,
DateSeparator: props.DateSeparator,
EditMessageInput: props.EditMessageInput,
EditMessageModal: props.EditMessageModal,
EmojiPicker: props.EmojiPicker,
emojiSearchIndex: props.emojiSearchIndex,
EmptyStateIndicator: props.EmptyStateIndicator,
Expand Down Expand Up @@ -1276,6 +1278,7 @@ const ChannelInner = (
props.CustomMessageActionsList,
props.DateSeparator,
props.EditMessageInput,
props.EditMessageModal,
props.EmojiPicker,
props.emojiSearchIndex,
props.EmptyStateIndicator,
Expand Down
3 changes: 2 additions & 1 deletion src/components/Message/MessageSimple.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ import {

import { Avatar as DefaultAvatar } from '../Avatar';
import { Attachment as DefaultAttachment } from '../Attachment';
import { EditMessageModal } from '../MessageInput';
import { EditMessageModal as DefaultEditMessageModal } from '../MessageInput';
import { Poll } from '../Poll';
import { ReactionsList as DefaultReactionList } from '../Reactions';
import { MessageBounceModal } from '../MessageBounce/MessageBounceModal';
Expand Down Expand Up @@ -69,6 +69,7 @@ const MessageSimpleWithContext = (props: MessageSimpleWithContextProps) => {
const {
Attachment = DefaultAttachment,
Avatar = DefaultAvatar,
EditMessageModal = DefaultEditMessageModal,
MessageOptions = DefaultMessageOptions,
// TODO: remove this "passthrough" in the next
// major release and use the new default instead
Expand Down
7 changes: 6 additions & 1 deletion src/components/MessageInput/EditMessageForm.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -68,9 +68,14 @@ export const EditMessageForm = () => {
);
};

export type EditMessageModalProps = Pick<
MessageUIComponentProps,
'additionalMessageInputProps'
>;

export const EditMessageModal = ({
additionalMessageInputProps,
}: Pick<MessageUIComponentProps, 'additionalMessageInputProps'>) => {
}: EditMessageModalProps) => {
const { EditMessageInput = EditMessageForm, Modal = DefaultModal } =
useComponentContext();
const { clearEditingState } = useMessageContext();
Expand Down
3 changes: 3 additions & 0 deletions src/context/ComponentContext.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import type {
CooldownTimerProps,
CustomMessageActionsListProps,
DateSeparatorProps,
EditMessageModalProps,
EmojiSearchIndex,
EmptyStateIndicatorProps,
EventComponentProps,
Expand Down Expand Up @@ -96,6 +97,8 @@ export type ComponentContextValue = {
DateSeparator?: React.ComponentType<DateSeparatorProps>;
/** Custom UI component to override default edit message input, defaults to and accepts same props as: [EditMessageForm](https://github.com/GetStream/stream-chat-react/blob/master/src/components/MessageInput/EditMessageForm.tsx) */
EditMessageInput?: React.ComponentType<MessageInputProps>;
/** Custom UI component to override default EditMessageModal, defaults to and accepts same props as: [EditMessageModal](https://github.com/GetStream/stream-chat-react/blob/master/src/components/MessageInput/EditMessageForm.tsx) */
EditMessageModal?: React.ComponentType<EditMessageModalProps>;
/** Custom UI component for rendering button with emoji picker in MessageInput */
EmojiPicker?: React.ComponentType;
/** Mechanism to be used with autocomplete and text replace features of the `MessageInput` component, see [emoji-mart `SearchIndex`](https://github.com/missive/emoji-mart#%EF%B8%8F%EF%B8%8F-headless-search) */
Expand Down