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'