UNPKG

asciitorium

Version:
52 lines (51 loc) 1.83 kB
import { Component, ComponentProps } from '../core/Component.js'; import { State } from '../core/State.js'; import { SizeValue } from '../core/types.js'; export interface SliderVariantOptions extends ComponentProps { value: State<number>; min?: number; max?: number; step?: number; readonly?: boolean; } declare abstract class SliderBase extends Component { protected readonly valueState: State<number>; protected readonly min: number; protected readonly max: number; protected readonly step: number; focusable: boolean; hasFocus: boolean; constructor(options: SliderVariantOptions, defaultWidth: SizeValue, defaultHeight: SizeValue); protected clampValue(value: number): number; protected incrementValue(): void; protected decrementValue(): void; protected initializeBuffer(): void; protected drawChar(x: number, y: number, char: string): void; protected calculateNormalizedValue(): number; } export declare class ProgressBarSlider extends SliderBase { constructor(options: SliderVariantOptions); handleEvent(event: string): boolean; draw(): string[][]; } export declare class GaugeSlider extends SliderBase { constructor(options: SliderVariantOptions); handleEvent(event: string): boolean; draw(): string[][]; } export declare class DotSlider extends SliderBase { constructor(options: SliderVariantOptions); handleEvent(event: string): boolean; draw(): string[][]; } export declare class BarSlider extends SliderBase { constructor(options: SliderVariantOptions); handleEvent(event: string): boolean; draw(): string[][]; } export declare class VerticalSlider extends SliderBase { constructor(options: SliderVariantOptions); handleEvent(event: string): boolean; draw(): string[][]; } export {};