| 
                        12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 | 
                        - import { Dialog, Transition } from '@headlessui/react'
 - import { Fragment } from 'react'
 - import { useTranslation } from 'react-i18next'
 - import ConfirmUI from '../confirm-ui'
 - 
 - // https://headlessui.com/react/dialog
 - 
 - type IConfirm = {
 -   className?: string
 -   isShow: boolean
 -   onClose: () => void
 -   type?: 'info' | 'warning'
 -   title: string
 -   content: string
 -   confirmText?: string
 -   onConfirm: () => void
 -   cancelText?: string
 -   onCancel: () => void
 - }
 - 
 - export default function Confirm({
 -   isShow,
 -   onClose,
 -   type = 'warning',
 -   title,
 -   content,
 -   confirmText,
 -   cancelText,
 -   onConfirm,
 -   onCancel,
 - }: IConfirm) {
 -   const { t } = useTranslation()
 -   const confirmTxt = confirmText || `${t('common.operation.confirm')}`
 -   const cancelTxt = cancelText || `${t('common.operation.cancel')}`
 -   return (
 -     <Transition appear show={isShow} as={Fragment}>
 -       <Dialog as="div" className="relative z-[100]" onClose={onClose} onClick={e => e.preventDefault()}>
 -         <Transition.Child
 -           as={Fragment}
 -           enter="ease-out duration-300"
 -           enterFrom="opacity-0"
 -           enterTo="opacity-100"
 -           leave="ease-in duration-200"
 -           leaveFrom="opacity-100"
 -           leaveTo="opacity-0"
 -         >
 -           <div className="fixed inset-0 bg-black bg-opacity-25" />
 -         </Transition.Child>
 - 
 -         <div className="fixed inset-0 overflow-y-auto">
 -           <div className="flex items-center justify-center min-h-full p-4 text-center">
 -             <Transition.Child
 -               as={Fragment}
 -               enter="ease-out duration-300"
 -               enterFrom="opacity-0 scale-95"
 -               enterTo="opacity-100 scale-100"
 -               leave="ease-in duration-200"
 -               leaveFrom="opacity-100 scale-100"
 -               leaveTo="opacity-0 scale-95"
 -             >
 -               <Dialog.Panel className={'w-full max-w-md transform overflow-hidden rounded-2xl bg-white text-left align-middle shadow-xl transition-all'}>
 -                 <ConfirmUI
 -                   type={type}
 -                   title={title}
 -                   content={content}
 -                   confirmText={confirmTxt}
 -                   cancelText={cancelTxt}
 -                   onConfirm={onConfirm}
 -                   onCancel={onCancel}
 -                 />
 -               </Dialog.Panel>
 -             </Transition.Child>
 - 
 -           </div>
 -         </div>
 -       </Dialog>
 -     </Transition>
 -   )
 - }
 
 
  |