# Notification A built-in tag for a notification card — a titled message with a colored accent line, handy for showing a static "toast" inline in your docs. The message is the block body (or a `text` param); `title` is optional. Toggle `withBorder`, `loading`, and a decorative `withCloseButton`, and set the `color` and `radius`. Use it as `{% notification %}` in Markdown, or call it from Python logic (loops, snippets) via `component('aardvark', 'notification', …)`. ## Demonstrations ### Title, message, and color The message is the block body; `title` is optional; `color` sets the accent line: Your project was saved successfully. The accent line color conveys the type of message.
Source: Markdown ```aardvark {% notification title="Changes saved" color="green" %} Your project was saved successfully. {% endNotification %} {% notification title="Deploy failed" color="red" %} The accent line color conveys the type of message. {% endNotification %} ``` Source: Python ```python component('aardvark', 'notification', title='Changes saved', color='green', children='Your project was saved successfully.') component('aardvark', 'notification', title='Deploy failed', color='red', children='The accent line color conveys the type of message.') ``` ### Border and radius `withBorder` draws a border around the card; `radius` rounds its corners: A border and a yellow accent line, with extra corner rounding.
Source: Markdown ```aardvark {% notification title="Heads up" color="yellow" withBorder=true radius="lg" %} A border and a yellow accent line, with extra corner rounding. {% endNotification %} ``` Source: Python ```python component('aardvark', 'notification', title='Heads up', color='yellow', withBorder=True, radius='lg', children='A border and a yellow accent line, with extra corner rounding.') ``` ### Loading `loading` swaps the accent line for a spinner — use it for an in-progress message: Your files are being processed.
Source: Markdown ```aardvark {% notification title="Uploading…" loading=true %} Your files are being processed. {% endNotification %} ``` Source: Python ```python component('aardvark', 'notification', title='Uploading…', loading=True, children='Your files are being processed.') ``` ### Close button `withCloseButton` shows a close button. It's decorative here (a static page has no dismiss handler), so it's off by default: Pass `withCloseButton=true` to show the button.
Source: Markdown ```aardvark {% notification title="Dismissible" color="blue" withCloseButton=true %} Pass `withCloseButton=true` to show the button. {% endNotification %} ``` Source: Python ```python component('aardvark', 'notification', title='Dismissible', color='blue', withCloseButton=True, children='Pass `withCloseButton=true` to show the button.') ``` ## With other components A [dialog](/components/overlays/dialog/) and a [notification](/components/feedback/notification/) combine into a **dismissable toast**: the dialog supplies the corner anchor, the trigger button, and a real dismiss (its close button), while the notification supplies the toast styling — the colored accent line and the title. Click *Show notification*, then dismiss it with the close button in the panel's corner. Your project settings were updated.
Source: Markdown ```aardvark {% dialog triggerLabel='Show notification' position='bottom-right' size='lg' %} {% notification title='Changes saved' color='green' %} Your project settings were updated. {% endNotification %} {% endDialog %} ``` Source: Python ```python toast = component('aardvark', 'notification', title='Changes saved', color='green', children='Your project settings were updated.') component('aardvark', 'dialog', triggerLabel='Show notification', position='bottom-right', size='lg', children=toast) ``` ## Attributes | Attribute | Valid values | Description | | --- | --- | --- | | `title` | Any string | Optional bold heading shown above the message. | | `text` | Any string | The message, when not using the block body. | | `color` | Any theme color (`blue`, `green`, `red`, …) or a CSS color value | Color of the accent line. | | `radius` | `xs`, `sm`, `md`, `lg`, `xl`, or a CSS value | Corner rounding of the card. | | `withCloseButton` | bool (default `false`) | Show a close button. Decorative here — it has no dismiss handler on a static page. | | `withBorder` | bool (default `false`) | Draw a border around the card. | | `loading` | bool (default `false`) | Replace the accent line with a spinner. | | *(body)* | Markdown | The message, written between the tags (`children=` from Python). Falls back to `text` when empty. | ## CSS Selectors Each `notification` carries `data-aardvark-island="Notification"` on its wrapper, and Mantine exposes its parts as `mantine-Notification-*` classes — target either to style it from your theme CSS. ```css [data-aardvark-island="Notification"] { /* style every notification on the page */ } .mantine-Notification-root { /* the root part */ } .mantine-Notification-title { /* the title part */ } .mantine-Notification-description { /* the description part */ } .mantine-Notification-closeButton { /* the closeButton part */ } ``` ## Injecting Attributes `attr={…}` forwards raw HTML attributes (including event handlers) straight onto the rendered element. Your settings were updated.
Source: Markdown ```aardvark {% notification title="Changes saved" color="green" attr={'onclick': ''' const value = this.innerText; console.log('attr demo value:', value); alert(value); '''} %} Your settings were updated. {% endNotification %} ``` Source: Python ```python component('aardvark', 'notification', title='Changes saved', color='green', children='Your settings were updated.', attr={'onclick': ''' const value = this.innerText; console.log('attr demo value:', value); alert(value); '''}) ```