aboutsummaryrefslogtreecommitdiff
path: root/catapult/third_party/polymer/components/paper-dialog/paper-dialog.html
diff options
context:
space:
mode:
Diffstat (limited to 'catapult/third_party/polymer/components/paper-dialog/paper-dialog.html')
-rw-r--r--catapult/third_party/polymer/components/paper-dialog/paper-dialog.html117
1 files changed, 117 insertions, 0 deletions
diff --git a/catapult/third_party/polymer/components/paper-dialog/paper-dialog.html b/catapult/third_party/polymer/components/paper-dialog/paper-dialog.html
new file mode 100644
index 00000000..512ca048
--- /dev/null
+++ b/catapult/third_party/polymer/components/paper-dialog/paper-dialog.html
@@ -0,0 +1,117 @@
+<!--
+@license
+Copyright (c) 2015 The Polymer Project Authors. All rights reserved.
+This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
+The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
+The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
+Code distributed by Google as part of the polymer project is also
+subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
+-->
+
+<link rel="import" href="../polymer/polymer.html">
+<link rel="import" href="../neon-animation/neon-animation-runner-behavior.html">
+<link rel="import" href="../paper-dialog-behavior/paper-dialog-behavior.html">
+<link rel="import" href="../paper-dialog-behavior/paper-dialog-shared-styles.html">
+<!--
+Material design: [Dialogs](https://www.google.com/design/spec/components/dialogs.html)
+
+`<paper-dialog>` is a dialog with Material Design styling and optional animations when it is
+opened or closed. It provides styles for a header, content area, and an action area for buttons.
+You can use the `<paper-dialog-scrollable>` element (in its own repository) if you need a scrolling
+content area. To autofocus a specific child element after opening the dialog, give it the `autofocus`
+attribute. See `Polymer.PaperDialogBehavior` and `Polymer.IronOverlayBehavior` for specifics.
+
+For example, the following code implements a dialog with a header, scrolling content area and
+buttons. Focus will be given to the `dialog-confirm` button when the dialog is opened.
+
+ <paper-dialog>
+ <h2>Header</h2>
+ <paper-dialog-scrollable>
+ Lorem ipsum...
+ </paper-dialog-scrollable>
+ <div class="buttons">
+ <paper-button dialog-dismiss>Cancel</paper-button>
+ <paper-button dialog-confirm autofocus>Accept</paper-button>
+ </div>
+ </paper-dialog>
+
+### Styling
+
+See the docs for `Polymer.PaperDialogBehavior` for the custom properties available for styling
+this element.
+
+### Animations
+
+Set the `entry-animation` and/or `exit-animation` attributes to add an animation when the dialog
+is opened or closed. See the documentation in
+[PolymerElements/neon-animation](https://github.com/PolymerElements/neon-animation) for more info.
+
+For example:
+
+ <link rel="import" href="components/neon-animation/animations/scale-up-animation.html">
+ <link rel="import" href="components/neon-animation/animations/fade-out-animation.html">
+
+ <paper-dialog entry-animation="scale-up-animation"
+ exit-animation="fade-out-animation">
+ <h2>Header</h2>
+ <div>Dialog body</div>
+ </paper-dialog>
+
+### Accessibility
+
+See the docs for `Polymer.PaperDialogBehavior` for accessibility features implemented by this
+element.
+
+@group Paper Elements
+@element paper-dialog
+@hero hero.svg
+@demo demo/index.html
+-->
+
+<dom-module id="paper-dialog">
+ <template>
+ <style include="paper-dialog-shared-styles"></style>
+ <content></content>
+ </template>
+</dom-module>
+
+<script>
+
+(function() {
+
+ Polymer({
+
+ is: 'paper-dialog',
+
+ behaviors: [
+ Polymer.PaperDialogBehavior,
+ Polymer.NeonAnimationRunnerBehavior
+ ],
+
+ listeners: {
+ 'neon-animation-finish': '_onNeonAnimationFinish'
+ },
+
+ _renderOpened: function() {
+ this.cancelAnimation();
+ this.playAnimation('entry');
+ },
+
+ _renderClosed: function() {
+ this.cancelAnimation();
+ this.playAnimation('exit');
+ },
+
+ _onNeonAnimationFinish: function() {
+ if (this.opened) {
+ this._finishRenderOpened();
+ } else {
+ this._finishRenderClosed();
+ }
+ }
+
+ });
+
+})();
+
+</script>