vuestic-ui
Version:
Vue 3 UI Framework
29 lines (28 loc) • 756 B
JavaScript
import { ref, watch } from "vue";
import { u as useHTMLElement } from "./useHTMLElement.js";
import { u as useEvent } from "./useEvent.js";
function useHover(el, disabled) {
const isHovered = ref(false);
const onMouseEnter = () => {
if (disabled == null ? void 0 : disabled.value) {
return;
}
isHovered.value = true;
};
const onMouseLeave = () => {
isHovered.value = false;
};
disabled && watch(disabled, (v) => {
if (v) {
isHovered.value = false;
}
});
const target = useHTMLElement(el);
useEvent("mouseenter", onMouseEnter, target);
useEvent("mouseleave", onMouseLeave, target);
return { isHovered, onMouseEnter, onMouseLeave };
}
export {
useHover as u
};
//# sourceMappingURL=useHover.js.map