import { useDebouncedCallback } from '@react-hookz/web'; import { useState } from 'react'; import { FiRotateCw } from 'react-icons/fi'; import Btn from './Btn'; import styles from './CellWidthInput.module.css'; const ID = 'h5w-cell-width'; const MIN = 50; interface Props { value: number | undefined; defaultValue: number; onChange: (val: number | undefined) => void; } function CellWidthInput(props: Props) { const { value, defaultValue: rawDefaultValue, onChange } = props; const hasValue = value !== undefined; const defaultValue = Math.max(rawDefaultValue, MIN); const [inputValue, setInputValue] = useState( (value ?? defaultValue).toString() ); const onChangeDebounced = useDebouncedCallback(onChange, [onChange], 150); return (