{ "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "input-otp", "title": "Input OTP", "description": "Segmented one-time-code input for MFA challenge and enrollment forms.", "dependencies": ["input-otp@^1.4.2"], "registryDependencies": ["askyourpolicy/ss-registry/stitch-base"], "files": [ { "path": "src/components/ui/input-otp.tsx", "content": "\"use client\";\n\nimport { MinusIcon } from \"@phosphor-icons/react\";\nimport * as React from \"react\";\nimport { OTPInput, OTPInputContext } from \"input-otp\";\n\nimport { cn } from \"@/lib/utils\";\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, InputOTPSeparator, InputOTPSlot };\n", "type": "registry:ui" } ], "type": "registry:ui" }