Signal-Desktop/ts/components/InContactsIcon.tsx

42 lines
1.1 KiB
TypeScript
Raw Permalink Normal View History

// Copyright 2020-2021 Signal Messenger, LLC
2020-10-30 20:34:04 +00:00
// SPDX-License-Identifier: AGPL-3.0-only
2020-07-24 01:35:32 +00:00
import React from 'react';
2020-11-20 19:39:50 +00:00
import classNames from 'classnames';
2020-07-24 01:35:32 +00:00
2020-11-19 18:11:35 +00:00
import { Tooltip } from './Tooltip';
import type { LocalizerType } from '../types/Util';
2020-07-24 01:35:32 +00:00
type PropsType = {
2020-11-20 19:39:50 +00:00
className?: string;
tooltipContainerRef?: React.RefObject<HTMLElement>;
2020-07-24 01:35:32 +00:00
i18n: LocalizerType;
};
export const InContactsIcon = (props: PropsType): JSX.Element => {
const { className, i18n, tooltipContainerRef } = props;
2020-07-24 01:35:32 +00:00
2020-09-12 00:46:52 +00:00
/* eslint-disable jsx-a11y/no-noninteractive-tabindex */
2020-07-24 01:35:32 +00:00
return (
<Tooltip
content={i18n('contactInAddressBook')}
popperModifiers={[
{
name: 'preventOverflow',
options: {
boundary: tooltipContainerRef?.current || undefined,
},
},
]}
>
<span
aria-label={i18n('contactInAddressBook')}
className={classNames('module-in-contacts-icon__icon', className)}
role="img"
tabIndex={0}
/>
</Tooltip>
2020-07-24 01:35:32 +00:00
);
2020-09-12 00:46:52 +00:00
/* eslint-enable jsx-a11y/no-noninteractive-tabindex */
2020-07-24 01:35:32 +00:00
};