TaavUI Lab
Form Primitive

TaavCurrencyInput

این کامپوننت برای ورود مبلغ استفاده می‌شود. عدد به‌صورت سه‌رقمی جدا می‌شود و واحد پول داخل فیلد در سمت راست نمایش داده می‌شود.

import { TaavCurrencyInput } from "@repo/ui/taav/forms";

فقط از props رسمی TaavUI استفاده کنید. unsafeClassName و escape hatchهای مشابه فقط برای موارد نادر هستند و نباید در مثال‌های عادی دیده شوند.

نمای مرجع (RTL)

Screenshot-like demo

مبلغ ثابت قرارداد به ریال

مبلغ پیش‌پرداخت به تومان

استفاده پایه

پیش‌نمایش
<TaavCurrencyInput defaultValue={2500000} currency="rial" />

Controlled

پیش‌نمایشvalue: 2500000

Min / Max

پیش‌نمایش

راهنمای استفاده در DastRanj / VahedYek

  • در حین تایپ، مقادیر خارج از بازه با border خطا مشخص می‌شوند
  • در blur مقدار به min/max محدود می‌شود

States

پیش‌نمایش

Light / Dark

Props

Propنوعپیش‌فرضتوضیح
value / defaultValuenumber | stringمقدار کنترل‌شده یا اولیه
onValueChange(value: number | null) => voidعدد خام بدون جداکننده
currency'rial' | 'toman'rialواحد پول پیش‌فرض
currencyLabelReactNodeجایگزین برچسب واحد
min / maxnumberمحدودیت عددی — clamp در blur
size'sm' | 'md' | 'lg'mdارتفاع کنترل
tone'neutral' | 'success' | 'warning' | 'danger'neutralرنگ مرز
invalidbooleanfalseخطای خارجی یا خارج از بازه
inputMode'numeric' | 'decimal'numericنوع ورودی موبایل
disabled / readOnlybooleanحالت غیرفعال یا فقط خواندنی

Design Specs

Affix colorvar(--taav-input-affix-color)
Radiusvar(--taav-input-radius-xl)
Height lgvar(--taav-input-height-lg)
Invalidvar(--taav-input-focus-ring-danger)

Do / Don't

انجام دهید

  • با TaavFieldBlock برای label و tooltip استفاده کنید
  • onValueChange عدد خام بدون جداکننده برمی‌گرداند

انجام ندهید

  • مبلغ را با suffix دستی روی TaavInput نسازید