Directory

← Back

paper-drawer-panel

A Material Design two-section responsive panel

Author

Rating

Popularity

<100

Published on NPM Build status Published on webcomponents.org

<paper-drawer-panel>

This element has been deprecated in favor of app-layout.

paper-drawer-panel contains a drawer panel and a main panel. The drawer and the main panel are side-by-side with drawer on the left. When the browser window size is smaller than the responsiveWidth, paper-drawer-panel changes to narrow layout. In narrow layout, the drawer will be stacked on top of the main panel. The drawer will slide in/out to hide/reveal the main panel.

Use the attribute drawer to indicate that the element is the drawer panel and main to indicate that the element is the main panel.

Example:

<paper-drawer-panel>
  <div slot="drawer"> Drawer panel... </div>
  <div slot="main"> Main panel... </div>
</paper-drawer-panel>

The drawer and the main panels are not scrollable. You can set CSS overflow property on the elements to make them scrollable or use paper-header-panel.

Example:

<paper-drawer-panel>
  <paper-header-panel slot="drawer">
    <paper-toolbar></paper-toolbar>
    <div> Drawer content... </div>
  </paper-header-panel>
  <paper-header-panel slot="main">
    <paper-toolbar></paper-toolbar>
    <div> Main content... </div>
  </paper-header-panel>
</paper-drawer-panel>

To position the drawer to the right, add right-drawer attribute.

<paper-drawer-panel right-drawer>
  <div slot="drawer"> Drawer panel... </div>
  <div slot="main"> Main panel... </div>
</paper-drawer-panel>

Styling

To change the main container:

paper-drawer-panel {
  --paper-drawer-panel-main-container: {
    background-color: gray;
  };
}

To change the drawer container when it's in the left side:

paper-drawer-panel {
  --paper-drawer-panel-left-drawer-container: {
    background-color: white;
  };
}

To change the drawer container when it's in the right side:

paper-drawer-panel {
  --paper-drawer-panel-right-drawer-container: {
    background-color: white;
  };
}

To customize the scrim:

paper-drawer-panel {
  --paper-drawer-panel-scrim: {
    background-color: red;
  };
}

The following custom properties and mixins are available for styling:

Custom property Description Default
--paper-drawer-panel-scrim-opacity Scrim opacity 1
--paper-drawer-panel-drawer-container Mixin applied to drawer container {}
--paper-drawer-panel-left-drawer-container Mixin applied to container when it's in the left side {}
--paper-drawer-panel-main-container Mixin applied to main container {}
--paper-drawer-panel-right-drawer-container Mixin applied to container when it's in the right side {}
--paper-drawer-panel-scrim Mixin applied to scrim {}

See: Documentation, Demo.

Usage

Installation

npm install --save @polymer/paper-drawer-panel

In an html file

<html>
  <head>
    <script type="module">
      import '@polymer/paper-drawer-panel/paper-drawer-panel.js';
    </script>
  </head>
  <body>
    <paper-drawer-panel>
      <div slot="drawer"> Drawer panel... </div>
      <div slot="main"> Main panel... </div>
    </paper-drawer-panel>
  </body>
</html>

In a Polymer 3 element

import {PolymerElement, html} from '@polymer/polymer';
import '@polymer/paper-drawer-panel/paper-drawer-panel.js';

class SampleElement extends PolymerElement {
  static get template() {
    return html`
      <paper-drawer-panel>
        <div slot="drawer"> Drawer panel... </div>
        <div slot="main"> Main panel... </div>
      </paper-drawer-panel>
    `;
  }
}
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/paper-drawer-panel
cd paper-drawer-panel
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

Compatibility

(Loading compatibility data...)

Was this helpful? Need more help?
Leave a comment or a question below. You can also join the chat on Discord or ask questions on StackOverflow.

Version

Dependencies

  • @polymer/iron-media-query#^3.0.0-pre.26
  • @polymer/iron-resizable-behavior#^3.0.0-pre.26
  • @polymer/iron-selector#^3.0.0-pre.26
  • @polymer/polymer#^3.0.0
