{"version":3,"file":"useWave.cjs","sources":["../../../../../../packages/components/wave/src/useWave.ts"],"sourcesContent":["import type { ComputedRef, Ref } from 'vue';\nimport { findDOMNode } from '@antdv/utils';\nimport { getCurrentInstance, onBeforeUnmount } from 'vue';\nimport showWaveEffect from './WaveEffect';\n\nexport default function useWave(\n  className: Ref<string>,\n  wave?: ComputedRef<{ disabled?: boolean }>,\n): VoidFunction {\n  const instance = getCurrentInstance();\n  let stopWave: () => void;\n  function showWave() {\n    const node = findDOMNode(instance);\n    stopWave?.();\n    if (wave?.value?.disabled || !node) {\n      return;\n    }\n    stopWave = showWaveEffect(node, className.value);\n  }\n  onBeforeUnmount(() => {\n    stopWave?.();\n  });\n  return showWave;\n}\n"],"names":["getCurrentInstance","findDOMNode","showWaveEffect","onBeforeUnmount"],"mappings":";;;;;;;;;AAKwB,SAAA,OAAA,CACtB,WACA,IACc,EAAA;AACd,EAAA,MAAM,WAAWA,sBAAmB,EAAA,CAAA;AACpC,EAAI,IAAA,QAAA,CAAA;AACJ,EAAA,SAAS,QAAW,GAAA;AAXtB,IAAA,IAAA,EAAA,CAAA;AAYI,IAAM,MAAA,IAAA,GAAOC,kBAAY,QAAQ,CAAA,CAAA;AACjC,IAAA,QAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,QAAA,EAAA,CAAA;AACA,IAAA,IAAA,CAAA,CAAI,EAAM,GAAA,IAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,IAAA,CAAA,KAAA,KAAN,IAAa,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,QAAA,KAAY,CAAC,IAAM,EAAA;AAClC,MAAA,OAAA;AAAA,KACF;AACA,IAAW,QAAA,GAAAC,kBAAA,CAAe,IAAM,EAAA,SAAA,CAAU,KAAK,CAAA,CAAA;AAAA,GACjD;AACA,EAAAC,mBAAA,CAAgB,MAAM;AACpB,IAAA,QAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,QAAA,EAAA,CAAA;AAAA,GACD,CAAA,CAAA;AACD,EAAO,OAAA,QAAA,CAAA;AACT;;;;"}