index.js 940 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. 'use strict';
  2. Object.defineProperty(exports, '__esModule', { value: true });
  3. var vue = require('vue');
  4. require('../../utils/index.js');
  5. var index = require('../use-timeout/index.js');
  6. var runtime = require('../../utils/vue/props/runtime.js');
  7. const useDelayedToggleProps = runtime.buildProps({
  8. showAfter: {
  9. type: Number,
  10. default: 0
  11. },
  12. hideAfter: {
  13. type: Number,
  14. default: 200
  15. }
  16. });
  17. const useDelayedToggle = ({
  18. showAfter,
  19. hideAfter,
  20. open,
  21. close
  22. }) => {
  23. const { registerTimeout } = index.useTimeout();
  24. const onOpen = (event) => {
  25. registerTimeout(() => {
  26. open(event);
  27. }, vue.unref(showAfter));
  28. };
  29. const onClose = (event) => {
  30. registerTimeout(() => {
  31. close(event);
  32. }, vue.unref(hideAfter));
  33. };
  34. return {
  35. onOpen,
  36. onClose
  37. };
  38. };
  39. exports.useDelayedToggle = useDelayedToggle;
  40. exports.useDelayedToggleProps = useDelayedToggleProps;
  41. //# sourceMappingURL=index.js.map