Domain UI
USA

SSN Input

An input component for USA Social Security Numbers with real-time validation.

Demo

"use client";

import { useState } from "react";
import { SsnInput } from "@/components/domain-ui/usa/ssn-input";
import { cn } from "@/lib/utils";
import type { ValidationStatusType } from "@/hooks/use-simple-regex";

export default function SsnInputDemo() {
  const [validationStatus, setValidationStatus] =
    useState<ValidationStatusType>("invalid");

  return (
    <div className="max-w-xs sm:w-full md:max-w-sm">
      <SsnInput
        placeholder="Enter SSN (e.g., 123-45-6789)"
        onValidation={setValidationStatus}
        className={cn({
          "border-green-500 focus-visible:ring-green-500":
            validationStatus === "valid",
          "border-destructive focus-visible:ring-destructive":
            validationStatus === "invalid",
        })}
      />
    </div>
  );
}

Installation

CLI

pnpm dlx shadcn@latest add https://domain-ui.dev/r/usa-ssn-input.json
npx shadcn@latest add https://domain-ui.dev/r/usa-ssn-input.json
npx shadcn@latest add https://domain-ui.dev/r/usa-ssn-input.json
bunx --bun shadcn@latest add https://domain-ui.dev/r/usa-ssn-input.json

Manual

Copy and paste the following code into your project:

Loading registry files...

Last updated on