'use client'; import * as React from 'react'; import { DashIcon } from '@radix-ui/react-icons'; import { OTPInput, OTPInputContext } from 'input-otp'; import { cn } from '../lib/utils'; const InputOTP: React.FC> = ({ className, containerClassName, ...props }) => ( ); InputOTP.displayName = 'InputOTP'; const InputOTPGroup: React.FC> = ({ className, ...props }) =>
; InputOTPGroup.displayName = 'InputOTPGroup'; const InputOTPSlot: React.FC< React.ComponentPropsWithRef<'div'> & { index: number } > = ({ index, className, ...props }) => { const inputOTPContext = React.useContext(OTPInputContext); const slot = inputOTPContext.slots[index]; if (!slot) { return null; } const { char, isActive, hasFakeCaret } = slot; return (
{char} {hasFakeCaret && (
)}
); }; InputOTPSlot.displayName = 'InputOTPSlot'; const InputOTPSeparator: React.FC> = ({ ...props }) => (
); InputOTPSeparator.displayName = 'InputOTPSeparator'; export { InputOTP, InputOTPGroup, InputOTPSlot, InputOTPSeparator };