CodeCells — خانههای کد
برای کدهای کوتاه و ثابت است: کد تأیید پیامکی (OTP)، کد جفتسازی دستگاه، کد بازیابی. هر کاراکتر خانهٔ خودش را دارد تا خواندن و تایپ راحت باشد. کامپوننت جدای OTP نداریم؛ کپی کد همان نقش را با کپی کد انجام میدهد.
وضعیت: beta · لایه: ۳ (کپی کد) · کد: کپی کد
import { CodeCells } from '@tokapps/tuk';نمونهٔ زنده
کد قابل کپی
کد تأیید پیامکی ششرقمی
import { CodeCells } from '@tokapps/tuk';<CodeCells label="کد تأیید" length={6} onComplete={(code) => verify(code)} />کد جفتسازی با حروف فارسی
<CodeCells label="کد جفتسازی" length={6} alphabet="persian" value={code} onValueChange={setCode} />نمایش کد (فقط خواندنی)
<CodeCells label="کد نمایشی" length={6} alphabet="persian" value="۴ب۷ه۲م" readOnly />کد خطادار
<CodeCells name="otp" label="کد تأیید" length={6} isInvalid={wrongCode} autoFocus onValueChange={setCode}/>همهٔ پیکربندیها
| پراپ | نوع | پیشفرض | توضیح |
|---|---|---|---|
| کپی کد | کپی کد | — | الزامی؛ نام گروه برای صفحهخوان. قابلمشاهده است یا نه، باید نام معنادار باشد. |
| کپی کد | کپی کد | کپی کد | تعداد خانه؛ هر خانه یک کاراکتر. |
| کپی کد | کپی کد · کپی کد | کپی کد | کپی کد: ۰ تا ۹ لاتین. کپی کد: ارقام فارسی و حروف فارسی بدون حروف مشابه. |
| کپی کد | کپی کد | — | مقدار کنترلشده. |
| کپی کد | کپی کد | کپی کد | مقدار اولیه (غیرکنترلشده). |
| کپی کد | کپی کد | — | با هر تغییر. |
| کپی کد | کپی کد | — | وقتی همهٔ خانهها پر شد. |
| کپی کد | کپی کد | کپی کد | حالت خطا روی همهٔ خانهها. |
| کپی کد | کپی کد | کپی کد | غیرفعال. |
| کپی کد | کپی کد | کپی کد | فقط نمایش؛ مثلاً کدی که باید در دستگاه دیگر وارد شود. |
| کپی کد | کپی کد | کپی کد | فوکوس اولین خانه هنگام نمایش. |
| کپی کد | کپی کد | — | نام فیلد در فرم. |
ورودی هر کاربر به الفبای استاندارد تبدیل میشود: ارقام عربی و کپی کد/کپی کد عربی به فارسی؛ کاراکترهای خارج از الفبا حذف میشوند.
حالتها
| حالت | نمایش |
|---|---|
| خالی | خانهها خالی با حاشیهٔ ملایم |
| فوکوس | خانهٔ فعال با حلقهٔ فوکوس |
| پر | کاراکتر بزرگ در هر خانه |
| کپی کد | حاشیهٔ خطا روی همهٔ خانهها و کپی کد؛ پیام خطا را خودتان زیر فیلد نشان دهید |
| کپی کد / کپی کد | کدری یا فقط نمایش |
RTL و کیبورد
- گروه همیشه کپی کد است تا ترتیب کد در صفحهٔ فارسی هم ثابت بماند؛ برچسب و توضیح اطراف آن همجهت صفحهاند.
- تایپ یک کاراکتر، پرش به خانهٔ بعد؛ کپی کد به عقب؛ فلشها بین خانهها.
- چسباندن کل کد (مثلاً از پیامک) همهجا را پر میکند و کپی کد را صدا میزند.
- گروه با کپی کد و کپی کد خوانده میشود؛ هر خانه بهشکل «برچسب: ۱ از ۶» اعلام میشود. خانهٔ اول کپی کد دارد تا iOS و Android کد پیامک را پیشنهاد دهند.
صدا، حرکت، چاپ
- صدا: این کامپوننت صدای داخلی ندارد؛ برای بازخورد صوتی، کپی کد را به رویداد خودتان وصل کنید.
- حرکت: فقط گذار حاشیه؛ در کاهش حرکت بدون انیمیشن.
- چاپ: خانهها با حاشیهٔ ساده چاپ میشوند.
توکنها
- کامپوننتی: کپی کد (اندازهٔ خانه)، کپی کد، کپی کد، کپی کد، کپی کد.
- تعریف در کپی کد؛ فهرست کامل در کپی کد.
نکات
- برای کد پیامکی، کپی کد را فقط وقتی فراخوانی کنید که سرور پاسخ دهد؛ بعد از چند تلاش ناموفق، فیلد را قفل کنید.
- برای کد طولانی یا متن آزاد از Input استفاده کنید.