3.0.1 • Published 6 years ago

@polymer/iron-range-behavior v3.0.1

Weekly downloads
9,235
License
BSD-3-Clause
Repository
github
Last release
6 years ago

Published on NPM Build status Published on webcomponents.org

IronRangeBehavior

IronRangeBehavior provides the behavior for something with a minimum to maximum range.

See: Documentation, Demo.

Usage

Installation

npm install --save @polymer/iron-range-behavior

In a Polymer 3 element

import {PolymerElement} from '@polymer/polymer/polymer-element.js';
import {mixinBehaviors} from '@polymer/polymer/lib/legacy/class.js';
import {html} from '@polymer/polymer/lib/utils/html-tag.js';

import {IronRangeBehavior} from '@polymer/iron-range-behavior/iron-range-behavior.js';

class SimpleRange extends mixinBehaviors(IronRangeBehavior, PolymerElement) {
  static get template() {
    return html`
      <style>
        :host {
          display: inline-flex;
          align-items: center;
        }

        :host > * {
          margin: 0.125em;
        }

        #barContainer {
          display: inline-block;
          position: relative;
          border: 0.125em solid gray;
          height: 1em;
          width: 12em;
        }

        #bar {
          position: absolute;
          top: 0.125em;
          bottom: 0.125em;
          left: 0.125em;
          background-color: blue;
        }
      </style>

      <span>[[ratio]]%</span>
      <div id="barContainer"><div id="bar" style="width: {{ratio}}%;"></div></div>
    `;
  }
}

customElements.define('simple-range', SimpleRange);

Then, in your HTML:

<simple-range min="0" max="200" value="120"></simple-range>

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/iron-range-behavior
cd iron-range-behavior
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