UNPKG

@prismicio/next

Version:

Helpers to integrate Prismic into Next.js apps

39 lines (38 loc) 1.71 kB
const require_runtime = require("./_virtual/_rolldown/runtime.cjs"); const require_resolveDefaultExport = require("./lib/resolveDefaultExport.cjs"); const require_PrismicPreviewClient = require("./PrismicPreviewClient.cjs"); let _prismicio_client = require("@prismicio/client"); let next_script_js = require("next/script.js"); next_script_js = require_runtime.__toESM(next_script_js); let react_jsx_runtime = require("react/jsx-runtime"); //#region src/PrismicPreview.tsx /** * React component that sets up Prismic Previews using the Prismic Toolbar. When the Prismic Toolbar * send events to the browser, such as on preview updates and exiting, this component will * automatically refresh the page with the changes. * * This component can be wrapped around your app or added anywhere in your app's tree. It must be * rendered on every page. */ const PrismicPreview = async (props) => { const { repositoryName, children, ...otherProps } = props; const { draftMode } = await import("next/headers.js"); const toolbarSrc = (0, _prismicio_client.getToolbarSrc)(repositoryName); const isDraftMode = (await draftMode()).isEnabled; const ResolvedScript = require_resolveDefaultExport.resolveDefaultExport(next_script_js.default); return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [ children, /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_PrismicPreviewClient.PrismicPreviewClient, { repositoryName, isDraftMode, ...otherProps }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ResolvedScript, { src: toolbarSrc, strategy: "lazyOnload" }) ] }); }; //#endregion exports.PrismicPreview = PrismicPreview; //# sourceMappingURL=PrismicPreview.cjs.map