View on Storybook
View source on GitHub
Import
import { __experimentalConfirmDialog as ConfirmDialog } from '@wordpress/components';
Examples
Default
const Default = () => {
const [ isOpen, setIsOpen ] = useState( false );
const handleConfirm: typeof onConfirm = ( confirmArgs ) => {
onConfirm( confirmArgs );
setIsOpen( false );
};
const handleCancel: typeof onCancel = ( cancelArgs ) => {
onCancel?.( cancelArgs );
setIsOpen( false );
};
return (
<>
<Button
__next40pxDefaultSize
variant="primary"
onClick={ () => setIsOpen( true ) }>Open ConfirmDialog
</Button>
<ConfirmDialog isOpen={ isOpen } onConfirm={ handleConfirm } onCancel={ handleCancel }>
Would you like to privately publish the post now?
</ConfirmDialog>
</>
);
};
With Custom Button Labels
const WithCustomButtonLabels = () => {
const [ isOpen, setIsOpen ] = useState( false );
const handleConfirm: typeof onConfirm = ( confirmArgs ) => {
onConfirm( confirmArgs );
setIsOpen( false );
};
const handleCancel: typeof onCancel = ( cancelArgs ) => {
onCancel?.( cancelArgs );
setIsOpen( false );
};
return (
<>
<Button
__next40pxDefaultSize
variant="primary"
onClick={ () => setIsOpen( true ) }>Open ConfirmDialog
</Button>
<ConfirmDialog
cancelButtonText="No thanks"
confirmButtonText="Yes please!"
isOpen={ isOpen }
onConfirm={ handleConfirm }
onCancel={ handleCancel }>
{ args.children }
</ConfirmDialog>
</>
);
};