react-toolbox/components/dialog
Vitaliy Filippov ba3993c811 Fix table styles, pass `style` to top-level element in inputs 2019-05-07 16:50:56 +03:00
..
Dialog.d.ts Restructure typescript definitions (#1114) 2017-01-18 08:37:37 +01:00
Dialog.js Fix table styles, pass `style` to top-level element in inputs 2019-05-07 16:50:56 +03:00
config.css Remove max-height from dialog along with hidden overflow 2017-08-08 18:52:52 +02:00
index.d.ts Restructure typescript definitions (#1114) 2017-01-18 08:37:37 +01:00
index.js Update dependencies and linter (#1180) 2017-01-26 18:05:32 +01:00
readme.md Fixes #1055 2017-01-05 10:57:25 +01:00
theme.css Remove max-height from dialog along with hidden overflow 2017-08-08 18:52:52 +02:00

readme.md

Dialog

Dialogs contain text and UI controls focused on a specific task. They inform users about critical information, require users to make decisions, or involve multiple tasks. You would need an additional component to take actions and display or hide the dialog.

import Dialog from 'react-toolbox/lib/dialog';

class DialogTest extends React.Component {
  state = {
    active: false
  };

  handleToggle = () => {
    this.setState({active: !this.state.active});
  }

  actions = [
    { label: "Cancel", onClick: this.handleToggle },
    { label: "Save", onClick: this.handleToggle }
  ];

  render () {
    return (
      <div>
        <Button label='Show my dialog' onClick={this.handleToggle} />
        <Dialog
          actions={this.actions}
          active={this.state.active}
          onEscKeyDown={this.handleToggle}
          onOverlayClick={this.handleToggle}
          title='My awesome dialog'
        >
          <p>Here you can add arbitrary content. Components like Pickers are using dialogs now.</p>
        </Dialog>
      </div>
    );
  }
}

If you want to provide a theme via context, the component key is RTDialog.

Properties

Name Type Default Description
actions Array [] A array of objects representing the buttons for the dialog navigation area. The properties will be transferred to the buttons.
active Boolean false If true, the dialog will be active.
className String '' Sets a class to give customized styles to the dialog.
onEscKeyDown Function Callback called when the ESC key is pressed with the overlay active.
onOverlayClick Function Callback to be invoked when the dialog overlay is clicked.
onOverlayMouseDown Function Callback called when the mouse button is pressed on the overlay.
onOverlayMouseMove Function Callback called when the mouse is moving over the overlay.
onOverlayMouseUp Function Callback called when the mouse button is released over the overlay.
title String The text string to use as standar title of the dialog.
type String normal Used to determine the size of the dialog. It can be small, normal, large or fullscreen.

Notice that the fullscreen option only applies on mobile devices with small screens (i.e. cellphones), and on other devices it behaves as a large dialog.

Theme

The Dialog uses an Overlay under the covers. You can pass the overlay theme under the namespace overlay. For example, if you want to style the root element which is called .overlay you must use the className .overlayOverlay.

Name Description
active Used for the root when the dialog is active.
body Used to wrap the dialog body.
button Used in buttons when the dialog implements actions.
dialog Used for the root element.
navigation Used for the navigation element when it implements actions.
overlay Used for the root element of the Overlay component.
title Used for the title element of the dialog.
wrapper A wrapper class for the top of the root.