You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
133 lines
4.1 KiB
133 lines
4.1 KiB
/**
|
|
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
*
|
|
* This source code is licensed under the MIT license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*
|
|
* @format
|
|
*/
|
|
|
|
import type * as React from 'react';
|
|
import {Constructor} from '../../../types/private/Utilities';
|
|
import {ImageURISource} from '../../Image/ImageSource';
|
|
import {NativeMethods} from '../../../types/public/ReactNativeTypes';
|
|
import {ColorValue, StyleProp} from '../../StyleSheet/StyleSheet';
|
|
import {ViewStyle} from '../../StyleSheet/StyleSheetTypes';
|
|
import {ViewProps} from '../View/ViewPropTypes';
|
|
|
|
export interface SliderPropsAndroid extends ViewProps {
|
|
/**
|
|
* Color of the foreground switch grip.
|
|
*/
|
|
thumbTintColor?: ColorValue | undefined;
|
|
}
|
|
|
|
export interface SliderPropsIOS extends ViewProps {
|
|
/**
|
|
* Assigns a maximum track image. Only static images are supported.
|
|
* The leftmost pixel of the image will be stretched to fill the track.
|
|
*/
|
|
maximumTrackImage?: ImageURISource | undefined;
|
|
|
|
/**
|
|
* Assigns a minimum track image. Only static images are supported.
|
|
* The rightmost pixel of the image will be stretched to fill the track.
|
|
*/
|
|
minimumTrackImage?: ImageURISource | undefined;
|
|
|
|
/**
|
|
* Sets an image for the thumb. Only static images are supported.
|
|
*/
|
|
thumbImage?: ImageURISource | undefined;
|
|
|
|
/**
|
|
* Assigns a single image for the track. Only static images
|
|
* are supported. The center pixel of the image will be stretched
|
|
* to fill the track.
|
|
*/
|
|
trackImage?: ImageURISource | undefined;
|
|
}
|
|
|
|
export interface SliderProps extends SliderPropsIOS, SliderPropsAndroid {
|
|
/**
|
|
* If true the user won't be able to move the slider.
|
|
* Default value is false.
|
|
*/
|
|
disabled?: boolean | undefined;
|
|
|
|
/**
|
|
* The color used for the track to the right of the button.
|
|
* Overrides the default blue gradient image.
|
|
*/
|
|
maximumTrackTintColor?: ColorValue | undefined;
|
|
|
|
/**
|
|
* Initial maximum value of the slider. Default value is 1.
|
|
*/
|
|
maximumValue?: number | undefined;
|
|
|
|
/**
|
|
* The color used for the track to the left of the button.
|
|
* Overrides the default blue gradient image.
|
|
*/
|
|
minimumTrackTintColor?: ColorValue | undefined;
|
|
|
|
/**
|
|
* Initial minimum value of the slider. Default value is 0.
|
|
*/
|
|
minimumValue?: number | undefined;
|
|
|
|
/**
|
|
* Callback called when the user finishes changing the value (e.g. when the slider is released).
|
|
*/
|
|
onSlidingComplete?: ((value: number) => void) | undefined;
|
|
|
|
/**
|
|
* Callback continuously called while the user is dragging the slider.
|
|
*/
|
|
onValueChange?: ((value: number) => void) | undefined;
|
|
|
|
/**
|
|
* Step value of the slider. The value should be between 0 and (maximumValue - minimumValue). Default value is 0.
|
|
*/
|
|
step?: number | undefined;
|
|
|
|
/**
|
|
* Used to style and layout the Slider. See StyleSheet.js for more info.
|
|
*/
|
|
style?: StyleProp<ViewStyle> | undefined;
|
|
|
|
/**
|
|
* Used to locate this view in UI automation tests.
|
|
*/
|
|
testID?: string | undefined;
|
|
|
|
/**
|
|
* 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, you don't need to update
|
|
* the value during dragging.
|
|
*/
|
|
value?: number | undefined;
|
|
}
|
|
|
|
/**
|
|
* A component used to select a single value from a range of values.
|
|
*/
|
|
declare class SliderComponent extends React.Component<SliderProps> {}
|
|
declare const SliderBase: Constructor<NativeMethods> & typeof SliderComponent;
|
|
/**
|
|
* Slider has been extracted from react-native core and will be removed in a future release.
|
|
* It can now be installed and imported from `@react-native-community/slider` instead of 'react-native'.
|
|
* @see https://github.com/callstack/react-native-slider
|
|
* @deprecated
|
|
*/
|
|
export class Slider extends SliderBase {}
|
|
/** SliderIOS has been removed from react-native.
|
|
* It can now be installed and imported from `@react-native-community/slider` instead of 'react-native'.
|
|
* @see https://github.com/callstack/react-native-slider
|
|
* @deprecated
|
|
*/
|
|
export type SliderIOS = Slider;
|