import { useState, useEffect } from '@wordpress/element'; import { OptionPanelProps } from '@components/DesignPanel/types'; import MetricsControlUi from '@components/ui/MetricsControl'; import { getValueUnit, formatUnit } from '@components/DesignPanel/Helpers'; export const MetricsControl: React.FC = ({ activeOptionValue, modifierId, emitOptions, }) => { const [currentUnit, setCurrentUnit] = useState('arbitrary'); useEffect(() => { const { foundUnit } = getValueUnit(activeOptionValue); setCurrentUnit(foundUnit); }, [activeOptionValue]); return ( { setCurrentUnit(value); }} onValueChange={(value) => { emitOptions([ { id: modifierId, value: formatUnit(value, currentUnit, 'px'), }, ]); }} /> ); }; export default MetricsControl;