{"version":3,"file":"flush-sync.mjs","sources":["../../src/utils/flush-sync.ts"],"sourcesContent":["import ReactDOM from \"react-dom\";\n\n// Prevent bundlers from importing `flushSync` directly\n// See https://github.com/radix-ui/primitives/pull/1028\n// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\nconst useReactFlushSync: typeof ReactDOM.flushSync = (ReactDOM as any)[\n  // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n  \"flushSync\".toString()\n];\n\nfunction flushSyncFallback<R>(fn: () => R) {\n  return fn();\n}\n\n// React's `flushSync` is only available in React >=17.\nexport const flushSync: typeof ReactDOM.flushSync =\n  useReactFlushSync ?? flushSyncFallback;\n"],"names":[],"mappings":";;AAKA,MAAM,iBAAA,GAAgD,QAEpD,CAAA,WAAA,CAAY,QAAS,EAAA,CAAA,CAAA;AAGvB,SAAS,kBAAqB,EAAa,EAAA;AACzC,EAAA,OAAO,EAAG,EAAA,CAAA;AACZ,CAAA;AAGO,MAAM,YACX,iBAAqB,IAAA;;;;"}