import { requireNativeViewManager } from 'expo-modules-core'; import React from 'react'; import { getValueOrBinding } from '../../utils/binding'; import { getSizeFromModifiers, mapToNativeModifiers, } from '../../utils/modifiers'; import { onBaseEvent } from '../../utils/onBaseEvent'; import { NativeSliderProps, SliderProps } from './types'; const NativeSlider: React.ComponentType = requireNativeViewManager('Slider'); export function Slider({ value, step = 1, range = [-100, 100], onChange, style, ...modifiers }: SliderProps) { return ( { onBaseEvent(e, modifiers, { onValueChange: (e) => { const newValue = e.nativeEvent.onValueChange; if (typeof value === 'object' && 'setValue' in value) { value.setValue(newValue); } onChange?.(newValue); }, }); }} /> ); }