### Examples
**More examples** are available on NorthStar Storybook.
#### Delete with Friction - Default
Help prevent accidental, high-severity deletions by adding friction during the deletion process. Always use the delete with friction pattern when deleting multiple resources or when deleting a resource removes other resources.
```jsx
import React, { useState, useCallback } from 'react';
import DeleteConfirmationDialog from 'aws-northstar/advanced/DeleteConfirmationDialog';
import Button from 'aws-northstar/components/Button';
import Alert from 'aws-northstar/components/Alert';
const [deleteConfirmationDialogVisible, setDeleteConfirmationDialogVisiable] = useState(false);
const [isDeleteProcessing, setIsDeleteProcessing] = useState(false);
const handleDelete = useCallback(() => {
setIsDeleteProcessing(true);
setTimeout(() => {
setDeleteConfirmationDialogVisiable(false);
setIsDeleteProcessing(false);
}, 3000);
}, []);
<>
setDeleteConfirmationDialogVisiable(false)}
onDeleteClicked={handleDelete}
loading={isDeleteProcessing}
>
This will delete the sale order #001. All associated sales order history associated with this
order will be deleted.{' '}
>
```
#### Delete with Confirmation
Provide a layer of confirmation before deleting a resource.
```jsx
import React, { useState, useCallback } from 'react';
import DeleteConfirmationDialog from 'aws-northstar/advanced/DeleteConfirmationDialog';
import Button from 'aws-northstar/components/Button';
import Text from 'aws-northstar/components/Text';
const [deleteConfirmationDialogVisible, setDeleteConfirmationDialogVisiable] = useState(false);
const [isDeleteProcessing, setIsDeleteProcessing] = useState(false);
const handleDelete = useCallback(() => {
setIsDeleteProcessing(true);
setTimeout(() => {
setDeleteConfirmationDialogVisiable(false);
setIsDeleteProcessing(false);
}, 3000);
}, []);
<>
setDeleteConfirmationDialogVisiable(false)}
onDeleteClicked={handleDelete}
loading={isDeleteProcessing}
>
Delete sales order #001 permenantly? This action cannot be undone.
>
```