From 75ed37b6eeda4434c73bd2089e2fa528ce6323d6 Mon Sep 17 00:00:00 2001 From: Pavel Maliuk Date: Thu, 2 May 2024 00:26:55 +0700 Subject: [PATCH] fix(VHover): false isHovering by default (#19623) fixes #19601 Co-authored-by: John Leider --- packages/vuetify/src/components/VHover/VHover.tsx | 4 ++-- packages/vuetify/src/components/VOverlay/VOverlay.tsx | 7 +++++-- packages/vuetify/src/components/VSnackbar/VSnackbar.tsx | 2 +- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/packages/vuetify/src/components/VHover/VHover.tsx b/packages/vuetify/src/components/VHover/VHover.tsx index 43bc79b0938..f84172970a7 100644 --- a/packages/vuetify/src/components/VHover/VHover.tsx +++ b/packages/vuetify/src/components/VHover/VHover.tsx @@ -7,7 +7,7 @@ import { genericComponent, propsFactory } from '@/util' type VHoverSlots = { default: { - isHovering: boolean | undefined + isHovering: boolean | null props: Record } } @@ -16,7 +16,7 @@ export const makeVHoverProps = propsFactory({ disabled: Boolean, modelValue: { type: Boolean, - default: undefined, + default: null, }, ...makeDelayProps(), diff --git a/packages/vuetify/src/components/VOverlay/VOverlay.tsx b/packages/vuetify/src/components/VOverlay/VOverlay.tsx index c683fffa6b2..1f8f910efcf 100644 --- a/packages/vuetify/src/components/VOverlay/VOverlay.tsx +++ b/packages/vuetify/src/components/VOverlay/VOverlay.tsx @@ -93,7 +93,10 @@ export const makeVOverlayProps = propsFactory({ disabled: Boolean, opacity: [Number, String], noClickAnimation: Boolean, - modelValue: Boolean, + modelValue: { + type: Boolean as PropType, + default: null, + }, persistent: Boolean, scrim: { type: [Boolean, String], @@ -137,7 +140,7 @@ export const VOverlay = genericComponent()({ setup (props, { slots, attrs, emit }) { const model = useProxiedModel(props, 'modelValue') const isActive = computed({ - get: () => model.value, + get: () => Boolean(model.value), set: v => { if (!(v && props.disabled)) model.value = v }, diff --git a/packages/vuetify/src/components/VSnackbar/VSnackbar.tsx b/packages/vuetify/src/components/VSnackbar/VSnackbar.tsx index 600414a1777..74e72b5dc35 100644 --- a/packages/vuetify/src/components/VSnackbar/VSnackbar.tsx +++ b/packages/vuetify/src/components/VSnackbar/VSnackbar.tsx @@ -30,7 +30,7 @@ import type { Ref } from 'vue' type VSnackbarSlots = { activator: { isActive: boolean, props: Record } default: never - actions: { isActive: Ref } + actions: { isActive: Ref } text: never }