پرتوپرتو

کشو (Drawer)

یک پنل کشویی که از کنار صفحه نمایش داده می‌شود

معرفی

کامپوننت Drawer یک پنل کشویی است که معمولا برای نمایش منوها، فرم‌ها یا محتوای اضافی استفاده می‌شود.

استفاده

import {
  Drawer,
  DrawerClose,
  DrawerContent,
  DrawerDescription,
  DrawerFooter,
  DrawerHeader,
  DrawerTitle,
  DrawerTrigger,
} from '@parto/ui';

export default function MyComponent() {
  return (
    <Drawer>
      <DrawerTrigger>باز کردن</DrawerTrigger>
      <DrawerContent>
        <DrawerHeader>
          <DrawerTitle>عنوان</DrawerTitle>
          <DrawerDescription>توضیحات در اینجا</DrawerDescription>
        </DrawerHeader>
        <div className="p-4">
          محتوای اصلی
        </div>
        <DrawerFooter>
          <DrawerClose>بستن</DrawerClose>
        </DrawerFooter>
      </DrawerContent>
    </Drawer>
  );
}

جهت‌های مختلف

از پایین (پیش‌فرض)

<Drawer direction="bottom">
  {/* محتوا */}
</Drawer>

از چپ

<Drawer direction="left">
  {/* محتوا */}
</Drawer>

از راست

<Drawer direction="right">
  {/* محتوا */}
</Drawer>

از بالا

<Drawer direction="top">
  {/* محتوا */}
</Drawer>

کنترل شده

const [open, setOpen] = useState(false);

<Drawer open={open} onOpenChange={setOpen}>
  {/* محتوا */}
</Drawer>

Props

Drawer

PropTypeDefaultتوضیحات
openboolean-کنترل وضعیت باز/بسته
onOpenChange(open: boolean) => void-callback تغییر وضعیت
direction'top' | 'bottom' | 'left' | 'right''bottom'جهت باز شدن

ویژگی‌ها

  • انیمیشن نرم
  • قابل کشیدن برای بستن
  • قفل اسکرول صفحه
  • Overlay قابل تنظیم
  • سازگار با RTL