import Dialog from '@mui/material/Dialog'
import DialogActions from '@mui/material/DialogActions'
import DialogContent from '@mui/material/DialogContent'
import IconButton from '@mui/material/IconButton'
import InputLabel from '@mui/material/InputLabel'
import React, { memo, useState } from 'react'
import { H4, P } from './typography'
import CloseIcon from '../styling/icons/action/close/zodiac.svg?react'
import { Button } from './buttons'
import { TextInput } from './inputs'
import ErrorMessage from './ErrorMessage'
import SvgIcon from '@mui/material/SvgIcon'
export const DialogTitle = ({ children, onClose }) => {
return (
{children}
{onClose && (
)}
)
}
export const ConfirmDialog = memo(
({
title = 'Confirm action',
errorMessage = 'This action requires confirmation',
open,
toBeConfirmed,
saveButtonAlwaysEnabled = false,
message,
confirmationMessage = `Write '${toBeConfirmed}' to confirm this action`,
onConfirmed,
onDismissed,
initialValue = '',
disabled = false,
...props
}) => {
const [value, setValue] = useState(initialValue)
const [error, setError] = useState(false)
const handleChange = event => setValue(event.target.value)
const innerOnClose = () => {
setValue('')
setError(false)
onDismissed()
}
const isOnErrorState =
(!saveButtonAlwaysEnabled && toBeConfirmed !== value) || value === ''
return (
)
},
)