aria-progress-range-slider
Version:
Accessible progress bar / slider component
91 lines (90 loc) • 2.96 kB
TypeScript
declare type TSelectorOrElement = HTMLElement | Element | string;
interface IProgressBarOptions {
ariaLabel: string;
ariaLabeledBy?: string;
arrowMoveStep: number;
className: string;
disabled: boolean;
float: boolean;
getTooltipText(value: number, options?: IProgressBarOptions): string;
getValueText(value: number, options?: IProgressBarOptions): string;
initialValue: number;
max: number;
min: number;
onChange?(value: number, options?: IProgressBarOptions): any;
onDragEnd?(value: number, options?: IProgressBarOptions): any;
onDragMove?(value: number, options?: IProgressBarOptions): any;
onDragStart?(value: number, options?: IProgressBarOptions): any;
pageMoveStep: number;
snap: boolean;
step: number;
}
interface IProgressBarOptionsPartial {
ariaLabel?: string;
ariaLabeledBy?: string;
arrowMoveStep?: number;
className?: string;
disabled?: boolean;
float?: boolean;
getTooltipText?(value: number, options?: IProgressBarOptions): string;
getValueText?(value: number, options?: IProgressBarOptions): string;
initialValue?: number;
max?: number;
min?: number;
onChange?(value: number, options?: IProgressBarOptions): any;
onDragEnd?(value: number, options?: IProgressBarOptions): any;
onDragMove?(value: number, options?: IProgressBarOptions): any;
onDragStart?(value: number, options?: IProgressBarOptions): any;
pageMoveStep?: number;
snap?: boolean;
step?: number;
}
declare class ProgressBar {
private element;
private handleElement;
private trackElement;
private progressElement;
private bufferElement;
private hoverElement;
private valueTooltipElement;
private hoverTooltipElement;
private options;
private value;
private realValue;
private range;
private isDragging;
private isMouseOver;
private isDestroyed;
private elementLeft;
constructor(selectorOrElement: TSelectorOrElement, options: IProgressBarOptionsPartial);
private createElement;
private createElements;
private getClassName;
private handleMouseEnter;
private handleMouseLeave;
private handleDragStart;
private handleDragEnd;
private handleMouseMove;
private handleTouchMove;
private handleDragMove;
private handleKeyDown;
private getValueFromEvent;
private setOptions;
private setAriaProps;
private limitValue;
private includeStep;
private updateTooltip;
private updateValueTooltip;
private updateHoverTooltip;
private updateValue;
private setHoverScale;
private getRealValue;
private unbind;
getValue(): number;
setValue(value: number): void;
setBufferValue(value: number): void;
disable(): void;
enable(): void;
destroy(): void;
}
export default ProgressBar;