Blame view

bower_components/paper-button/paper-button.html 5.25 KB
73bcce88   luigser   COMPONENTS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
  <!--
  @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
  The complete set of authors may be found at http://polymer.github.io/AUTHORS
  The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS
  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
  -->
  
  <link rel="import" href="../polymer/polymer.html">
  <link rel="import" href="../paper-material/paper-material.html">
  <link rel="import" href="../paper-ripple/paper-ripple.html">
  <link rel="import" href="../paper-behaviors/paper-button-behavior.html">
e619a3b0   Luigi Serra   Controllet cross ...
15
  <link rel="import" href="../iron-flex-layout/iron-flex-layout.html">
73bcce88   luigser   COMPONENTS
16
17
18
19
20
21
22
23
24
25
26
  
  <!--
  
  Material Design: <a href="http://www.google.com/design/spec/components/buttons.html">Buttons</a>
  
  `paper-button` is a button. When the user touches the button, a ripple effect emanates
  from the point of contact. It may be flat or raised. A raised button is styled with a
  shadow.
  
  Example:
  
e619a3b0   Luigi Serra   Controllet cross ...
27
28
      <paper-button>Flat button</paper-button>
      <paper-button raised>Raised button</paper-button>
73bcce88   luigser   COMPONENTS
29
      <paper-button noink>No ripple effect</paper-button>
e619a3b0   Luigi Serra   Controllet cross ...
30
      <paper-button toggles>Toggle-able button</paper-button>
73bcce88   luigser   COMPONENTS
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
  
  A button that has `toggles` true will remain `active` after being clicked (and
  will have an `active` attribute set). For more information, see the `Polymer.IronButtonState`
  behavior.
  
  You may use custom DOM in the button body to create a variety of buttons. For example, to
  create a button with an icon and some text:
  
      <paper-button>
        <iron-icon icon="favorite"></iron-icon>
        custom button content
      </paper-button>
  
  ### Styling
  
  Style the button with CSS as you would a normal DOM element.
  
e619a3b0   Luigi Serra   Controllet cross ...
48
49
50
      paper-button.fancy {
        background: green;
        color: yellow;
73bcce88   luigser   COMPONENTS
51
52
      }
  
e619a3b0   Luigi Serra   Controllet cross ...
53
54
55
      paper-button.fancy:hover {
        background: lime;
      }
73bcce88   luigser   COMPONENTS
56
  
e619a3b0   Luigi Serra   Controllet cross ...
57
58
59
      paper-button[disabled],
      paper-button[toggles][active] {
        background: red;
73bcce88   luigser   COMPONENTS
60
61
      }
  
e619a3b0   Luigi Serra   Controllet cross ...
62
63
  By default, the ripple is the same color as the foreground at 25% opacity. You may
  customize the color using the `--paper-button-ink-color` custom property.
73bcce88   luigser   COMPONENTS
64
65
66
67
68
  
  The following custom properties and mixins are also available for styling:
  
  Custom property | Description | Default
  ----------------|-------------|----------
e619a3b0   Luigi Serra   Controllet cross ...
69
  `--paper-button-ink-color` | Background color of the ripple | `Based on the button's color`
73bcce88   luigser   COMPONENTS
70
  `--paper-button` | Mixin applied to the button | `{}`
e619a3b0   Luigi Serra   Controllet cross ...
71
72
73
  `--paper-button-disabled` | Mixin applied to the disabled button. Note that you can also use the `paper-button[disabled]` selector | `{}`
  `--paper-button-flat-keyboard-focus` | Mixin applied to a flat button after it's been focused using the keyboard | `{}`
  `--paper-button-raised-keyboard-focus` | Mixin applied to a raised button after it's been focused using the keyboard | `{}`
73bcce88   luigser   COMPONENTS
74
75
76
77
78
  
  @demo demo/index.html
  -->
  
  <dom-module id="paper-button">
e619a3b0   Luigi Serra   Controllet cross ...
79
    <template>
73bcce88   luigser   COMPONENTS
80
  
