UNPKG

@gluestack-ui/form-control

Version:

A universal headless form-control component for React Native, Next.js & React

19 lines (18 loc) 818 B
import React, { forwardRef } from 'react'; import { combineContextAndProps } from '@gluestack-ui/utils'; import { useFormControlContext } from './useFormControl'; const FormControlError = (StyledFormControlError) => forwardRef(({ children, ...props }, ref) => { const formControlContext = useFormControlContext(); const combinedProps = combineContextAndProps(formControlContext, props); const { isInvalid, ...remainingProps } = combinedProps; React.useEffect(() => { remainingProps?.setHasFeedbackText(true); return () => { remainingProps?.setHasFeedbackText(false); }; }); return isInvalid && children ? (<StyledFormControlError ref={ref} {...remainingProps}> {children} </StyledFormControlError>) : null; }); export default FormControlError;