1.0.9 • Published 8 months ago

@josephine-dujardin/hrnet_modal v1.0.9

Weekly downloads
-
License
ISC
Repository
github
Last release
8 months ago

Modal Component for HRnet Application

Description

The modal dialog created with React component, to confirm when new employee records are created.

Prerequisites:

Installation

  • Install the package: $ npm i @josephine-dujardin/hrnet_modal

Usage

This component is designed for use within a React application (it comes from the HRnet application). You can use it in your own application and add functions and styling for further customization.

Components

Modal

A component that represents a simple modal window.

import React from 'react';

/**
 * A modal component for creating an employee profile.
 *
 * @param {Object} props - The component's props.
 * @param {boolean} props.isOpen - Indicates whether the modal is open or closed.
 * @param {function} props.openClose - A callback function to toggle the modal's open/close state.
 * @param {string} props.content - The content to display within the modal.
 *
 * @returns {JSX.Element} - The rendered modal component.
 */
function Modal({ isOpen, openClose, content }) {

    /**
     * Opens the modal.
     *
     * @function
     * @returns {void}
     */
    const toggleModal = () => {
        openClose();
    };

    return (
        React.createElement('div', { className: 'modal-container' },
            isOpen && (
                React.createElement('div', { className: 'modal' },
                    React.createElement('div', { className: 'modal-content' },
                        React.createElement('span', { className: 'close', onClick: toggleModal }, '\u00D7'), // \u00D7' represents the '×' character
                        React.createElement('p', { className: 'modal-text' }, content)
                    )
                )
            )
        ));
}

export default Modal;

Usage

Import the Modal component on your project

import { Modal } from '@josephine-dujardin/hrnet_modal';

You can then use it within your project, as in the following example:

import React, { useState } from 'react';
import { Modal } from '@josephine-dujardin/hrnet_modal';

function Home() {
    const [openModal, setOpenModal] = useState(false);

    const handleModalClose = () => {
        setOpenModal(false);
    };

    return (
        <div className="container">
            <h2 className="home-title">Create Employee</h2>
            <form action="#" id="create-employee">
                <label htmlFor="first-name">First Name</label>
                <input
                    id="first-name"
                    type="text"
                />

                <label htmlFor="last-name">Last Name</label>
                <input
                    id="last-name"
                    type="text"
                />

                <button
                    className="modal-btn"
                    type="button"
                    onClick={() => setOpenModal(true)}
                >
                    Save
                </button>
            </form>

            {/* Modal component */}
            <Modal
                isOpen={openModal}
                openClose={handleModalClose}
                content={"Employee created"}
            />
        </div>
    );
}

export default Home;
1.0.2

8 months ago

1.0.1

8 months ago

1.0.9

8 months ago

1.0.8

8 months ago

1.0.7

8 months ago

1.0.6

8 months ago

1.0.5

8 months ago

1.0.4

8 months ago

1.0.3

8 months ago

1.0.0

11 months ago