فاصل
خط أفقي أو عمودي يفصل بين القوائم وأشرطة الأدوات والقوائم — مرسوم بنفس لون الحدود الصلبة المستخدم في الإطارات ذات الطراز «النيوبروتاليستي».
import { Separator } from "@/components/ui/separator"
export function SeparatorDemo() {يرسم الفاصل خطاً رفيعاً أفقياً أو رأسياً بين كتل المحتوى. وهو مبني على مكون Base UI Separator ومصمم ليكون بسيطاً بشكل متعمد: خط واحد بلون border الخاص بالسمة — وهو نفس الخط المتصل الذي يحدد كل إطار من الإطارات ذات الطراز «النيوبروتاليةي».
استخدمه عندما:
- أقسام القوائم وشريط الأدوات — لتقسيم مجموعات الإجراءات في القوائم المنسدلة والأشرطة الجانبية وأشرطة الأوامر.
- القوائم المتراكبة — لتقسيم الصفوف في صفحات الإعدادات، وموجزات الأخبار، ولوحات الإشعارات.
- البيانات الوصفية المضمنة — خطوط عمودية بين الإحصائيات مثل عدد المشاهدات، والنجوم، وتواريخ آخر تحديث.
التثبيت#
pnpm dlx shadcn@latest add https://neobrutalism.com/r/base/separator.jsonnpx shadcn@latest add https://neobrutalism.com/r/base/separator.jsonyarn dlx shadcn@latest add https://neobrutalism.com/r/base/separator.jsonbunx --bun shadcn@latest add https://neobrutalism.com/r/base/separator.json
ثبّت التبعيات التالية:
pnpm add @base-ui/reactnpm install @base-ui/reactyarn add @base-ui/reactbun add @base-ui/react
انسخ الكود التالي والصقه في مشروعك.
"use client"
import * as React from "react"
import { Separator as SeparatorPrimitive } from "radix-ui"
import { cn } from "@/lib/utils"
function Separator({
className,
orientation = "horizontal",
decorative = true,
...props
}: React.ComponentProps<typeof SeparatorPrimitive.Root>) {
return (
<SeparatorPrimitive.Root
data-slot="separator"
decorative={decorative}
orientation={orientation}
className={cn(
"shrink-0 bg-border data-horizontal:h-px data-horizontal:w-full data-vertical:w-px data-vertical:self-stretch",
className
)}
{...props}
/>
)
}
export { Separator }
حدّث مسارات الاستيراد لتتوافق مع بنية مشروعك.
الاستخدام#
import { Separator } from "@/components/ui/separator"<Separator />أمثلة#
عمودي#
استخدم orientation="vertical" لفاصل عمودي.
import { Separator } from "@/components/ui/separator"
export function SeparatorVertical() {قائمة#
فواصل عمودية بين عناصر القائمة مع أوصاف.
import { Separator } from "@/components/ui/separator"
export function SeparatorMenu() {قائمة عناصر#
فواصل أفقية بين عناصر القائمة.
import { Separator } from "@/components/ui/separator"
export function SeparatorList() {RTL#
لتفعيل RTL في Neobrutalism، راجع دليل إعداد RTL.
"use client"
import * as React from "react"إمكانية الوصول#
يقوم «الفاصل» في واجهة المستخدم الأساسية (Base UI) دائمًا بعرض role="separator"، حيث يعكس aria-orientation الخاصية orientation، لذا تقرأه برامج قراءة الشاشة على أنه فاصل دلالي. بالنسبة للقواعد التي هي زخرفية بحتة — بين الإحصائيات المضمنة، على سبيل المثال — أضف aria-hidden="true" (أو استخدم <div> ذي النمط البسيط) حتى لا تعلن التقنيات المساعدة عن الفواصل التي لا تحمل أي معنى. لاحظ أن هذا يختلف عن متغير Radix، الذي يكون زخرفيًا (role="none") بشكل افتراضي.
مرجع API#
لمزيد من المعلومات، راجع وثائق Base UI.