UNPKG

@sanity/visual-editing

Version:

[![npm stat](https://img.shields.io/npm/dm/@sanity/visual-editing.svg?style=flat-square)](https://npm-stat.com/charts.html?package=@sanity/visual-editing) [![npm version](https://img.shields.io/npm/v/@sanity/visual-editing.svg?style=flat-square)](https://

87 lines (86 loc) 3.19 kB
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