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 { NativeToggleProps, ToggleProps } from './types'; const NativeToggle: React.ComponentType = requireNativeViewManager('Toggle'); export function Toggle({ isOn, onChange, style, title, ...modifiers }: ToggleProps) { return ( { onBaseEvent(e, modifiers, { onValueChange: (e) => { if (typeof isOn === 'object' && 'setValue' in isOn) { isOn.setValue(e.nativeEvent.onValueChange); } onChange?.(e.nativeEvent.onValueChange); }, }); }} /> ); } Toggle.displayName = 'SwiftUIToggle';