پلاک خودرو

plate-inputکامپوننت

پلاک خودرو با چیدمان واقعی (دو رقم، حرف، سه رقم و کد شهر)، انتخاب حرف از فهرست با معنی هر حرف و تایپ پیوسته بین جعبه‌ها.

نصب

  1. با CLI

    اگر هنوز init نکردید، اول از راهنمای نصب پروژه را آماده کنید. بعد این دستور کامپوننت و وابستگی‌هاش را می‌نویسه.

    $ npx vibefarsi add plate-input
  2. نصب دستی

    محتوای تب «کد» را در 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 / defaultValuePlateValue-{ left, letter, middle, region } با رقم‌های لاتین.
onChange(value, complete) => void-complete وقتی هر چهار بخش پر و حرف مجاز باشه.
lettersstring[]-محدود کردن حرف‌های مجاز، مثلاً ["ت"] برای تاکسی.
namestring-ورودی مخفی با مقدار «12ب345-11» برای فرم معمولی.

نکته‌های راست‌چین

  • خود پلاک dir="ltr" هست چون روی فلز از چپ خوانده میشه، ولی فهرست حرف‌ها rtl هست و کلیدهای چپ و راست در آن برعکس میشن.
  • تایپ حرف روی جعبه‌ی حرف هم کار می‌کنه و ي و ك عربی به ی و ک، و «ا» به «الف» تبدیل میشه.
  • پیست کردن کل پلاک در جعبه‌ی اول همه‌ی بخش‌ها را پر می‌کنه.