Библиотека iziToast позволяет создавать уведомления с высокой степенью кастомизации, включая возможность использования пользовательских иконок. Иконки являются важным элементом визуальной коммуникации: они помогают мгновенно идентифицировать тип уведомления и повышают удобство взаимодействия с интерфейсом.
По умолчанию iziToast использует встроенные иконки для типов
уведомлений: success, error,
warning, info. Однако любой элемент можно
заменить на свой собственный HTML-код или изображение.
Для этого используется опция icon.
Простейший пример замены стандартной иконки на кастомную:
iziToast.show({
title: 'Успех',
message: 'Данные успешно сохранены!',
icon: '<i class="fas fa-check-circle"></i>',
color: 'green'
});
Здесь вместо встроенной иконки вставляется тег <i>
с классами FontAwesome. Таким образом, поддерживаются любые иконки из
внешних библиотек или SVG.
Иконкой может быть и изображение, загружаемое по
URL. В этом случае достаточно передать тег <img>:
iziToast.show({
title: 'Информация',
message: 'Доступно новое обновление.',
icon: '<img src="https://example.com/icons/info.png" width="24" height="24">',
color: 'blue'
});
Важно задавать размеры изображения, чтобы оно корректно вписывалось в рамку уведомления. Для консистентного внешнего вида рекомендуется поддерживать одинаковый размер всех иконок.
Иконки в iziToast можно стилизовать через CSS или встроенные атрибуты. Например, изменение цвета или анимации:
iziToast.show({
title: 'Ошибка',
message: 'Не удалось загрузить файл.',
icon: '<i class="fas fa-exclamation-triangle custom-icon"></i>',
color: 'red',
timeout: 5000
});
И CSS:
.custom-icon {
color: yellow;
animation: spin 2s linear infinite;
}
@keyframes spin {
from { transform: rotate(0deg); }
to { transform: rotate(360deg); }
}
Так можно создать анимированные иконки, что делает уведомления более динамичными и заметными.
Опция icon позволяет даже полностью убрать
иконку, если передать false:
iziToast.show({
title: 'Напоминание',
message: 'Событие начнётся через 10 минут.',
icon: false,
color: 'orange'
});
Это полезно для минималистичных уведомлений, где визуальная нагрузка должна быть минимальной.
Можно задать разные иконки для типов уведомлений через глобальные настройки:
iziToast.settings({
icon: 'custom', // указывает, что используется кастомная иконка
icons: {
success: '<i class="fas fa-smile"></i>',
error: '<i class="fas fa-times-circle"></i>',
info: '<i class="fas fa-info-circle"></i>',
warning: '<i class="fas fa-exclamation-circle"></i>'
}
});
Теперь при вызове iziToast.success(...) автоматически
используется указанный кастомный символ.
color), чтобы улучшить читаемость.SVG обеспечивает высокое качество на любых разрешениях и полную гибкость:
iziToast.show({
title: 'Успех',
message: 'Файл загружен.',
icon: `<svg width="24" height="24" viewBox="0 0 24 24">
<path fill="green" d="M9 16.17l-3.5-3.5L4 14l5 5 12-12-1.41-1.42z"/>
</svg>`,
color: 'green'
});
SVG можно цветить через атрибут fill или через CSS, добавляя адаптивность к теме приложения.
Использование пользовательских иконок в iziToast открывает возможности для точной визуальной кастомизации уведомлений, позволяет интегрировать фирменные стили и создавать узнаваемый интерфейс без ограничений стандартного набора иконок.