جداکننده (Separator)
جداکننده برای تفکیک بصری یا معنایی محتوا استفاده میشود.
نصب (Installation)
1npx @quark-lab/rad-ui add separatorنمونهها (Examples)
استفاده پایه (Basic Usage)
استفاده ساده برای جدا کردن بخشهای متن.
راد UI
کتابخانه کامپوننت UI با پشتیبانی کامل از RTL
ویژگیها
طراحی مدرن، دارک مود، و دسترسیپذیر
مشاهده کد
1import { Separator } from "@/components/ui/separator";
2
3export default function BasicExample() {
4 return (
5 <div>
6 <div className="space-y-1">
7 <h4 className="text-sm font-medium leading-none">راد UI</h4>
8 <p className="text-sm text-muted-foreground">
9 کتابخانه کامپوننت UI با پشتیبانی کامل از RTL
10 </p>
11 </div>
12 <Separator className="my-4" />
13 <div className="space-y-1">
14 <h4 className="text-sm font-medium leading-none">ویژگیها</h4>
15 <p className="text-sm text-muted-foreground">
16 طراحی مدرن، دارک مود، و دسترسیپذیر
17 </p>
18 </div>
19 </div>
20 );
21}
22جداکننده افقی (Horizontal)
حالت پیشفرض، برای جدا کردن بخشهای عمودی محتوا.
بخش اول
این محتوای بخش اول است که در بالا قرار دارد
بخش دوم
این محتوای بخش دوم است که در پایین قرار دارد
مشاهده کد
1import { Separator } from "@/components/ui/separator";
2
3export default function HorizontalExample() {
4 return (
5 <div>
6 <div>
7 <h3 className="text-lg font-semibold">بخش اول</h3>
8 <p className="text-muted-foreground">
9 این محتوای بخش اول است که در بالا قرار دارد
10 </p>
11 </div>
12 <Separator className="my-6" />
13 <div>
14 <h3 className="text-lg font-semibold">بخش دوم</h3>
15 <p className="text-muted-foreground">
16 این محتوای بخش دوم است که در پایین قرار دارد
17 </p>
18 </div>
19 </div>
20 );
21}
22جداکننده عمودی (Vertical)
برای جدا کردن آیتمهای افقی مثل منوها و لیستها.
خانه
درباره ما
تماس
بلاگ
مشاهده کد
1import { Separator } from "@/components/ui/separator";
2
3export default function VerticalExample() {
4 return (
5 <div className="flex h-5 items-center space-x-4 space-x-reverse text-sm">
6 <div>خانه</div>
7 <Separator orientation="vertical" />
8 <div>درباره ما</div>
9 <Separator orientation="vertical" />
10 <div>تماس</div>
11 <Separator orientation="vertical" />
12 <div>بلاگ</div>
13 </div>
14 );
15}
16با استایل سفارشی (Custom Style)
تغییر رنگ و ضخامت جداکننده.
مشاهده کد
1import { Separator } from "@/components/ui/separator";
2
3export default function CustomStyleExample() {
4 return <Separator className="my-6 bg-primary h-[2px]" />;
5}
6مثالهای کاربردی (Practical Examples)
کارت با بخشهای مختلف (Card with Sections)
استفاده در کارت برای سازماندهی اطلاعات.
اطلاعات حساب
نام کاربری: user@example.com
اشتراک
پلن فعلی: حرفهای
پرداخت
روش پرداخت: کارت اعتباری
مشاهده کد
1import { Separator } from "@/components/ui/separator";
2
3export default function CardExample() {
4 return (
5 <div className="p-6 rounded-lg border border-border max-w-md">
6 <div className="space-y-1">
7 <h4 className="font-medium">اطلاعات حساب</h4>
8 <p className="text-sm text-muted-foreground">
9 نام کاربری: user@example.com
10 </p>
11 </div>
12 <Separator className="my-4" />
13 <div className="space-y-1">
14 <h4 className="font-medium">اشتراک</h4>
15 <p className="text-sm text-muted-foreground">
16 پلن فعلی: حرفهای
17 </p>
18 </div>
19 <Separator className="my-4" />
20 <div className="space-y-1">
21 <h4 className="font-medium">پرداخت</h4>
22 <p className="text-sm text-muted-foreground">
23 روش پرداخت: کارت اعتباری
24 </p>
25 </div>
26 </div>
27 );
28}
29مسیر صفحه (Breadcrumb)
استفاده به عنوان جداکننده در breadcrumb.
خانهکامپوننتهاجداکننده
مشاهده کد
1import { Separator } from "@/components/ui/separator";
2
3export default function BreadcrumbExample() {
4 return (
5 <div className="flex items-center space-x-2 space-x-reverse text-sm">
6 <span className="text-primary">خانه</span>
7 <Separator orientation="vertical" className="h-4" />
8 <span className="text-primary">کامپوننتها</span>
9 <Separator orientation="vertical" className="h-4" />
10 <span className="text-muted-foreground">جداکننده</span>
11 </div>
12 );
13}
14لینکهای فوتر (Footer Links)
جدا کردن لینکهای فوتر.
مشاهده کد
1import { Separator } from "@/components/ui/separator";
2
3export default function NavExample() {
4 return (
5 <div className="flex flex-wrap items-center gap-4 text-sm">
6 <a href="#" className="hover:text-primary transition-colors">
7 حریم خصوصی
8 </a>
9 <Separator orientation="vertical" className="h-4" />
10 <a href="#" className="hover:text-primary transition-colors">
11 شرایط استفاده
12 </a>
13 <Separator orientation="vertical" className="h-4" />
14 <a href="#" className="hover:text-primary transition-colors">
15 تماس با ما
16 </a>
17 <Separator orientation="vertical" className="h-4" />
18 <a href="#" className="hover:text-primary transition-colors">
19 پشتیبانی
20 </a>
21 </div>
22 );
23}
24مرجع API (API Reference)
Separator
پراپهای کامپوننت Separator.
| پراپ (Prop) | نوع (Type) | پیشفرض (Default) | توضیحات (Description) |
|---|---|---|---|
orientation | "horizontal" | "vertical" | "horizontal" | جهت قرارگیری جداکننده |
decorative | boolean | true | آیا جداکننده صرفاً تزئینی است (بدون معنای معنایی) |
className | string | undefined | کلاسهای CSS سفارشی |
بهترین شیوهها (Best Practices)
کی از جداکننده استفاده کنیم؟
- برای جدا کردن بخشهای مختلف محتوا
- در منوها برای جدا کردن آیتمهای مختلف
- در کارتها برای سازماندهی اطلاعات
- در فوترها و هدرها برای تفکیک لینکها
فاصلهگذاری (Spacing)
از کلاسهای my-4 یا my-6 برای افقی و mx-4 برای عمودی استفاده کنید
استایل سفارشی (Custom Styling)
میتوانید با className رنگ، ضخامت و سایر ویژگیها را تغییر دهید