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;