UNPKG

@ux-aspects/ux-aspects

Version:

Open source user interface framework for building modern, responsive, mobile big data applications

225 lines (224 loc) 6.39 kB
import { AfterViewInit, DoCheck, ElementRef, EventEmitter, OnInit } from '@angular/core'; import { ColorService } from '../../services/color/index'; import * as i0 from "@angular/core"; export declare class SliderComponent implements OnInit, AfterViewInit, DoCheck { readonly colorService: ColorService; private readonly _changeDetectorRef; /** A single number or a SliderValue object, depending on the slider type specified. */ value: SliderValue | number; /** A set of options to customize the appearance and behavior of the slider. */ set options(options: SliderOptions); /** Whether the slider is disabled. */ set disabled(disabled: boolean); get disabled(): boolean; get options(): SliderOptions; /** Emits when the `value` changes. */ valueChange: EventEmitter<SliderValue | number>; lowerTooltip: ElementRef; upperTooltip: ElementRef; track: ElementRef; private _value; private _disabled; _options: SliderOptions; sliderType: typeof SliderType; sliderStyle: typeof SliderStyle; sliderSize: typeof SliderSize; sliderSnap: typeof SliderSnap; sliderThumb: typeof SliderThumb; sliderTickType: typeof SliderTickType; sliderThumbEvent: typeof SliderThumbEvent; sliderCalloutTrigger: typeof SliderCalloutTrigger; tracks: { lower: { size: number; color: string; }; middle: { size: number; color: string; }; upper: { size: number; color: string; }; }; tooltips: { lower: { visible: boolean; position: number; label: string; }; upper: { visible: boolean; position: number; label: string; }; }; thumbs: { lower: { hover: boolean; drag: boolean; position: number; order: number; value: number; }; upper: { hover: boolean; drag: boolean; position: number; order: number; value: number; }; }; ticks: SliderTick[]; defaultOptions: SliderOptions; constructor(); ngOnInit(): void; ngDoCheck(): void; ngAfterViewInit(): void; snapToNearestTick(thumb: SliderThumb, snapTarget: SliderSnap, forwards: boolean): void; snapToEnd(thumb: SliderThumb, forwards: boolean): void; getThumbValue(thumb: SliderThumb): number; getFormattedValue(thumb: SliderThumb): string | number; private getThumbState; private setThumbState; thumbEvent(thumb: SliderThumb, event: SliderThumbEvent): void; getAriaValueText(thumb: SliderThumb): string | number; private updateTooltips; private updateTooltipText; private getTooltipElement; private getTooltip; private updateTooltipPosition; private preventTooltipOverlap; private clamp; updateThumbPosition(event: MouseEvent | TouchEvent, thumb: SliderThumb): void; private updateOrderOnDrag; private updateOrder; private getTickDistances; private snapToTick; private validateValue; private updateOptions; private updateValues; private setValue; private setThumbValue; private updateTicks; private updateTrackColors; /** Map the color value to the correct CSS color value */ private getTrackColorStyle; private getSteps; private getTicks; private unionTicks; private deepMerge; private detectValueChange; /** * Determines whether or not an object conforms to the * SliderValue interface. * @param value - The object to check - this must be type any */ private isSliderValue; private clone; static ngAcceptInputType_disabled: boolean | string; static ɵfac: i0.ɵɵFactoryDeclaration<SliderComponent, never>; static ɵcmp: i0.ɵɵComponentDeclaration<SliderComponent, "ux-slider", never, { "value": { "alias": "value"; "required": false; }; "options": { "alias": "options"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, { "valueChange": "valueChange"; }, never, never, false, never>; } export declare enum SliderType { Value = 0, Range = 1 } export declare enum SliderStyle { Button = 0, Line = 1 } export declare enum SliderSize { Narrow = 0, Wide = 1 } export declare enum SliderCalloutTrigger { None = 0, Hover = 1, Drag = 2, Persistent = 3, Dynamic = 4 } export interface SliderValue { low: number; high: number; } export declare enum SliderSnap { None = 0, Minor = 1, Major = 2, All = 3 } export declare enum SliderTickType { Minor = 0, Major = 1 } export interface SliderOptions { type?: SliderType; handles?: SliderHandleOptions; track?: SliderTrackOptions; } export interface SliderHandleOptions { style?: SliderStyle; callout?: SliderCallout; keyboard?: SliderKeyboardOptions; aria?: SliderAriaOptions; } export interface SliderAriaOptions { thumb?: string; lowerThumb?: string; upperThumb?: string; } export interface SliderKeyboardOptions { major?: number; minor?: number; } export interface SliderTrackOptions { height?: SliderSize; min?: number; max?: number; ticks?: SliderTicksOptions; colors?: SliderTrackColors; } export interface SliderTicksOptions { snap?: SliderSnap; major?: SliderTickOptions; minor?: SliderTickOptions; } export interface SliderTickOptions { show?: boolean; steps?: number | number[]; labels?: boolean; formatter?: (value: number) => string | number; } export interface SliderTick { showTicks: boolean; showLabels: boolean; type: SliderTickType; position: number; value: number; label: string | number; } export interface SliderTrackColors { lower?: string | string[]; range?: string | string[]; higher?: string | string[]; } export interface SliderCallout { trigger?: SliderCalloutTrigger; background?: string; color?: string; formatter?: (value: number) => string | number; } export declare enum SliderThumbEvent { None = 0, MouseOver = 1, MouseLeave = 2, DragStart = 3, DragEnd = 4 } export declare enum SliderThumb { Lower = 0, Upper = 1 }