diff --git a/playgrounds/nuxt/app/composables/useNavigation.ts b/playgrounds/nuxt/app/composables/useNavigation.ts
index ef65d4352c..7805065463 100644
--- a/playgrounds/nuxt/app/composables/useNavigation.ts
+++ b/playgrounds/nuxt/app/composables/useNavigation.ts
@@ -3,6 +3,7 @@ import { upperName } from '../utils'
const components = [
'accordion',
'alert',
+ 'alert-group',
'auth-form',
'avatar',
'badge',
diff --git a/playgrounds/nuxt/app/pages/components/alert-group.vue b/playgrounds/nuxt/app/pages/components/alert-group.vue
new file mode 100644
index 0000000000..b397ed4073
--- /dev/null
+++ b/playgrounds/nuxt/app/pages/components/alert-group.vue
@@ -0,0 +1,53 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/runtime/components/AlertGroup.vue b/src/runtime/components/AlertGroup.vue
new file mode 100644
index 0000000000..e326471ce2
--- /dev/null
+++ b/src/runtime/components/AlertGroup.vue
@@ -0,0 +1,71 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/runtime/types/index.ts b/src/runtime/types/index.ts
index 0693603371..41e29ced2b 100644
--- a/src/runtime/types/index.ts
+++ b/src/runtime/types/index.ts
@@ -1,5 +1,6 @@
export * from '../components/Accordion.vue'
export * from '../components/Alert.vue'
+export * from '../components/AlertGroup.vue'
export * from '../components/App.vue'
export * from '../components/AuthForm.vue'
export * from '../components/Avatar.vue'
diff --git a/src/theme/alert-group.ts b/src/theme/alert-group.ts
new file mode 100644
index 0000000000..09350ad470
--- /dev/null
+++ b/src/theme/alert-group.ts
@@ -0,0 +1,6 @@
+export default {
+ slots: {
+ root: 'group flex flex-col transition-all duration-300 data-[expanded=true]:gap-2 data-[expanded=false]:gap-0',
+ items: 'transition-all duration-300 mx-auto overflow-hidden not-first:group-data-[expanded=false]:*:invisible'
+ }
+}
diff --git a/src/theme/index.ts b/src/theme/index.ts
index 687acd97db..c54b7232c5 100644
--- a/src/theme/index.ts
+++ b/src/theme/index.ts
@@ -1,5 +1,6 @@
export { default as accordion } from './accordion'
export { default as alert } from './alert'
+export { default as alertGroup } from './alert-group'
export { default as authForm } from './auth-form'
export { default as avatar } from './avatar'
export { default as avatarGroup } from './avatar-group'