{"version":3,"file":"OverlayContentSuspendWatcher.mjs","names":[],"sources":["../../../../../../../../src/lib/controller/overlay/OverlayContentSuspendWatcher.tsx"],"sourcesContent":["import {\n  Suspense,\n  useEffect,\n  useMemo,\n  type FC,\n  type PropsWithChildren,\n} from \"react\";\nimport type { OverlayController } from \"./OverlayController\";\n\ninterface Props extends PropsWithChildren {\n  overlayController: OverlayController;\n}\n\nconst WatcherFallback: FC<Props> = (props) => {\n  const { overlayController } = props;\n  useEffect(() => {\n    overlayController.setIsContentSuspended(true);\n    return () => overlayController.setIsContentSuspended(false);\n  }, [overlayController]);\n  return null;\n};\n\nexport const OverlayContentSuspendWatcher: FC<Props> = (props) => {\n  const { overlayController, children } = props;\n\n  const Fallback = useMemo(\n    () => <WatcherFallback overlayController={overlayController} />,\n    [overlayController],\n  );\n\n  return <Suspense fallback={Fallback}>{children}</Suspense>;\n};\n"],"mappings":";;;;;AAaA,IAAM,mBAA8B,UAAU;CAC5C,MAAM,EAAE,sBAAsB;CAC9B,gBAAgB;EACd,kBAAkB,sBAAsB,IAAI;EAC5C,aAAa,kBAAkB,sBAAsB,KAAK;CAC5D,GAAG,CAAC,iBAAiB,CAAC;CACtB,OAAO;AACT;AAEA,IAAa,gCAA2C,UAAU;CAChE,MAAM,EAAE,mBAAmB,aAAa;CAExC,MAAM,WAAW,cACT,oBAAC,iBAAD,EAAoC,kBAAoB,CAAA,GAC9D,CAAC,iBAAiB,CACpB;CAEA,OAAO,oBAAC,UAAD;EAAU,UAAU;EAAW;CAAmB,CAAA;AAC3D"}