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

مسار التنقل

موقع الصفحة في الموقع، بروابط حقيقية ودون JavaScript. والمسار نفسه يُكتب BreadcrumbList بصيغة JSON-LD.

server - 0 KB

مسار التنقل

server - 0 KB

موقع الصفحة في الموقع، بروابط حقيقية ودون JavaScript. والمسار نفسه يُكتب BreadcrumbList بصيغة JSON-LD.

تثبيت

الشيفرة

breadcrumb.tsx
import { Breadcrumb } from 'topclassui/breadcrumb'

/** The last item has no href: it is the page being read, and it stays out of the JSON-LD. */
export default function Demo() {
  return (
    <Breadcrumb
      items={[
        { href: '/', label: 'Home' },
        { href: '/docs', label: 'Docs' },
        { label: 'Breadcrumb' },
      ]}
    />
  )
}

اترك href عن العنصر الأخير ليصبح الصفحة الحالية. العناصر ذات الروابط تُكتب أيضًا في BreadcrumbList بصيغة JSON-LD.

كل الحالات، بدون تمرير الفأرة

3 حالات

أو استورده من الحزمة

topclassui/breadcrumb
import { Breadcrumb } from 'topclassui/breadcrumb'

ثبّت مرة واحدة:npm i topclassui@beta zod

أمثلة

  • items هو المسار بصيغة { href?, label }، يبدأ من الجذر. إن كان على العنصر الأخير href أيضًا فهو رابط آخر، ولا تُعلَّم أي صفحة بأنها الحالية.
  • في Next.js يعيد الرابط العادي تحميل الصفحة. مرّر link={<Link href="" />} فيصبح كل عنصر تنقّلًا من جهة المتصفح، ويُستبدل href فيه بعنوان العنصر.
  • مرّر baseUrl="https://example.com" فتصبح عناوين JSON-LD مطلقة. الروابط نفسها تبقى كما كُتبت.
  • العنصر الذي تسميته فارغة، أو ليست نصًّا، يُستبعد من المسار ومن JSON-LD.
  • العنصر الذي لا href له وليس الأخير نص عادي: لا رابط، ولا مدخل في JSON-LD.
  • التسمية الطويلة تنتهي بعلامة حذف عند عرض صندوقه ويُقصّ عند 200 حرف. أما JSON-LD فيحتفظ بالتسمية كاملة.
basic
all-links
long-trail
long-label
mixed-label
deep-trail
بالعربية، من اليمين إلى اليسار

الخصائص

خصائص Breadcrumb
الخاصيةالنوعالافتراضيالحدودالوصف
items*readonly BreadcrumbItem[]--The trail as { href?, label }, root first. An item with an href is a link and joins the JSON-LD; the last one without is the current page.
baseUrlstring--The address of the site, such as https://example.com: the JSON-LD then lists absolute URLs. The links stay as written.
labelsLabels--The built-in strings; the nav is named by labels.breadcrumb.label. Defaults to English.
linkReactElement--The element every crumb link is cloned from, such as link={<Link href="" />}; its href is replaced with the item's.
localestring--Accepted so {...getLabels(locale)} spreads cleanly. Nothing here formats a number, so it is not used and never reaches the element.

لوحة المفاتيح وإمكانية الوصول

لوحة مفاتيح Breadcrumb
المفاتيحما يفعله
Tabينتقل إلى رابط العنصر التالي. الصفحة الحالية نص وليست محطة Tab.
Enterيتبع الرابط الذي عليه التركيز.
  • المسار قائمة مرتّبة داخل عنصر nav اسمه من labels.breadcrumb.label. aria-label يغيّر الاسم، والفارغ منه يعود إلى الاسم المدمج.
  • العنصر الأخير عليه aria-current="page" وخط أثقل، فلا يكون اللون هو الدليل الوحيد.
  • الأسهم بين العناصر زخرفية ومخفية عن قارئ الشاشة.

من اليمين إلى اليسار

مع dir="rtl" يبدأ المسار من اليمين وينقلب كل سهم ليشير على امتداده. labels={getLabels('ar').labels} يسمّي عنصر nav بالعربية.

الخادم والمتصفح

يُعرض على الخادم ولا يرسل أي JavaScript.

الملفات: index.tsx.

على الشارة: server - 0 KB.