Pin Chrome's shortcut to the Win10 Start menu on install and OS upgrade.
[chromium-blink-merge.git] / third_party / polymer / v1_0 / components / paper-tabs / paper-tab.html
blob4737ec86235a8dd3d96b2cd2586d6187e5d44aa9
1 <!--
2 @license
3 Copyright (c) 2015 The Polymer Project Authors. All rights reserved.
4 This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
5 The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
6 The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
7 Code distributed by Google as part of the polymer project is also
8 subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
9 -->
11 <link rel="import" href="../polymer/polymer.html">
12 <link rel="import" href="../iron-flex-layout/classes/iron-flex-layout.html">
13 <link rel="import" href="../iron-flex-layout/iron-flex-layout.html">
14 <link rel="import" href="../iron-behaviors/iron-control-state.html">
15 <link rel="import" href="../paper-ripple/paper-ripple.html">
17 <!--
18 `paper-tab` is styled to look like a tab. It should be used in conjunction with
19 `paper-tabs`.
21 Example:
23 <paper-tabs selected="0">
24 <paper-tab>TAB 1</paper-tab>
25 <paper-tab>TAB 2</paper-tab>
26 <paper-tab>TAB 3</paper-tab>
27 </paper-tabs>
29 ### Styling
31 The following custom properties and mixins are available for styling:
33 Custom property | Description | Default
34 ----------------|-------------|----------
35 `--paper-tab-ink` | Ink color | `--paper-yellow-a100`
36 `--paper-tab` | Mixin applied to the tab | `{}`
37 `--paper-tab-content` | Mixin applied to the tab content | `{}`
39 -->
41 <dom-module id="paper-tab">
43 <style>
45 :host {
46 @apply(--layout-inline);
47 @apply(--layout-center);
48 @apply(--layout-center-justified);
49 @apply(--layout-flex);
51 position: relative;
52 padding: 0 12px;
53 overflow: hidden;
54 cursor: pointer;
56 @apply(--paper-tab);
59 :host(:focus) {
60 outline: none;
63 :host([link]) {
64 padding: 0;
67 .tab-content {
68 height: 100%;
69 -webkit-transform: translateZ(0);
70 transform: translateZ(0);
71 transition: opacity 0.1s cubic-bezier(0.4, 0.0, 1, 1);
73 @apply(--paper-tab-content);
76 :host(:not(.iron-selected)) > .tab-content {
77 opacity: 0.8;
80 :host(:focus) .tab-content {
81 opacity: 1;
82 font-weight: 700;
85 #ink {
86 color: var(--paper-tab-ink, --paper-yellow-a100);
87 pointer-events: none;
90 .tab-content > ::content > a {
91 height: 100%;
92 /* flex */
93 -ms-flex: 1 1 0.000000001px;
94 -webkit-flex: 1;
95 flex: 1;
96 -webkit-flex-basis: 0.000000001px;
97 flex-basis: 0.000000001px;
100 </style>
102 <template>
104 <div class="tab-content flex-auto center-center horizontal layout">
105 <content></content>
106 </div>
108 <template is="dom-if" if="[[!noink]]">
109 <paper-ripple id="ink" initial-opacity="0.95" opacity-decay-velocity="0.98"></paper-ripple>
110 </template>
112 </template>
114 </dom-module>
116 <script>
118 Polymer({
120 is: 'paper-tab',
122 behaviors: [
123 Polymer.IronControlState
126 properties: {
129 * If true, ink ripple effect is disabled.
131 * @attribute noink
133 noink: {
134 type: Boolean,
135 value: false
140 hostAttributes: {
141 role: 'tab'
144 listeners: {
145 down: '_onDown'
148 get _parentNoink () {
149 var parent = Polymer.dom(this).parentNode;
150 return !!parent && !!parent.noink;
153 _onDown: function(e) {
154 this.noink = !!this.noink || !!this._parentNoink;
158 </script>