الانتقال إلى المحتوى

فاصل

خط أفقي أو عمودي يفصل بين القوائم وأشرطة الأدوات والقوائم — مرسوم بنفس لون الحدود الصلبة المستخدم في الإطارات ذات الطراز «النيوبروتاليستي».

import { Separator } from "@/components/ui/separator"

export function SeparatorDemo() {

يرسم الفاصل خطاً رفيعاً أفقياً أو رأسياً بين كتل المحتوى. وهو مبني على مكون Base UI Separator ومصمم ليكون بسيطاً بشكل متعمد: خط واحد بلون border الخاص بالسمة — وهو نفس الخط المتصل الذي يحدد كل إطار من الإطارات ذات الطراز «النيوبروتاليةي».

استخدمه عندما:

  • أقسام القوائم وشريط الأدوات — لتقسيم مجموعات الإجراءات في القوائم المنسدلة والأشرطة الجانبية وأشرطة الأوامر.
  • القوائم المتراكبة — لتقسيم الصفوف في صفحات الإعدادات، وموجزات الأخبار، ولوحات الإشعارات.
  • البيانات الوصفية المضمنة — خطوط عمودية بين الإحصائيات مثل عدد المشاهدات، والنجوم، وتواريخ آخر تحديث.

التثبيت

pnpm dlx shadcn@latest add https://neobrutalism.com/r/base/separator.json
npx shadcn@latest add https://neobrutalism.com/r/base/separator.json
yarn dlx shadcn@latest add https://neobrutalism.com/r/base/separator.json
bunx --bun shadcn@latest add https://neobrutalism.com/r/base/separator.json

ثبّت التبعيات التالية:

pnpm add @base-ui/react
npm install @base-ui/react
yarn add @base-ui/react
bun add @base-ui/react

انسخ الكود التالي والصقه في مشروعك.

components/ui/separator.tsx
"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.