---
url: "https://vueda.dev/v3/reference/api/vue/Sonner.md"
title: "Sonner"
---

# Sonner

## Overview

A toast notification container built on vue-sonner, providing styled toast popups
with registry-backed icons for success, info, warning, error, loading, and close states.

It reads these icon names from the `Sonner` registry entry: `check` for success, `info`,
`triangleExclamation` for warning, `close` for error and for the close button, and `loading`.

Theme entry: [Sonner](/v3/reference/theming/keys/Sonner.md)

## Props

| Name | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| <span id="prop-iconOverride">iconOverride</span> | `Object` |  | `null` | A partial icon registry (`{ [componentName]: { [iconName]: { component, props } } }`) merged with inherited and default icon entries; scopes icon overrides to this component and its descendants. |
| <span id="prop-themeOverride">themeOverride</span> | `Object` |  | `null` | A partial ThemeObject keyed by component name, merged over this component's theme and provided to descendants. |
| <span id="prop-class">class</span> | `import('vue').HTMLAttributes['class']` |  | `undefined` | Additional CSS classes to apply to the root element. |
| <span id="prop-position">position</span> | `string` |  | `undefined` | The position of the toaster on screen. |
| <span id="prop-closeButton">closeButton</span> | `boolean` |  | `true` | Whether toasts should be shown with a close button. Defaults to `true`: without it, drag-to-dismiss is the only way to close a toast early, and that gesture has no visual affordance. |
| <span id="prop-richColors">richColors</span> | `boolean` |  | `undefined` | Whether rich colors should be used. |
| <span id="prop-invert">invert</span> | `boolean` |  | `undefined` | Whether the newest toast should appear on top. |
| <span id="prop-visibleToasts">visibleToasts</span> | `number` |  | `undefined` | Maximum number of toasts shown at once. |
| <span id="prop-duration">duration</span> | `number` |  | `undefined` | Duration in ms before a toast auto-dismisses. |
| <span id="prop-gap">gap</span> | `number` |  | `undefined` | Gap between toasts in pixels. |
| <span id="prop-as">as</span> | `string\|object` |  | `undefined` | The element or component to render as. |

## Source

`client/lib/feedback/toast/Sonner.vue`
