@gechiui/block-editor
Version:
52 lines (46 loc) • 928 B
JavaScript
/**
* External dependencies
*/
import { isEmpty } from 'lodash';
/**
* GeChiUI dependencies
*/
import { SelectControl } from '@gechiui/components';
import { __ } from '@gechiui/i18n';
/**
* Internal dependencies
*/
import useSetting from '../use-setting';
export default function FontFamilyControl( {
value = '',
onChange,
fontFamilies,
...props
} ) {
const blockLevelFontFamilies = useSetting( 'typography.fontFamilies' );
if ( ! fontFamilies ) {
fontFamilies = blockLevelFontFamilies;
}
if ( isEmpty( fontFamilies ) ) {
return null;
}
const options = [
{ value: '', label: __( '默认' ) },
...fontFamilies.map( ( { fontFamily, name } ) => {
return {
value: fontFamily,
label: name || fontFamily,
};
} ),
];
return (
<SelectControl
label={ __( '字体' ) }
options={ options }
value={ value }
onChange={ onChange }
labelPosition="top"
{ ...props }
/>
);
}