import classNames from 'classnames';
import PropTypes from 'prop-types';
import React from 'react';
import {FormattedMessage} from 'react-intl';
import Button from '../button/button.jsx';
import Dropdown from '../dropdown/dropdown.jsx';
import InputGroup from '../input-group/input-group.jsx';
import Fonts from '../../lib/fonts';
import CustomFontButton from './custom-font-button.jsx';
import styles from './font-dropdown.css';
const DisplayFont = ({font, getFontName}) => (
{getFontName(font)}
);
DisplayFont.propTypes = {
font: PropTypes.string.isRequired,
getFontName: PropTypes.func.isRequired
};
const ModeToolsComponent = props => (
{props.customFonts.map(font => (
))}
{props.onManageFonts && (
)}
}
ref={props.componentRef}
tipSize={.01}
onOpen={props.onOpenDropdown}
onOuterAction={props.onClickOutsideDropdown}
>
);
ModeToolsComponent.propTypes = {
componentRef: PropTypes.func.isRequired,
font: PropTypes.string,
getFontName: PropTypes.func.isRequired,
onChoose: PropTypes.func.isRequired,
onClickOutsideDropdown: PropTypes.func,
customFonts: PropTypes.arrayOf(PropTypes.shape({
name: PropTypes.string.isRequired,
family: PropTypes.string.isRequired
})).isRequired,
onHoverCustom: PropTypes.func.isRequired,
onManageFonts: PropTypes.func,
onHoverChinese: PropTypes.func,
onHoverCurly: PropTypes.func,
onHoverHandwriting: PropTypes.func,
onHoverJapanese: PropTypes.func,
onHoverKorean: PropTypes.func,
onHoverMarker: PropTypes.func,
onHoverPixel: PropTypes.func,
onHoverMopedLike: PropTypes.func,
onHoverSansSerif: PropTypes.func,
onHoverSerif: PropTypes.func,
onOpenDropdown: PropTypes.func
};
export default ModeToolsComponent;