Text Area

Компонент для ввода произвольных текстовых, цифровых и символьных значений в несколько строк. Чаще всего используется для описания при создании сущностей или ввода сообщений в формах и диалоговых окнах.

Применение

В отличие от TextInput, имеет высоту суммы строчек и используется для ввода данных в произвольной форме с любой комбинацией букв, цифр или символов.

Минимальная высота — 1 строка, но рекомендуется использовать компонент от 2 и больше строк.

Rows

Если количество строк не указывается, высота автоматически рассчитывается на основе содержимого.

Auto

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

  1. Когда ожидается, что нужно ввести текст больше одной строки.
  2. Когда текст должен быть описанием чего-либо или сообщением для отправки, в котором содержится много символов.
  3. Когда необходимо дополнение к форме с обязательными полями.

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

  1. Когда нужен фильтр, поле в форме авторизации или поисковая строка.
  2. Когда требуется ввод небольшого количества символов (меньше 5 слов). Для этого рекомендуется использовать компонент для однострочного ввода текста — TextInput.

Типы

Существует два типа: Normal и Clear, которые имеют одинаковый набор функций, но выглядят по-разному и применяются в зависимости от контекста.

Normal, Clear

Normal

  • Наиболее часто используемый вид.
  • Отличительной особенностью является то, что у компонента есть внутренние отступы и скругления — параметры, которые зависят от размера элемента и задаются специальной переменной для радиусов скруглений (подробнее здесь), а также обводка — 1 px.
  • Используется в формах, когда между компонентами необходимо использовать свободное пространство в виде отступов между элементами в форме.

Clear

  • Отличительной особенностью является то, что у компонента отсутствует обводка, а элементы внутри располагаются в края поля для ввода.
  • Используется, когда вид Normal создает визуальный шум.
  • При использовании этого вида важно убедиться, что суть компонента остается понятной для пользователя.

Структура

Structure.png

1. Значение (Value)

Active.png

  • Является обязательным элементом.
  • Можно использовать как в качестве подсказки (плейсхолдера), так и введенного текста.
  • Введенный текст заменяет подсказку (хинт).

2. Кнопка очистки (Clear button)

Clear Button

  • Является опциональным элементом.
  • Используется, если нужно очистить поле.
  • Отображается, когда в поле введен хотя бы один символ.
  • Отображается даже в случае, когда фокус находится вне поля.
  • Является компонентом Button типа Flat-secondary и наследует все его свойства. Например, по hover фон крестика будет с заливкой.
  • При клике на кнопку очистки фокус переходит в поле, а введенное значение стирается. 3. Произвольный контент (Additional)

Structure2.png

  • Является опциональным элементом и встраивается внизу справа.
  • Используется, если нужно добавить дополнительный текст снаружи.
  • Текст выравнивается по правому краю.
  • Например, можно использовать для каунтера (счетчика введенных символов)

4. Иконка ошибка (Error icon)

Error icon

  • Выводится только в состоянии Inline Error.
  • Работает в паре с Tooltip с описанием ошибки, при наведении на иконку, когда нужно сделать более компактный вид в форме.

5. Сообщение об ошибке (Error message)

Error message

  • Выводится только в состоянии Outline Error.
  • Описание ошибки располагается слева внизу поля.

Состояния

States.png

Имеет несколько состояний: Suggest, Default, Hover, Active, Disabled, Inline Error и Outline Error.

  1. Suggest — неактивное состояние, когда нет прямого взаимодействия с компонентом и в нем еще нет введенных данных. В таком состоянии значение может подсказывать, что это поле нужно заполнить, и являться подсказкой (хинтом).
  2. Default — неактивное состояние, когда нет прямого взаимодействия с компонентом и в нем уже есть введенные данные. В таком состоянии значение подсказки (хинт) меняется на то, что введено было пользователем.
  3. Hover — активное состояние, когда курсор наводится на область компонента.
  4. Active — активное состояние, вызываемое переходом от предыдущего компонента или намеренным кликом курсором на него. Состояние сбрасывается, если происходит переход на другой компонент или клик курсором на пустое место.
  5. Disabled — неактивное состояние компонента, когда нет возможности с ним взаимодействовать.
  6. Outline error — активное состояние компонента, когда происходит ошибка при валидации, которая отображается внизу поля с пояснением.
  7. Inline error — активное состояние компонента, когда происходит ошибка при валидации поля, но сама ошибка не выводится, а отображается специальная иконка, при наведении на которую появляется тултип с ошибкой.

Размеры

Sizes.png

Существует 4 размера компонента: S, M, L, и XL.

В зависимости от размера у компонента меняется высота и скругления углов полей, а также отступы внутри поля и размер текста.

Радиусы скругления зависят от размера и задаются переменными.

  1. S (-g-border-radius-s: 5px;) — используются там, где стандартный инпут слишком велик (таблицы, небольшие карточки).
  2. M (-g-border-radius-m: 6px;) — основной размер, используется в большинстве форм и фильтрах.
  3. L (-g-border-radius-l: 8px;) — используется для поиска (например, поиск по сервису).
  4. ХL (-g-border-radius-xl: 10px;) — используется в коммуникационной среде (например, на сайте и лендингах).

Рекомендации по использованию

1. Работа с полем

  • Поле может меняться в высоту. Для ввода в одну строку подойдет компонент TextInput.
  • Не рекомендуется помещать подсказку (хинт) внутрь поля, так как при вводе значения имени поля будет не видно. Так можно делать только в исключительных случаях, когда нужно сэкономить место или предназначение поля очевидно.
  • Используйте один размер с другими комплементарными компонентами в форме. Если вы выбрали для работы M, другие компоненты должны быть такого же размера.

2. Внешний заголовок поля

External field header

  • Краткое название поля (желательно не больше одной строки).
  • Необходимо размещать по одной линии со значением внутри поля, за исключением мобильного контекста или Dialog размера S, где заголовок размещается сверху компонента.

3. Подсказка с тултипом

Hint with tooltip

  • Инструкции по заполнению поля при наведении на иконку с вопросительным знаком.
  • Используется при необходимости пояснить заголовок и значение.
  • Рекомендуется писать короткий текст (не более двух абзацев).

4. Дополнительное описание

Additional description

  • Может располагаться снизу поля или справа от поля.
  • Используется в особых случаях, когда без дополнительного описания не понятно, как заполнять поле, или требуются пояснения к уже заполненному значению.
НазадTabs
ДалееText Input