signal-desktop/ts/components/conversation/TypingAnimation.tsx

43 lines
1.2 KiB
TypeScript
Raw Normal View History

2023-01-03 11:55:46 -08:00
// Copyright 2018 Signal Messenger, LLC
2020-10-30 15:34:04 -05:00
// SPDX-License-Identifier: AGPL-3.0-only
2018-11-14 11:10:32 -08:00
import React from 'react';
import classNames from 'classnames';
import type { LocalizerType } from '../../types/Util';
2018-11-14 11:10:32 -08:00
export type Props = {
2019-01-14 13:49:58 -08:00
i18n: LocalizerType;
2018-11-14 11:10:32 -08:00
color?: string;
};
2018-11-14 11:10:32 -08:00
2022-11-17 16:45:19 -08:00
export function TypingAnimation({ i18n, color }: Props): JSX.Element {
return (
2023-03-29 17:03:25 -07:00
<div className="module-typing-animation" title={i18n('icu:typingAlt')}>
2022-11-17 16:45:19 -08:00
<div
className={classNames(
'module-typing-animation__dot',
'module-typing-animation__dot--first',
color ? `module-typing-animation__dot--${color}` : null
)}
/>
<div className="module-typing-animation__spacer" />
<div
className={classNames(
'module-typing-animation__dot',
'module-typing-animation__dot--second',
color ? `module-typing-animation__dot--${color}` : null
)}
/>
<div className="module-typing-animation__spacer" />
<div
className={classNames(
'module-typing-animation__dot',
'module-typing-animation__dot--third',
color ? `module-typing-animation__dot--${color}` : null
)}
/>
</div>
);
}