import { defineComponent } from "../../utils";
import { makeDelayProps, useDelay } from "../../composables/delay";
import { useProxiedModel } from "../../composables/proxied-model";
const Hover = defineComponent({
  name: "VeHover",
  props: {
    disabled: Boolean,
    modelValue: {
      type: Boolean,
      default: void 0
    },
    ...makeDelayProps()
  },
  emits: {
    "update:modelValue": (_modelValue) => true
  },
  setup(props, {
    slots
  }) {
    const hover = useProxiedModel(props, "modelValue");
    const {
      runOpenDelay,
      runCloseDelay
    } = useDelay(props, (value) => {
      !props.disabled && (hover.value = value);
    });
    return () => slots.default?.({
      hover: hover.value,
      props: {
        onMouseenter: runOpenDelay,
        onMouseleave: runCloseDelay
      }
    });
  }
});
export {
  Hover
};
//# sourceMappingURL=hover.mjs.map
