import {
forwardRef,
useId,
type HTMLAttributes,
type ForwardedRef,
} from 'react'
import {
getFieldMessageProps,
splitClassNameProp,
} from '@pluralsight/headless-styles'
import type { FieldMessageOptions } from '@pluralsight/headless-styles/types'
import { useFormControl } from '../context/FormControl.tsx'
interface FieldMessageProps
extends FieldMessageOptions,
Omit, 'id'> {}
function FieldMessageEl(
props: FieldMessageProps,
ref: ForwardedRef
) {
const { id, ...nativeProps } = props
const uid = useId()
const { invalid } = useFormControl()
const pandoProps = getFieldMessageProps({
classNames: splitClassNameProp(nativeProps.className),
id: id ?? uid,
})
if (invalid) return null
return
}
export const FieldMessage = forwardRef(
FieldMessageEl
)