0.2.0 • Published 2 years ago
@esseb92/react-modal v0.2.0
React Modal Component
A reusable React modal component with customizable styles.
Table of Contents
Installation
To use this component in your React project, you can install it via npm or yarn:
npm install @esseb92/react-modal
# or
yarn add @esseb92/react-modalUsage
Import the Modal component into your React application:
import Modal from "@esseb92/react-modal";
import "@esseb92/react-modal/Modal.css";Then, you can use the Modal component in your application:
<Modal
closeModal: setOpenModal,
maxWidth: "500px"
// Other props for customization
/>Props
The Modal component accepts the following props:
Global Part
closeModal: A function to close the modal.maxWidth: Maximum width of the modal.closingBtn: A URL for a closing button image.borderRadius: Border radius of the modal.padding: Padding of the modal.margin: Margin of the modal.fontFamily: Font family for the modal.
Header Part
modalHeader: Header text for the modal.colorHeader: Text color for the header.bgColorHeader: Background color for the header.textAlignHeader: Text alignment for the header.fontSizeHeader: Font size for the header.paddingHeader: Padding for the header.marginHeader: Margin for the header.
Body Part
modalBody: Content for the modal body.colorBody: Text color for the body.bgColorBody: Background color for the body.textAlignBody: Text alignment for the body.fontSizeBody: Font size for the body.paddingBody: Padding for the body.marginBody: Margin for the body.
Footer Part
modalFooter: Content for the modal footer.colorFooter: Text color for the footer.bgColorFooter: Background color for the footer.textAlignFooter: Text alignment for the footer.fontSizeFooter: Font size for the footer.
Examples
Here's an example of how to use the Modal component:
import Modal from "@esseb92/react-modal";
import "@esseb92/react-modal/Modal.css";const [openModal, setOpenModal] = useState(false);
const contentBody = (
<p>
Thanks for clicking. That felt good. <br />
Click <a
href="#"
onClick={() => {
setOpenModal(false);
}}
className="clickable"
>
close
</a>, click the overlay, or press ESC
</p>
);{openModal && (
<Modal
// Global Part
closeModal: setOpenModal,
maxWidth: "500px",
closingBtn: XMarkIcon,
borderRadius: "8px",
padding: "15px 30px",
fontFamily: '"Lato", "Helvetica Neue", arial, sans-serif',
// Body Part
modalBody: contentBody,
colorBody: "#5e6c76",
bgColorBody: "white",
textAlignBody: "left",
fontSizeBody: "18px",
paddingBody: "0",
/>
)
}