/ngx-slider

Self-contained, mobile friendly slider component for Angular based on angularjs-slider

Primary LanguageTypeScriptMIT LicenseMIT

ngx-slider

npm version

Website: https://angular-slider.github.io/ngx-slider/

Discord: https://discord.gg/DHsDghZRwZ

Self-contained, mobile friendly slider component for Angular based on angularjs-slider.

NOTE: The future of this project depends on willing volunteers. If you are able to help, please get in touch with the maintainers of this project on dedicated Discord server.

Dependencies

ngx-slider Angular RxJS Actively supported
2.0.x 6.x - 12.x 6.x No
13.x 13.x 6.x No
14.x 14.x 6.x No
15.x 15.x 7.x No
16.x 16.x 7.x Yes
17.x 17.x 7.x Yes
18.x 18.x 7.x Yes

Note: Like with Angular only the latest 3 versions are actively supported.

Demos

Installation

To add the slider to your Angular project:

npm install --save @angular-slider/ngx-slider

Once installed, add the slider to your app.module.ts:

import { NgxSliderModule } from '@angular-slider/ngx-slider';

...

@NgModule({
   ...
   imports: [
     ...
     NgxSliderModule,
    ...
   ],
   ...
})
export class AppModule {}

Sample usage

Now you can use the slider component in your app components, for example in app.component.ts:

import { Options } from '@angular-slider/ngx-slider';
...

@Component({...})
export class AppComponent {
  value: number = 100;
  options: Options = {
    floor: 0,
    ceil: 200
  };
}

And in template file app.component.html:

<ngx-slider [(value)]="value" [options]="options"></ngx-slider>

Documentation

Full API documentation is available on official website.

Styling

An overview of how to apply your own style to the slider is described in STYLING.md.

Animations

As of v1.2.0 the slider features CSS animations of slider movement. If you prefer the previous behaviour, without animations, you can set the flag animate: false in your slider options.

Keyboard Shortcuts

In addition to mouse/touch events, the slider can also be controlled through keyboard. The available shortcuts are:

  • right/up arrow - increase by single step,
  • left/down arrow - decrease by single step,
  • page up - increase by 10% of slider range,
  • page down - decrease by 10% of slider range,
  • home - move to minimum value,
  • end - move to maximum value.

Tooltips

The slider allows for customising how to implement tooltips. See TOOLTIPS.md for more information.

Known Issues

Before reporting a new bug, please look at KNOWN_ISSUES.md for a list of known problems and their workarounds. New bugs reports for these problems will not be accepted.

Bugs

You can report any bugs as Github issues.

Please describe the issue in detail pasting any relevant code, or preferrably a StackBlitz with reproduction of the problem by forking and editing this sample StackBlitz. Please also provide the version of NPM package you are using.

Changelog

For list of changes and bugfixes, see CHANGELOG.md.

Developer information

If you would like to contribute to the project, see DEVELOPERS.md.

License

The project is licensed under the MIT license.

Upgrading

For instructions on upgrading from previous (1.x) versions of the library, see UPGRADING.md.