1.0.7 • Published 7 months ago

custom-react-modal-by-you v1.0.7

Weekly downloads
-
License
ISC
Repository
-
Last release
7 months ago

custom-react-modal-by-you

A simple, lightweight, and customizable React modal component, perfect for displaying modals, dialogs, or overlays with ease.

Features

  • 🛠 Fully Customizable: Easily pass title, content, and actions.
  • Lightweight: Minimal dependency footprint.
  • 🎯 Accessible: Comes with proper aria attributes.
  • 🎨 Easy Styling: Supports custom styles via CSS.
  • 📦 Plug-and-Play: Straightforward installation and usage.

Installation

Install the package via npm:

npm install custom-react-modal-by-you

Usage

Here’s how to use the modal in your project:

Basic Example

import React, { useState } from "react";
import Modal from "custom-react-modal-by-you";
import "./Modal.css"; // Ensure you import the default styles or write your own

const App = () => {
  const [isModalOpen, setIsModalOpen] = useState(false);

  const openModal = () => setIsModalOpen(true);
  const closeModal = () => setIsModalOpen(false);

  return (
    <div>
      <button onClick={openModal}>Open Modal</button>

      <Modal isOpen={isModalOpen} onClose={closeModal} title="My Custom Modal">
        <p>This is a customizable modal body!</p>
        <button onClick={closeModal}>Close</button>
      </Modal>
    </div>
  );
};

export default App;

Props

PropTypeDefaultDescription
isOpenboolfalseControls the visibility of the modal. Required.
onClosefunc() => {}Function to close the modal. Required.
titlestring"Modal Title"Sets the modal's title.
childrenReact.nodenullModal content/body.

Styling

This component comes with a basic Modal.css file for default styling. Customize it or override it with your own styles.

Default CSS Classes

Class NameDescription
modal-overlayThe modal's overlay background.
modalThe container for modal content.
modal-headerHeader section of the modal.
modal-titleTitle of the modal.
modal-closeClose button for the modal.
modal-bodyBody/content area of the modal.

Accessibility

  • The close button includes an aria-label="Close modal" attribute for screen readers.
  • Modal overlay supports closing the modal on clicking outside the content area.

License

This project is licensed under the MIT License.


Author

Created by Younes.


Contributing

Feel free to fork the repository and submit pull requests. Suggestions, issues, and improvements are always welcome!

1.0.7

7 months ago

1.0.2

8 months ago

1.0.1

8 months ago

1.0.6

7 months ago

1.0.5

8 months ago

1.0.4

8 months ago

1.0.3

8 months ago

1.0.0

8 months ago