1.0.0 • Published 1 year ago

best-react-modal v1.0.0

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

Modal React

A customizable modal component built with React and TypeScript. The component uses CSS Modules for styling.

Manual Setup

1- Add the Modal Component Files

  • Modal.tsx
  • Modal.module.css
  • App.tsx (Example usage)
  • App.css (Optional, for styling the example)

2- Ensure your project supports CSS Modules. This can typically be done by configuring your build tool (e.g., Webpack or Create React App).

Demo

Live Demo

modal-react

Installation

To use the Modal component, you need to have a React environment set up. You can then add the Modal component files to your project.

The package can be installed via npm:

npm install modal-react

Usage

React Component:

import React, { useState } from 'react';
import Modal from 'Modal-react';

const App: React.FC = () => {
    const [isModalOpen, setIsModalOpen] = useState(false);

    const openModal = () => {
        setIsModalOpen(true);
    };

    const closeModal = () => {
        setIsModalOpen(false);
    };

    return (
        <div className="App">
            <h1>My App</h1>
            <button onClick={openModal}>Open Modal</button>
            <Modal
                isOpen={isModalOpen}
                title="My Modal"
                onClose={closeModal}
                footer={<button onClick={closeModal}>Close</button>}
            >
                <p>This is the modal content.</p>
            </Modal>
        </div>
    );
};

export default App;

Props

Here are the props that can be passed to the <Modal /> component:

NameTypeRequiredDescription
isOpenbooleanTrueDetermines whether the modal is visible or not.
titlestringFalseThe title of the modal, displayed in the header.
childrenReactNodeFalseThe content to display inside the modal.
onClose() => voidFalseFunction to call when the modal is requested to be closed.
footerReactNodeFalse(optional): The content to display in the modal footer.

Authors

Contributing

If you want to contribute to this project and make it better, your help is very welcome. Create an issue or submit a pull request.