{"version":3,"file":"useKeyboardOnlyFocus.mjs","sources":["../../../../src/composables/useKeyboardOnlyFocus.ts"],"sourcesContent":["import { ref } from 'vue'\nimport { getWindow } from '../utils/ssr'\n\nexport function useKeyboardOnlyFocus () {\n  const hasKeyboardFocus = ref(false)\n  let previouslyClicked = false\n\n  const keyboardFocusListeners = {\n    mousedown: () => {\n      previouslyClicked = true\n    },\n\n    focus: () => {\n      if (!previouslyClicked) {\n        hasKeyboardFocus.value = true\n      }\n\n      previouslyClicked = false\n    },\n\n    blur: () => {\n      hasKeyboardFocus.value = false\n      previouslyClicked = false\n    },\n  }\n\n  return {\n    hasKeyboardFocus,\n    keyboardFocusListeners,\n  }\n}\n\nlet previouslyClicked = false\nlet timeout: ReturnType<typeof setTimeout>\n\ngetWindow()?.addEventListener('mousedown', () => {\n  previouslyClicked = true\n  timeout = setTimeout(() => {\n    previouslyClicked = false\n  }, 300)\n})\n\nexport function useKeyboardOnlyFocusGlobal () {\n  const hasKeyboardFocus = ref(false)\n  const keyboardFocusListeners = {\n    focus: () => {\n      if (!previouslyClicked) {\n        hasKeyboardFocus.value = true\n      }\n    },\n\n    blur: () => {\n      hasKeyboardFocus.value = false\n    },\n  }\n\n  return {\n    hasKeyboardFocus,\n    keyboardFocusListeners,\n  }\n}\n"],"names":["previouslyClicked"],"mappings":";;;AAGO,SAAS,uBAAwB;AAChC,QAAA,mBAAmB,IAAI,KAAK;AAClC,MAAIA,qBAAoB;AAExB,QAAM,yBAAyB;AAAA,IAC7B,WAAW,MAAM;AACfA,2BAAoB;AAAA,IACtB;AAAA,IAEA,OAAO,MAAM;AACX,UAAI,CAACA,oBAAmB;AACtB,yBAAiB,QAAQ;AAAA,MAC3B;AAEAA,2BAAoB;AAAA,IACtB;AAAA,IAEA,MAAM,MAAM;AACV,uBAAiB,QAAQ;AACzBA,2BAAoB;AAAA,IACtB;AAAA,EAAA;AAGK,SAAA;AAAA,IACL;AAAA,IACA;AAAA,EAAA;AAEJ;AAEA,IAAI,oBAAoB;AAAA,CAGxB,qBAAA,mBAAa,iBAAiB,aAAa,MAAM;AAC3B,sBAAA;AACV,aAAW,MAAM;AACL,wBAAA;AAAA,KACnB,GAAG;AACR;AAEO,SAAS,6BAA8B;AACtC,QAAA,mBAAmB,IAAI,KAAK;AAClC,QAAM,yBAAyB;AAAA,IAC7B,OAAO,MAAM;AACX,UAAI,CAAC,mBAAmB;AACtB,yBAAiB,QAAQ;AAAA,MAC3B;AAAA,IACF;AAAA,IAEA,MAAM,MAAM;AACV,uBAAiB,QAAQ;AAAA,IAC3B;AAAA,EAAA;AAGK,SAAA;AAAA,IACL;AAAA,IACA;AAAA,EAAA;AAEJ;"}