@sanity/visual-editing
Version:
[](https://npm-stat.com/charts.html?package=@sanity/visual-editing) [](https://
52 lines (51 loc) • 3.32 kB
JavaScript
var reactCompilerRuntime = require("react-compiler-runtime"), react = require("react"), reactRouter = require("react-router"), enableVisualEditing = require("./enableVisualEditing.cjs");
function VisualEditingComponent(props) {
const $ = reactCompilerRuntime.c(20), {
components,
refresh,
zIndex
} = props, navigateRemix = reactRouter.useNavigate(), navigateRemixRef = react.useRef(navigateRemix), [navigate, setNavigate] = react.useState(), revalidator = reactRouter.useRevalidator(), [revalidatorPromise, setRevalidatorPromise] = react.useState(null), [revalidatorLoading, setRevalidatorLoading] = react.useState(!1);
let t0, t1;
$[0] !== navigateRemix ? (t0 = () => {
navigateRemixRef.current = navigateRemix;
}, t1 = [navigateRemix], $[0] = navigateRemix, $[1] = t0, $[2] = t1) : (t0 = $[1], t1 = $[2]), react.useEffect(t0, t1);
let t2, t3;
$[3] !== revalidator.state || $[4] !== revalidatorLoading || $[5] !== revalidatorPromise ? (t2 = () => {
revalidatorPromise && revalidator.state === "loading" ? setRevalidatorLoading(!0) : revalidatorPromise && revalidatorLoading && revalidator.state === "idle" && (revalidatorPromise(), setRevalidatorPromise(null), setRevalidatorLoading(!1));
}, t3 = [revalidatorLoading, revalidator.state, revalidatorPromise], $[3] = revalidator.state, $[4] = revalidatorLoading, $[5] = revalidatorPromise, $[6] = t2, $[7] = t3) : (t2 = $[6], t3 = $[7]), react.useEffect(t2, t3);
let t4, t5;
$[8] !== components || $[9] !== refresh || $[10] !== revalidator || $[11] !== zIndex ? (t4 = () => {
const disable = enableVisualEditing.enableVisualEditing({
components,
zIndex,
refresh: (payload) => {
const refreshDefault = function() {
return payload.source === "mutation" && payload.livePreviewEnabled ? !1 : new Promise((resolve) => {
revalidator.revalidate(), setRevalidatorPromise(() => resolve);
});
};
return refresh ? refresh(payload, refreshDefault) : refreshDefault();
},
history: {
subscribe: (_navigate) => (setNavigate(() => _navigate), () => setNavigate(void 0)),
update: (update) => {
update.type === "push" || update.type === "replace" ? navigateRemixRef.current(update.url, {
replace: update.type === "replace"
}) : update.type === "pop" && navigateRemixRef.current(-1);
}
}
});
return () => disable();
}, t5 = [components, refresh, revalidator, zIndex], $[8] = components, $[9] = refresh, $[10] = revalidator, $[11] = zIndex, $[12] = t4, $[13] = t5) : (t4 = $[12], t5 = $[13]), react.useEffect(t4, t5);
const location = reactRouter.useLocation();
let t6, t7;
return $[14] !== location.hash || $[15] !== location.pathname || $[16] !== location.search || $[17] !== navigate ? (t6 = () => {
navigate && navigate({
type: "push",
url: `${location.pathname}${location.search}${location.hash}`
});
}, t7 = [location.hash, location.pathname, location.search, navigate], $[14] = location.hash, $[15] = location.pathname, $[16] = location.search, $[17] = navigate, $[18] = t6, $[19] = t7) : (t6 = $[18], t7 = $[19]), react.useEffect(t6, t7), null;
}
exports.default = VisualEditingComponent;
//# sourceMappingURL=VisualEditingComponent2.cjs.map
;