Input — ورودی متن
فیلد ورودی متن مبتنی بر کپی کد از react-aria-components است. رفتار، فوکوس و ارتباط برچسب و خطا از React Aria میآید؛ ظاهر فقط با توکنها و صفتهای کپی کد تعیین میشود. برای متن چندخطی همین کامپوننت با کپی کد کار میکند؛ جدا از آن فیلد textarea نداریم.
وضعیت: beta · لایه: ۳ (کپی کد) · کد: کپی کد
import { Input } from '@tokapps/tuk';نمونهٔ زنده
همهٔ نمونهها زندهاند؛ ورودیها را لمس کنید، از آنها خارج شوید و حالتهای خطا، فقطخواندنی و بارگذاری را ببینید.
کد قابل کپی
فیلد ساده با توضیح
import { Input } from '@tokapps/tuk';export function NameField() { return <Input label="نام و نام خانوادگی" description="همانطور که در کارت ملی آمده" isRequired />;}ایمیل با اعتبارسنجی
<Input type="email" label="ایمیل" placeholder="name@example.com" isInvalid={!isValidEmail(email)} errorMessage="نشانی ایمیل معتبر نیست" value={email} onChange={setEmail}/>متن چندخطی
<Input multiline rows={4} label="شرح ایده" /><Input multiline autosize rows={2} maxRows={6} label="شرح ایده" /><Input multiline rows={3} maxLength={280} label="توضیح کوتاه" />کد یا شناسه (چپبهراست با فونت مونو)
<Input label="شناسه" defaultValue="TOK-2048" code isReadOnly />همهٔ پیکربندیها
| پراپ | نوع | پیشفرض | توضیح |
|---|---|---|---|
| کپی کد | کپی کد · کپی کد · کپی کد · کپی کد · کپی کد · کپی کد · کپی کد | کپی کد | نوع فیلد. کپی کد، کپی کد، کپی کد، کپی کد و کپی کد همیشه چپبهراست هستند. |
| کپی کد | کپی کد | کپی کد | کپی کد یعنی کپی کد چندخطی. |
| کپی کد | کپی کد | کپی کد | تعداد سطر دیداری کپی کد (فقط با کپی کد). |
| کپی کد | کپی کد | کپی کد | ارتفاع کپی کد با محتوا رشد میکند (فقط با کپی کد؛ کپی کد دستی خاموش میشود). |
| کپی کد | کپی کد | — | سقف سطرهای رشد خودکار؛ بیشتر از آن اسکرول داخلی (فقط با کپی کد). |
| کپی کد | کپی کد | — | حداکثر نویسه؛ شمارندهٔ «تعداد / سقف» زیر فیلد نشان داده میشود. |
| کپی کد | کپی کد · کپی کد · کپی کد | کپی کد | ارتفاع از کپی کد؛ کپی کد برای موبایل (اندازهٔ متن ۱۶px، بدون زوم iOS). |
| کپی کد | کپی کد | — | برچسب قابلمشاهده؛ همیشه بالای فیلد است. |
| کپی کد | کپی کد | — | توضیح کوتاه زیر فیلد. |
| کپی کد | کپی کد | — | پیام خطا؛ فقط وقتی کپی کد درست باشد نمایش داده میشود. |
| کپی کد | کپی کد | — | آیکون ابتدای فیلد (در RTL سمت راست). |
| کپی کد | کپی کد | کپی کد | آیکون چرخان و کپی کد؛ مقدار را عوض نمیکند. |
| کپی کد | کپی کد | کپی کد | محتوای کد: چپبهراست و فونت مونو. |
| کپی کد | کپی کد · کپی کد · کپی کد | کپی کد | جهت متن. کپی کد برای محتوای کاربر؛ نوعهای ایمیل/تلفن/عدد/گذرواژه و کپی کد همیشه کپی کد هستند. |
| کپی کد | کپی کد | — | متن راهنما داخل فیلد؛ جایگزین برچسب نیست. |
| کپی کد | کپی کد | کپی کد | برچسب دکمهٔ نمایش گذرواژه (فقط کپی کد). |
| کپی کد | کپی کد | کپی کد | برچسب دکمهٔ پنهانکردن گذرواژه. |
| کپی کد | رویداد صوتی · کپی کد | کپی کد | صدا فقط پس از ترک فیلد و اگر مقدار عوض شده باشد؛ کپی کد وقتی نامعتبر است. کپی کد بیصداست. |
| کپی کد | کپی کد | — | مقصد اختصاصی صدا برای همین نمونه. |
| کپی کد | کپی کد · کپی کد | کپی کد | در چاپ دیده شود یا نه. |
| کپی کد | کپی کد | — | کلاس اضافه روی ریشه (برای چیدمان، نه برای رنگ). |
بهعلاوه تمام پراپهای کپی کد از react-aria-components: کپی کد / کپی کد، کپی کد، کپی کد، کپی کد، کپی کد، کپی کد، کپی کد، کپی کد، کپی کد و کپی کد.
حالتها
| حالت | نمایش | کی |
|---|---|---|
| پیشفرض / hover / focus | حاشیه با رنگ تعامل؛ حلقهٔ فوکوس مرئی | همیشه |
| کپی کد | حاشیهٔ ضخیم، آیکون و متن پیام خطا | وقتی کپی کد داده شده باشد |
| کپی کد | زمینهٔ متمایز و حاشیهٔ خطچین؛ قابلفوکوس و قابلکپی | مقدار فقط دیدنی |
| کپی کد | کدری کم و غیرقابلفوکوس | وقتی ورودی موقتاً ممکن نیست |
| کپی کد | آیکون چرخان و کپی کد | بررسی سمت سرور، مثلاً نام کاربری |
RTL و متن ترکیبی
محتوای کاربر کپی کد است؛ یعنی یک نام فارسی راستبهچپ و یک عنوان انگلیسی چپبهراست نوشته میشود. ایمیل، نشانی، تلفن، عدد، گذرواژه و کپی کد همیشه کپی کد هستند و با کپی کد همتراز با جهت صفحه میمانند. تمام فاصلهها منطقیاند (کپی کد/کپی کد)، پس با کپی کد بدون تغییر کد درست میچینند.
کیبورد و صفحهخوان
- کپی کد ورود و خروج فوکوس؛ کپی کد در فیلد تکخطی فرم را میفرستد.
- دکمهٔ گذرواژه با کپی کد یا کپی کد نمایش و پنهان میشود؛ برچسبش با حالت عوض میشود.
- برچسب با کپی کد متصل است؛ توضیح و پیام خطا با کپی کد خوانده میشوند.
- خطا با کپی کد اعلام میشود و همراه آیکون و متن است؛ رنگ تنها نشانه نیست.
- هدف لمسی حداقل ۴۴px است.
صدا، حرکت، چاپ
- صدا: پیشفرض کپی کد است و فقط پس از ترک فیلد پخش میشود (نه با هر کلید). معادل بصری آن حاشیه و پیام خطاست. کپی کد برای فیلدهای احراز هویت یا حساس.
- حرکت: تغییر رنگ حاشیه با کپی کد. در کپی کد زمان گذار ۱ms و آیکون بدون چرخش.
- چاپ: کپی کد پیشفرض است؛ مقدار با کادر ساده چاپ میشود و دکمهٔ گذرواژه و آیکون بارگذاری پنهان میشوند.
توکنها
- معنایی: کپی کد، کپی کد، کپی کد، کپی کد، کپی کد.
- کامپوننتی: کپی کد (پسزمینه، حاشیه در چهار حالت، شعاع، فاصلهها، ارتفاع کپی کد، زمان گذار). تعریف کامل در کپی کد و فهرست ماشینی در کپی کد.
نکات
- برای انتخاب از فهرست ثابت از Select یا RadioGroup استفاده کنید.
- برای تاریخ از DatePicker و برای کد یککاراکتری از CodeCells استفاده کنید.
- برای مبلغ پولی از CurrencyInput استفاده کنید تا نماد ارز و قالب محلی بماند.