useWave.js 944 B

123456789101112131415161718192021222324252627
  1. "use strict";
  2. var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
  3. Object.defineProperty(exports, "__esModule", {
  4. value: true
  5. });
  6. exports.default = useWave;
  7. var _vue = require("vue");
  8. var _propsUtil = require("../props-util");
  9. var _WaveEffect = _interopRequireDefault(require("./WaveEffect"));
  10. function useWave(className, wave) {
  11. const instance = (0, _vue.getCurrentInstance)();
  12. let stopWave;
  13. function showWave() {
  14. var _a;
  15. const node = (0, _propsUtil.findDOMNode)(instance);
  16. stopWave === null || stopWave === void 0 ? void 0 : stopWave();
  17. if (((_a = wave === null || wave === void 0 ? void 0 : wave.value) === null || _a === void 0 ? void 0 : _a.disabled) || !node) {
  18. return;
  19. }
  20. stopWave = (0, _WaveEffect.default)(node, className.value);
  21. }
  22. (0, _vue.onBeforeUnmount)(() => {
  23. stopWave === null || stopWave === void 0 ? void 0 : stopWave();
  24. });
  25. return showWave;
  26. }