deno.land / x / netzo@0.5.16 / components / input-otp.tsx

نووسراو ببینە
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
// @deno-types="npm:@types/react@18.2.60"import * as React from "react";
import { OTPInput, SlotProps } from "../deps/input-otp.ts";
import { cn } from "./utils.ts";
const InputOTP = React.forwardRef< React.ElementRef<typeof OTPInput>, React.ComponentPropsWithoutRef<typeof OTPInput>>(({ className, ...props }, ref) => ( <OTPInput ref={ref} containerClassName={cn("flex items-center gap-2", className)} {...props} />));InputOTP.displayName = "InputOTP";
const InputOTPGroup = React.forwardRef< React.ElementRef<"div">, React.ComponentPropsWithoutRef<"div">>(({ className, ...props }, ref) => ( <div ref={ref} className={cn("flex items-center", className)} {...props} />));InputOTPGroup.displayName = "InputOTPGroup";
const InputOTPSlot = React.forwardRef< React.ElementRef<"div">, SlotProps & React.ComponentPropsWithoutRef<"div">>(({ char, hasFakeCaret, isActive, className, ...props }, ref) => { return ( <div ref={ref} className={cn( "relative flex h-9 w-9 items-center justify-center border-y border-r border-input text-sm shadow-sm transition-all first:rounded-l-md first:border-l last:rounded-r-md", isActive && "z-10 ring-1 ring-ring", className, )} {...props} > {char} {hasFakeCaret && ( <div className="pointer-events-none absolute inset-0 flex items-center justify-center"> <div className="animate-caret-blink h-4 w-px bg-foreground duration-1000" /> </div> )} </div> );});InputOTPSlot.displayName = "InputOTPSlot";
const InputOTPSeparator = React.forwardRef< React.ElementRef<"div">, React.ComponentPropsWithoutRef<"div">>(({ ...props }, ref) => ( <div ref={ref} role="separator" {...props}> <i className="mdi-minus" /> </div>));InputOTPSeparator.displayName = "InputOTPSeparator";
export { InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot };
netzo

Version Info

Tagged at
3 weeks ago