import { useState, useCallback } from '@wordpress/element'; import SettingsBlock from './SettingsBlock'; import PaymentMethodItemBlock from './PaymentMethodItemBlock'; const PaymentMethodsBlock = ( { paymentMethods, className = '', onTriggerModal, } ) => { const [ selectedMethods, setSelectedMethods ] = useState( {} ); const handleSelect = useCallback( ( methodId, isSelected ) => { setSelectedMethods( ( prev ) => ( { ...prev, [ methodId ]: isSelected, } ) ); }, [] ); if ( ! paymentMethods?.length ) { return null; } return ( { paymentMethods.map( ( paymentMethod ) => ( handleSelect( paymentMethod.id, checked ) } onTriggerModal={ () => onTriggerModal?.( paymentMethod.id ) } /> ) ) } ); }; export default PaymentMethodsBlock;