@@ -8,19 +8,54 @@ import { ElementMixin } from '@vaadin/component-base/src/element-mixin.js';
88import { ThemableMixin } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js' ;
99import { SliderMixin } from './vaadin-slider-mixin.js' ;
1010
11+ /**
12+ * Fired when the user commits a value change.
13+ */
14+ export type RangeSliderChangeEvent = Event & {
15+ target : RangeSlider ;
16+ } ;
17+
18+ /**
19+ * Fired when the `value` property changes.
20+ */
21+ export type RangeSliderValueChangedEvent = CustomEvent < { value : number [ ] } > ;
22+
23+ export interface RangeSliderCustomEventMap {
24+ 'value-changed' : RangeSliderValueChangedEvent ;
25+ }
26+
27+ export interface RangeSliderEventMap extends HTMLElementEventMap , RangeSliderCustomEventMap {
28+ change : RangeSliderChangeEvent ;
29+ }
30+
1131/**
1232 * `<vaadin-range-slider>` is a web component that represents a range slider
1333 * for selecting a subset of the given range.
1434 *
1535 * ```html
1636 * <vaadin-range-slider min="0" max="100" step="1"></vaadin-range-slider>
1737 * ```
38+ *
39+ * @fires {Event } change - Fired when the user commits a value change.
40+ * @fires {CustomEvent } value-changed - Fired when the `value` property changes.
1841 */
1942declare class RangeSlider extends SliderMixin ( FocusMixin ( ThemableMixin ( ElementMixin ( HTMLElement ) ) ) ) {
2043 /**
2144 * The value of the slider.
2245 */
2346 value : number [ ] ;
47+
48+ addEventListener < K extends keyof RangeSliderEventMap > (
49+ type : K ,
50+ listener : ( this : RangeSlider , ev : RangeSliderEventMap [ K ] ) => void ,
51+ options ?: AddEventListenerOptions | boolean ,
52+ ) : void ;
53+
54+ removeEventListener < K extends keyof RangeSliderEventMap > (
55+ type : K ,
56+ listener : ( this : RangeSlider , ev : RangeSliderEventMap [ K ] ) => void ,
57+ options ?: EventListenerOptions | boolean ,
58+ ) : void ;
2459}
2560
2661declare global {
0 commit comments