Sheet
پنلی که از لبهٔ صفحه باز میشود؛ جهتهای start و end بهصورت خودکار با چیدمان راستبهچپ هماهنگاند.
این کامپوننت فعلاً برای ۱ فریمورک از ۴ فریمورک آماده است.
این نمونه هنوز برای Vue پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
این نمونه هنوز برای Svelte پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
این نمونه هنوز برای Angular پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
نصب
با CLI اختصاصی dig-ui کامپوننت را از رجیستری دیگ نصب کنید؛ وابستگیها و فایلها خودکار اضافه میشوند.
pnpm dlx dig-ui@latest add https://design-system-tau-green.vercel.app/r/sheet.jsonnpx dig-ui@latest add https://design-system-tau-green.vercel.app/r/sheet.jsonyarn dlx dig-ui@latest add https://design-system-tau-green.vercel.app/r/sheet.jsonbunx --bun dig-ui@latest add https://design-system-tau-green.vercel.app/r/sheet.jsonاین کامپوننت هنوز برای Vue پورت نشده است.
نسخهٔ ریاکت آماده است؛ پورت این فریمورک روی Reka UI در دست کار است.
این کامپوننت هنوز برای Svelte پورت نشده است.
نسخهٔ ریاکت آماده است؛ پورت این فریمورک روی Bits UI در دست کار است.
این کامپوننت هنوز برای Angular پورت نشده است.
نسخهٔ ریاکت آماده است؛ پورت این فریمورک روی Angular CDK در دست کار است.
استفاده
import {
Sheet,
SheetContent,
SheetHeader,
SheetTitle,
SheetTrigger,
} from "@/components/ui/sheet"این کامپوننت هنوز برای Vue پورت نشده است.
نسخهٔ ریاکت آماده است؛ پورت این فریمورک روی Reka UI در دست کار است.
این کامپوننت هنوز برای Svelte پورت نشده است.
نسخهٔ ریاکت آماده است؛ پورت این فریمورک روی Bits UI در دست کار است.
این کامپوننت هنوز برای Angular پورت نشده است.
نسخهٔ ریاکت آماده است؛ پورت این فریمورک روی Angular CDK در دست کار است.
ترکیب اجزا
دسترسپذیری
- فوکوس داخل کشو قفل میشود و با Escape بسته میشود.
- SheetTitle برای اعلام عنوان به صفحهخوان الزامی است.
مرجع API
SheetContent
| ویژگی | نوع | پیشفرض | توضیح |
|---|---|---|---|
| side | "start" | "end" | "top" | "bottom" | "start" | لبهٔ باز شدن کشو؛ start در فارسی یعنی راست و end یعنی چپ. |
این کامپوننت هنوز برای Vue پورت نشده است.
نسخهٔ ریاکت آماده است؛ پورت این فریمورک روی Reka UI در دست کار است.
این کامپوننت هنوز برای Svelte پورت نشده است.
نسخهٔ ریاکت آماده است؛ پورت این فریمورک روی Bits UI در دست کار است.
این کامپوننت هنوز برای Angular پورت نشده است.
نسخهٔ ریاکت آماده است؛ پورت این فریمورک روی Angular CDK در دست کار است.
نمونهها
در حال اعمال (Loading)
پنل را وسط کار نبندید. تا پایان درخواست باز بماند، کنترلها قفل شوند و متن دکمه وضعیت را بگوید؛ بعد از موفقیت خودش بسته شود.
این نمونه هنوز برای Vue پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
این نمونه هنوز برای Svelte پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
این نمونه هنوز برای Angular پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
خالی (Empty)
پنل خالی نباید یک سطح خالی باشد. بگویید چه چیزی قرار است اینجا بیاید و کِی؛ همین یک جمله تفاوت «خالی است» با «خراب است» را روشن میکند.
این نمونه هنوز برای Vue پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
این نمونه هنوز برای Svelte پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
این نمونه هنوز برای Angular پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
محتوای بلند (Overflow)
سربرگ و فوتر ثابت بمانند و فقط بدنه اسکرول شود، وگرنه دکمهٔ ذخیره از دسترس خارج میشود و کاربر باید تا ته اسکرول کند تا پیدایش کند.
این نمونه هنوز برای Vue پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
این نمونه هنوز برای Svelte پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
این نمونه هنوز برای Angular پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
کدام نمونه برای کدام موقعیت
| نمونه | کجا به کار میآید |
|---|---|
| در حال اعمال (Loading) | پنل فیلتر که با اعمال، فهرست را دوباره میگیرد |
| خالی (Empty) | پنل اعلانها پیش از اولین اعلان |
| محتوای بلند (Overflow) | پنل جزئیات که محتوایش از ارتفاع صفحه بیشتر است |
دستورالعمل استفاده
محتوای مکمل، نه یک صفحهٔ مستقل
انجام بده
از Sheet برای یک کار کوتاه و مرتبط با زمینهٔ فعلی استفاده کنید، مثل ویرایش چند فیلد پروفایل، بدون اینکه کاربر از صفحهٔ اصلی خارج شود.
انجام نده
یک فرایند چندمرحلهای کامل (مثل کل جریان پرداخت یا ثبتنام) را داخل Sheet نریزید؛ فضای محدود و قفل فوکوس آن برای یک صفحهٔ مستقل با ناوبری خودش طراحی نشده.
لبهٔ باز شدن متناسب با شکل محتوا
انجام بده
برای فرمهای چندفیلدی از side پیشفرض (start/end) استفاده کنید؛ ارتفاع کامل صفحه جا برای اسکرول عمودی میدهد.
انجام نده
همان فرم چندفیلدی را با side="bottom" باز نکنید؛ ارتفاع این حالت خودکار (h-auto) است و فرمهای بلند را در فضای کم فشرده میکند.