sanity
Version:
Sanity is a real-time content infrastructure with a scalable, hosted backend featuring a Graph Oriented Query Language (GROQ), asset pipelines and fast edge caches
33 lines (32 loc) • 1.45 kB
JavaScript
import { jsx } from "react/jsx-runtime";
import { c } from "react/compiler-runtime";
import isEqual from "fast-deep-equal";
import { useContext, useEffect } from "react";
import { PresentationDisplayedDocumentContext } from "sanity/_singletons";
function DisplayedDocumentBroadcasterProvider(props) {
const $ = c(9), {
children,
setDisplayedDocument,
documentId
} = props;
let t0;
$[0] !== setDisplayedDocument ? (t0 = (next) => setDisplayedDocument((prev) => isEqual(prev, next) ? prev : next), $[0] = setDisplayedDocument, $[1] = t0) : t0 = $[1];
const context = t0;
let t1, t2;
$[2] !== documentId || $[3] !== setDisplayedDocument ? (t1 = () => {
if (documentId)
return;
const timeout = setTimeout(() => setDisplayedDocument(null));
return () => clearTimeout(timeout);
}, t2 = [documentId, setDisplayedDocument], $[2] = documentId, $[3] = setDisplayedDocument, $[4] = t1, $[5] = t2) : (t1 = $[4], t2 = $[5]), useEffect(t1, t2);
let t3;
return $[6] !== children || $[7] !== context ? (t3 = /* @__PURE__ */ jsx(PresentationDisplayedDocumentContext.Provider, { value: context, children }), $[6] = children, $[7] = context, $[8] = t3) : t3 = $[8], t3;
}
function useDisplayedDocumentBroadcaster() {
return useContext(PresentationDisplayedDocumentContext);
}
export {
DisplayedDocumentBroadcasterProvider,
useDisplayedDocumentBroadcaster
};
//# sourceMappingURL=DisplayedDocumentBroadcaster.js.map