'use client'; import * as React from 'react'; import { OTPInput, OTPInputContext } from 'input-otp'; import { MinusIcon } from 'lucide-react'; import { cn } from '@gib/ui'; const InputOTP = ({ className, containerClassName, ...props }: React.ComponentProps & { containerClassName?: string; }) => ( ); const InputOTPGroup = ({ className, ...props }: React.ComponentProps<'div'>) => (
); const InputOTPSlot = ({ index, className, ...props }: React.ComponentProps<'div'> & { index: number; }) => { const inputOTPContext = React.useContext(OTPInputContext); const { char, hasFakeCaret, isActive } = inputOTPContext?.slots[index] ?? {}; return (
{char} {hasFakeCaret && (
)}
); }; const InputOTPSeparator = ({ ...props }: React.ComponentProps<'div'>) => (
); export { InputOTP, InputOTPGroup, InputOTPSlot, InputOTPSeparator };