{"version":3,"file":"use-are-elements-measured.cjs","sources":["../../../src/hooks/use-are-elements-measured.ts"],"sourcesContent":["import { useGraphStore } from './use-graph-store';\nimport { useSyncExternalStore } from 'react';\n\n/**\n * Returns `true` when at least one element has been measured.\n */\nexport function useAreElementsMeasured() {\n  const { measureState } = useGraphStore();\n  return useSyncExternalStore(\n    (onStoreChange) => {\n      // subscribe for both, elements size from container and also measure state changes.\n      const unsubscribeMeasureState = measureState.subscribe(onStoreChange);\n      return () => {\n        unsubscribeMeasureState();\n      };\n    },\n    () => {\n      return measureState.get() > 0;\n    }\n  );\n}\n"],"names":["useGraphStore","useSyncExternalStore"],"mappings":";;;;;;;;;;;;AAMO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,sBAAA,CAAA,CAAA,CAAyB,CAAA;AACvC,CAAA,CAAA,MAAM,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAA,CAAA,CAAIA,2BAAA,CAAA,CAAc,CAAA;AACvC,CAAA,CAAA,OAAOC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACL,CAAC,aAAA,CAAA,CAAA,CAAA,CAAA,CAAkB,CAAA;AAEjB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,uBAAA,CAAA,CAAA,CAA0B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,aAAa,CAAA,CAAA;AACpE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA;AACX,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,uBAAA,CAAA,CAAwB,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAC1B,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACF,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA;AACJ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAA,CAAA,GAAI,GAAI,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAC9B,CAAA;AAAA,CAAA,CAAA,CACF,CAAA;AACF,CAAA;;"}