Big News: Socket raises $60M Series C at a $1B valuation to secure software supply chains for AI-driven development.Announcement
Sign In

@snack-uikit/truncate-string

Package Overview
Dependencies
Maintainers
3
Versions
174
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@snack-uikit/truncate-string

Source
npmnpm
Version
0.7.10
Version published
Weekly downloads
5.9K
200.46%
Maintainers
3
Weekly downloads
 
Created
Source

Truncate String

Installation

npm i @snack-uikit/truncate-string

Changelog

Description

  • Пакет @snack-uikit/truncate-string предоставляет компонент TruncateString для обрезания длинных текстовых строк с автоматическим отображением тултипа с полным текстом при необходимости.
  • Компонент поддерживает два варианта обрезания: end (с конца строки, по умолчанию) и middle (по середине), что позволяет гибко адаптировать отображение текста под разные сценарии интерфейса.
  • TruncateString автоматически определяет, был ли текст обрезан, и показывает тултип с полным содержимым только когда это необходимо, что улучшает пользовательский опыт при работе с длинными строками.
  • Компонент поддерживает многострочное обрезание через проп maxLines, позволяя ограничивать текст несколькими строками с многоточием в конце.
  • Позиция тултипа, условие его отображения (hover, click, focus и их комбинации) и возможность скрыть тултип полностью настраиваются через соответствующие пропы.
  • Компонент реагирует на изменение размера контейнера через ResizeObserver, автоматически пересчитывая необходимость обрезания при изменении доступного пространства.

Example

import { TruncateString } from '@snack-uikit/truncate-string';

function Example() {
  return (
    <div style={{ width: '200px' }}>
      <TruncateString
        variant="end"
        placement="top"
        hideTooltip={false}
        text="Очень длинный текст, который будет обрезан с конца строки"
        maxLines={2}
        trigger="hover"
      />
    </div>
  );
}

TruncateString

Props

nametypedefault valuedescription
text*string-Текст, который будет обрезаться
variant"middle" | "end"endВариант обрезания строки:
- End - с конца
- Middle - по середине
classNamestring-CSS-класс
tooltipClassNamestring-Стиль для тултипа
hideTooltipboolean-Скрывать ли тултип с полным текстом
maxLinesnumber-Максимальное кол-во строк, до которого может сворачиваться текст.
placementenum Placement: "left", "left-start", "left-end", "right", "right-start", "right-end", "top", "top-start", "top-end", "bottom", "bottom-start", "bottom-end"-Положение тултипа относительно обрезанного текста.
triggerenum Trigger: "click", "hover", "focusVisible", "focus", "hoverAndFocusVisible", "hoverAndFocus", "clickAndFocusVisible"-Условие отображения тултипа

Troubleshooting

Если компонент работает некорректно, проверь:

  • <TruncateString /> должен лежать в органиченном по ширине контейнере, иначе он не сможет правильно высчитывать обрезание.
  • если с ограничением по ширине тоже возникают проблемы, можно попробовать задать на компоненте-обёртке св-во display: grid

FAQs

Package last updated on 17 Mar 2026

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts