PolymerElements / paper-styles

Shared styles for Material Design elements
https://www.webcomponents.org/element/PolymerElements/paper-styles
107 stars 93 forks source link

Published on NPM Build status Published on webcomponents.org

<paper-styles>

  1. default-theme.js: text, background and accent colors that match the default Material Design theme

  2. shadow.js: Material Design elevation and shadow styles

  3. typography.js: Material Design font styles and sizes

  4. demo-pages.js: generic styles used in the PolymerElements demo pages

  5. color.js: a complete list of the colors defined in the Material Design palette

We recommend importing each of these individual files, and using the style mixins available in each ones, rather than the aggregated paper-styles.js as a whole.

See: Documentation, Demo.

Usage

Installation

npm install --save @polymer/paper-styles

In an html file

<html>
  <head>
    <script type="module">
      import '@polymer/paper-styles/typography.js';
      import {html} from '@polymer/polymer/lib/utils/html-tag.js';

      const template = html`
      <custom-style>
        <style is="custom-style" include="paper-material-styles">
          .paper-font-headline {
            @apply --paper-font-headline;
          }
        </style>
      </custom-style>`;
      document.body.appendChild(template.content);
    </script>
  </head>
  <body>
    <div class="paper-font-headline">Headline</div>
    <div class="paper-material" elevation="3">This is a lifted paper</div>
  </body>
</html>

In a Polymer 3 element

import {PolymerElement, html} from '@polymer/polymer';
import '@polymer/paper-styles/typography.js';
import {html} from '@polymer/polymer/lib/utils/html-tag.js';

class SampleElement extends PolymerElement {
  static get template() {
    return html`
      <style is="custom-style" include="paper-material-styles">
        .paper-font-headline {
          @apply --paper-font-headline;
        }
      </style>
      <div class="paper-font-headline">Headline</div>
      <div class="paper-material" elevation="3">This is a lifted paper</div>
    `;
  }
}
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-styles
cd paper-styles
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