index.js 1.0 KB

123456789101112131415161718192021222324252627282930
  1. Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
  2. const require_runtime = require('../../_virtual/_rolldown/runtime.js');
  3. let vue = require("vue");
  4. //#region ../../packages/hooks/use-intermediate-render/index.ts
  5. const useDelayedRender = ({ indicator, intermediateIndicator, shouldSetIntermediate = () => true, beforeShow, afterShow, afterHide, beforeHide }) => {
  6. (0, vue.watch)(() => (0, vue.unref)(indicator), (val) => {
  7. if (val) {
  8. beforeShow?.();
  9. (0, vue.nextTick)(() => {
  10. if (!(0, vue.unref)(indicator)) return;
  11. if (shouldSetIntermediate("show")) intermediateIndicator.value = true;
  12. });
  13. } else {
  14. beforeHide?.();
  15. (0, vue.nextTick)(() => {
  16. if ((0, vue.unref)(indicator)) return;
  17. if (shouldSetIntermediate("hide")) intermediateIndicator.value = false;
  18. });
  19. }
  20. });
  21. (0, vue.watch)(() => intermediateIndicator.value, (val) => {
  22. if (val) afterShow?.();
  23. else afterHide?.();
  24. });
  25. };
  26. //#endregion
  27. exports.useDelayedRender = useDelayedRender;
  28. //# sourceMappingURL=index.js.map