{"version":3,"file":"use-resizing.cjs","names":[],"sources":["../../../../src/components/AppShell/use-resizing/use-resizing.tsx"],"sourcesContent":["import { startTransition, useRef, useState } from 'react';\nimport { useIsomorphicEffect, useWindowEvent } from '@mantine/hooks';\n\ninterface UseResizingInput {\n  transitionDuration: number | undefined;\n  disabled: boolean | undefined;\n}\n\nexport function useResizing({ transitionDuration, disabled }: UseResizingInput) {\n  const [resizing, setResizing] = useState(true);\n  const resizingTimeout = useRef<number>(-1);\n  const disabledTimeout = useRef<number>(-1);\n\n  useWindowEvent('resize', () => {\n    setResizing(true);\n    clearTimeout(resizingTimeout.current);\n    resizingTimeout.current = window.setTimeout(\n      () =>\n        startTransition(() => {\n          setResizing(false);\n        }),\n      200\n    );\n  });\n\n  useIsomorphicEffect(() => {\n    setResizing(true);\n    clearTimeout(disabledTimeout.current);\n    disabledTimeout.current = window.setTimeout(\n      () =>\n        startTransition(() => {\n          setResizing(false);\n        }),\n      transitionDuration || 0\n    );\n  }, [disabled, transitionDuration]);\n\n  return resizing;\n}\n"],"mappings":";;;;;AAQA,SAAgB,YAAY,EAAE,oBAAoB,YAA8B;CAC9E,MAAM,CAAC,UAAU,gBAAA,GAAA,MAAA,UAAwB,IAAI;CAC7C,MAAM,mBAAA,GAAA,MAAA,QAAiC,EAAE;CACzC,MAAM,mBAAA,GAAA,MAAA,QAAiC,EAAE;CAEzC,CAAA,GAAA,eAAA,gBAAe,gBAAgB;EAC7B,YAAY,IAAI;EAChB,aAAa,gBAAgB,OAAO;EACpC,gBAAgB,UAAU,OAAO,kBAAA,GAAA,MAAA,uBAEP;GACpB,YAAY,KAAK;EACnB,CAAC,GACH,GACF;CACF,CAAC;CAED,CAAA,GAAA,eAAA,2BAA0B;EACxB,YAAY,IAAI;EAChB,aAAa,gBAAgB,OAAO;EACpC,gBAAgB,UAAU,OAAO,kBAAA,GAAA,MAAA,uBAEP;GACpB,YAAY,KAAK;EACnB,CAAC,GACH,sBAAsB,CACxB;CACF,GAAG,CAAC,UAAU,kBAAkB,CAAC;CAEjC,OAAO;AACT"}