{"version":3,"file":"use-floating-auto-update.cjs","sources":["../../../src/components/Floating/use-floating-auto-update.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\nimport { autoUpdate } from '@floating-ui/react';\nimport { useDidUpdate } from '@raikou/hooks';\nimport { FloatingPosition } from './types';\n\ninterface Payload {\n  opened: boolean | undefined;\n  floating: {\n    update: () => void;\n    refs: {\n      floating: React.MutableRefObject<any>;\n      reference: React.MutableRefObject<any>;\n    };\n  };\n  positionDependencies: any[];\n  position: FloatingPosition;\n}\n\nexport function useFloatingAutoUpdate({\n  opened,\n  floating,\n  position,\n  positionDependencies,\n}: Payload) {\n  const [delayedUpdate, setDelayedUpdate] = useState(0);\n\n  useEffect(() => {\n    if (floating.refs.reference.current && floating.refs.floating.current && opened) {\n      return autoUpdate(\n        floating.refs.reference.current,\n        floating.refs.floating.current,\n        floating.update\n      );\n    }\n\n    return undefined;\n  }, [\n    floating.refs.reference.current,\n    floating.refs.floating.current,\n    opened,\n    delayedUpdate,\n    position,\n  ]);\n\n  useDidUpdate(() => {\n    floating.update();\n  }, positionDependencies);\n\n  useDidUpdate(() => {\n    setDelayedUpdate((c) => c + 1);\n  }, [opened]);\n}\n"],"names":["useState","useEffect","autoUpdate","useDidUpdate"],"mappings":";;;;;;AAkBO,SAAS,qBAAsB,CAAA;AAAA,EACpC,MAAA;AAAA,EACA,QAAA;AAAA,EACA,QAAA;AAAA,EACA;AACF,CAAY,EAAA;AACV,EAAA,MAAM,CAAC,aAAA,EAAe,gBAAgB,CAAA,GAAIA,eAAS,CAAC,CAAA;AAEpD,EAAAC,eAAA,CAAU,MAAM;AACd,IAAI,IAAA,QAAA,CAAS,KAAK,SAAU,CAAA,OAAA,IAAW,SAAS,IAAK,CAAA,QAAA,CAAS,WAAW,MAAQ,EAAA;AAC/E,MAAO,OAAAC,gBAAA;AAAA,QACL,QAAA,CAAS,KAAK,SAAU,CAAA,OAAA;AAAA,QACxB,QAAA,CAAS,KAAK,QAAS,CAAA,OAAA;AAAA,QACvB,QAAS,CAAA;AAAA,OACX;AAAA;AAGF,IAAO,OAAA,KAAA,CAAA;AAAA,GACN,EAAA;AAAA,IACD,QAAA,CAAS,KAAK,SAAU,CAAA,OAAA;AAAA,IACxB,QAAA,CAAS,KAAK,QAAS,CAAA,OAAA;AAAA,IACvB,MAAA;AAAA,IACA,aAAA;AAAA,IACA;AAAA,GACD,CAAA;AAED,EAAAC,kBAAA,CAAa,MAAM;AACjB,IAAA,QAAA,CAAS,MAAO,EAAA;AAAA,KACf,oBAAoB,CAAA;AAEvB,EAAAA,kBAAA,CAAa,MAAM;AACjB,IAAiB,gBAAA,CAAA,CAAC,CAAM,KAAA,CAAA,GAAI,CAAC,CAAA;AAAA,GAC/B,EAAG,CAAC,MAAM,CAAC,CAAA;AACb;;;;"}