1.2.4 • Published 1 year ago

react-modal-assmam v1.2.4

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

React Modal

A simple and customizable modal component.

Overview

This React Modal component provides a flexible and reusable solution for displaying modals in React applications. It is designed to be lightweight, customizable, and easy to integrate.

Objectives :

The primary goal of this component is to offer a consistent user interface for displaying modal windows while allowing developers to easily customize its appearance and behavior.

Component Architecture

Folder Structure:

react-modal-assmam/
├── src/
│   ├── Modal.jsx  # Main Modal component
│   ├── Modal.css  # Modal component stylesheet
│   └── index.js  # Module entry point
├── dist/  # Compiled files for distribution
├── package.json  # Package metadata and dependencies
├── .babelrc  # Babel configuration for transpilation
├── .gitignore  # Files and folders to be ignored by Git
├── package-lock.json  # Dependency lock file
├── node_modules/  # Installed dependencies

Modal Component

Component Description:

  • Modal.jsx : This file contains the main Modal component, which manages the conditional display of the modal window.

  • Modal.css : This file contains the styles associated with the Modal component to ensure consistent presentation.

Code Explanation:

The Modal component uses a div with the CSS class "modal-overlay," which handles the appearance of the overlay, to create a semi-transparent overlay that covers the screen when the modal is open. The closing of the modal is managed by an "onClose" function passed as a prop.

Component Usage

Installation and Setup:

To install the component in a project, run the following command:

npm install react-modal-assmam

Importing and Using the Component:

To import the component into a project, add this line to your parent file:

import Modal from 'react-modal-assmam';

Component API:

  • isOpen (bool) : Determines if the modal is visible or not.
  • onClose (func) : Function called to close the modal.
  • children (node) : Content to display inside the modal.

Example Usage:

1- Here’s how to use the component in a real application:

// App.js
import React, { useState } from 'react';
import Modal from 'react-modal-assmam';

function App() {
  const [isOpen, setIsOpen] = useState(false);

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

  return (
    <div>
      <button onClick={openModal}>Open Modal</button>
      <Modal isOpen={isOpen} onClose={closeModal}>
        <h1>Modal Title</h1>
        <p>This is modal content.</p>
      </Modal>
    </div>
  );
}

export default App;

2- Here’s how to customize the component:

/* CustomModal.css */
.modal-overlay {
  background-color: rgba(0, 0, 0, 0.8);
  border: none;
}

.modal-content {
  background-color: #fff;
  border-radius: 10px;
  padding: 20px;
}

.modal-btn {
  background-color: #007bff;
  color: #fff;
  border: none;
  padding: 10px 20px;
  border-radius: 5px;
}

3- Then, import the custom CSS file into your component:

import './CustomModal.css'; // Importez votre CSS personnalisé

Design Rationale

Technology Choices:

React was chosen for its ability to create modular and responsive user interfaces. Babel is used to ensure compatibility with older browsers.

Design Patterns:

The component follows the Controlled Component design pattern to allow users to fully control its state from a parent component.

Flexibility and Customization:

Styles can be customized by modifying the modal-overlay and modal-content CSS classes, allowing developers to tailor the appearance of the modal to their needs.

1.2.4

1 year ago

1.2.3

1 year ago

1.2.2

1 year ago

1.2.1

1 year ago

1.2.0

1 year ago

1.1.0

1 year ago

1.0.1

1 year ago

1.0.0

1 year ago