mirror of
https://github.com/kremalicious/metamask-extension.git
synced 2024-12-01 21:57:06 +01:00
73 lines
1.5 KiB
TypeScript
73 lines
1.5 KiB
TypeScript
import React from 'react';
|
|
import classnames from 'classnames';
|
|
import {
|
|
HeaderBase,
|
|
Text,
|
|
ButtonIcon,
|
|
ButtonIconSize,
|
|
IconName,
|
|
ValidTag,
|
|
} from '..';
|
|
import {
|
|
TextVariant,
|
|
TextAlign,
|
|
} from '../../../helpers/constants/design-system';
|
|
import { useI18nContext } from '../../../hooks/useI18nContext';
|
|
import { ModalHeaderProps } from '.';
|
|
|
|
export const ModalHeader: React.FC<ModalHeaderProps> = ({
|
|
children,
|
|
className = '',
|
|
startAccessory,
|
|
endAccessory,
|
|
onClose,
|
|
closeButtonProps,
|
|
onBack,
|
|
backButtonProps,
|
|
...props
|
|
}) => {
|
|
const t = useI18nContext();
|
|
return (
|
|
<HeaderBase
|
|
className={classnames('mm-modal-header', className)}
|
|
startAccessory={
|
|
startAccessory ||
|
|
(onBack && (
|
|
<ButtonIcon
|
|
iconName={IconName.ArrowLeft}
|
|
ariaLabel={t('back')}
|
|
size={ButtonIconSize.Sm}
|
|
onClick={onBack}
|
|
{...backButtonProps}
|
|
/>
|
|
))
|
|
}
|
|
endAccessory={
|
|
endAccessory ||
|
|
(onClose && (
|
|
<ButtonIcon
|
|
iconName={IconName.Close}
|
|
ariaLabel={t('close')}
|
|
size={ButtonIconSize.Sm}
|
|
onClick={onClose}
|
|
{...closeButtonProps}
|
|
/>
|
|
))
|
|
}
|
|
{...props}
|
|
>
|
|
{typeof children === 'string' ? (
|
|
<Text
|
|
as={ValidTag.Header}
|
|
variant={TextVariant.headingSm}
|
|
textAlign={TextAlign.Center}
|
|
>
|
|
{children}
|
|
</Text>
|
|
) : (
|
|
children
|
|
)}
|
|
</HeaderBase>
|
|
);
|
|
};
|