import { html, nothing, type TemplateResult } from 'lit'; import type { NuiToastViewState, ToastMessage } from './types.js'; export type { NuiToastViewState } from './types.js'; export interface NuiToastHandlers { onCloseClick: (id: string) => void; } function resolveIcon(severity: string | undefined): string { switch (severity) { case 'success': return 'mdi:check-circle'; case 'info': return 'mdi:information'; case 'warn': return 'mdi:alert'; case 'error': return 'mdi:alert-circle'; default: return 'mdi:information'; } } function renderMessage( message: ToastMessage, handlers: NuiToastHandlers, ): TemplateResult { const severity = message.severity || 'info'; const id = message.id || ''; return html` `; } export function renderToast( state: NuiToastViewState, handlers: NuiToastHandlers, ): TemplateResult { return html`
${state.messages.map((msg) => renderMessage(msg, handlers))}
`; }