@lightspeed/cirrus-modal

7.0.4 • Public • Published

Modal

Cirrus component for displaying Modals.

Installation

First, make sure you have been through the Getting Started steps of adding Cirrus in your application.

If using Yarn:

yarn add @lightspeed/cirrus-modal

Or using npm:

npm i -S @lightspeed/cirrus-modal

Usage

Import required styles in your .scss:

@import '@lightspeed/cirrus-modal/scss';

React Component

<Modal>

Prop Type Description Default
isOpen boolean Used to show the modal N/A
onAfterOpen function Callback invoked after the modal is shown null
onRequestClose function Callback invoked when the modal is closed null
closeOnEsc boolean Determines whether the user can use the ESC key to dismiss the modal. true
shouldCloseOnOverlayClick boolean Determines whether the user can dismiss the modal by clicking on the overlay. true
aside boolean When specified indicates that the modal should be displayed as an aside. false

<ModalHeader>

Prop Type Description Default
children React.ReactNode The content to display inside the header N/A
onCloseClicked function Callback invoked when the close button is clicked null
showCloseButton boolean When specified indicates that a close button should be displayed. true

<ModalBody>

Prop Type Description Default
children React.ReactNode The content to display inside the modal body N/A
scroll boolean When specified indicates tha the modal body content is scrollable. false

<ModalFooter>

Prop Type Description Default
children React.ReactNode The content to display inside the modal footer N/A

Example

import React from 'react';
import Modal, { ModalHeader, ModalBody, ModalFooter } from '@lightspeed/cirrus-modal';
import Button from '@lightspeed/cirrus-button';

class MyModal extends React.Component {
  constructor(props) {
    super(props);

    this.state = {
      isOpen: false,
    };

    this.closeModal = this.closeModal.bind(this);
  }

  closeModal() {
    this.setState({ isOpen: false });
  }

  render() {
    return (
      <div>
        <Modal
          isOpen={this.state.isOpen}
          onRequestClose={this.closeModal}
        >
          <ModalHeader onCloseClicked={this.closeModal}>My Modal</ModalHeader>

          <ModalBody>This is my modal. There are many modals like it but this one is mine.</ModalBody>

          <ModalFooter>
            <Button primary onClick={doSomething}>
              Fly, little Modal, FLY!
            </Button>
          </ModalFooter>
        </Modal>
      </div>;
    );
  }
}

export default MyModal;

CSS Component

Not available.


Readme

Keywords

none

Package Sidebar

Install

npm i @lightspeed/cirrus-modal

Weekly Downloads

38

Version

7.0.4

License

MIT

Unpacked Size

24.2 kB

Total Files

10

Last publish

Collaborators

  • kurt.bergeron
  • lightspeedhq
  • ls-guillaume-lambert
  • ls-frederic-bouchard
  • anomen