%PDF- %PDF-
Direktori : /home/dopla/www/wp-content/plugins/ml-slider/extendify-sdk/src/components/modals/ |
Current File : /home/dopla/www/wp-content/plugins/ml-slider/extendify-sdk/src/components/modals/Modal.js |
import { Dialog, Transition } from '@headlessui/react' import { Fragment, useRef, forwardRef } from '@wordpress/element' import { __ } from '@wordpress/i18n' import { Icon, close } from '@wordpress/icons' import { Button } from '@wordpress/components' const CloseButton = (props) => { return ( <Button {...props} icon={<Icon icon={close} />} className="text-extendify-black opacity-75 hover:opacity-100" showTooltip={false} label={__('Close dialog', 'extendify-sdk')} /> ) } export const Modal = forwardRef( ({ isOpen, heading, onRequestClose, children }, initialFocus) => { const focusBackup = useRef(null) return ( <Transition.Root appear show={isOpen} as={Fragment}> <Dialog as="div" static open={isOpen} initialFocus={initialFocus ?? focusBackup} className="extendify-sdk" onClose={onRequestClose}> <div className="fixed z-high inset-0 flex"> <Transition.Child as={Fragment} enter="ease-out duration-50 transition" enterFrom="opacity-0" enterTo="opacity-100"> <Dialog.Overlay className="fixed inset-0 bg-black bg-opacity-40 transition-opacity" /> </Transition.Child> <Transition.Child as={Fragment} enter="ease-out duration-300 translate transform" enterFrom="opacity-0 translate-y-4 sm:translate-y-5" enterTo="opacity-100 translate-y-0"> <div className="m-auto relative w-full"> <div className="bg-white shadow-modal items-center justify-center m-auto max-w-lg relative rounded-sm w-full"> {heading ? ( <div className="border-b flex justify-between items-center leading-none pl-6 py-2 pr-3"> <span className="text-base text-extendify-black whitespace-nowrap"> {heading} </span> <CloseButton onClick={onRequestClose} /> </div> ) : ( <div className="absolute block px-6 py-4 top-0 right-0 "> <CloseButton ref={focusBackup} onClick={onRequestClose} /> </div> )} <div>{children}</div> </div> </div> </Transition.Child> </div> </Dialog> </Transition.Root> ) }, )