{ "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "input-otp", "dependencies": [ "input-otp", "lucide-react" ], "registryDependencies": [ "utils" ], "files": [ { "path": "registry/new-york-v4/ui/input-otp.tsx", "content": "import * as React from \"react\";\nimport { OTPInput, OTPInputContext } from \"input-otp\";\n\nimport { cn } from \"@/lib/utils\";\nimport { MinusIcon } from \"lucide-react\";\n\nfunction InputOTP({\n className,\n containerClassName,\n ...props\n}: React.ComponentProps & {\n containerClassName?: string;\n}) {\n return (\n \n );\n}\n\nfunction InputOTPGroup({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n \n );\n}\n\nfunction InputOTPSlot({\n index,\n className,\n ...props\n}: React.ComponentProps<\"div\"> & {\n index: number;\n}) {\n const inputOTPContext = React.useContext(OTPInputContext);\n const { char, hasFakeCaret, isActive } = inputOTPContext?.slots[index] ?? {};\n\n return (\n \n {char}\n {hasFakeCaret && (\n
\n
\n
\n )}\n
\n );\n}\n\nfunction InputOTPSeparator({ ...props }: React.ComponentProps<\"div\">) {\n return (\n \n \n \n );\n}\n\nexport { InputOTP, InputOTPGroup, InputOTPSlot, InputOTPSeparator };\n", "type": "registry:ui" } ], "type": "registry:ui" }