CoreText
Примеры использования и документация.
Базовый текстовый блок для основного контента страницы: абзацы, подписи, списки — везде, где нужен просто текст без лишней обёртки. Позволяет ограничить длину визуально, не обрезая данные: длинные описания схлопываются до заданного числа строк с многоточием, и карточка или таблица сохраняет аккуратную высоту.
Технические детали: рендерится любым тегом через проп as (по умолчанию p). maxLines ограничивает число строк — лишнее обрезается многоточием через CSS line-clamp (миксин core-line-clamp, класс-модификатор core-text--clamped применяется только при заданном ограничении, чтобы -webkit-box без него не резал контент). Содержимое — слот default.
Очень длинный абзац текста, который гарантированно не помещается в отведённое число строк и должен обрезаться многоточием — визуальная проверка line-clamp в компоненте CoreText на любой ширине контейнера
p · max-lines="1" — одна строка
Очень длинный абзац текста, который гарантированно не помещается в отведённое число строк и должен обрезаться многоточием — визуальная проверка line-clamp в компоненте CoreText на любой ширине контейнера
p · max-lines="2"
Очень длинный абзац текста, который гарантированно не помещается в отведённое число строк и должен обрезаться многоточием — визуальная проверка line-clamp в компоненте CoreText на любой ширине контейнера
p · text-sm + max-lines="3"
Очень длинный абзац текста, который гарантированно не помещается в отведённое число строк и должен обрезаться многоточием — визуальная проверка line-clamp в компоненте CoreText на любой ширине контейнера
p · без max-lines — не обрезается
strong · полужирный + max-lines="2"
em · курсив + max-lines="2"
small · мелкий без ограничений
label · max-lines="1"
Очень длинный абзац текста, который гарантированно не помещается в отведённое число строк и должен обрезаться многоточием — визуальная проверка line-clamp в компоненте CoreText на любой ширине контейнера
blockquote · цитата + max-lines="3"
figcaption · приглушённая подпись
div · блочный + max-lines="2"
Короткий текст
p · короткий текст не режется
Абзац, где span идёт инлайном прямо внутри текста — второй span приглушён, перенос строки их не разрывает.
span · инлайн внутри абзаца