/**
@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
*/
import '../polymer/polymer_bundled.min.js';
import {html} from '../polymer/polymer_bundled.min.js';
/*
A set of layout classes that let you specify layout properties directly in
markup. You must include this file in every element that needs to use them.
Sample use:
import '../iron-flex-layout/iron-flex-layout-classes.js';
const template = html`
<style is="custom-style" include="iron-flex iron-flex-alignment"></style>
<style>
.test { width: 100px; }
</style>
<div class="layout horizontal center-center">
<div class="test">horizontal layout center alignment</div>
</div>
`;
document.body.appendChild(template.content);
The following imports are available:
- iron-flex
- iron-flex-reverse
- iron-flex-alignment
- iron-flex-factors
- iron-positioning
*/
const template = html`
/* Most common used flex styles*/
<dom-module id="iron-flex">
<template>
<style>
.layout.horizontal,
.layout.vertical {
display: flex;
}
.layout.inline {
display: inline-flex;
}
.layout.horizontal {
flex-direction: row;
}
.layout.vertical {
flex-direction: column;
}
.layout.wrap {
flex-wrap: wrap;
}
.layout.no-wrap {
flex-wrap: nowrap;
}
.layout.center,
.layout.center-center {
align-items: center;
}
.layout.center-justified,
.layout.center-center {
justify-content: center;
}
.flex {
flex: 1;
flex-basis: 0.000000001px;
}
.flex-auto {
flex: 1 1 auto;
}
.flex-none {
flex: none;
}
</style>
</template>
</dom-module>
/* Basic flexbox reverse styles */
<dom-module id="iron-flex-reverse">
<template>
<style>
.layout.horizontal-reverse,
.layout.vertical-reverse {
display: flex;
}
.layout.horizontal-reverse {
flex-direction: row-reverse;
}
.layout.vertical-reverse {
flex-direction: column-reverse;
}
.layout.wrap-reverse {
flex-wrap: wrap-reverse;
}
</style>
</template>
</dom-module>
/* Flexbox alignment */
<dom-module id="iron-flex-alignment">
<template>
<style>
/**
* Alignment in cross axis.
*/
.layout.start {
align-items: flex-start;
}
.layout.center,
.layout.center-center {
align-items: center;
}
.layout.end {
align-items: flex-end;
}
.layout.baseline {
align-items: baseline;
}
/**
* Alignment in main axis.
*/
.layout.start-justified {
justify-content: flex-start;
}
.layout.center-justified,
.layout.center-center {
justify-content: center;
}
.layout.end-justified {
justify-content: flex-end;
}
.layout.around-justified {
justify-content: space-around;
}
.layout.justified {
justify-content: space-between;
}
/**
* Self alignment.
*/
.self-start {
align-self: flex-start;
}
.self-center {
align-self: center;
}
.self-end {
align-self: flex-end;
}
.self-stretch {
align-self: stretch;
}
.self-baseline {
align-self: baseline;
}
/**
* multi-line alignment in main axis.
*/
.layout.start-aligned {
align-content: flex-start;
}
.layout.end-aligned {
align-content: flex-end;
}
.layout.center-aligned {
align-content: center;
}
.layout.between-aligned {
align-content: space-between;
}
.layout.around-aligned {
align-content: space-around;
}
</style>
</template>
</dom-module>
/* Non-flexbox positioning helper styles */
<dom-module id="iron-flex-factors">
<template>
<style>
.flex,
.flex-1 {
flex: 1;
flex-basis: 0.000000001px;
}
.flex-2 {
flex: 2;
}
.flex-3 {
flex: 3;
}
.flex-4 {
flex: 4;
}
.flex-5 {
flex: 5;
}
.flex-6 {
flex: 6;
}
.flex-7 {
flex: 7;
}
.flex-8 {
flex: 8;
}
.flex-9 {
flex: 9;
}
.flex-10 {
flex: 10;
}
.flex-11 {
flex: 11;
}
.flex-12 {
flex: 12;
}
</style>
</template>
</dom-module>
<dom-module id="iron-positioning">
<template>
<style>
.block {
display: block;
}
[hidden] {
display: none !important;
}
.invisible {
visibility: hidden !important;
}
.relative {
position: relative;
}
.fit {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
}
body.fullbleed {
margin: 0;
height: 100vh;
}
.scroll {
-webkit-overflow-scrolling: touch;
overflow: auto;
}
/* fixed position */
.fixed-bottom,
.fixed-left,
.fixed-right,
.fixed-top {
position: fixed;
}
.fixed-top {
top: 0;
left: 0;
right: 0;
}
.fixed-right {
top: 0;
right: 0;
bottom: 0;
}
.fixed-bottom {
right: 0;
bottom: 0;
left: 0;
}
.fixed-left {
top: 0;
bottom: 0;
left: 0;
}
</style>
</template>
</dom-module>
`;
template.setAttribute('style', 'display: none;');
document.head.appendChild(template.content);