{"version":3,"file":"index.mjs","sources":["../../../../packages/hooks/use-escape-keydown/index.ts"],"sourcesContent":["import { onMounted, onBeforeUnmount } from 'vue'\nimport { on, off } from '@element-ultra/utils'\nimport { EVENT_CODE } from '@element-ultra/shared'\n\nexport const useEscapeKeydown = (handler?: (e: KeyboardEvent) => void) => {\n  const cachedHandler = (e: Event) => {\n    const event = e as KeyboardEvent\n    if (event.key === EVENT_CODE.esc) {\n      handler?.(event)\n    }\n  }\n  onMounted(() => {\n    on(document, 'keydown', cachedHandler)\n  })\n\n  onBeforeUnmount(() => {\n    off(document, 'keydown', cachedHandler)\n  })\n}\n"],"names":[],"mappings":";;;;;;AAIa,MAAA,gBAAA,GAAmB,CAAC,OAAyC,KAAA;AACxE,EAAM,MAAA,aAAA,GAAgB,CAAC,CAAa,KAAA;AAClC,IAAA,MAAM,KAAQ,GAAA,CAAA,CAAA;AACd,IAAI,IAAA,KAAA,CAAM,GAAQ,KAAA,UAAA,CAAW,GAAK,EAAA;AAChC,MAAU,OAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,OAAA,CAAA,KAAA,CAAA,CAAA;AAAA,KACZ;AAAA,GACF,CAAA;AACA,EAAA,SAAA,CAAU,MAAM;AACd,IAAG,EAAA,CAAA,QAAA,EAAU,WAAW,aAAa,CAAA,CAAA;AAAA,GACtC,CAAA,CAAA;AAED,EAAA,eAAA,CAAgB,MAAM;AACpB,IAAI,GAAA,CAAA,QAAA,EAAU,WAAW,aAAa,CAAA,CAAA;AAAA,GACvC,CAAA,CAAA;AACH;;;;"}