@appbuckets/react-ui
Version:
Just Another React UI Framework
35 lines (34 loc) • 1.29 kB
TypeScript
import * as React from 'react';
import { SliderProps as RCSliderProps } from 'rc-slider';
import { FocusHandler, UIVoidComponentProps, VoidHandler } from '../generic';
import { StrictFieldProps } from '../Field';
declare type OverriddenSliderProps =
| 'onBeforeChange'
| 'onBlur'
| 'onChange'
| 'onAfterChange'
| 'onFocus';
export interface SliderProps extends UIVoidComponentProps<StrictSliderProps> {}
export interface StrictSliderProps
extends StrictFieldProps,
Omit<RCSliderProps<number>, OverriddenSliderProps> {
/** Called after slider value change */
onAfterChange?: SliderChangeHandler;
/** Called before slider change */
onBeforeChange?: SliderChangeHandler;
/** Called on slider blur event occurred */
onBlur?: SliderFocusHandler;
/** Called every time slider change */
onChange?: SliderChangeHandler;
/** Called on slider focus event occurred */
onFocus?: SliderFocusHandler;
/** Show Tooltip on Mouse Over, pass a function to format value */
tooltip?: boolean | SliderValueFormatter;
}
export declare type SliderChangeHandler = VoidHandler<SliderProps>;
export declare type SliderFocusHandler = FocusHandler<
HTMLDivElement,
SliderProps
>;
export declare type SliderValueFormatter = (value: number) => React.ReactNode;
export {};