Skip to content

Toast API

Methods

MethodSignatureDescription
toast(options: SoToastOptions)Show one toast notification.
pushMessage`(level: SoMessageLevel, content: stringNode, options?: SoPushMessageOptions)`
SoToast.configure(defaults: Partial<SoToastOptions>)Set global toast defaults.
SoToast.clear(placement?: SoToastPlacement)Clear toasts in a specific placement.
SoToast.closeAll()Close all active toasts.
SoToast.success/error/info/warning(content, options?)Variant shortcuts.

toast Options (SoToastOptions)

NameTypeRequiredDefaultDescription
idstringNoautoOptional key to deduplicate updates.
titlestringNo''Toast title text.
contentstring | NodeYes-Toast body content.
variant'default'|'info'|'success'|'warning'|'danger'NodefaultVisual style type.
durationnumberNo3000Auto close timeout in milliseconds.
placementSoToastPlacementNotop-endToast container position.
duplicateStrategy'update'|'ignore'|'restart-timer'|'stack'NoupdateHow repeated id values are handled.
maxVisiblenumberNo3Max visible toasts per placement.
newestOnTopbooleanNotruePrepend new toast to top of stack.
showProgressbooleanNotrueShow countdown progress bar.
pauseOnHoverbooleanNotruePause timer on hover.
pauseOnWindowBlurbooleanNofalsePause timer when window loses focus.

Return Handle (SoToastHandle)

FieldTypeDescription
idstringToast id.
elementHTMLElementToast DOM element.
close(reason?) => voidManually close toast.
update(patch) => voidPatch title/content/variant/duration.
pause() => voidPause countdown timer.
resume() => voidResume countdown timer.

Usage Example

ts
import { pushMessage, SoToast } from 'sodialog'

SoToast.configure({ placement: 'bottom-end', maxVisible: 4 })
pushMessage('success', 'Profile saved', { duration: 1800 })

Released under the MIT License.