رفتن به محتوای اصلی

ورودی

فیلد متن تک‌خطی و چندخطی، با برچسب، متن راهنما، پیام خطا و افزونه.

import { Input, Textarea } from "@kashi-ui/react";

پایه

برچسب، متن راهنما و فیلد به‌صورت خودکار با id و aria-describedby به هم وصل می‌شوند.

همان‌طور که در کارت ملی آمده است.

<Input label="نام و نام خانوادگی" placeholder="مثلاً سارا احمدی" hint="همان‌طور که در کارت ملی آمده است." required />

خطا

با دادن error، فیلد aria-invalid می‌شود و پیام خطا پیش از متن راهنما خوانده می‌شود.

آدرس ایمیل معتبر نیست.

<Input label="ایمیل" type="email" defaultValue="sara@example" error="آدرس ایمیل معتبر نیست." />

افزونه‌ها

ایمیل، تلفن، آدرس اینترنتی، عدد و رمز عبور به‌صورت خودکار چپ‌به‌راست تایپ می‌شوند، ولی متن راهنمای داخل فیلد راست‌چین می‌ماند.

تومان
<Input label="ایمیل" type="email" placeholder="you@example.com" addonStart={<MailIcon />} />
<Input label="مبلغ" inputMode="numeric" placeholder="۰" addonEnd="تومان" />
<Input aria-label="جستجو" placeholder="جستجو…" addonStart={<SearchIcon />} size="sm" />

چندخطی

حداکثر ۵۰۰ نویسه.

<Textarea label="توضیحات" placeholder="چند خط بنویسید…" hint="حداکثر ۵۰۰ نویسه." />

غیرفعال

<Input label="کد ملی" defaultValue="۰۰۱۲۳۴۵۶۷۸" disabled />

ویژگی‌ها

نامنوعپیش‌فرضتوضیح
labelReactNode—برچسب بالای فیلد؛ اگر نمی‌دهید aria-label بدهید
hintReactNode—متن راهنمای زیر فیلد
errorReactNode—پیام خطا؛ فیلد را aria-invalid می‌کند
size"sm" | "md" | "lg""md"ارتفاع‌ها ۴۰، ۴۴ و ۴۸ پیکسل (فقط Input)
addonStartReactNode—آیکون یا متن ابتدای فیلد (فقط Input)
addonEndReactNode—آیکون یا متن انتهای فیلد (فقط Input)
fieldClassNamestring—کلاس ظرف بیرونی k-field
requiredbooleanfalseستاره کنار برچسب و ویژگی required

سایر ویژگی‌های <input> و <textarea> به خود فیلد منتقل می‌شوند. ref به عنصر فیلد اشاره می‌کند.

متغیرهای CSS

متغیرپیش‌فرضکاربرد
--k-input-height-{sm,md,lg}2.5rem تا 3rem × densityارتفاع
--k-input-radiusvar(--k-radius-md)گردی گوشه‌ها
--k-input-bgvar(--k-bg-primary)پس‌زمینه
--k-input-bordervar(--k-border-input)رنگ حاشیه در حالت عادی
--k-field-gapvar(--k-space-1_5)فاصلهٔ برچسب، فیلد و راهنما

دسترس‌پذیری

  • حاشیهٔ فیلد کنتراست حداقل ۳ به ۱ دارد تا مرز آن برای کاربران کم‌بینا مشخص باشد.
  • متن راهنمای داخل فیلد (placeholder) جایگزین برچسب نیست؛ با تایپ کاربر ناپدید می‌شود.
  • پیام خطا باید بگوید چه اشتباهی رخ داده و چطور درست شود، نه فقط «نامعتبر».