"use client" /* eslint-disable no-restricted-syntax */ import type { ComponentPropsWithoutRef, ReactNode } from "react" import { type As, type InputOtpProps, type MergeWithAs, InputOtp } from "@heroui/react" import type { Field } from "soda-tanstack-form" import { getFieldProps } from "../utils/getFieldProps" export type FormInputOtpProps = MergeWithAs< ComponentPropsWithoutRef<"input">, ComponentPropsWithoutRef, InputOtpProps, AsComponent > & { field: Field component?: ( props: MergeWithAs, ComponentPropsWithoutRef, InputOtpProps, AsComponent>, ) => ReactNode } export function FormInputOtp({ field, component: InputOtp2 = InputOtp, ...rest }: FormInputOtpProps): ReactNode { return ( value={field.state.value ?? ""} onValueChange={field.handleChange as (value: string) => void} {...getFieldProps(field)} {...rest} /> ) }