Files
mattermost-mobile/types/modules/react-native-slider.d.ts
Daniel Espino García 1c26f14fdb Add import order lint rules (#5672)
* Add import order lint rules

* Address feedback

* Revert change
2021-09-13 10:18:03 +02:00

134 lines
3.5 KiB
TypeScript

/* eslint-disable header/header */
declare module 'react-native-slider' {
import {ComponentClass} from 'react';
import {
ImageSourcePropType,
SpringAnimationConfig,
StyleProp,
TimingAnimationConfig,
ViewStyle,
} from 'react-native';
interface SliderProps {
/**
* Initial value of the slider. The value should be between minimumValue
* and maximumValue, which default to 0 and 1 respectively.
* Default value is 0.
*
* *This is not a controlled component*, e.g. if you don't update
* the value, the component won't be reset to its inital value.
*/
value?: number;
/**
* If true the user won't be able to move the slider.
* Default value is false.
*/
disabled?: boolean;
/**
* Initial minimum value of the slider. Default value is 0.
*/
minimumValue?: number;
/**
* Initial maximum value of the slider. Default value is 1.
*/
maximumValue?: number;
/**
* Step value of the slider. The value should be between 0 and
* (maximumValue - minimumValue). Default value is 0.
*/
step?: number;
/**
* The color used for the track to the left of the button. Overrides the
* default blue gradient image.
*/
minimumTrackTintColor?: string;
/**
* The color used for the track to the right of the button. Overrides the
* default blue gradient image.
*/
maximumTrackTintColor?: string;
/**
* The color used for the thumb.
*/
thumbTintColor?: string;
/**
* The size of the touch area that allows moving the thumb.
* The touch area has the same center has the visible thumb.
* This allows to have a visually small thumb while still allowing the user
* to move it easily.
* The default is {width: 40, height: 40}.
*/
thumbTouchSize?: { width: number; height: number };
/**
* Callback continuously called while the user is dragging the slider.
*/
onValueChange: (value: number) => void;
/**
* Callback called when the user starts changing the value (e.g. when
* the slider is pressed).
*/
onSlidingStart?: (value: number) => void;
/**
* Callback called when the user finishes changing the value (e.g. when
* the slider is released).
*/
onSlidingComplete?: (value: number) => void;
/**
* The style applied to the slider container.
*/
style?: StyleProp<ViewStyle>;
/**
* The style applied to the track.
*/
trackStyle?: StyleProp<ViewStyle>;
/**
* The style applied to the thumb.
*/
thumbStyle?: StyleProp<ViewStyle>;
/**
* Sets an image for the thumb.
*/
thumbImage?: ImageSourcePropType;
/**
* Set this to true to visually see the thumb touch rect in green.
*/
debugTouchArea?: boolean;
/**
* Set to true to animate values with default 'timing' animation type
*/
animateTransitions?: boolean;
/**
* Custom Animation type. 'spring' or 'timing'.
*/
animationType?: 'spring' | 'timing';
/**
* Used to configure the animation parameters. These are the same parameters in the Animated library.
*/
animationConfig?: SpringAnimationConfig | TimingAnimationConfig;
}
const Slider: ComponentClass<SliderProps>;
export default Slider;
}