@cloud-ru/ds-truncate-string

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

Обрезает длинный текст и показывает полный текст в тултипе — варианты end и middle, поддержка многострочного обрезания.

原始使用文档
文档目录9 节
  1. Когда использовать
  2. Анатомия
  3. Variant
  4. Установка
  5. Примеры использования
  6. Обрезание с конца
  7. Обрезание посередине — имя файла
  8. Многострочное описание
  9. Props

TruncateString

@cloud-ru/ds-truncate-string — Обрезает длинный текст и показывает полный текст в тултипе — варианты end и middle, поддержка многострочного обрезания.

Обрезает длинный текст в ограниченной по ширине области и раскрывает полный вариант в тултипе при наведении. Два варианта обрезания — с конца (end) и посередине (middle) — решают разные задачи: читаемый заголовок и распознаваемое имя файла соответственно.

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

  • В списках, таблицах и карточках, где ширина ячейки зафиксирована.
  • Для имён файлов, идентификаторов и коммитов — чтобы сохранить начало и конец строки (middle).
  • Для заголовков и описаний, длина которых непредсказуема.

Когда не нужен: если контейнер может расти по содержимому (например, body статьи) — проще обернуть текст в абзац без обрезания.

Анатомия

Variant

Где обрезается строка: end — троеточие в конце (стандартный CSS ellipsis), middle — обрезка посередине (для путей, email, ID — чтобы видеть начало и конец).

Установка

pnpm add @cloud-ru/ds-truncate-string
import { TruncateString } from '@cloud-ru/ds-truncate-string'

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

Обрезание с конца

import { TruncateString } from '@cloud-ru/ds-truncate-string';

export function TruncateEnd() {
  return (
    <div style={{ width: 220 }}>
      <TruncateString variant='end' text='Очень длинный заголовок, который не помещается' maxLines={1} />
    </div>
  );
}

Обрезание посередине — имя файла

import { TruncateString } from '@cloud-ru/ds-truncate-string';

export function TruncateMiddle() {
  return (
    <div style={{ width: 220 }}>
      <TruncateString variant='middle' text='2024-quarterly-report-final-v3.pdf' />
    </div>
  );
}

Многострочное описание

import { TruncateString } from '@cloud-ru/ds-truncate-string';

export function TruncateMultiline() {
  return (
    <div style={{ width: 260 }}>
      <TruncateString
        variant='end'
        maxLines={3}
        text='Длинное описание, которое укладывается в три строки, а затем обрезается с троеточием в конце.'
      />
    </div>
  );
}

Props

TruncateStringProps

PropTypeDefaultDescription
classNamestring—
data-test-idstring—
hideTooltipboolean—Скрывать ли тултип с полным текстом
maxLinesnumber—Максимальное кол-во строк, до которого может сворачиваться текст.
placement"bottom" | "bottom-end" | "bottom-start" | "left" | "left-end" | "left-start" | "right" | "right-end" | "right-start" | "top" | "top-end" | "top-start"—Положение тултипа относительно обрезанного текста.
textstring—Текст, который будет обрезаться
tooltipClassNamestring—Стиль для тултипа
trigger"click" | "clickAndFocusVisible" | "focus" | "focusVisible" | "hover" | "hoverAndFocus" | "hoverAndFocusVisible"—Условие отображения тултипа
variant"end" | "middle"endВариант обрезания строки: End - с конца
Middle - по середине

版本与发布记录

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

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

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

@cloud-ru/ds-truncate-string 是什么?

Обрезает длинный текст и показывает полный текст в тултипе — варианты end и middle, поддержка многострочного обрезания.

如何安装 @cloud-ru/ds-truncate-string?

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

@cloud-ru/ds-truncate-string 支持 TypeScript 吗?

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

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

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

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

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

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

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

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

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