primeng
Version:
PrimeNG is an open source UI library for Angular featuring a rich set of 80+ components, a theme designer, various theme alternatives such as Material, Bootstrap, Tailwind, premium templates and professional support. In addition, it integrates with PrimeB
171 lines (170 loc) • 6.62 kB
TypeScript
import { ElementRef, EventEmitter, OnDestroy } from '@angular/core';
import { ControlValueAccessor } from '@angular/forms';
import { BaseComponent } from 'primeng/basecomponent';
import { Nullable, VoidListener } from 'primeng/ts-helpers';
import { SliderChangeEvent, SliderSlideEndEvent } from './slider.interface';
import { SliderStyle } from './style/sliderstyle';
import * as i0 from "@angular/core";
import * as i1 from "primeng/api";
export declare const SLIDER_VALUE_ACCESSOR: any;
/**
* Slider is a component to provide input with a drag handle.
* @group Components
*/
export declare class Slider extends BaseComponent implements OnDestroy, ControlValueAccessor {
/**
* When enabled, displays an animation on click of the slider bar.
* @group Props
*/
animate: boolean | undefined;
/**
* When present, it specifies that the element should be disabled.
* @group Props
*/
disabled: boolean | undefined;
/**
* Mininum boundary value.
* @group Props
*/
min: number;
/**
* Maximum boundary value.
* @group Props
*/
max: number;
/**
* Orientation of the slider.
* @group Props
*/
orientation: 'horizontal' | 'vertical';
/**
* Step factor to increment/decrement the value.
* @group Props
*/
step: number | undefined;
/**
* When specified, allows two boundary values to be picked.
* @group Props
*/
range: boolean | undefined;
/**
* Inline style of the component.
* @group Props
*/
style: {
[klass: string]: any;
} | null | undefined;
/**
* Style class of the component.
* @group Props
*/
styleClass: string | undefined;
/**
* Defines a string that labels the input for accessibility.
* @group Props
*/
ariaLabel: string | undefined;
/**
* Establishes relationships between the component and label(s) where its value should be one or more element IDs.
* @group Props
*/
ariaLabelledBy: string | undefined;
/**
* Index of the element in tabbing order.
* @group Props
*/
tabindex: number;
/**
* When present, it specifies that the component should automatically get focus on load.
* @group Props
*/
autofocus: boolean | undefined;
/**
* Callback to invoke on value change.
* @param {SliderChangeEvent} event - Custom value change event.
* @group Emits
*/
onChange: EventEmitter<SliderChangeEvent>;
/**
* Callback to invoke when slide ended.
* @param {SliderSlideEndEvent} event - Custom slide end event.
* @group Emits
*/
onSlideEnd: EventEmitter<SliderSlideEndEvent>;
sliderHandle: Nullable<ElementRef>;
sliderHandleStart: Nullable<ElementRef>;
sliderHandleEnd: Nullable<ElementRef>;
_componentStyle: SliderStyle;
value: Nullable<number>;
values: Nullable<number[]>;
handleValue: Nullable<number>;
handleValues: number[];
diff: Nullable<number>;
offset: Nullable<number>;
bottom: Nullable<number>;
onModelChange: Function;
onModelTouched: Function;
dragging: Nullable<boolean>;
dragListener: VoidListener;
mouseupListener: VoidListener;
initX: Nullable<number>;
initY: Nullable<number>;
barWidth: Nullable<number>;
barHeight: Nullable<number>;
sliderHandleClick: Nullable<boolean>;
handleIndex: number;
startHandleValue: any;
startx: Nullable<number>;
starty: Nullable<number>;
private ngZone;
onMouseDown(event: Event, index?: number): void;
onDragStart(event: TouchEvent, index?: number): void;
onDrag(event: TouchEvent): void;
onDragEnd(event: TouchEvent): void;
onBarClick(event: Event): void;
onKeyDown(event: any, index?: any): void;
decrementValue(event: any, index: any, pageKey?: boolean): void;
incrementValue(event: any, index: any, pageKey?: boolean): void;
handleChange(event: Event): void;
bindDragListeners(): void;
unbindDragListeners(): void;
setValueFromHandle(event: Event, handleValue: any): void;
handleStepChange(newValue: number, oldValue: number): void;
writeValue(value: any): void;
registerOnChange(fn: Function): void;
registerOnTouched(fn: Function): void;
setDisabledState(val: boolean): void;
get rangeStartLeft(): string;
get rangeStartBottom(): string;
get rangeEndLeft(): string;
get rangeEndBottom(): string;
isVertical(): boolean;
updateDomData(): void;
calculateHandleValue(event: Event): number;
updateHandleValue(): void;
updateDiffAndOffset(): void;
getDiff(): number;
getOffset(): number;
updateValue(val: number, event?: Event): void;
getValueFromHandle(handleValue: number): number;
getDecimalsCount(value: number): number;
getNormalizedValue(val: number): number;
ngOnDestroy(): void;
get minVal(): number;
get maxVal(): number;
static ɵfac: i0.ɵɵFactoryDeclaration<Slider, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<Slider, "p-slider", never, { "animate": { "alias": "animate"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "min": { "alias": "min"; "required": false; }; "max": { "alias": "max"; "required": false; }; "orientation": { "alias": "orientation"; "required": false; }; "step": { "alias": "step"; "required": false; }; "range": { "alias": "range"; "required": false; }; "style": { "alias": "style"; "required": false; }; "styleClass": { "alias": "styleClass"; "required": false; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "ariaLabelledBy": { "alias": "ariaLabelledBy"; "required": false; }; "tabindex": { "alias": "tabindex"; "required": false; }; "autofocus": { "alias": "autofocus"; "required": false; }; }, { "onChange": "onChange"; "onSlideEnd": "onSlideEnd"; }, never, never, true, never>;
static ngAcceptInputType_animate: unknown;
static ngAcceptInputType_disabled: unknown;
static ngAcceptInputType_min: unknown;
static ngAcceptInputType_max: unknown;
static ngAcceptInputType_step: unknown;
static ngAcceptInputType_range: unknown;
static ngAcceptInputType_tabindex: unknown;
static ngAcceptInputType_autofocus: unknown;
}
export declare class SliderModule {
static ɵfac: i0.ɵɵFactoryDeclaration<SliderModule, never>;
static ɵmod: i0.ɵɵNgModuleDeclaration<SliderModule, never, [typeof Slider, typeof i1.SharedModule], [typeof Slider, typeof i1.SharedModule]>;
static ɵinj: i0.ɵɵInjectorDeclaration<SliderModule>;
}