{"version":3,"file":"use-delayed-hover.cjs","sources":["../../../src/components/Floating/use-delayed-hover.ts"],"sourcesContent":["import { useEffect, useRef } from 'react';\n\ninterface UseDelayedHoverInput {\n  open: () => void;\n  close: () => void;\n  openDelay: number | undefined;\n  closeDelay: number | undefined;\n}\n\nexport function useDelayedHover({ open, close, openDelay, closeDelay }: UseDelayedHoverInput) {\n  const openTimeout = useRef(-1);\n  const closeTimeout = useRef(-1);\n\n  const clearTimeouts = () => {\n    window.clearTimeout(openTimeout.current);\n    window.clearTimeout(closeTimeout.current);\n  };\n\n  const openDropdown = () => {\n    clearTimeouts();\n\n    if (openDelay === 0 || openDelay === undefined) {\n      open();\n    } else {\n      openTimeout.current = window.setTimeout(open, openDelay);\n    }\n  };\n\n  const closeDropdown = () => {\n    clearTimeouts();\n\n    if (closeDelay === 0 || closeDelay === undefined) {\n      close();\n    } else {\n      closeTimeout.current = window.setTimeout(close, closeDelay);\n    }\n  };\n\n  useEffect(() => clearTimeouts, []);\n\n  return { openDropdown, closeDropdown };\n}\n"],"names":["useRef","useEffect"],"mappings":";;;;AASO,SAAS,gBAAgB,EAAE,IAAA,EAAM,KAAO,EAAA,SAAA,EAAW,YAAoC,EAAA;AAC5F,EAAM,MAAA,WAAA,GAAcA,aAAO,CAAE,CAAA,CAAA;AAC7B,EAAM,MAAA,YAAA,GAAeA,aAAO,CAAE,CAAA,CAAA;AAE9B,EAAA,MAAM,gBAAgB,MAAM;AAC1B,IAAO,MAAA,CAAA,YAAA,CAAa,YAAY,OAAO,CAAA;AACvC,IAAO,MAAA,CAAA,YAAA,CAAa,aAAa,OAAO,CAAA;AAAA,GAC1C;AAEA,EAAA,MAAM,eAAe,MAAM;AACzB,IAAc,aAAA,EAAA;AAEd,IAAI,IAAA,SAAA,KAAc,CAAK,IAAA,SAAA,KAAc,KAAW,CAAA,EAAA;AAC9C,MAAK,IAAA,EAAA;AAAA,KACA,MAAA;AACL,MAAA,WAAA,CAAY,OAAU,GAAA,MAAA,CAAO,UAAW,CAAA,IAAA,EAAM,SAAS,CAAA;AAAA;AACzD,GACF;AAEA,EAAA,MAAM,gBAAgB,MAAM;AAC1B,IAAc,aAAA,EAAA;AAEd,IAAI,IAAA,UAAA,KAAe,CAAK,IAAA,UAAA,KAAe,KAAW,CAAA,EAAA;AAChD,MAAM,KAAA,EAAA;AAAA,KACD,MAAA;AACL,MAAA,YAAA,CAAa,OAAU,GAAA,MAAA,CAAO,UAAW,CAAA,KAAA,EAAO,UAAU,CAAA;AAAA;AAC5D,GACF;AAEA,EAAUC,eAAA,CAAA,MAAM,aAAe,EAAA,EAAE,CAAA;AAEjC,EAAO,OAAA,EAAE,cAAc,aAAc,EAAA;AACvC;;;;"}