ابزارهای فارسی (persian)

چیزی که یک دیزاین سیستم را واقعاً «فارسی» می‌کند فقط چیدمان راست‌به‌چپ نیست: ارقام فارسی، تقویم جلالی و قالب مبلغ تومانی هم لازم‌اند. این ماژول همهٔ این‌ها را بدون هیچ وابستگی خارجی و بر پایهٔ Intl فراهم می‌کند.

formatNumber(1234567)۱٬۲۳۴٬۵۶۷
formatCurrency(12500000)۱۲٬۵۰۰٬۰۰۰ تومان
formatPercent(0.125, 1)۱۲٫۵٪
formatJalali(date)۴ مرداد ۱۴۰۵
formatJalali(date, 'full')۱۴۰۵ مرداد ۴, یکشنبه
formatRelativeTime(dayAgo)دیروز
toFaDigits('0912-345')۰۹۱۲-۳۴۵

این نمونه هنوز برای Vue پورت نشده است؛ آنچه می‌بینید نسخهٔ ری‌اکت است.

این نمونه هنوز برای Svelte پورت نشده است؛ آنچه می‌بینید نسخهٔ ری‌اکت است.

این نمونه هنوز برای Angular پورت نشده است؛ آنچه می‌بینید نسخهٔ ری‌اکت است.

نصب

npx dig-ui@latest add https://design-system-tau-green.vercel.app/r/persian.json

این دستور فایل src/lib/persian.ts را به پروژهٔ شما اضافه می‌کند؛ بدون هیچ وابستگی npm جدید.

مرجع API

ویژگینوعپیش‌فرضتوضیح
toFaDigits(value)(string | number) => stringتبدیل ارقام لاتین و عربی به ارقام فارسی.
toEnDigits(value)(string) => stringتبدیل ارقام فارسی/عربی ورودی کاربر به لاتین برای پردازش.
formatNumber(value, options?)(number, Intl.NumberFormatOptions?) => stringقالب‌بندی عدد با جداکنندهٔ هزارگان فارسی.
formatPercent(value, digits?)(number, number?) => stringقالب‌بندی درصد؛ ورودی بین ۰ و ۱.
formatCurrency(value, unit?)(number, "toman" | "rial"?) => stringقالب‌بندی مبلغ به تومان (پیش‌فرض) یا ریال.
formatJalali(date, format?)(Date, "full" | "long" | "medium" | "short"?) => stringتاریخ جلالی با Intl و تقویم persian.
formatJalaliDateTime(date)(Date) => stringتاریخ و ساعت جلالی.
formatRelativeTime(date, base?)(Date, Date?) => stringزمان نسبی فارسی مانند «۳ روز پیش».