{"version":3,"file":"index.mjs","sources":["../../../../../packages/directives/repeat-click/index.ts"],"sourcesContent":["import { on, once } from '@element-plus/utils'\n\nimport type { DirectiveBinding, ObjectDirective } from 'vue'\n\nexport default {\n  beforeMount(el: HTMLElement, binding: DirectiveBinding) {\n    let interval = null\n    let startTime: number\n    const handler = () => binding.value && binding.value()\n    const clear = () => {\n      if (Date.now() - startTime < 100) {\n        handler()\n      }\n      clearInterval(interval)\n      interval = null\n    }\n\n    on(el, 'mousedown', (e: MouseEvent) => {\n      if ((e as any).button !== 0) return\n      startTime = Date.now()\n      once(document as any, 'mouseup', clear)\n      clearInterval(interval)\n      interval = setInterval(handler, 100)\n    })\n  },\n} as ObjectDirective\n"],"names":[],"mappings":";;;AACA,kBAAe;AACf,EAAE,WAAW,CAAC,EAAE,EAAE,OAAO,EAAE;AAC3B,IAAI,IAAI,QAAQ,GAAG,IAAI,CAAC;AACxB,IAAI,IAAI,SAAS,CAAC;AAClB,IAAI,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;AAC3D,IAAI,MAAM,KAAK,GAAG,MAAM;AACxB,MAAM,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,GAAG,GAAG,EAAE;AACxC,QAAQ,OAAO,EAAE,CAAC;AAClB,OAAO;AACP,MAAM,aAAa,CAAC,QAAQ,CAAC,CAAC;AAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC;AACtB,KAAK,CAAC;AACN,IAAI,EAAE,CAAC,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC,KAAK;AAC/B,MAAM,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;AACxB,QAAQ,OAAO;AACf,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;AAC7B,MAAM,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;AACvC,MAAM,aAAa,CAAC,QAAQ,CAAC,CAAC;AAC9B,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;AAC3C,KAAK,CAAC,CAAC;AACP,GAAG;AACH,CAAC;;;;"}