sunesimonsen-postcss-input-range

2.1.0 • Public • Published

Input Range Build Status

Input Range allows you to style input ranges with unprefixed selectors.

/* before */
 
::range-track {
    background: #3071a9;
    width: 100%;
}
 
::range-thumb {
    border-radius: 3px;
    cursor: pointer;
}
 
/* after */
 
::-moz-range-track {
    background: #3071a9;
    width: 100%;
}
 
::-ms-track {
    background: #3071a9;
    width: 100%;
}
 
::-webkit-slider-runnable-track {
    background: #3071a9;
    width: 100%;
}
 
::-moz-range-thumb {
    border-radius: 3px;
    cursor: pointer;
}
 
::-ms-thumb {
    border-radius: 3px;
    cursor: pointer;
}
 
::-webkit-slider-thumb {
    border-radius: 3px;
    cursor: pointer;
}

Supported selectors

::range-track

Styles the track of a range.

::range-thumb

Styles the thumb of a range.

::range-lower

Styles the lower track of a range before the thumb. Only supported in Firefox, Edge and IE 10+.

::range-upper

Styles the upper track of a range after the thumb. Only supported in Edge and IE 10+.

Usage

Add Input Range to your build tool:

npm install postcss-input-range --save-dev

Node

require('postcss-input-range')({ /* options */ }).process(YOUR_CSS);

PostCSS

Add PostCSS to your build tool:

npm install postcss --save-dev

Load Input Range as a PostCSS plugin:

postcss([
    require('postcss-input-range')({ /* options */ })
]);

Gulp

Add Gulp PostCSS to your build tool:

npm install gulp-postcss --save-dev

Enable Input Range within your Gulpfile:

var postcss = require('gulp-postcss');
 
gulp.task('css', function () {
    return gulp.src('./css/src/*.css').pipe(
        postcss([
            require('postcss-input-range')({ /* options */ })
        ])
    ).pipe(
        gulp.dest('./css')
    );
});

Grunt

Add Grunt PostCSS to your build tool:

npm install grunt-postcss --save-dev

Enable Input Range within your Gruntfile:

grunt.loadNpmTasks('grunt-postcss');
 
grunt.initConfig({
    postcss: {
        options: {
            processors: [
                require('postcss-input-range')({ /* options */ })
            ]
        },
        dist: {
            src: 'css/*.css'
        }
    }
});

Options

method

Type: String Default: 'replace'

clone

Copies any rules with ::range pseudo-elements to new rules using prefixes.

/* before */
 
::range-thumb {
    border-radius: 3px;
}
 
/* after */
 
::-moz-range-thumb {
    border-radius: 3px;
}
 
::-ms-thumb {
    border-radius: 3px;
}
 
::-webkit-slider-thumb {
    border-radius: 3px;
}
 
::range-thumb {
    border-radius: 3px;
}
replace

Copies any rules with ::range pseudo-elements to new rules using prefixes while removing the original.

/* before */
 
::range-thumb {
    border-radius: 3px;
}
 
/* after */
 
::-moz-range-thumb {
    border-radius: 3px;
}
 
::-ms-thumb {
    border-radius: 3px;
}
 
::-webkit-slider-thumb {
    border-radius: 3px;
}
warn

Warns whenever a ::range pseudo-class is found.

strict

Type: Boolean Default: true

true

Ignores prefixed ::range-type pseudo-classes.

/* before */
 
::-ms-thumb {
    border-radius: 3px;
}
 
/* after */
 
::-ms-thumb {
    border-radius: 3px;
}
false

Processes prefixed ::range-type pseudo-classes.

/* before */
 
::-ms-thumb {
    border-radius: 3px;
}
 
/* after */
 
::-moz-range-thumb {
    border-radius: 3px;
}
 
::-ms-thumb {
    border-radius: 3px;
}
 
::-webkit-slider-thumb {
    border-radius: 3px;
}

Dependents (0)

Package Sidebar

Install

npm i sunesimonsen-postcss-input-range

Weekly Downloads

0

Version

2.1.0

License

CC0-1.0

Last publish

Collaborators

  • sunesimonsen