import type { GestureReponderEvent, SizeTokens, TamaguiElement } from '@tamagui/core'; import type { SizableStackProps } from '@tamagui/stacks'; export type ScopedProps
= P & {
__scopeSlider?: string;
};
export type Direction = 'ltr' | 'rtl';
type SliderEventProps = {
onSlideStart?: (event: GestureReponderEvent, value: number, target: 'thumb' | 'track') => void;
onSlideMove?: (event: GestureReponderEvent, value: number) => void;
onSlideEnd?: (event: GestureReponderEvent, value: number) => void;
};
type SliderImplPrivateProps = {
onSlideStart(event: GestureReponderEvent, target: 'thumb' | 'track'): void;
onSlideMove(event: GestureReponderEvent): void;
onSlideEnd(event: GestureReponderEvent): void;
onHomeKeyDown(event: React.KeyboardEvent): void;
onEndKeyDown(event: React.KeyboardEvent): void;
onStepKeyDown(event: React.KeyboardEvent): void;
};
export type SliderTrackProps = SizableStackProps;
export interface SliderImplProps extends SliderTrackProps, SliderImplPrivateProps {
dir?: Direction;
orientation: 'horizontal' | 'vertical';
}
type SliderOrientationPrivateProps = {
min: number;
max: number;
onSlideStart?(value: number, target: 'thumb' | 'track', event: GestureReponderEvent): void;
onSlideMove?(value: number, event: GestureReponderEvent): void;
onSlideEnd?(event: GestureReponderEvent, value: number): void;
onHomeKeyDown(event: React.KeyboardEvent): void;
onEndKeyDown(event: React.KeyboardEvent): void;
onStepKeyDown(step: {
event: React.KeyboardEvent;
direction: number;
}): void;
};
interface SliderOrientationProps extends Omit