Skip to content

Commit

Permalink
CLASSE-2095 CLASSE-1667 - Add prop for aria-level for the date divide…
Browse files Browse the repository at this point in the history
…rs in MessagingThreadHistory which indicate which day a message has been sent.
  • Loading branch information
chloehunter committed Jan 31, 2025
1 parent 45d063a commit ab09da7
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 5 deletions.
2 changes: 1 addition & 1 deletion package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "clever-components",
"version": "2.225.0",
"version": "2.226.0",
"description": "A library of helpful React components and less styles",
"repository": {
"type": "git",
Expand Down
16 changes: 13 additions & 3 deletions src/MessagingThreadHistory/MessagingThreadHistory.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ interface Props {
messages: MessageData[];
onScroll?: () => void;
ariaLabel?: string;
dividerAriaLevel?: number;
}

const SCROLL_BUFFER = 200;
Expand All @@ -54,7 +55,7 @@ function isOwnMessage(message: MessageData) {

export const MessagingThreadHistory = React.forwardRef(
(
{ className, threadID, messages, onScroll, ariaLabel }: Props,
{ className, threadID, messages, onScroll, ariaLabel, dividerAriaLevel }: Props,
containerRef: React.MutableRefObject<HTMLDivElement>,
) => {
// ----------- Scroll position references
Expand Down Expand Up @@ -97,7 +98,11 @@ export const MessagingThreadHistory = React.forwardRef(

// ----------- Render

const messagesWithDividers = _interleaveMessagesWithDividers(messages, lastMessageRef);
const messagesWithDividers = _interleaveMessagesWithDividers(
messages,
lastMessageRef,
dividerAriaLevel,
);

return (
<div
Expand All @@ -123,6 +128,7 @@ export const MessagingThreadHistory = React.forwardRef(
function _interleaveMessagesWithDividers(
messages: MessageData[],
lastMessageRef: React.MutableRefObject<HTMLDivElement>,
dividerAriaLevel: number,
) {
// Interleave dividers (e.g. dates, user names) with messages.
const messagesWithDividers: React.ReactNode[] = [];
Expand All @@ -135,7 +141,11 @@ function _interleaveMessagesWithDividers(
const messageDay = _formatDateForDivider(message.timestamp);
if (currentDay !== messageDay) {
messagesWithDividers.push(
<div key={`divider-${messageDay}`} className={cssClasses.DIVIDER_DATE}>
<div
key={`divider-${messageDay}`}
aria-level={dividerAriaLevel}
className={cssClasses.DIVIDER_DATE}
>
{messageDay}
</div>,
);
Expand Down

0 comments on commit ab09da7

Please sign in to comment.