# Form Masked Inputs

Checkout form with a card and expiry validation.

- id: `form-masked-inputs`
- Page: https://agentic-ui-kit.com/components/form-masked-inputs
- Live preview: https://agentic-ui-kit.com/live/component/form-masked-inputs

## Install

```bash
agentic-ui add form-masked-inputs
npx shadcn@4.17.0 add @agentic-ui/form-masked-inputs
```

## Metadata

- **Level:** block
- **Category:** block
- **Installable in:** Radix UI (registry variant new-york)
- **Capabilities:** currency-masking, country-aware-phone, iban-mod97-validation, card-brand-detection, luhn-validation, fixed-clock-expiry, time-masking, canonical-export, keyboard-navigation
- **Intents:** create-edit, execute-flow
- **Suits domains:** payments, finance, ecommerce, saas
- **Interaction:** text-entry, keyboard-navigation, dropdown-selection, clearable
- **Screen role:** management
- **Density:** medium
- **Dark mode:** yes
- **Use it for:** checkout form with a card and expiry validation, international bank transfers with IBAN Mod-97 validation, international customer registration with phone and country code, onboarding bank accounts and recurring payments in SaaS platforms
- **Avoid when:** unstructured free-text fields, forms that need no real-time formatting or validation
- **Preserve when adapting:** input-grammar, validation-logic, canonical-output-model, keyboard-accessibility
- **Replace when adapting:** domain-copy, default-countries, currency-locale
- **Adaptation effort:** low
- **Coupling:** low
- **Quality breakdown:** visual 9/10, responsive 9/10, accessibility 9/10, code 9/10
- **Uses primitives:** button, input, label, card, badge, popover, tabs, switch, separator
- **npm dependencies:** lucide-react
- **npm dependencies (registry):** lucide-react@0.577.0
- **Registry dependencies:** lib-primitives
