import React from 'react' import { usePrefix, IconWidget } from '@pind/designable-react' import { useField, Field, observer } from '@formily/react' import { Select, Radio, NumberPicker } from '@formily/antd-v5' import { FoldItem } from '../FoldItem' import { InputItems } from '../InputItems' import { SizeInput } from '../SizeInput' import { ColorInput } from '../ColorInput' import cls from 'classnames' export interface IFontStyleSetterProps { className?: string style?: React.CSSProperties } const createFontFamilyOptions = (fonts: string[]) => { return fonts.map((font) => { const splited = font.split('=') const label = splited?.[0] const value = splited?.[1] return { label: {label}, value, } }) } const FontFamilyOptions = createFontFamilyOptions([ '宋体=SimSun', '微软雅黑=Microsoft Yahei', '苹方=PingFang SC', 'Andale Mono=andale mono,monospace', 'Arial=arial,helvetica,sans-serif', 'Arial Black=arial black,sans-serif', 'Book Antiqua=book antiqua,palatino,serif', 'Comic Sans MS=comic sans ms,sans-serif', 'Courier New=courier new,courier,monospace', 'Georgia=georgia,palatino,serif', 'Helvetica Neue=Helvetica Neue', 'Helvetica=helvetica,arial,sans-serif', 'Impact=impact,sans-serif', 'Symbol=symbol', 'Tahoma=tahoma,arial,helvetica,sans-serif', 'Terminal=terminal,monaco,monospace', 'Times New Roman=times new roman,times,serif', 'Trebuchet MS=trebuchet ms,geneva,sans-serif', 'Verdana=verdana,geneva,sans-serif', ]) export const FontStyleSetter: React.FC = observer( (props) => { const field = useField() const prefix = usePrefix('font-style-setter') return ( , value: 'normal', }, { label: , value: 'italic', }, ]} component={[Radio.Group, { optionType: 'button' }]} /> , value: 'left', }, { label: , value: 'center', }, { label: , value: 'right', }, { label: , value: 'justify', }, ]} component={[Radio.Group, { optionType: 'button' }]} /> , value: 'underline', }, { label: , value: 'line-through', }, ]} component={[Radio.Group, { optionType: 'button' }]} /> ) } )