Released
2018-09-14
Maturity
IMPORTED
License
BSD 3-clause "New" or "Revised" License

Compatibility

Framework
Polymer 3.0+
Polymer 2.0+ in 2.1.2
Polymer 1.0+ in 1.0.11
Browser
Browser Independent

paper-drawer-panel - Vaadin Add-on Directory

A Material Design two-section responsive panel paper-drawer-panel - Vaadin Add-on Directory
[![Published on NPM](https://img.shields.io/npm/v/@polymer/paper-drawer-panel.svg)](https://www.npmjs.com/package/@polymer/paper-drawer-panel) [![Build status](https://travis-ci.org/PolymerElements/paper-drawer-panel.svg?branch=master)](https://travis-ci.org/PolymerElements/paper-drawer-panel) [![Published on webcomponents.org](https://img.shields.io/badge/webcomponents.org-published-blue.svg)](https://webcomponents.org/element/@polymer/paper-drawer-panel) ## <paper-drawer-panel> **This element has been deprecated in favor of [app-layout](https://github.com/PolymerElements/app-layout).** `paper-drawer-panel` contains a drawer panel and a main panel. The drawer and the main panel are side-by-side with drawer on the left. When the browser window size is smaller than the `responsiveWidth`, `paper-drawer-panel` changes to narrow layout. In narrow layout, the drawer will be stacked on top of the main panel. The drawer will slide in/out to hide/reveal the main panel. Use the attribute `drawer` to indicate that the element is the drawer panel and `main` to indicate that the element is the main panel. Example:
Drawer panel...
Main panel...
The drawer and the main panels are not scrollable. You can set CSS overflow property on the elements to make them scrollable or use `paper-header-panel`. Example:
Drawer content...
Main content...
To position the drawer to the right, add `right-drawer` attribute.
Drawer panel...
Main panel...
### Styling To change the main container: paper-drawer-panel { --paper-drawer-panel-main-container: { background-color: gray; }; } To change the drawer container when it's in the left side: paper-drawer-panel { --paper-drawer-panel-left-drawer-container: { background-color: white; }; } To change the drawer container when it's in the right side: paper-drawer-panel { --paper-drawer-panel-right-drawer-container: { background-color: white; }; } To customize the scrim: paper-drawer-panel { --paper-drawer-panel-scrim: { background-color: red; }; } The following custom properties and mixins are available for styling: Custom property | Description | Default ----------------|-------------|---------- `--paper-drawer-panel-scrim-opacity` | Scrim opacity | 1 `--paper-drawer-panel-drawer-container` | Mixin applied to drawer container | {} `--paper-drawer-panel-left-drawer-container` | Mixin applied to container when it's in the left side | {} `--paper-drawer-panel-main-container` | Mixin applied to main container | {} `--paper-drawer-panel-right-drawer-container` | Mixin applied to container when it's in the right side | {} `--paper-drawer-panel-scrim` | Mixin applied to scrim | {} See: [Documentation](https://www.webcomponents.org/element/@polymer/paper-drawer-panel), [Demo](https://www.webcomponents.org/element/@polymer/paper-drawer-panel/demo/demo/index.html). ## Usage ### Installation ``` npm install --save @polymer/paper-drawer-panel ``` ### In an html file ```html
Drawer panel...
Main panel...
``` ### In a Polymer 3 element ```js import {PolymerElement, html} from '@polymer/polymer'; import '@polymer/paper-drawer-panel/paper-drawer-panel.js'; class SampleElement extends PolymerElement { static get template() { return html`
Drawer panel...
Main panel...
`; } } 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 ```sh git clone https://github.com/PolymerElements/paper-drawer-panel cd paper-drawer-panel npm install npm install -g polymer-cli ``` ### Running the demo locally ```sh polymer serve --npm open http://127.0.0.1:/demo/ ``` ### Running the tests ```sh polymer test --npm ```
Online