From abd2be1aa667f91c47673450445e09211c821365 Mon Sep 17 00:00:00 2001 From: Benjamin Canac Date: Wed, 5 Feb 2025 15:32:20 +0100 Subject: [PATCH] feat(Toast): handle vnodes in `title` and `description` Resolves #3226 --- src/runtime/components/Toast.vue | 17 +++++++++++++---- src/runtime/types/utils.ts | 5 +++++ 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/src/runtime/components/Toast.vue b/src/runtime/components/Toast.vue index b8d3002e..43a61551 100644 --- a/src/runtime/components/Toast.vue +++ b/src/runtime/components/Toast.vue @@ -7,6 +7,7 @@ import theme from '#build/ui/toast' import { extendDevtoolsMeta } from '../composables/extendDevtoolsMeta' import { tv } from '../utils/tv' import type { AvatarProps, ButtonProps } from '../types' +import type { StringOrVNode } from '../types/utils' const appConfigToast = _appConfig as AppConfig & { ui: { toast: Partial } } @@ -20,8 +21,8 @@ export interface ToastProps extends Pick - {{ title }} + + + - {{ description }} + + + diff --git a/src/runtime/types/utils.ts b/src/runtime/types/utils.ts index 29f22cd6..2357fb20 100644 --- a/src/runtime/types/utils.ts +++ b/src/runtime/types/utils.ts @@ -33,3 +33,8 @@ export type SelectItemKey = T extends Record ? keyof T : string export type SelectModelValueEmits = { 'update:modelValue': [payload: SelectModelValue] } + +export type StringOrVNode = + | string + | VNode + | (() => VNode)