import React, { useRef } from 'react' import { useClickAway } from 'react-use' import NumberInput from '../shared/NumberInput' import SettingBlock from './SettingBlock' interface NumberInputSettingProps { title: string allowFloat?: boolean desc?: string value: string suffix?: string width?: number widthUnit?: string disable?: boolean onValue: (val: string) => void } function NumberInputSetting(props: NumberInputSettingProps) { const { title, allowFloat, desc, value, suffix, onValue, width, widthUnit, disable, } = props const ref = useRef(null) useClickAway(ref, () => { if (ref?.current) { const input = ref.current as HTMLInputElement input.blur() } }) return ( {suffix && {suffix}} } /> ) } NumberInputSetting.defaultProps = { allowFloat: false, width: 80, widthUnit: 'px', disable: false, } export default NumberInputSetting