完全跑通1.0版本
This commit is contained in:
63
frontend/node_modules/element-plus/es/hooks/use-delayed-toggle/index.mjs
generated
vendored
Normal file
63
frontend/node_modules/element-plus/es/hooks/use-delayed-toggle/index.mjs
generated
vendored
Normal file
@@ -0,0 +1,63 @@
|
||||
import { isNumber } from "../../utils/types.mjs";
|
||||
import { buildProps } from "../../utils/vue/props/runtime.mjs";
|
||||
import { useTimeout } from "../use-timeout/index.mjs";
|
||||
import { unref } from "vue";
|
||||
//#region ../../packages/hooks/use-delayed-toggle/index.ts
|
||||
/**
|
||||
* @deprecated Removed after 3.0.0, Use `UseDelayedToggleProps` instead.
|
||||
*/
|
||||
const useDelayedToggleProps = buildProps({
|
||||
/**
|
||||
* @description delay of appearance, in millisecond, not valid in controlled mode
|
||||
*/
|
||||
showAfter: {
|
||||
type: Number,
|
||||
default: 0
|
||||
},
|
||||
/**
|
||||
* @description delay of disappear, in millisecond, not valid in controlled mode
|
||||
*/
|
||||
hideAfter: {
|
||||
type: Number,
|
||||
default: 200
|
||||
},
|
||||
/**
|
||||
* @description disappear automatically, in millisecond, not valid in controlled mode
|
||||
*/
|
||||
autoClose: {
|
||||
type: Number,
|
||||
default: 0
|
||||
}
|
||||
});
|
||||
const useDelayedTogglePropsDefaults = {
|
||||
showAfter: 0,
|
||||
hideAfter: 200,
|
||||
autoClose: 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
|
||||
};
|
||||
};
|
||||
//#endregion
|
||||
export { useDelayedToggle, useDelayedToggleProps, useDelayedTogglePropsDefaults };
|
||||
|
||||
//# sourceMappingURL=index.mjs.map
|
||||
Reference in New Issue
Block a user