import { makeDelayProps, useDelay } from "../../composables/delay/index.mjs";
import { useProxiedModel } from "../../composables/proxied-model/index.mjs";
import { defineComponent } from "../../utils/define-component.mjs";
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 () => {
      var _a;
      return (_a = slots.default) == null ? void 0 : _a.call(slots, {
        hover: hover.value,
        props: {
          onMouseenter: runOpenDelay,
          onMouseleave: runCloseDelay
        }
      });
    };
  }
});
export {
  Hover
};
//# sourceMappingURL=hover.mjs.map
