Toast

Toast — всплывающее уведомление в правом нижнем углу экрана. Состоит из двух частей. Регион Toaster монтируется один раз в корне приложения (в IDE — рядом с modal-root) и рисует стопку уведомлений. Сами уведомления показывают вызовом функции toast(options) — она обращается к синглтону, созданному вне React, поэтому звать её можно откуда угодно: из обработчика, из колбэка мутации, из утилиты без доступа к хукам. Своих пропсов у Toaster нет — всё содержимое конкретного тоста задаётся полями options. Поля ToastOptions: title — заголовок (одна строка, обрезается многоточием); description? — вторичный текст под ним; variant? — смысловой вариант из словаря ДС (primary по умолчанию; успех операции — success, ошибка — danger), задаёт цвет полоски-индикатора слева; duration? — время до автозакрытия в мс (по умолчанию 5000, наведение мыши ставит таймер на паузу); content? — произвольный узел под описанием (картинка, кнопки действий и т.п.). Уведомления складываются в стопку, автоматически исчезают по таймеру или по крестику, порталятся в body и позиционируются фиксированно у нижнего правого края. Собрано на Ark UI Toast.

Анатомия

Toaster
Portal → регион (bottom-end, .Group)
Toast.Root (на каждый тост)
Toast.Title (title)
Toast.Description (description)
Content (content)
Toast.CloseTrigger → ButtonIcon

Примеры

Заголовок и описание

description добавляет вторичную строку под заголовком — подробность о том, что произошло. Заголовок при этом остаётся однострочным.

Произвольный контент

content — любой React-узел под описанием: кнопки действий («Отменить»), картинка, ссылка. Здесь тост несёт кнопку отмены удаления.

Время автозакрытия

duration (мс) задаёт, сколько тост висит до автозакрытия. Наведение курсора приостанавливает таймер, увод — возобновляет. Без duration берётся значение по умолчанию — 5000 мс.

API

Компонент не принимает пропсов.