В SvelteKit UI библиотеках Alert и
AlertDialog представляют собой компоненты для отображения
уведомлений и модальных диалогов с предупреждениями или подтверждениями.
Они отличаются по поведению: Alert чаще используется для
кратких уведомлений, которые не требуют прямого действия пользователя, а
AlertDialog — для модальных окон с интерактивными кнопками,
где требуется подтверждение или отмена действия.
Оба компонента обеспечивают:
Alert — это компонент, который используется для
отображения кратких сообщений пользователю: информация, предупреждение,
ошибка или успех. Основные свойства и возможности:
type — тип сообщения: success,
info, warning, error. Определяет
визуальное оформление.title — заголовок сообщения.description — подробное описание.closable — булевое значение, разрешающее закрытие
сообщения пользователем.duration — время отображения в миллисекундах (для
автоматического закрытия).<script>
import { Alert } from 'sveltekit-ui';
</script>
<Alert type="warning" title="Внимание!" description="Ваш сеанс скоро истечет" closable={true} duration={5000} />
В этом примере создается предупреждение с возможностью закрытия и автоматическим исчезновением через 5 секунд.
alert для
экранных читалок.Tab и может
быть активирована Enter или Space.AlertDialog предназначен для ситуаций, когда необходимо
подтвердить критическое действие: удаление записи, выход из аккаунта,
перезапись данных. В отличие от Alert, этот компонент
требует взаимодействия пользователя.
Основные элементы:
Confirm, Cancel).isOpen — управляет состоянием модального окна.onOpenChange — колбэк при изменении состояния.leastDestructiveRef — элемент, который получает фокус
при открытии (обычно кнопка отмены).title — заголовок диалога.description — описание действия, требующего
подтверждения.<script>
import { AlertDialog, AlertDialogTrigger, AlertDialogContent, AlertDialogAction, AlertDialogCancel } from 'sveltekit-ui';
let open = false;
</script>
<AlertDialog bind:isOpen={open}>
<AlertDialogTrigger>
<button>Удалить запись</button>
</AlertDialogTrigger>
<AlertDialogContent title="Подтвердите удаление" description="Вы действительно хотите удалить эту запись?">
<AlertDialogCancel>Отмена</AlertDialogCancel>
<AlertDialogAction>Удалить</AlertDialogAction>
</AlertDialogContent>
</AlertDialog>
В этом примере модальный диалог открывается по нажатию кнопки и предлагает пользователю подтвердить или отменить действие.
leastDestructiveRef.Escape.role="alertdialog", что обеспечивает корректное уведомление
пользователя о необходимости действия.Alert подходит для уведомлений, не требующих
действия: успех операции, информация или предупреждение.
AlertDialog подходит для критических операций, где
важно явное подтверждение пользователя.
Для обеих компонент соблюдается принцип доступности и фокус-менеджмента.
Использование этих компонентов совместно с состоянием Svelte
(bind:) позволяет легко интегрировать их в динамичные
интерфейсы.
Стилизация через переменные библиотеки обеспечивает единый визуальный язык для всего приложения.
Использование анимаций улучшает пользовательский опыт, делая появление и исчезновение уведомлений более плавным.
Alert и AlertDialog в SvelteKit UI libs —
ключевые элементы управления пользовательским взаимодействием,
обеспечивающие удобное уведомление и безопасное подтверждение действий.
Их правильная интеграция повышает доступность, информативность и
контроль над интерфейсом.