@polymer/app-layout
TypeScript icon, indicating that this package has built-in type declarations

3.1.0 • Public • Published

Published on NPM Build status Published on webcomponents.org

App Layout

A collection of elements, along with guidelines and templates that can be used to structure your app’s layout.

What is inside

Elements

  • app-box - A container element that can have scroll effects - visual effects based on scroll position.

  • app-drawer - A navigation drawer that can slide in from the left or right.

  • app-drawer-layout - A wrapper element that positions an app-drawer and other content.

  • app-grid - A helper class useful for creating responsive, fluid grid layouts using custom properties.

  • app-header - A container element for app-toolbars at the top of the screen that can have scroll effects - visual effects based on scroll position.

  • app-header-layout - A wrapper element that positions an app-header and other content.

  • app-toolbar - A horizontal toolbar containing items that can be used for label, navigation, search and actions.

Templates

The templates are a means to define, illustrate and share best practices in App Layout. Pick a template and customize it:

Patterns

Sample code for various UI patterns:

  • Transform navigation: As more screen space is available, side navigation can transform into tabs. (Demo - Source)

  • Expand Card: Content cards may expand to take up more horizontal space. (Demo - Source)

  • Material Design Responsive Toolbar: Toolbar changes its height and padding to adapt mobile screen size. (Demo - Source)

Users

Here are some web apps built with App Layout:

See: Documentation, Demo.

Usage

Installation

npm install --save @polymer/app-layout

In an html file

<html>
  <head>
    <script type="module">
      import '@polymer/app-layout/app-layout.js';
    </script>
  </head>
  <body>
    <app-header reveals>
      <app-toolbar>
        <div main-title>My app</div>
      </app-toolbar>
    </app-header>
    <app-drawer id="drawer" swipe-open></app-drawer>
  </body>
</html>

In a Polymer 3 element

import {PolymerElement, html} from '@polymer/polymer';
import '@polymer/app-layout/app-layout.js';

class SampleElement extends PolymerElement {
  static get template() {
    return html`
      <app-header reveals>
        <app-toolbar>
          <div main-title>My app</div>
        </app-toolbar>
      </app-header>
      <app-drawer id="drawer" swipe-open></app-drawer>
    `;
  }
}
customElements.define('sample-element', SampleElement);

Contributing

If you want to send a PR to this element, here are the instructions for running the tests and demo locally:

Installation

git clone https://github.com/PolymerElements/app-layout
cd app-layout
npm install
npm install -g polymer-cli

Running the demo locally

polymer serve --npm
open http://127.0.0.1:<port>/demo/

Running the tests

polymer test --npm

Versions

Current Tags

VersionDownloads (Last 7 Days)Tag
3.1.07,522latest
3.0.0-pre.202next
0.10.6-pre.32preview

Version History

VersionDownloads (Last 7 Days)Published
3.1.07,522
3.0.21,846
3.0.1101
3.0.03
3.0.0-pre.261,680
3.0.0-pre.253
3.0.0-pre.242
3.0.0-pre.233
3.0.0-pre.223
3.0.0-pre.214
3.0.0-pre.202
3.0.0-pre.194
3.0.0-pre.185
3.0.0-pre.172
3.0.0-pre.162
3.0.0-pre.152
3.0.0-pre.143
3.0.0-pre.133
3.0.0-pre.1210
3.0.0-pre.113
3.0.0-pre.102
3.0.0-pre.84
3.0.0-pre.72
3.0.0-pre.62
3.0.0-pre.42
3.0.0-pre.32
3.0.0-pre.22
3.0.0-pre.12
0.10.6-pre.32
0.10.6-pre.23
0.10.6-pre.12

Package Sidebar

Install

npm i @polymer/app-layout

Weekly Downloads

11,228

Version

3.1.0

License

BSD-3-Clause

Unpacked Size

1.53 MB

Total Files

158

Last publish

Collaborators

  • rictic
  • aomarks
  • emarquez
  • sorvell
  • bicknellr
  • usergenic
  • polymer-devs
  • azakus
  • kevinpschaaf
  • justinfagnani