/**
* WordPress dependencies
*/
import { __ } from '@wordpress/i18n';
import { useRef, useState } from '@wordpress/element';
import { Button, __experimentalConfirmDialog as ConfirmDialog } from '@wordpress/components';
import { Stack } from '@wordpress/ui';
type ControlsProps = {
isWaiting: boolean;
onUpdateOptions: () => void;
onResetOptions: () => void | Promise< void >;
};
export default function Controls( { isWaiting, onUpdateOptions, onResetOptions }: ControlsProps ) {
const [ isModalOpen, setIsModalOpen ] = useState( false );
const resetButtonRef = useRef< HTMLButtonElement >( null );
return (
<>
{ isModalOpen && (
{
setIsModalOpen( false );
await onResetOptions();
resetButtonRef.current?.focus();
} }
onCancel={ () => setIsModalOpen( false ) }
confirmButtonText={ __( 'Reset settings', 'custom-html-block-extension' ) }
>
{ __(
'Are you sure that reset all settings to default values ?',
'custom-html-block-extension'
) }
) }
>
);
}