Blame view

bower_components/paper-button/paper-button.html 4.71 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
  
  <!--
eb240478   Luigi Serra   public room cards...
18
  Material design: [Buttons](https://www.google.com/design/spec/components/buttons.html)
73bcce88   luigser   COMPONENTS
19
20
21
22
23
24
25
  
  `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 ...
26
27
      <paper-button>Flat button</paper-button>
      <paper-button raised>Raised button</paper-button>
73bcce88   luigser   COMPONENTS
28
      <paper-button noink>No ripple effect</paper-button>
e619a3b0   Luigi Serra   Controllet cross ...
29
      <paper-button toggles>Toggle-able button</paper-button>
73bcce88   luigser   COMPONENTS
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
  
  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 ...
47
48
49
      paper-button.fancy {
        background: green;
        color: yellow;
73bcce88   luigser   COMPONENTS
50
51
      }
  
e619a3b0   Luigi Serra   Controllet cross ...
52
53
54
      paper-button.fancy:hover {
        background: lime;
      }
73bcce88   luigser   COMPONENTS
55
  
e619a3b0   Luigi Serra   Controllet cross ...
56
57
58
      paper-button[disabled],
      paper-button[toggles][active] {
        background: red;
73bcce88   luigser   COMPONENTS
59
60
      }
  
e619a3b0   Luigi Serra   Controllet cross ...
61
62
  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
63
64
65
66
67
  
  The following custom properties and mixins are also available for styling:
  
  Custom property | Description | Default
  ----------------|-------------|----------
e619a3b0   Luigi Serra   Controllet cross ...
68
  `--paper-button-ink-color` | Background color of the ripple | `Based on the button's color`
73bcce88   luigser   COMPONENTS
69
  `--paper-button` | Mixin applied to the button | `{}`
e619a3b0   Luigi Serra   Controllet cross ...
70
71
72
  `--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
73
74
75
76
77
  
  @demo demo/index.html
  -->
  
  <dom-module id="paper-button">
eb240478   Luigi Serra   public room cards...
78
    <template strip-whitespace>
73bcce88   luigser   COMPONENTS
79
  
eb240478   Luigi Serra   public room cards...
80
      <style include="paper-material">
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
        :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
103
  
eb240478   Luigi Serra   public room cards...
104
        :host([raised].keyboard-focus) {
e619a3b0   Luigi Serra   Controllet cross ...
105
106
107
          font-weight: bold;
          @apply(--paper-button-raised-keyboard-focus);
        }
73bcce88   luigser   COMPONENTS
108
  
eb240478   Luigi Serra   public room cards...
109
        :host(:not([raised]).keyboard-focus) {
e619a3b0   Luigi Serra   Controllet cross ...
110
111
112
          font-weight: bold;
          @apply(--paper-button-flat-keyboard-focus);
        }
73bcce88   luigser   COMPONENTS
113
  
e619a3b0   Luigi Serra   Controllet cross ...
114
115
116
117
118
        :host([disabled]) {
          background: #eaeaea;
          color: #a8a8a8;
          cursor: auto;
          pointer-events: none;
73bcce88   luigser   COMPONENTS
119
  
e619a3b0   Luigi Serra   Controllet cross ...
120
121
          @apply(--paper-button-disabled);
        }
73bcce88   luigser   COMPONENTS
122
  
e619a3b0   Luigi Serra   Controllet cross ...
123
124
125
        paper-ripple {
          color: var(--paper-button-ink-color);
        }
73bcce88   luigser   COMPONENTS
126
  
eb240478   Luigi Serra   public room cards...
127
        :host > ::content * {
e619a3b0   Luigi Serra   Controllet cross ...
128
129
130
          text-transform: inherit;
        }
      </style>
eb240478   Luigi Serra   public room cards...
131
      <content></content>
73bcce88   luigser   COMPONENTS
132
    </template>
73bcce88   luigser   COMPONENTS
133
134
135
  </dom-module>
  
  <script>
73bcce88   luigser   COMPONENTS
136
    Polymer({
73bcce88   luigser   COMPONENTS
137
138
139
140
141
142
143
      is: 'paper-button',
  
      behaviors: [
        Polymer.PaperButtonBehavior
      ],
  
      properties: {
73bcce88   luigser   COMPONENTS
144
145
146
147
148
149
150
151
152
153
154
155
156
        /**
         * If true, the button should be styled with a shadow.
         */
        raised: {
          type: Boolean,
          reflectToAttribute: true,
          value: false,
          observer: '_calculateElevation'
        }
      },
  
      _calculateElevation: function() {
        if (!this.raised) {
eb240478   Luigi Serra   public room cards...
157
          this.elevation = 0;
73bcce88   luigser   COMPONENTS
158
159
160
        } else {
          Polymer.PaperButtonBehaviorImpl._calculateElevation.apply(this);
        }
73bcce88   luigser   COMPONENTS
161
162
      }
    });
73bcce88   luigser   COMPONENTS
163
  </script>