| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 | 
							- import { Dialog, DialogPanel, Transition, TransitionChild } from '@headlessui/react'
 
- import { RiCloseLargeLine } from '@remixicon/react'
 
- import classNames from '@/utils/classnames'
 
- type IModal = {
 
-   className?: string
 
-   wrapperClassName?: string
 
-   open: boolean
 
-   onClose?: () => void
 
-   title?: React.ReactNode
 
-   description?: React.ReactNode
 
-   children?: React.ReactNode
 
-   closable?: boolean
 
-   overflowVisible?: boolean
 
- }
 
- export default function FullScreenModal({
 
-   className,
 
-   wrapperClassName,
 
-   open,
 
-   onClose = () => { },
 
-   children,
 
-   closable = false,
 
-   overflowVisible = false,
 
- }: IModal) {
 
-   return (
 
-     <Transition show={open} appear>
 
-       <Dialog as="div" className={classNames('modal-dialog', wrapperClassName)} onClose={onClose}>
 
-         <TransitionChild>
 
-           <div className={classNames(
 
-             'fixed inset-0 bg-background-overlay-backdrop backdrop-blur-[6px]',
 
-             'duration-300 ease-in data-[closed]:opacity-0',
 
-             'data-[enter]:opacity-100',
 
-             'data-[leave]:opacity-0',
 
-           )} />
 
-         </TransitionChild>
 
-         <div
 
-           className="fixed inset-0 h-screen w-screen p-4"
 
-           onClick={(e) => {
 
-             e.preventDefault()
 
-             e.stopPropagation()
 
-           }}
 
-         >
 
-           <div className="relative h-full w-full rounded-2xl border border-effects-highlight bg-background-default-subtle">
 
-             <TransitionChild>
 
-               <DialogPanel className={classNames(
 
-                 'h-full',
 
-                 overflowVisible ? 'overflow-visible' : 'overflow-hidden',
 
-                 'duration-100 ease-in data-[closed]:opacity-0 data-[closed]:scale-95',
 
-                 'data-[enter]:opacity-100 data-[enter]:scale-100',
 
-                 'data-[leave]:opacity-0 data-[enter]:scale-95',
 
-                 className,
 
-               )}>
 
-                 {closable
 
-                   && <div
 
-                     className='absolute right-3 top-3 z-50 flex h-9 w-9 cursor-pointer items-center justify-center
 
-                   rounded-[10px] bg-components-button-tertiary-bg hover:bg-components-button-tertiary-bg-hover'
 
-                     onClick={(e) => {
 
-                       e.stopPropagation()
 
-                       onClose()
 
-                     }}>
 
-                     <RiCloseLargeLine className='h-3.5 w-3.5 text-components-button-tertiary-text' />
 
-                   </div>}
 
-                 {children}
 
-               </DialogPanel>
 
-             </TransitionChild>
 
-           </div>
 
-         </div>
 
-       </Dialog>
 
-     </Transition>
 
-   )
 
- }
 
 
  |