diff --git a/docs/components/content/examples/AlertExampleAvatar.vue b/docs/components/content/examples/AlertExampleAvatar.vue
new file mode 100644
index 00000000..66db4bdf
--- /dev/null
+++ b/docs/components/content/examples/AlertExampleAvatar.vue
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/components/content/examples/AlertExampleIcon.vue b/docs/components/content/examples/AlertExampleIcon.vue
new file mode 100644
index 00000000..5e498864
--- /dev/null
+++ b/docs/components/content/examples/AlertExampleIcon.vue
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/content/2.components/alert.md b/docs/content/2.components/alert.md
index 0d74544c..5f025b66 100644
--- a/docs/content/2.components/alert.md
+++ b/docs/content/2.components/alert.md
@@ -163,6 +163,18 @@ This can be handy when you want to display HTML content. To achieve this, you ca
:component-example{component="alert-example-html"}
+### `icon`
+
+Use the `#icon` slot to customize the displayed icon.
+
+:component-example{component="alert-example-icon"}
+
+### `avatar`
+
+Use the `#avatar` slot to customize the displayable avatar.
+
+:component-example{component="alert-example-avatar"}
+
## Props
:component-props
diff --git a/src/runtime/components/elements/Alert.vue b/src/runtime/components/elements/Alert.vue
index a1fb268b..2ba3b71c 100644
--- a/src/runtime/components/elements/Alert.vue
+++ b/src/runtime/components/elements/Alert.vue
@@ -1,8 +1,12 @@