SweetAlert2: мастерская и шесть интерфейсов
https://ae-nekrasov.ru/development/sweetalert2-dialogi-interfejsy-masterskaya-6-primerov/

Быстрый запуск без установки:
Откройте любой examples/*.html в браузере. Это самостоятельные файлы с библиотеками внутри, без CDN. Изменения локальны и исчезают при перезагрузке. Сброс возвращает снимок, сохранённый при экспорте.

Запуск всего набора:
Распакуйте ZIP в отдельную папку. В этой папке выполните:
  python -m http.server 8000 --bind 127.0.0.1
или:
  php -S 127.0.0.1:8000
Откройте http://127.0.0.1:8000/index.html для шести сценариев, либо http://127.0.0.1:8000/lab.html для мастерской. Остановить сервер: Ctrl+C.
Локальный сервер нужен исходной мастерской для чтения собственных файлов при сборке полного HTML. Экспортированный HTML работает без сервера.

Шесть сценариев:
delete — выберите две задачи, отмените удаление, подтвердите и верните удалённые: 4 → 2 → 4.
rename — попробуйте пустое имя, затем «Кабинет партнёра»; допустимо 3–60 символов после trim.
submit — заполните форму, подтвердите локальную обработку; квитанция DEMO-201. Время ожидания 650 мс.
retry — первая локальная попытка неудачна; повтор вернёт 3 записи.
wizard — три шага заявки, назад, отмена и продолжение черновика; результат W-401.
toast — измените вид на «Карточки», сохраните и отмените; отмена доступна и после исчезновения toast.

Все «отправки», ожидание и ошибки здесь моделируются в браузере. Серверные данные не меняются, fetch к API нет. Статья отдельно показывает реальный fetch и PHP-обработчик.

lab.html — конструктор подтверждения, ввода, toast и ошибки. Экспортирует JavaScript, JSON настроек и всю мастерскую одним автономным HTML. Журнал запусков не экспортируется.
index.html — шесть интерфейсов; полный HTML содержит текущий снимок выбранного примера.
models.js — данные и переходы состояний; ui.js — действия и SweetAlert2; example-export.js — сборка автономного файла.
bridge.js / embed.js / embed.css — встраивание в статью, размеры и доступный диалог поверх страницы. Для автономного режима родитель не нужен.
vendor/ — SweetAlert2 11.26.25 и Bootstrap 5.3.8, лицензии MIT и SHA-256 в sources.json.

Управление: Tab и Shift+Tab; Enter/пробел для кнопок; стрелки/Home/End для выбора сценария; Escape для закрытия доступных диалогов. Время уведомления приостанавливается при наведении или фокусе. Во время локальной обработки закрытие заблокировано до результата.
Пользовательский текст выводится как текст. Для своего сервера добавьте авторизацию, проверку прав, CSRF-защиту там, где используется cookie-сессия, серверную валидацию и обработку ошибок.

Документация: https://sweetalert2.github.io/
Исходники библиотеки: https://github.com/sweetalert2/sweetalert2
