1.0.7 • Published 10 months ago

@davy-dev/react-modal-plugin v1.0.7

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

React Modal Plugin

A reusable modal component for React apps, written in TypeScript. This plugin provides a simple interface to display custom modals with action buttons.

Installation

To install the plugin, use npm :

npm install @davy-dev/react-modal-plugin

or

yarn add @davy-dev/react-modal-plugin

Use

Import the Modal component into your React file :

import Modal from "react-modal-plugin";

Here is an example of using the modal component :

import { useState } from 'react';
import Modal from 'react-modal-plugin';

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

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

  return (
    <div>
      <button onClick={openModal}>Open the Modal</button>
      <Modal
        isOpen={isOpen}
        onClose={closeModal}
        title="Title of the Modal"
        showCancelButton={true}
        cancelButtonText="Cancel this action"
        cancelButtonClassName = "cancel-class-modal"
        okButtonText = "Yes, I'am sure."
        okButtonClassName = "ok-class-modal"
        onCancel={closeModal}
      >
        <p>Content of the modal</p>
      </Modal>
    </div>
  );
};

export default App;

Component Properties

PropertyTypeDefault ValueDescription
isOpenbooleanN/AControls the visibility of the modal. Required.
onClose() => voidN/AFunction to close the modal. Required.
titleReact.ReactNodeN/AThe title of the modal, can be a string or JSX. Required.
childrenReact.ReactNodeN/AContent of the modal. Optional.
classNamestring""Optional CSS classes for additional styling of the modal.
styleReact.CSSProperties{}Inline styles for the modal. Optional.
showCancelButtonbooleanfalseControls whether to display the "Cancel" button. Optional.
showOkButtonbooleantrueControls whether to display the "OK" button. Optional.
cancelButtonTextstring"Cancel"Text for the "Cancel" button. Optional.
okButtonTextstring"OK"Text for the "OK" button. Optional.
cancelButtonClassNamestring""Optional CSS classes for the "Cancel" button.
okButtonClassNamestring""Optional CSS classes for the "OK" button.
onCancel() => voidN/AFunction to execute when the "Cancel" button is clicked. Optional.
onOk() => voidonCloseFunction to execute when the "OK" button is clicked (defaults to onClose). Optional.

Examples of Use

  1. Modal with only a title and the OK button that closes the modal
<Modal
  isOpen={isOpen}
  onClose={closeModal}
  title="Title of the Modal"
>
</Modal>
  1. Modal with a custom title, content and the OK button that closes the modal
<Modal
  isOpen={isOpen}
  onClose={closeModal}
  title={<h2 style={{ color: "blue" }}>Custom Title with HTML</h2>}
>
  <p>Content of the modal</p>
</Modal>
  1. Modal with action buttons
<Modal
  isOpen={isOpen}
  onClose={closeModal}
  title="Confirmation"
  showCancelButton={true}
  cancelButtonClassName="my-cancel-button"
  onCancel={closeModal}
  showOkButton={() => {
    alert("Action confirmed!");
    closeModal();
  }}
>
  <p>Are you sure you want to continue ?</p>
</Modal>

Contribute

Plugin simply created for the needs of a personal project.

License

This plugin is free.

1.0.7

10 months ago

1.0.6

10 months ago

1.0.5

11 months ago

1.0.4

11 months ago

1.0.3

11 months ago

1.0.2

11 months ago

1.0.1

11 months ago

1.0.0

11 months ago