{"version":3,"sources":["../src/useClipboardCopy.tsx","../src/useKeyboardShortcut.ts"],"sourcesContent":["import { useCallback } from \"react\";\nimport { useKeyboardShortcut } from \"./useKeyboardShortcut\";\n\nexport const useClipboardCopy = (options?: {\n  text?: string;\n  onSuccess?: (text: string) => void;\n  onFailure?: (text: string) => void;\n  key?: string;\n}) => {\n  const copy = useCallback(\n    async (otherText?: string) => {\n      const copyText = otherText ?? options?.text;\n      if (copyText === undefined) {\n        return false;\n      }\n      const successed = await navigator?.clipboard\n        ?.writeText(copyText)\n        .then(() => true)\n        .catch(() => false);\n      if (successed) {\n        options?.onSuccess?.(copyText);\n      } else {\n        options?.onFailure?.(copyText);\n      }\n      return successed;\n    },\n    [options],\n  );\n\n  useKeyboardShortcut(options?.key, copy);\n  return copy;\n};\n","import { useEffect } from \"react\";\n\nexport const useKeyboardShortcut = (\n  key?: string,\n  callback?: () => void | Promise<unknown>,\n) => {\n  useEffect(() => {\n    if (key === undefined || callback === undefined) {\n      return;\n    }\n    const handler = (event: KeyboardEvent) => {\n      if ((event.ctrlKey || event.metaKey) && event.key === key) {\n        void callback();\n      }\n    };\n    window.addEventListener(\"keydown\", handler);\n    return () => {\n      window.removeEventListener(\"keydown\", handler);\n    };\n  }, [key, callback]);\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAA,gBAA4B;;;ACA5B,mBAA0B;AAEnB,IAAM,sBAAsB,CACjC,KACA,aACG;AACH,8BAAU,MAAM;AACd,QAAI,QAAQ,UAAa,aAAa,QAAW;AAC/C;AAAA,IACF;AACA,UAAM,UAAU,CAAC,UAAyB;AACxC,WAAK,MAAM,WAAW,MAAM,YAAY,MAAM,QAAQ,KAAK;AACzD,aAAK,SAAS;AAAA,MAChB;AAAA,IACF;AACA,WAAO,iBAAiB,WAAW,OAAO;AAC1C,WAAO,MAAM;AACX,aAAO,oBAAoB,WAAW,OAAO;AAAA,IAC/C;AAAA,EACF,GAAG,CAAC,KAAK,QAAQ,CAAC;AACpB;;;ADjBO,IAAM,mBAAmB,CAAC,YAK3B;AACJ,QAAM,WAAO;AAAA,IACX,OAAO,cAAuB;AAC5B,YAAM,WAAW,aAAa,SAAS;AACvC,UAAI,aAAa,QAAW;AAC1B,eAAO;AAAA,MACT;AACA,YAAM,YAAY,MAAM,WAAW,WAC/B,UAAU,QAAQ,EACnB,KAAK,MAAM,IAAI,EACf,MAAM,MAAM,KAAK;AACpB,UAAI,WAAW;AACb,iBAAS,YAAY,QAAQ;AAAA,MAC/B,OAAO;AACL,iBAAS,YAAY,QAAQ;AAAA,MAC/B;AACA,aAAO;AAAA,IACT;AAAA,IACA,CAAC,OAAO;AAAA,EACV;AAEA,sBAAoB,SAAS,KAAK,IAAI;AACtC,SAAO;AACT;","names":["import_react"]}