e619a3b0   Luigi Serra   Controllet cross ...
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
      <style>
        :host {
          display: inline-block;
          position: relative;
          box-sizing: border-box;
          min-width: 5.14em;
          margin: 0 0.29em;
          background: transparent;
          text-align: center;
          font: inherit;
          text-transform: uppercase;
          outline-width: 0;
          border-radius: 3px;
          -moz-user-select: none;
          -ms-user-select: none;
          -webkit-user-select: none;
          user-select: none;
          cursor: pointer;
          z-index: 0;
          padding: 0.7em 0.57em;
  
          @apply(--paper-button);
        }
73bcce88   luigser   COMPONENTS
104
  
e619a3b0   Luigi Serra   Controllet cross ...
105
106
107
108
        :host([raised]) .keyboard-focus {
          font-weight: bold;
          @apply(--paper-button-raised-keyboard-focus);
        }
73bcce88   luigser   COMPONENTS
109
  
e619a3b0   Luigi Serra   Controllet cross ...
110
111
112
113
        :host(:not([raised])) .keyboard-focus {
          font-weight: bold;
          @apply(--paper-button-flat-keyboard-focus);
        }
73bcce88   luigser   COMPONENTS
114
  
e619a3b0   Luigi Serra   Controllet cross ...
115
116
117
118
119
        :host([disabled]) {
          background: #eaeaea;
          color: #a8a8a8;
          cursor: auto;
          pointer-events: none;
73bcce88   luigser   COMPONENTS
120
  
e619a3b0   Luigi Serra   Controllet cross ...
121
122
          @apply(--paper-button-disabled);
        }
73bcce88   luigser   COMPONENTS
123
  
e619a3b0   Luigi Serra   Controllet cross ...
124
125
126
        :host([noink]) paper-ripple {
          display: none;
        }
73bcce88   luigser   COMPONENTS
127
  
e619a3b0   Luigi Serra   Controllet cross ...
128
129
130
        paper-ripple {
          color: var(--paper-button-ink-color);
        }
73bcce88   luigser   COMPONENTS
131
  
e619a3b0   Luigi Serra   Controllet cross ...
132
133
134
135
        paper-material {
          border-radius: inherit;
          @apply(--layout-fit);
        }
73bcce88   luigser   COMPONENTS
136
  
e619a3b0   Luigi Serra   Controllet cross ...
137
138
139
140
        .content > ::content * {
          text-transform: inherit;
        }
      </style>
73bcce88   luigser   COMPONENTS
141
142
143
  
      <paper-ripple></paper-ripple>
  
e619a3b0   Luigi Serra   Controllet cross ...
144
145
146
      <paper-material  elevation="[[_elevation]]" animated></paper-material>
  
      <div class$="[[_computeContentClass(receivedFocusFromKeyboard)]]">
73bcce88   luigser   COMPONENTS
147
        <content></content>
e619a3b0   Luigi Serra   Controllet cross ...
148
      </div>
73bcce88   luigser   COMPONENTS
149
150
  
    </template>
73bcce88   luigser   COMPONENTS
151
152
153
  </dom-module>
  
  <script>
73bcce88   luigser   COMPONENTS
154
    Polymer({
73bcce88   luigser   COMPONENTS
155
156
157
158
159
160
161
      is: 'paper-button',
  
      behaviors: [
        Polymer.PaperButtonBehavior
      ],
  
      properties: {
73bcce88   luigser   COMPONENTS
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
        /**
         * If true, the button should be styled with a shadow.
         */
        raised: {
          type: Boolean,
          reflectToAttribute: true,
          value: false,
          observer: '_calculateElevation'
        }
      },
  
      _calculateElevation: function() {
        if (!this.raised) {
          this._elevation = 0;
        } else {
          Polymer.PaperButtonBehaviorImpl._calculateElevation.apply(this);
        }
      },
  
      _computeContentClass: function(receivedFocusFromKeyboard) {
        var className = 'content ';
        if (receivedFocusFromKeyboard) {
          className += ' keyboard-focus';
        }
        return className;
      }
    });
73bcce88   luigser   COMPONENTS
189
  </script>