قابل تغییر اندازه (Resizable)
پنلهای قابل تغییر اندازه با دستههای کشیدنی
معرفی
کامپوننت Resizable برای ایجاد layout های قابل تغییر اندازه با پنلهایی که کاربر میتواند سایز آنها را تغییر دهد، استفاده میشود.
استفاده
import {
ResizablePanelGroup,
ResizablePanel,
ResizableHandle,
} from '@parto/ui';
export default function MyComponent() {
return (
<ResizablePanelGroup direction="horizontal" className="min-h-[200px]">
<ResizablePanel defaultSize={50}>
<div className="p-6">
پنل اول
</div>
</ResizablePanel>
<ResizableHandle />
<ResizablePanel defaultSize={50}>
<div className="p-6">
پنل دوم
</div>
</ResizablePanel>
</ResizablePanelGroup>
);
}
عمودی
<ResizablePanelGroup direction="vertical" className="min-h-[400px]">
<ResizablePanel defaultSize={25}>پنل بالا</ResizablePanel>
<ResizableHandle />
<ResizablePanel defaultSize={75}>پنل پایین</ResizablePanel>
</ResizablePanelGroup>
با دسته
<ResizablePanelGroup direction="horizontal">
<ResizablePanel>پنل ۱</ResizablePanel>
<ResizableHandle withHandle />
<ResizablePanel>پنل ۲</ResizablePanel>
</ResizablePanelGroup>
سه پنل
<ResizablePanelGroup direction="horizontal">
<ResizablePanel defaultSize={25} minSize={20}>
<div>سایدبار</div>
</ResizablePanel>
<ResizableHandle />
<ResizablePanel defaultSize={50}>
<div>محتوای اصلی</div>
</ResizablePanel>
<ResizableHandle />
<ResizablePanel defaultSize={25} minSize={20}>
<div>پنل کناری</div>
</ResizablePanel>
</ResizablePanelGroup>
Props
ResizablePanel
| Prop | Type | Default | توضیحات |
|---|
defaultSize | number | - | اندازه پیشفرض (درصد) |
minSize | number | - | حداقل اندازه (درصد) |
maxSize | number | - | حداکثر اندازه (درصد) |
collapsible | boolean | false | قابل جمع شدن |
ResizablePanelGroup
| Prop | Type | Default | توضیحات |
|---|
direction | 'horizontal' | 'vertical' | 'horizontal' | جهت پنلها |
ResizableHandle
| Prop | Type | Default | توضیحات |
|---|
withHandle | boolean | false | نمایش دسته |
ویژگیها
- تغییر اندازه با کشیدن
- حداقل و حداکثر اندازه
- ذخیره وضعیت
- پنلهای قابل جمع شدن
- کیبورد navigation
- سازگار با RTL