@cloud-ru/ds-breadcrumbs

中文文档
1.0.45发布于 2026/11/11Apache-2.0TypeScriptESM + CJS近 30 天下载 6978

Хлебные крошки — навигационная цепочка пути до текущей страницы с адаптивным поведением при нехватке места.

原始使用文档
文档目录11 节
  1. Демо
  2. Когда использовать
  3. Анатомия
  4. Size
  5. Item render mode
  6. Установка
  7. Примеры использования
  8. Короткая цепочка
  9. Длинная цепочка с shortLabel
  10. Кастомный разделитель
  11. Props

Breadcrumbs

@cloud-ru/ds-breadcrumbs — Хлебные крошки — навигационная цепочка пути до текущей страницы с адаптивным поведением при нехватке места.

Навигационная цепочка, показывающая путь от корня до текущей страницы. При нехватке ширины автоматически сворачивает средние элементы в коллапс-группу, сокращает лейблы до shortLabel или заменяет на многоточие.

Демо

{/* client:only — Droplist рендерит контент в портал, который не резолвится при SSR */}

Когда использовать

  • Когда пользователь может находиться глубоко в иерархии разделов и ему нужно быстро вернуться на уровень выше.
  • В админках, каталогах, файловых менеджерах — там, где есть естественная вложенность.
  • Как дополнение к заголовку страницы, не как замена основной навигации.

Когда не нужен: плоский сайт из 2–3 страниц, одностраничные приложения без иерархии, поисковые результаты.

Анатомия

Size

Плотность крошек: xs — для тесных поверхностей и сайдбаров, s — дефолт над заголовком страницы.

Item render mode

Способ отображения отдельного элемента цепочки: full — полный лейбл, shortLabel — укороченный (обычно первые буквы/aббревиатура), ellipsis — обрезан многоточием до ширины, collapsed — скрыт под троеточием-свёрткой. Режим применяется к элементам, когда цепочка не помещается в доступную ширину.

Установка

pnpm add @cloud-ru/ds-breadcrumbs
import { Breadcrumbs } from '@cloud-ru/ds-breadcrumbs'

Примеры использования

Короткая цепочка

Базовый сценарий — главная → раздел → текущая страница.

import { Breadcrumbs } from '@cloud-ru/ds-breadcrumbs';

const items = [
  { id: '1', label: 'Главная', href: '#' },
  { id: '2', label: 'Документы', href: '#' },
  { id: '3', label: 'Текущая страница' },
];

export function BasicTrail() {
  return <Breadcrumbs items={items} />;
}

Длинная цепочка с shortLabel

Передайте shortLabel для элементов, которые стоит укоротить при нехватке места.

import { Breadcrumbs } from '@cloud-ru/ds-breadcrumbs';

const items = [
  { id: '1', label: 'Литература', href: '#' },
  { id: '2', label: 'Стихи', href: '#' },
  { id: '3', label: 'Золотой век русской поэзии', shortLabel: 'Золотой век', href: '#' },
  { id: '4', label: 'Михаил Лермонтов', shortLabel: 'Лермонтов', href: '#' },
  { id: '5', label: 'Тема "Одиночество"', shortLabel: 'Одиночество', href: '#' },
  { id: '6', label: 'Парус' },
];

export function LongTrail() {
  return <Breadcrumbs items={items} />;
}

Кастомный разделитель

Разделитель можно заменить любым коротким символом.

import { Breadcrumbs } from '@cloud-ru/ds-breadcrumbs';

const items = [
  { id: '1', label: 'Dashboard', href: '#' },
  { id: '2', label: 'Projects', href: '#' },
  { id: '3', label: 'Astro' },
];

export function CustomSeparator() {
  return <Breadcrumbs items={items} separator='/' />;
}

Props

BreadcrumbsProps

PropTypeDefaultDescription
classNamestring—CSS-класс
data-test-idstring—
firstItemIconOnlybooleanfalseИспользовать иконку без лейбла в первом айтеме
inactiveLastItembooleanfalseДелает некликабельным последний элемент, даже если для него переданы href или onClick
itemsItem—Массив айтемов
separatorstring/Разделитель между пунктами
size"s" | "xs"sРазмер

Item

PropTypeDefaultDescription
hrefstring | undefined—
iconJSXElementConstructor<{ size: number; }> | undefined—
idstring—
labelstring—
onClickMouseEventHandler<HTMLButtonElement | HTMLAnchorElement> | undefined—
shortLabelstring | undefined—
  • Size = "s" | "xs"

版本与发布记录

@cloud-ru/ds-breadcrumbs 共发布 176 个版本,首次发布于 2026/08/18;过去 12 个月发布了 176 个版本。

版本发布日期距今
1.0.45latest2026/11/11今天
1.0.45-preview-e8fe6b56.0preview2026/11/11今天
1.0.45-preview-c0e895ed.02026/11/11今天
1.0.45-preview-90b10112.02026/11/11今天
1.0.45-preview-fd7dd437.02026/11/101 天前
1.0.45-preview-9a75a2a9.02026/11/101 天前

关于 @cloud-ru/ds-breadcrumbs 的常见问题

@cloud-ru/ds-breadcrumbs 是什么?

Хлебные крошки — навигационная цепочка пути до текущей страницы с адаптивным поведением при нехватке места.

如何安装 @cloud-ru/ds-breadcrumbs?

在项目目录运行 npm install @cloud-ru/ds-breadcrumbs,或使用 pnpm add / yarn add / bun add。

@cloud-ru/ds-breadcrumbs 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@cloud-ru/ds-breadcrumbs 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@cloud-ru/ds-breadcrumbs 可以商用吗?

@cloud-ru/ds-breadcrumbs 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@cloud-ru/ds-breadcrumbs 的下载量有多少?

根据 npm 官方下载统计,@cloud-ru/ds-breadcrumbs 在 2026/10/10 – 2026/11/08 这 30 天内被下载 6,978 次,日均约 233 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@cloud-ru/ds-breadcrumbs 还在维护吗?

最新版本 1.0.45 发布于 2026/11/11(今天);至今共发布 176 个版本,其中过去 12 个月发布了 176 个;首次发布于 2026/08/18。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。