JSPM

  • Created
  • Published
  • Downloads 11339
  • Score
    100M100P100Q147478F
  • License BSD-3-Clause

Implements a behavior used for material design dialogs

Package Exports

  • @polymer/paper-dialog-behavior/paper-dialog-behavior
  • @polymer/paper-dialog-behavior/paper-dialog-behavior.js
  • @polymer/paper-dialog-behavior/paper-dialog-shared-styles
  • @polymer/paper-dialog-behavior/paper-dialog-shared-styles.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@polymer/paper-dialog-behavior) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

Published on NPM Build status Published on webcomponents.org

PaperDialogBehavior

Use PaperDialogBehavior and paper-dialog-shared-styles.js to implement a Material Design dialog.

For example, if <paper-dialog-impl> implements this behavior:

<paper-dialog-impl>
  <h2>Header</h2>
  <div>Dialog body</div>
  <div class="paper-dialog-buttons">
    <paper-button dialog-dismiss>Cancel</paper-button>
    <paper-button dialog-confirm>Accept</paper-button>
  </div>
</paper-dialog-impl>

paper-dialog-shared-styles.js provide styles for a header, content area, and an action area for buttons. Use the <h2> tag for the header and the paper-dialog-buttons or buttons class for the action area. You can use the paper-dialog-scrollable element (in its own repository) if you need a scrolling content area.

Use the dialog-dismiss and dialog-confirm attributes on interactive controls to close the dialog. If the user dismisses the dialog with dialog-confirm, the closingReason will update to include confirmed: true.

Accessibility

This element has role="dialog" by default. Depending on the context, it may be more appropriate to override this attribute with role="alertdialog".

If modal is set, the element will prevent the focus from exiting the element. It will also ensure that focus remains in the dialog.

See: Documentation, Demo.

Usage

Installation

npm install --save @polymer/paper-dialog-behavior

In a Polymer 3 element

import {PolymerElement, html} from '@polymer/polymer';
import {mixinBehaviors} from '@polymer/polymer/lib/legacy/class.js';
import {PaperDialogBehavior} from '@polymer/paper-dialog-behavior/paper-dialog-behavior.js';

class SampleElement extends mixinBehaviors(PaperDialogBehavior, PolymerElement) {
  static get template() {
    return html`
      <style include="paper-dialog-shared-styles"></style>
      <slot></slot>
    `;
  }
}
customElements.define('sample-element', SampleElement);

Contributing

If you want to send a PR to this element, here are the instructions for running the tests and demo locally:

Installation

git clone https://github.com/PolymerElements/paper-dialog-behavior
cd paper-dialog-behavior
npm install
npm install -g polymer-cli

Running the demo locally

polymer serve --npm
open http://127.0.0.1:<port>/demo/

Running the tests

polymer test --npm