@sanity/visual-editing
Version:
[](https://npm-stat.com/charts.html?package=@sanity/visual-editing) [](https://
87 lines (86 loc) • 3.19 kB
JavaScript
import { c } from "react-compiler-runtime";
import { useRouter } from "next/router.js";
import { useState, useEffect } from "react";
import { useEffectEvent } from "use-effect-event";
import { enableVisualEditing } from "./enableVisualEditing.js";
function VisualEditingComponent(props) {
const $ = c(20), {
components,
refresh: refreshProp,
zIndex
} = props, router = useRouter(), [navigate, setNavigate] = useState();
let t0;
$[0] !== refreshProp || $[1] !== router ? (t0 = (payload) => {
if (refreshProp)
return refreshProp(payload);
const routerRefresh = async function() {
await router.replace(router.asPath, void 0, {
scroll: !1,
shallow: !1
});
}, skipRefresh = _temp, mutationRefresh = () => (console.debug("No loaders in live mode detected, reloading server props"), routerRefresh());
switch (payload.source) {
case "manual":
return routerRefresh();
case "mutation":
return payload.livePreviewEnabled ? skipRefresh() : mutationRefresh();
default:
throw new Error("Unknown refresh source", {
cause: payload
});
}
}, $[0] = refreshProp, $[1] = router, $[2] = t0) : t0 = $[2];
const refresh = useEffectEvent(t0);
let t1;
$[3] !== router ? (t1 = (event) => {
switch (event.type) {
case "push":
return router.push(event.url);
case "pop":
return router.back();
case "replace":
return router.replace(event.url);
default:
throw new Error(`Unknown event type: ${event.type}`);
}
}, $[3] = router, $[4] = t1) : t1 = $[4];
const update = useEffectEvent(t1);
let t2;
$[5] !== components || $[6] !== refresh || $[7] !== update || $[8] !== zIndex ? (t2 = () => {
const disable = enableVisualEditing({
components,
zIndex,
refresh,
history: {
subscribe: (_navigate) => (setNavigate(() => _navigate), () => setNavigate(void 0)),
update
}
});
return () => disable();
}, $[5] = components, $[6] = refresh, $[7] = update, $[8] = zIndex, $[9] = t2) : t2 = $[9];
let t3;
$[10] !== components || $[11] !== zIndex ? (t3 = [components, zIndex], $[10] = components, $[11] = zIndex, $[12] = t3) : t3 = $[12], useEffect(t2, t3);
const {
asPath,
basePath,
locale,
isReady
} = useRouter();
let t4, t5;
return $[13] !== asPath || $[14] !== basePath || $[15] !== isReady || $[16] !== locale || $[17] !== navigate ? (t4 = () => {
if (navigate && isReady) {
const url = basePath || locale ? `${basePath}${locale ? `/${locale}` : ""}${asPath === "/" ? "" : asPath}` : asPath;
navigate({
type: "push",
url
});
}
}, t5 = [asPath, basePath, isReady, locale, navigate], $[13] = asPath, $[14] = basePath, $[15] = isReady, $[16] = locale, $[17] = navigate, $[18] = t4, $[19] = t5) : (t4 = $[18], t5 = $[19]), useEffect(t4, t5), null;
}
function _temp() {
return console.debug("Live preview is setup, mutation is skipped assuming its handled by the live preview"), !1;
}
export {
VisualEditingComponent as default
};
//# sourceMappingURL=VisualEditingComponent.js.map