quarkd
Version:
Mobile UI Components built on Web Components.
93 lines (92 loc) • 2.64 kB
TypeScript
import { QuarkElement } from "quarkc";
declare type NumberRange = [number, number];
declare type SliderValue = number | NumberRange;
export interface Props {
value?: SliderValue;
min?: number;
max?: number;
step?: number;
disabled?: boolean;
readonly?: boolean;
vertical?: boolean;
range?: boolean;
barHeight?: number;
buttonSize?: number;
activeColor?: string;
inactiveColor?: string;
reverse?: boolean;
}
export interface CustomEvent {
change?: (e: {
detail: {
value: SliderValue;
};
}) => void;
dragstart?: (e: {
detail: {
event: TouchEvent | MouseEvent;
};
}) => void;
dragend?: (e: {
detail: {
value: SliderValue;
event: TouchEvent | MouseEvent;
};
}) => void;
}
declare class QuarkSlider extends QuarkElement {
min: number;
max: number;
step: number;
range: boolean;
reverse: boolean;
disabled: boolean;
readonly: boolean;
vertical: boolean;
barHeight: number;
buttonSize: number;
activeColor: string;
inactiveColor: string;
value: SliderValue;
innerValue: SliderValue;
dragStatus: "start" | "dragging" | "";
buttonIndex: 0 | 1;
current: SliderValue;
startValue: SliderValue;
startX: number;
startY: number;
deltaX: number;
deltaY: number;
rootRef: any;
button0Ref: any;
button1Ref: any;
get scope(): number;
isRange(val: unknown): val is NumberRange;
calcMainAxis(): string;
calcOffset(): string;
format(value: number): number;
updateStartValue(): void;
handleRangeValue(value: NumberRange): NumberRange;
isSameValue(newValue: SliderValue, oldValue: SliderValue): boolean;
updateValue(value: SliderValue, end?: boolean): void;
setValue(value: SliderValue): void;
getValue(): SliderValue;
componentDidMount(): void;
parseValue(val: any): SliderValue | null;
initValue(): void;
componentWillUnmount(): void;
handleClick: (event: MouseEvent) => void;
handleTouchStart: (event: TouchEvent, index?: 0 | 1) => void;
handleTouchMove: (event: TouchEvent) => void;
handleTouchEnd: (event: TouchEvent) => void;
handleMouseDown: (event: MouseEvent, index?: 0 | 1) => void;
handleMouseMove: (event: MouseEvent) => void;
handleMouseUp: (event: MouseEvent) => void;
getWrapperStyle(): string;
getBarStyle(): string;
getButtonStyle(): string;
getButtonClassName(index?: 0 | 1): string;
renderButton(index?: 0 | 1): any;
render(): any;
}
export default QuarkSlider;