Справочник API
Типы TypeScript
Все публичные типы экспортируются из корня пакета:
ts
import type {
ToastType, // 'info' | 'success' | 'warning' | 'error' | 'loading' | 'custom'
ToastPriority, // 'critical' | 'high' | 'normal' | 'low'
ToastPosition, // 'top-left' | 'top-center' | 'top-right' | 'bottom-*'
ToastOptions, // Полный объект опций
ToastItem, // Внутренний реактивный элемент тоста (используется в headless-режиме)
ToastAction, // { label: string; onClick: () => void }
ToastUndo, // { label?: string; onUndo: () => void | Promise<void>; duration?: number }
ToastDesignTokens, // Все ключи CSS-токенов типизированы
PromiseToastMessages, // { loading, success, error }
ToastContext, // Изолированный контекст очереди
GlobalToastOptions, // Опции плагина / модуля
ToastApi, // Тип возврата useToast()
} from 'vue-toast-kit'Работа с ToastItem в headless-режиме:
ts
import type { ToastItem } from 'vue-toast-kit'
function renderCustomToast(t: ToastItem) {
// t.remaining.value — число 0–1
// t.isPaused.value — boolean
// t.groupCount.value — число
// t.options.type, t.options.priority и т. д.
}Типизированное переопределение токенов:
ts
import type { ToastDesignTokens } from 'vue-toast-kit'
const darkGlass: ToastDesignTokens = {
colorBg: 'rgba(15, 15, 20, 0.85)',
colorText: '#f0f0f0',
borderRadius: '14px',
shadow: '0 8px 32px rgba(0,0,0,0.6)',
}Продвинутые экспорты
Корень пакета также экспортирует несколько низкоуровневых строительных блоков — для продвинутых интеграций (аналитика, кастомные контейнеры, фреймворк-независимая обработка SSR), а не для повседневного использования:
| Экспорт | Вид | Описание |
|---|---|---|
ToastQueue | класс | Движок за каждым ToastContext — массивы active/pending, логика дедупликации/вытеснения/приоритетов и события onAdd/onDismiss/onUpdate. См. Эмиттер событий. |
UndoTimer | класс | Таймер обратного отсчёта, стоящий за remaining/pause()/resume() каждого ToastItem — start()/pause()/resume()/destroy(). См. Архитектура. |
GroupManager | класс | Отслеживает, какие тосты скрыты за ведущим группы и какие группы развёрнуты — add()/remove()/toggleExpand()/isExpanded()/getGroupIds()/hasGroup()/clear(). |
globalBuffer | значение (ToastBuffer) | Экземпляр SSR-буфера на уровне модуля, в который пишет каждый вызов toast() на сервере до монтирования <ToastContainer>. См. Поддержка SSR. |
isServer | значение (boolean) | typeof window === 'undefined', вычисляется один раз при загрузке модуля — то, что проверяет ToastContext.addToast(), чтобы решить буфер или очередь. |
PRIORITY_ORDER | значение | Record<ToastPriority, number> — числовой рейтинг (critical: 3 … low: 0), по которому очередь сортирует и вытесняет. |
DEFAULT_OPTIONS | значение | Базовые дефолты ToastOptions, с которых стартует каждый тост, до наложения GlobalToastOptions и опций конкретного тоста. |
TOAST_CONTEXT_KEY | значение (Symbol) | Ключ provide/inject, который читает useToastContext(). См. Мульти-инстансы. |
GLOBAL_OPTIONS_KEY | значение (Symbol) | Ключ provide/inject, который читает <ToastContainer> для своих дефолтов position/theme/maxVisible уровня плагина/модуля. См. ToastContainer. |