پلاک خودرو
plate-inputکامپوننتپلاک خودرو با چیدمان واقعی (دو رقم، حرف، سه رقم و کد شهر)، انتخاب حرف از فهرست با معنی هر حرف و تایپ پیوسته بین جعبهها.
نصب
با CLI
اگر هنوز init نکردید، اول از راهنمای نصب پروژه را آماده کنید. بعد این دستور کامپوننت و وابستگیهاش را مینویسه.
$ npx vibefarsi add plate-inputنصب دستی
محتوای تب «کد» را در
components/ui/plate-input.tsxبگذارید.$ npm i lucide-reactکپی کل فایلregistry json
استفاده
usage.tsx
1import { PlateInput } from "@/components/ui/plate-input"2import { stringifyPlate } from "@/lib/persian"34<PlateInput onChange={(plate, complete) => complete && setPlate(stringifyPlate(plate))} />56// فقط تاکسی:7<PlateInput letters={["ت"]} />پراپها
| پراپ | نوع | پیشفرض | توضیح |
|---|---|---|---|
| value / defaultValue | PlateValue | - | { left, letter, middle, region } با رقمهای لاتین. |
| onChange | (value, complete) => void | - | complete وقتی هر چهار بخش پر و حرف مجاز باشه. |
| letters | string[] | - | محدود کردن حرفهای مجاز، مثلاً ["ت"] برای تاکسی. |
| name | string | - | ورودی مخفی با مقدار «12ب345-11» برای فرم معمولی. |
نکتههای راستچین
- خود پلاک dir="ltr" هست چون روی فلز از چپ خوانده میشه، ولی فهرست حرفها rtl هست و کلیدهای چپ و راست در آن برعکس میشن.
- تایپ حرف روی جعبهی حرف هم کار میکنه و ي و ك عربی به ی و ک، و «ا» به «الف» تبدیل میشه.
- پیست کردن کل پلاک در جعبهی اول همهی بخشها را پر میکنه.