@sendbird/uikit-react
Advanced tools
Changelog
[v3.14.11] (June 20, 2024)
Markdown Support for Text Messages
enableMarkdownForUserMessage
to UIKitOptions
. When enabled, markdown syntaxes for bold and link are now applied to user messages.Descriptive Color Names Support
mapColorKeys
, to support both new and existing color names.Primary-500 -> Primary-extra dark
Primary-400 -> Primary-dark
Primary-300 -> Primary-main
Primary-200 -> Primary-light
Primary-100 -> Primary-extra light
Secondary-500 -> Secondary-extra dark
Secondary-400 -> Secondary-dark
Secondary-300 -> Secondary-main
Secondary-200 -> Secondary-light
Secondary-100 -> Secondary-extra light
Overlay-01 -> Overlay-dark
Overlay-02 -> Overlay-light
// On Light
On Light-01 -> Onlight-text-high-emphasis
On Light-02 -> Onlight-text-mid-emphasis
On Light-03 -> Onlight-text-low-emphasis
On Light-04 -> Onlight-text-disabled
// On Dark
On Dark -01 -> Ondark-text-high-emphasis
On Dark -02 -> Ondark-text-mid-emphasis
On Dark -03 -> Ondark-text-low-emphasis
On Dark -04 -> Ondark-text-disabled
Message Menu Component Refactor
Created MessageMenuProvider
, useMessageMenuContext
, and MessageMenu
component.
Replaced MessageItemMenu
with MessageMenu
in GroupChannel. Future PR will apply it to Thread.
Migrated MobileContextMenu
and MobileBottomSheet
using MessageMenuProvider
.
Exported the MobileMenu
import { MobileMenu, MobileContextMenu, MobileBottomSheet } from '@sendbird/uikit-react/ui/MobileMenu';
How to use?
Desktop menu
import GroupChannel from '@sendbird/uikit-react/GroupChannel';
import MessageContent from '@sendbird/uikit-react/ui/MessageContent';
import { MessageMenu } from '@sendbird/uikit-react/ui/MessageMenu';
const GroupChannelPage = () => (
<GroupChannel
renderMessageContent={(props) => (
<MessageContent
{...props}
renderMessageMenu={(props) => (
<MessageMenu
{...props}
renderMenuItems={(props) => {
const {
CopyMenuItem,
ReplyMenuItem,
// ...
DeleteMenuItem,
} = props.items;
// organize the menu items using the items
return (
<>
<CopyMenuItem />
<DeleteMenuItem />
</>
);
}}
/>
)}
/>
)}
/>
);
Mobile menu
import GroupChannel from '@sendbird/uikit-react/GroupChannel';
import MessageContent from '@sendbird/uikit-react/ui/MessageContent';
import { MobileMenu } from '@sendbird/uikit-react/ui/MessageMenu';
const GroupChannelPage = () => (
<GroupChannel
renderMessageContent={(props) => (
<MessageContent
{...props}
renderMobileMenuOnLongPress={(props) => (
<MobileMenu
{...props}
renderMenuItems={(props) => {
const {
CopyMenuItem,
ReplyMenuItem,
// ...
DeleteMenuItem,
} = props.items;
// organize the menu items using the items
return (
<>
<CopyMenuItem />
<DeleteMenuItem />
</>
);
}}
/>
)}
/>
)}
/>
);
newMessages
array was not being reset even after the message list scroll reached the bottom, causing the message notification bar to not disappear properly. Manually called resetNewMessages()
under certain conditions.disabled
conditions are checked.Changelog
[v3.14.10] (June 13, 2024)
onClose
event to the modals inside of the FileViewer
components.Changelog
[v3.14.9] (June 7, 2024)
audio/x-m4a
to ensure proper playback.FileViewer
components for utilizing the onMounted
event handler.Changelog
[v3.14.8] (May 30, 2024)
requestAnimationFrame
to avoid delaysSuggestedReplyItem
component:
.mov
file type only in Safari browser