index.js 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
  2. const require_runtime = require('../../_virtual/_rolldown/runtime.js');
  3. const require_types = require('../../utils/types.js');
  4. const require_runtime$1 = require('../../utils/vue/props/runtime.js');
  5. const require_index = require('../use-timeout/index.js');
  6. let vue = require("vue");
  7. //#region ../../packages/hooks/use-delayed-toggle/index.ts
  8. /**
  9. * @deprecated Removed after 3.0.0, Use `UseDelayedToggleProps` instead.
  10. */
  11. const useDelayedToggleProps = require_runtime$1.buildProps({
  12. showAfter: {
  13. type: Number,
  14. default: 0
  15. },
  16. hideAfter: {
  17. type: Number,
  18. default: 200
  19. },
  20. autoClose: {
  21. type: Number,
  22. default: 0
  23. }
  24. });
  25. const useDelayedTogglePropsDefaults = {
  26. showAfter: 0,
  27. hideAfter: 200,
  28. autoClose: 0
  29. };
  30. const useDelayedToggle = ({ showAfter, hideAfter, autoClose, open, close }) => {
  31. const { registerTimeout } = require_index.useTimeout();
  32. const { registerTimeout: registerTimeoutForAutoClose, cancelTimeout: cancelTimeoutForAutoClose } = require_index.useTimeout();
  33. const onOpen = (event, delay = (0, vue.unref)(showAfter)) => {
  34. registerTimeout(() => {
  35. open(event);
  36. const _autoClose = (0, vue.unref)(autoClose);
  37. if (require_types.isNumber(_autoClose) && _autoClose > 0) registerTimeoutForAutoClose(() => {
  38. close(event);
  39. }, _autoClose);
  40. }, delay);
  41. };
  42. const onClose = (event, delay = (0, vue.unref)(hideAfter)) => {
  43. cancelTimeoutForAutoClose();
  44. registerTimeout(() => {
  45. close(event);
  46. }, delay);
  47. };
  48. return {
  49. onOpen,
  50. onClose
  51. };
  52. };
  53. //#endregion
  54. exports.useDelayedToggle = useDelayedToggle;
  55. exports.useDelayedToggleProps = useDelayedToggleProps;
  56. exports.useDelayedTogglePropsDefaults = useDelayedTogglePropsDefaults;
  57. //# sourceMappingURL=index.js.map