Managing a numeric value within a given range

Published on NPM Build status Published on


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

See: Documentation, Demo.



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`
        :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;

      <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>


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


git clone
cd iron-range-behavior
npm install
npm install -g polymer-cli

Running the demo locally

polymer serve --npm

Running the tests

polymer test --npm


Link to this version
ImportedReleased 12 April 2018Other
Framework Support
Polymer 2.0+
Also supported:
Polymer 1 (3.0.1)Polymer 3 (3.0.1)
Browser Compatibility
Install with
bower install --save PolymerElements/iron-range-behavior"#2.1.1"
Run the above Bower command in your project folder. If you have any issues installing, please contact the author.
Release notes - Version 2.1.1


  • polymer#Polymer/polymer#1.9 - 2