fix(Popover): improve placement with hover mode

Improvement of #781
This commit is contained in:
Benjamin Canac
2024-01-03 17:21:35 +01:00
parent c6aa4215d7
commit bc00f9c4b2

View File

@@ -124,15 +124,32 @@ export default defineComponent({
}) })
const containerStyle = computed(() => { const containerStyle = computed(() => {
if (props.mode !== 'hover') {
return {}
}
const offsetDistance = (props.popper as PopperOptions)?.offsetDistance || (ui.value.popper as PopperOptions)?.offsetDistance || 8 const offsetDistance = (props.popper as PopperOptions)?.offsetDistance || (ui.value.popper as PopperOptions)?.offsetDistance || 8
const placement = popper.value.placement?.split('-')[0]
const padding = `${offsetDistance}px` const padding = `${offsetDistance}px`
return props.mode === 'hover' ? { if (placement === 'top' || placement === 'bottom') {
paddingTop: padding, return {
paddingBottom: padding, paddingTop: padding,
paddingLeft: padding, paddingBottom: padding
paddingRight: padding }
} : {} } else if (placement === 'left' || placement === 'right') {
return {
paddingLeft: padding,
paddingRight: padding
}
} else {
return {
paddingTop: padding,
paddingBottom: padding,
paddingLeft: padding,
paddingRight: padding
}
}
}) })
function onMouseOver () { function onMouseOver () {