vuetify
Version:
Vue Material Component Framework
36 lines • 947 B
JavaScript
// Composables
import { makeDelayProps, useDelay } from "../../composables/delay.mjs";
import { useProxiedModel } from "../../composables/proxiedModel.mjs"; // Utilities
import { genericComponent } from "../../util/index.mjs";
export const VHover = genericComponent()({
name: 'VHover',
props: {
disabled: Boolean,
modelValue: {
type: Boolean,
default: undefined
},
...makeDelayProps()
},
emits: {
'update:modelValue': value => true
},
setup(props, _ref) {
let {
slots
} = _ref;
const isHovering = useProxiedModel(props, 'modelValue');
const {
runOpenDelay,
runCloseDelay
} = useDelay(props, value => !props.disabled && (isHovering.value = value));
return () => slots.default?.({
isHovering: isHovering.value,
props: {
onMouseenter: runOpenDelay,
onMouseleave: runCloseDelay
}
});
}
});
//# sourceMappingURL=VHover.mjs.map