Skip to content
Find file
156 lines (121 sloc) 4.6 KB
<!--
Copyright (c) 2014 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
-->
<!--
`core-toolbar` is a horizontal bar containing items that can be used for
label, navigation, search and actions. The items place inside the
`core-toolbar` are projected into a `horizontal center layout` container inside of
`core-toolbar`'s Shadow DOM. You can use flex attributes to control the items'
sizing.
Example:
<core-toolbar>
<core-icon-button icon="menu" on-tap="{{menuAction}}"></core-icon-button>
<div flex>Title</div>
<core-icon-button icon="more-vert" on-tap="{{moreAction}}"></core-icon-button>
</core-toolbar>
`core-toolbar` has a standard height, but can made be taller by setting `tall`
class on the `core-toolbar`. This will make the toolbar 3x the normal height.
<core-toolbar class="tall">
<core-icon-button icon="menu"></core-icon-button>
</core-toolbar>
Apply `medium-tall` class to make the toolbar medium tall. This will make the
toolbar 2x the normal height.
<core-toolbar class="medium-tall">
<core-icon-button icon="menu"></core-icon-button>
</core-toolbar>
When `tall`, items can pin to either the top (default), middle or bottom. Use
`middle` class for middle content and `bottom` class for bottom content.
<core-toolbar class="tall">
<core-icon-button icon="menu"></core-icon-button>
<div class="middle indent">Middle Title</div>
<div class="bottom indent">Bottom Title</div>
</core-toolbar>
For `medium-tall` toolbar, the middle and bottom contents overlap and are
pinned to the bottom. But `middleJustify` and `bottomJustify` attributes are
still honored separately.
To make an element completely fit at the bottom of the toolbar, use `fit` along
with `bottom`.
<core-toolbar class="tall">
<div id="progressBar" class="bottom fit"></div>
</core-toolbar>
`core-toolbar` adapts to mobile/narrow layout when there is a `core-narrow` class set
on itself or any of its ancestors.
@group Polymer Core Elements
@element core-toolbar
@homepage github.io
-->
<link rel="import" href="../polymer/polymer.html">
<polymer-element name="core-toolbar" attributes="justify middleJustify bottomJustify">
<template>
<link rel="stylesheet" href="core-toolbar.css">
<div id="bottomBar" class="toolbar-tools" center horizontal layout>
<content select=".bottom"></content>
</div>
<div id="middleBar" class="toolbar-tools" center horizontal layout>
<content select=".middle"></content>
</div>
<div id="topBar" class="toolbar-tools" center horizontal layout>
<content></content>
</div>
</template>
<script>
(function() {
Polymer('core-toolbar', {
/**
* Controls how the items are aligned horizontally.
* Options are `start`, `center`, `end`, `between` and `around`.
*
* @attribute justify
* @type string
* @default ''
*/
justify: '',
/**
* Controls how the items are aligned horizontally when they are placed
* in the middle.
* Options are `start`, `center`, `end`, `between` and `around`.
*
* @attribute middleJustify
* @type string
* @default ''
*/
middleJustify: '',
/**
* Controls how the items are aligned horizontally when they are placed
* at the bottom.
* Options are `start`, `center`, `end`, `between` and `around`.
*
* @attribute bottomJustify
* @type string
* @default ''
*/
bottomJustify: '',
justifyChanged: function(old) {
this.updateBarJustify(this.$.topBar, this.justify, old);
},
middleJustifyChanged: function(old) {
this.updateBarJustify(this.$.middleBar, this.middleJustify, old);
},
bottomJustifyChanged: function(old) {
this.updateBarJustify(this.$.bottomBar, this.bottomJustify, old);
},
updateBarJustify: function(bar, justify, old) {
if (old) {
bar.removeAttribute(this.toLayoutAttrName(old));
}
if (justify) {
bar.setAttribute(this.toLayoutAttrName(justify), '');
}
},
toLayoutAttrName: function(value) {
return value === 'between' ? 'justified' : value + '-justified';
}
});
})();
</script>
</polymer-element>
Jump to Line
Something went wrong with that request. Please try again.