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

کامپوننت‌ها

کنترل تکه‌ای

انتخاب یکی از چند گزینهٔ کوتاه کنار هم، مثل حالت نمایش یا بازهٔ زمانی گزارش.

import { SegmentedControl } from "@kashi-ui/react";

برای دو تا پنج گزینهٔ کوتاه که نتیجه‌شان بلافاصله دیده می‌شود. برای گزینه‌های بیشتر یا فرم‌ها از RadioGroup یا Select استفاده کنید؛ برای جابه‌جایی بین محتواهای مختلف از Tabs.

نمونه

نمایش: فهرست — بازه: ۳۰ روز

<SegmentedControl aria-label="نمایش" value={view} onChange={setView} options={[
{ value: "list", label: "فهرست", icon: <ListIcon /> },
{ value: "grid", label: "کارت", icon: <GridIcon /> },
]} />

<SegmentedControl aria-label="بازهٔ زمانی" size="sm" defaultValue="30" options={[
{ value: "1", label: "امروز" }, { value: "7", label: "۷ روز" },
{ value: "30", label: "۳۰ روز" }, { value: "365", label: "یک سال" },
]} />
نامنوعپیش‌فرضتوضیح
options{ value, label, icon?, disabled?, aria-label? }[]—گزینه‌ها
value / defaultValuestringاولین گزینهٔ فعال
onChange(value: string) => void—
aria-label / aria-labelledbystring—نام گروه (الزامی)
size"sm" | "md""md"هم‌قد دکمه‌ها: ۳۶ و ۴۰ پیکسل
blockbooleanfalseتمام‌عرض با بخش‌های هم‌اندازه
namestringخودکارنام رادیوها برای ارسال فرم

دسترس‌پذیری

روی رادیوهای بومی ساخته شده: Tab وارد گروه می‌شود و ←/→ گزینه را عوض می‌کند. گروه role="radiogroup" با نام دارد و گزینهٔ انتخاب‌شده با سطح برجسته و سایه، نه فقط رنگ، مشخص است. اگر گزینه فقط آیکون دارد، aria-label بدهید.