2
This commit is contained in:
56
normal-admin/node_modules/element-plus/es/hooks/use-delayed-toggle/index.mjs
generated
vendored
Normal file
56
normal-admin/node_modules/element-plus/es/hooks/use-delayed-toggle/index.mjs
generated
vendored
Normal file
@@ -0,0 +1,56 @@
|
||||
import { unref } from 'vue';
|
||||
import { useTimeout } from '../use-timeout/index.mjs';
|
||||
import { buildProps } from '../../utils/vue/props/runtime.mjs';
|
||||
import { isNumber } from '../../utils/types.mjs';
|
||||
|
||||
const useDelayedToggleProps = buildProps({
|
||||
showAfter: {
|
||||
type: Number,
|
||||
default: 0
|
||||
},
|
||||
hideAfter: {
|
||||
type: Number,
|
||||
default: 200
|
||||
},
|
||||
autoClose: {
|
||||
type: Number,
|
||||
default: 0
|
||||
}
|
||||
});
|
||||
const useDelayedToggle = ({
|
||||
showAfter,
|
||||
hideAfter,
|
||||
autoClose,
|
||||
open,
|
||||
close
|
||||
}) => {
|
||||
const { registerTimeout } = useTimeout();
|
||||
const {
|
||||
registerTimeout: registerTimeoutForAutoClose,
|
||||
cancelTimeout: cancelTimeoutForAutoClose
|
||||
} = useTimeout();
|
||||
const onOpen = (event, delay = unref(showAfter)) => {
|
||||
registerTimeout(() => {
|
||||
open(event);
|
||||
const _autoClose = unref(autoClose);
|
||||
if (isNumber(_autoClose) && _autoClose > 0) {
|
||||
registerTimeoutForAutoClose(() => {
|
||||
close(event);
|
||||
}, _autoClose);
|
||||
}
|
||||
}, delay);
|
||||
};
|
||||
const onClose = (event, delay = unref(hideAfter)) => {
|
||||
cancelTimeoutForAutoClose();
|
||||
registerTimeout(() => {
|
||||
close(event);
|
||||
}, delay);
|
||||
};
|
||||
return {
|
||||
onOpen,
|
||||
onClose
|
||||
};
|
||||
};
|
||||
|
||||
export { useDelayedToggle, useDelayedToggleProps };
|
||||
//# sourceMappingURL=index.mjs.map
|
||||
Reference in New Issue
Block a user