'use client'; import React from 'react'; import { Switch as RNSwitch } from 'react-native'; import { createSwitch } from '@gluestack-ui/switch'; import { tva } from '@gluestack-ui/nativewind-utils/tva'; import { withStyleContext } from '@gluestack-ui/nativewind-utils/withStyleContext'; import type { VariantProps } from '@gluestack-ui/nativewind-utils'; const UISwitch = createSwitch({ Root: withStyleContext(RNSwitch), }); const switchStyle = tva({ base: 'data-[focus=true]:outline-0 data-[focus=true]:ring-2 data-[focus=true]:ring-indicator-primary web:cursor-pointer disabled:cursor-not-allowed data-[disabled=true]:opacity-40 data-[invalid=true]:border-error-700 data-[invalid=true]:rounded-xl data-[invalid=true]:border-2', variants: { size: { sm: 'scale-75', md: '', lg: 'scale-125', }, }, }); type ISwitchProps = React.ComponentProps & VariantProps; const Switch = React.forwardRef< React.ComponentRef, ISwitchProps >(function Switch({ className, size = 'md', ...props }, ref) { return ( ); }); Switch.displayName = 'Switch'; export { Switch };