Skip to content

Commit 6ea9ff0

Browse files
authored
feat(VirtualizedMessageList): allow to merge custom virtuoso components with the SDK defaults (#2140)
Allow integrators to add only some custom virtuoso components via `VirtualizedMessageListProps['additionalVirtuosoProps']['components']` and the rest to be filled with the defaults provided by the SDK.
1 parent cb6ef2a commit 6ea9ff0

24 files changed

+997
-266
lines changed

src/components/DateSeparator/DateSeparator.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ const UnMemoizedDateSeparator = (props: DateSeparatorProps) => {
2727
});
2828

2929
return (
30-
<div className='str-chat__date-separator'>
30+
<div className='str-chat__date-separator' data-testid='date-separator'>
3131
{(position === 'right' || position === 'center') && (
3232
<hr className='str-chat__date-separator-line' />
3333
)}

src/components/DateSeparator/__tests__/DateSeparator.test.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ describe('DateSeparator', () => {
4747
expect(tree).toMatchInlineSnapshot(`
4848
<div
4949
className="str-chat__date-separator"
50+
data-testid="date-separator"
5051
>
5152
<hr
5253
className="str-chat__date-separator-line"
@@ -80,6 +81,7 @@ describe('DateSeparator', () => {
8081
expect(tree).toMatchInlineSnapshot(`
8182
<div
8283
className="str-chat__date-separator"
84+
data-testid="date-separator"
8385
>
8486
<hr
8587
className="str-chat__date-separator-line"
@@ -99,6 +101,7 @@ describe('DateSeparator', () => {
99101
expect(tree).toMatchInlineSnapshot(`
100102
<div
101103
className="str-chat__date-separator"
104+
data-testid="date-separator"
102105
>
103106
<div
104107
className="str-chat__date-separator-date"
@@ -117,6 +120,7 @@ describe('DateSeparator', () => {
117120
expect(tree).toMatchInlineSnapshot(`
118121
<div
119122
className="str-chat__date-separator"
123+
data-testid="date-separator"
120124
>
121125
<hr
122126
className="str-chat__date-separator-line"

src/components/EventComponent/EventComponent.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ const UnMemoizedEventComponent = <
3434

3535
if (type === 'system')
3636
return (
37-
<div className='str-chat__message--system'>
37+
<div className='str-chat__message--system' data-testid='message-system'>
3838
<div className='str-chat__message--system__text'>
3939
<div className='str-chat__message--system__line' />
4040
<p>{text}</p>

src/components/EventComponent/__tests__/EventComponent.test.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ describe('EventComponent', () => {
3030
expect(tree).toMatchInlineSnapshot(`
3131
<div
3232
className="str-chat__message--system"
33+
data-testid="message-system"
3334
>
3435
<div
3536
className="str-chat__message--system__text"

src/components/MessageList/MessageList.tsx

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
import React from 'react';
22

3-
import { useEnrichedMessages } from './hooks/useEnrichedMessages';
4-
import { useMessageListElements } from './hooks/useMessageListElements';
5-
import { useScrollLocationLogic } from './hooks/useScrollLocationLogic';
3+
import {
4+
useEnrichedMessages,
5+
useMessageListElements,
6+
useScrollLocationLogic,
7+
} from './hooks/MessageList';
68

79
import { MessageNotification as DefaultMessageNotification } from './MessageNotification';
810
import { MessageListNotifications as DefaultMessageListNotifications } from './MessageListNotifications';

0 commit comments

Comments
 (0)