{"version":3,"file":"index45.mjs","sources":["../src/hooks/useKeyboardFocus.ts"],"sourcesContent":["import { useEffect, useRef } from 'react';\n\nexport const useKeyboardFocus = () => {\n  const wasKeyboard = useRef<boolean>(false);\n  const timeoutRef = useRef<NodeJS.Timeout | undefined>(undefined);\n\n  useEffect(() => {\n    const handleKeyDown = () => {\n      wasKeyboard.current = true;\n    };\n\n    const handleMouseDown = () => {\n      clearTimeout(timeoutRef.current);\n      wasKeyboard.current = false;\n    };\n\n    window.addEventListener(\"keydown\", handleKeyDown);\n    window.addEventListener(\"mousedown\", handleMouseDown);\n    \n    return () => {\n      window.removeEventListener(\"keydown\", handleKeyDown);\n      window.removeEventListener(\"mousedown\", handleMouseDown);\n      clearTimeout(timeoutRef.current);\n    };\n  }, []);\n\n  return {\n    wasKeyboard,\n    onFocus: (callback?: () => void) => {\n      if (wasKeyboard.current && callback) {\n        callback();\n      }\n      \n      // Reset keyboard state after 100ms\n      clearTimeout(timeoutRef.current);\n      timeoutRef.current = setTimeout(() => {\n        wasKeyboard.current = false;\n      }, 100);\n    },\n    onBlur: (callback?: () => void) => {\n      if (callback) {\n        callback();\n      }\n    }\n  };\n}; "],"names":[],"mappings":";AAEO,MAAM,mBAAmB,MAAM;AAC9B,QAAA,cAAc,OAAgB,KAAK;AACnC,QAAA,aAAa,OAAmC,MAAS;AAE/D,YAAU,MAAM;AACd,UAAM,gBAAgB,MAAM;AAC1B,kBAAY,UAAU;AAAA,IACxB;AAEA,UAAM,kBAAkB,MAAM;AAC5B,mBAAa,WAAW,OAAO;AAC/B,kBAAY,UAAU;AAAA,IACxB;AAEO,WAAA,iBAAiB,WAAW,aAAa;AACzC,WAAA,iBAAiB,aAAa,eAAe;AAEpD,WAAO,MAAM;AACJ,aAAA,oBAAoB,WAAW,aAAa;AAC5C,aAAA,oBAAoB,aAAa,eAAe;AACvD,mBAAa,WAAW,OAAO;AAAA,IACjC;AAAA,EACF,GAAG,EAAE;AAEE,SAAA;AAAA,IACL;AAAA,IACA,SAAS,CAAC,aAA0B;AAC9B,UAAA,YAAY,WAAW,UAAU;AAC1B,iBAAA;AAAA,MAAA;AAIX,mBAAa,WAAW,OAAO;AACpB,iBAAA,UAAU,WAAW,MAAM;AACpC,oBAAY,UAAU;AAAA,SACrB,GAAG;AAAA,IACR;AAAA,IACA,QAAQ,CAAC,aAA0B;AACjC,UAAI,UAAU;AACH,iBAAA;AAAA,MAAA;AAAA,IACX;AAAA,EAEJ;AACF;"}