Files
dsProject/dsBase/WebRoot/html/cdn/es/hooks/use-delayed-toggle/index.mjs

40 lines
742 B
JavaScript
Raw Normal View History

2025-08-14 15:45:08 +08:00
import { unref } from 'vue';
import { buildProps } from '../../utils/props.mjs';
import { useTimeout } from '../use-timeout/index.mjs';
const useDelayedToggleProps = buildProps({
showAfter: {
type: Number,
default: 0
},
hideAfter: {
type: Number,
default: 200
}
});
const useDelayedToggle = ({
showAfter,
hideAfter,
open,
close
}) => {
const { registerTimeout } = useTimeout();
const onOpen = () => {
registerTimeout(() => {
open();
}, unref(showAfter));
};
const onClose = () => {
registerTimeout(() => {
close();
}, unref(hideAfter));
};
return {
onOpen,
onClose
};
};
export { useDelayedToggle, useDelayedToggleProps };
//# sourceMappingURL=index.mjs.map