@prismicio/next 2.2.2 → 2.2.3-canary.1abb259
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/PrismicNextImage.cjs +16 -20
- package/dist/PrismicNextImage.cjs.map +1 -1
- package/dist/PrismicNextImage.d.cts +14 -23
- package/dist/PrismicNextImage.d.cts.map +1 -0
- package/dist/PrismicNextImage.d.ts +14 -23
- package/dist/PrismicNextImage.d.ts.map +1 -0
- package/dist/PrismicNextImage.js +11 -15
- package/dist/PrismicNextImage.js.map +1 -1
- package/dist/PrismicNextLink.cjs +7 -8
- package/dist/PrismicNextLink.cjs.map +1 -1
- package/dist/PrismicNextLink.d.cts +10 -10
- package/dist/PrismicNextLink.d.cts.map +1 -0
- package/dist/PrismicNextLink.d.ts +10 -10
- package/dist/PrismicNextLink.d.ts.map +1 -0
- package/dist/PrismicNextLink.js +3 -4
- package/dist/PrismicNextLink.js.map +1 -1
- package/dist/PrismicPreview.cjs +13 -15
- package/dist/PrismicPreview.cjs.map +1 -1
- package/dist/PrismicPreview.d.cts +12 -14
- package/dist/PrismicPreview.d.cts.map +1 -0
- package/dist/PrismicPreview.d.ts +12 -14
- package/dist/PrismicPreview.d.ts.map +1 -0
- package/dist/PrismicPreview.js +8 -10
- package/dist/PrismicPreview.js.map +1 -1
- package/dist/PrismicPreviewClient.cjs +5 -9
- package/dist/PrismicPreviewClient.cjs.map +1 -1
- package/dist/PrismicPreviewClient.js +6 -10
- package/dist/PrismicPreviewClient.js.map +1 -1
- package/dist/SliceSimulator.cjs +6 -8
- package/dist/SliceSimulator.cjs.map +1 -1
- package/dist/SliceSimulator.d.cts +3 -6
- package/dist/SliceSimulator.d.cts.map +1 -0
- package/dist/SliceSimulator.d.ts +3 -6
- package/dist/SliceSimulator.d.ts.map +1 -0
- package/dist/SliceSimulator.js +4 -6
- package/dist/SliceSimulator.js.map +1 -1
- package/dist/SliceSimulatorWrapper.cjs +3 -7
- package/dist/SliceSimulatorWrapper.cjs.map +1 -1
- package/dist/SliceSimulatorWrapper.js +2 -6
- package/dist/SliceSimulatorWrapper.js.map +1 -1
- package/dist/_virtual/{rolldown_runtime.cjs → _rolldown/runtime.cjs} +8 -14
- package/dist/createLocaleRedirect.cjs +2 -3
- package/dist/createLocaleRedirect.cjs.map +1 -1
- package/dist/createLocaleRedirect.d.cts.map +1 -0
- package/dist/createLocaleRedirect.d.ts.map +1 -0
- package/dist/createLocaleRedirect.js +1 -2
- package/dist/createLocaleRedirect.js.map +1 -1
- package/dist/enableAutoPreviews.cjs +4 -6
- package/dist/enableAutoPreviews.cjs.map +1 -1
- package/dist/enableAutoPreviews.d.cts +2 -4
- package/dist/enableAutoPreviews.d.cts.map +1 -0
- package/dist/enableAutoPreviews.d.ts +2 -4
- package/dist/enableAutoPreviews.d.ts.map +1 -0
- package/dist/enableAutoPreviews.js +3 -5
- package/dist/enableAutoPreviews.js.map +1 -1
- package/dist/exitPreview.cjs +11 -13
- package/dist/exitPreview.cjs.map +1 -1
- package/dist/exitPreview.d.cts +9 -10
- package/dist/exitPreview.d.cts.map +1 -0
- package/dist/exitPreview.d.ts +9 -10
- package/dist/exitPreview.d.ts.map +1 -0
- package/dist/exitPreview.js +11 -12
- package/dist/exitPreview.js.map +1 -1
- package/dist/getSlices.cjs +2 -3
- package/dist/getSlices.cjs.map +1 -1
- package/dist/getSlices.d.cts.map +1 -0
- package/dist/getSlices.d.ts.map +1 -0
- package/dist/getSlices.js +1 -2
- package/dist/getSlices.js.map +1 -1
- package/dist/imgixLoader.cjs +4 -5
- package/dist/imgixLoader.cjs.map +1 -1
- package/dist/imgixLoader.d.cts +3 -4
- package/dist/imgixLoader.d.cts.map +1 -0
- package/dist/imgixLoader.d.ts +3 -4
- package/dist/imgixLoader.d.ts.map +1 -0
- package/dist/imgixLoader.js +3 -4
- package/dist/imgixLoader.js.map +1 -1
- package/dist/index.cjs +12 -12
- package/dist/index.js +1 -2
- package/dist/lib/devMsg.cjs +8 -11
- package/dist/lib/devMsg.cjs.map +1 -1
- package/dist/lib/devMsg.js +7 -10
- package/dist/lib/devMsg.js.map +1 -1
- package/dist/lib/resolveDefaultExport.cjs +9 -14
- package/dist/lib/resolveDefaultExport.cjs.map +1 -1
- package/dist/lib/resolveDefaultExport.js +9 -13
- package/dist/lib/resolveDefaultExport.js.map +1 -1
- package/dist/package.cjs +7 -8
- package/dist/package.js +2 -2
- package/dist/pages/PrismicPreview.cjs +12 -14
- package/dist/pages/PrismicPreview.cjs.map +1 -1
- package/dist/pages/PrismicPreview.d.cts +12 -14
- package/dist/pages/PrismicPreview.d.cts.map +1 -0
- package/dist/pages/PrismicPreview.d.ts +12 -14
- package/dist/pages/PrismicPreview.d.ts.map +1 -0
- package/dist/pages/PrismicPreview.js +8 -10
- package/dist/pages/PrismicPreview.js.map +1 -1
- package/dist/pages/SliceSimulator.cjs +5 -6
- package/dist/pages/SliceSimulator.cjs.map +1 -1
- package/dist/pages/SliceSimulator.d.cts +10 -13
- package/dist/pages/SliceSimulator.d.cts.map +1 -0
- package/dist/pages/SliceSimulator.d.ts +10 -13
- package/dist/pages/SliceSimulator.d.ts.map +1 -0
- package/dist/pages/SliceSimulator.js +3 -4
- package/dist/pages/SliceSimulator.js.map +1 -1
- package/dist/pages/enableAutoPreviews.cjs +4 -5
- package/dist/pages/enableAutoPreviews.cjs.map +1 -1
- package/dist/pages/enableAutoPreviews.d.cts +6 -8
- package/dist/pages/enableAutoPreviews.d.cts.map +1 -0
- package/dist/pages/enableAutoPreviews.d.ts +6 -8
- package/dist/pages/enableAutoPreviews.d.ts.map +1 -0
- package/dist/pages/enableAutoPreviews.js +4 -4
- package/dist/pages/enableAutoPreviews.js.map +1 -1
- package/dist/pages/exitPreview.cjs +10 -12
- package/dist/pages/exitPreview.cjs.map +1 -1
- package/dist/pages/exitPreview.d.cts +9 -10
- package/dist/pages/exitPreview.d.cts.map +1 -0
- package/dist/pages/exitPreview.d.ts +9 -10
- package/dist/pages/exitPreview.d.ts.map +1 -0
- package/dist/pages/exitPreview.js +10 -11
- package/dist/pages/exitPreview.js.map +1 -1
- package/dist/pages/redirectToPreviewURL.cjs +1 -2
- package/dist/pages/redirectToPreviewURL.cjs.map +1 -1
- package/dist/pages/redirectToPreviewURL.d.cts +8 -11
- package/dist/pages/redirectToPreviewURL.d.cts.map +1 -0
- package/dist/pages/redirectToPreviewURL.d.ts +8 -11
- package/dist/pages/redirectToPreviewURL.d.ts.map +1 -0
- package/dist/pages/redirectToPreviewURL.js +1 -1
- package/dist/pages/redirectToPreviewURL.js.map +1 -1
- package/dist/pages/setPreviewData.cjs +2 -3
- package/dist/pages/setPreviewData.cjs.map +1 -1
- package/dist/pages/setPreviewData.d.cts.map +1 -0
- package/dist/pages/setPreviewData.d.ts.map +1 -0
- package/dist/pages/setPreviewData.js +1 -2
- package/dist/pages/setPreviewData.js.map +1 -1
- package/dist/pages/types.d.cts +3 -9
- package/dist/pages/types.d.cts.map +1 -0
- package/dist/pages/types.d.ts +3 -9
- package/dist/pages/types.d.ts.map +1 -0
- package/dist/pages.cjs +12 -12
- package/dist/pages.js +1 -2
- package/dist/redirectToPreviewURL.cjs +3 -4
- package/dist/redirectToPreviewURL.cjs.map +1 -1
- package/dist/redirectToPreviewURL.d.cts +4 -7
- package/dist/redirectToPreviewURL.d.cts.map +1 -0
- package/dist/redirectToPreviewURL.d.ts +4 -7
- package/dist/redirectToPreviewURL.d.ts.map +1 -0
- package/dist/redirectToPreviewURL.js +2 -3
- package/dist/redirectToPreviewURL.js.map +1 -1
- package/dist/types.d.cts +1 -2
- package/dist/types.d.cts.map +1 -0
- package/dist/types.d.ts +1 -2
- package/dist/types.d.ts.map +1 -0
- package/package.json +34 -36
- package/src/PrismicNextImage.tsx +113 -134
- package/src/PrismicNextLink.tsx +43 -45
- package/src/PrismicPreview.tsx +28 -29
- package/src/PrismicPreviewClient.tsx +42 -44
- package/src/SliceSimulator.tsx +38 -43
- package/src/SliceSimulatorWrapper.tsx +15 -25
- package/src/createLocaleRedirect.ts +3 -3
- package/src/enableAutoPreviews.ts +15 -16
- package/src/exitPreview.ts +12 -13
- package/src/getSlices.ts +6 -10
- package/src/imgixLoader.ts +10 -10
- package/src/index.ts +18 -21
- package/src/lib/devMsg.ts +9 -11
- package/src/lib/resolveDefaultExport.ts +9 -13
- package/src/pages/PrismicPreview.tsx +47 -51
- package/src/pages/SliceSimulator.tsx +35 -37
- package/src/pages/enableAutoPreviews.ts +17 -17
- package/src/pages/exitPreview.ts +17 -18
- package/src/pages/index.ts +20 -23
- package/src/pages/redirectToPreviewURL.ts +22 -33
- package/src/pages/setPreviewData.ts +7 -7
- package/src/pages/types.ts +16 -20
- package/src/redirectToPreviewURL.ts +21 -30
- package/src/types.ts +12 -13
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SliceSimulator.js","names":[],"sources":["../../src/pages/SliceSimulator.tsx"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"SliceSimulator.js","names":[],"sources":["../../src/pages/SliceSimulator.tsx"],"sourcesContent":["import {\n\tSimulatorManager,\n\tStateEventType,\n\tgetDefaultMessage,\n\tgetDefaultSlices,\n} from \"@prismicio/simulator/kit\"\nimport type {\n\tSliceSimulatorProps as BaseSliceSimulatorProps,\n\tSliceSimulatorState,\n} from \"@prismicio/simulator/kit\"\nimport { useEffect, useState } from \"react\"\nimport type { ComponentType, FC } from \"react\"\n\nimport { SliceSimulatorWrapper } from \"../SliceSimulatorWrapper\"\n\nconst simulatorManager = new SimulatorManager()\n\nexport type SliceSimulatorSliceZoneProps = {\n\tslices: SliceSimulatorState[\"slices\"]\n}\n\nexport type SliceSimulatorProps = BaseSliceSimulatorProps & {\n\t/**\n\t * React component to render simulated Slices.\n\t *\n\t * @example\n\t * \t```tsx\n\t * \timport { SliceSimulator } from \"@slicemachine/adapter-next/simulator\"\n\t * \timport { SliceZone } from \"@prismicio/react\"\n\t *\n\t * \timport { components } from \"../slices\"\n\t *\n\t * \t;<SliceSimulator\n\t * \t\tsliceZone={({ slices }) => <SliceZone slices={slices} components={components} />}\n\t * \t/>\n\t * \t```\n\t */\n\tsliceZone: ComponentType<SliceSimulatorSliceZoneProps>\n\tclassName?: string\n}\n\n/**\n * Simulate slices in isolation. The slice simulator enables live slice development in Slice Machine\n * and live previews in the Page Builder.\n */\nexport const SliceSimulator: FC<SliceSimulatorProps> = ({\n\tbackground,\n\tzIndex,\n\tclassName,\n\tsliceZone: SliceZoneComp,\n}) => {\n\tconst [slices, setSlices] = useState(() => getDefaultSlices())\n\tconst [message, setMessage] = useState(() => getDefaultMessage())\n\n\tuseEffect(() => {\n\t\tsimulatorManager.state.on(\n\t\t\tStateEventType.Slices,\n\t\t\t(_slices) => {\n\t\t\t\tsetSlices(_slices)\n\t\t\t},\n\t\t\t\"simulator-slices\",\n\t\t)\n\t\tsimulatorManager.state.on(\n\t\t\tStateEventType.Message,\n\t\t\t(_message) => {\n\t\t\t\tsetMessage(_message)\n\t\t\t},\n\t\t\t\"simulator-message\",\n\t\t)\n\n\t\tsimulatorManager.init()\n\n\t\treturn () => {\n\t\t\tsimulatorManager.state.off(StateEventType.Slices, \"simulator-slices\")\n\n\t\t\tsimulatorManager.state.off(StateEventType.Message, \"simulator-message\")\n\t\t}\n\t}, [])\n\n\treturn (\n\t\t<SliceSimulatorWrapper\n\t\t\tmessage={message}\n\t\t\thasSlices={slices.length > 0}\n\t\t\tbackground={background}\n\t\t\tzIndex={zIndex}\n\t\t\tclassName={className}\n\t\t>\n\t\t\t<SliceZoneComp slices={slices} />\n\t\t</SliceSimulatorWrapper>\n\t)\n}\n"],"mappings":";;;;;AAeA,MAAM,mBAAmB,IAAI,kBAAkB;;;;;AA8B/C,MAAa,kBAA2C,EACvD,YACA,QACA,WACA,WAAW,oBACN;CACL,MAAM,CAAC,QAAQ,aAAa,eAAe,kBAAkB,CAAC;CAC9D,MAAM,CAAC,SAAS,cAAc,eAAe,mBAAmB,CAAC;AAEjE,iBAAgB;AACf,mBAAiB,MAAM,GACtB,eAAe,SACd,YAAY;AACZ,aAAU,QAAQ;KAEnB,mBACA;AACD,mBAAiB,MAAM,GACtB,eAAe,UACd,aAAa;AACb,cAAW,SAAS;KAErB,oBACA;AAED,mBAAiB,MAAM;AAEvB,eAAa;AACZ,oBAAiB,MAAM,IAAI,eAAe,QAAQ,mBAAmB;AAErE,oBAAiB,MAAM,IAAI,eAAe,SAAS,oBAAoB;;IAEtE,EAAE,CAAC;AAEN,QACC,oBAAC,uBAAD;EACU;EACT,WAAW,OAAO,SAAS;EACf;EACJ;EACG;YAEX,oBAAC,eAAD,EAAuB,QAAU,CAAA;EACV,CAAA"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
|
|
2
1
|
//#region src/pages/enableAutoPreviews.ts
|
|
3
2
|
/**
|
|
4
|
-
* Configures a Prismic client to automatically query draft content during a
|
|
5
|
-
*
|
|
6
|
-
*
|
|
3
|
+
* Configures a Prismic client to automatically query draft content during a preview session. It
|
|
4
|
+
* either takes in a Next.js `getStaticProps` context object or a Next.js API endpoint request
|
|
5
|
+
* object.
|
|
7
6
|
*
|
|
8
7
|
* @param config - Configuration for the function.
|
|
9
8
|
*/
|
|
@@ -20,7 +19,7 @@ function enableAutoPreviews(config) {
|
|
|
20
19
|
function isPrismicPreviewData(input) {
|
|
21
20
|
return typeof input === "object" && input !== null && "ref" in input;
|
|
22
21
|
}
|
|
23
|
-
|
|
24
22
|
//#endregion
|
|
25
23
|
exports.enableAutoPreviews = enableAutoPreviews;
|
|
24
|
+
|
|
26
25
|
//# sourceMappingURL=enableAutoPreviews.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enableAutoPreviews.cjs","names":[],"sources":["../../src/pages/enableAutoPreviews.ts"],"sourcesContent":["import type {
|
|
1
|
+
{"version":3,"file":"enableAutoPreviews.cjs","names":[],"sources":["../../src/pages/enableAutoPreviews.ts"],"sourcesContent":["import type { Client } from \"@prismicio/client\"\nimport type { PreviewData } from \"next\"\n\nimport type { NextApiRequestLike } from \"./types\"\n\n/**\n * Configuration for `enableAutoPreviews`.\n *\n * @typeParam TPreviewData - Next.js preview data object.\n */\nexport type EnableAutoPreviewsConfig = {\n\t/** Prismic client with which automatic previews will be enabled. */\n\t// `Pick` is used to use the smallest possible subset of\n\t// `prismic.Client`. Doing this reduces the surface area for breaking\n\t// type changes.\n\tclient: Pick<Client, \"queryContentFromRef\" | \"enableAutoPreviewsFromReq\">\n\n\t/**\n\t * The `previewData` object provided in the `getStaticProps()` or `getServerSideProps()` context\n\t * object.\n\t */\n\tpreviewData?: PreviewData\n\n\t/**\n\t * The `req` object from a Next.js API route.\n\t *\n\t * @see Next.js API route docs: \\<https://nextjs.org/docs/api-routes/introduction\\>\n\t */\n\treq?: NextApiRequestLike\n}\n\n/**\n * Configures a Prismic client to automatically query draft content during a preview session. It\n * either takes in a Next.js `getStaticProps` context object or a Next.js API endpoint request\n * object.\n *\n * @param config - Configuration for the function.\n */\nexport function enableAutoPreviews(config: EnableAutoPreviewsConfig): void {\n\tif (\"previewData\" in config && config.previewData) {\n\t\t// Assume we are in `getStaticProps()` or\n\t\t// `getServerSideProps()` with active Preview Mode.\n\n\t\tif (isPrismicPreviewData(config.previewData)) {\n\t\t\tconfig.client.queryContentFromRef(config.previewData.ref)\n\t\t}\n\n\t\treturn\n\t}\n\n\tif (\"req\" in config && config.req) {\n\t\t// Assume we are in an API Route.\n\n\t\tconfig.client.enableAutoPreviewsFromReq(config.req)\n\n\t\treturn\n\t}\n}\n\nfunction isPrismicPreviewData(input: unknown): input is { ref: string } {\n\treturn typeof input === \"object\" && input !== null && \"ref\" in input\n}\n"],"mappings":";;;;;;;;AAsCA,SAAgB,mBAAmB,QAAwC;AAC1E,KAAI,iBAAiB,UAAU,OAAO,aAAa;AAIlD,MAAI,qBAAqB,OAAO,YAAY,CAC3C,QAAO,OAAO,oBAAoB,OAAO,YAAY,IAAI;AAG1D;;AAGD,KAAI,SAAS,UAAU,OAAO,KAAK;AAGlC,SAAO,OAAO,0BAA0B,OAAO,IAAI;AAEnD;;;AAIF,SAAS,qBAAqB,OAA0C;AACvE,QAAO,OAAO,UAAU,YAAY,UAAU,QAAQ,SAAS"}
|
|
@@ -3,18 +3,16 @@ import { Client } from "@prismicio/client";
|
|
|
3
3
|
import { PreviewData } from "next";
|
|
4
4
|
|
|
5
5
|
//#region src/pages/enableAutoPreviews.d.ts
|
|
6
|
-
|
|
7
6
|
/**
|
|
8
7
|
* Configuration for `enableAutoPreviews`.
|
|
9
8
|
*
|
|
10
9
|
* @typeParam TPreviewData - Next.js preview data object.
|
|
11
10
|
*/
|
|
12
11
|
type EnableAutoPreviewsConfig = {
|
|
13
|
-
/** Prismic client with which automatic previews will be enabled. */
|
|
14
|
-
client: Pick<Client, "queryContentFromRef" | "enableAutoPreviewsFromReq">;
|
|
12
|
+
/** Prismic client with which automatic previews will be enabled. */client: Pick<Client, "queryContentFromRef" | "enableAutoPreviewsFromReq">;
|
|
15
13
|
/**
|
|
16
|
-
* The `previewData` object provided in the `getStaticProps()` or
|
|
17
|
-
*
|
|
14
|
+
* The `previewData` object provided in the `getStaticProps()` or `getServerSideProps()` context
|
|
15
|
+
* object.
|
|
18
16
|
*/
|
|
19
17
|
previewData?: PreviewData;
|
|
20
18
|
/**
|
|
@@ -25,9 +23,9 @@ type EnableAutoPreviewsConfig = {
|
|
|
25
23
|
req?: NextApiRequestLike;
|
|
26
24
|
};
|
|
27
25
|
/**
|
|
28
|
-
* Configures a Prismic client to automatically query draft content during a
|
|
29
|
-
*
|
|
30
|
-
*
|
|
26
|
+
* Configures a Prismic client to automatically query draft content during a preview session. It
|
|
27
|
+
* either takes in a Next.js `getStaticProps` context object or a Next.js API endpoint request
|
|
28
|
+
* object.
|
|
31
29
|
*
|
|
32
30
|
* @param config - Configuration for the function.
|
|
33
31
|
*/
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enableAutoPreviews.d.cts","names":[],"sources":["../../src/pages/enableAutoPreviews.ts"],"mappings":";;;;;;;AAUA;;;KAAY,wBAAA;EAKH,oEAAR,MAAA,EAAQ,IAAA,CAAK,MAAA;EAaP;;;;EAPN,WAAA,GAAc,WAAA;EAND;;;;;EAab,GAAA,GAAM,kBAAA;AAAA;AAUP;;;;;;;AAAA,iBAAgB,kBAAA,CAAmB,MAAA,EAAQ,wBAAA"}
|
|
@@ -3,18 +3,16 @@ import { Client } from "@prismicio/client";
|
|
|
3
3
|
import { PreviewData } from "next";
|
|
4
4
|
|
|
5
5
|
//#region src/pages/enableAutoPreviews.d.ts
|
|
6
|
-
|
|
7
6
|
/**
|
|
8
7
|
* Configuration for `enableAutoPreviews`.
|
|
9
8
|
*
|
|
10
9
|
* @typeParam TPreviewData - Next.js preview data object.
|
|
11
10
|
*/
|
|
12
11
|
type EnableAutoPreviewsConfig = {
|
|
13
|
-
/** Prismic client with which automatic previews will be enabled. */
|
|
14
|
-
client: Pick<Client, "queryContentFromRef" | "enableAutoPreviewsFromReq">;
|
|
12
|
+
/** Prismic client with which automatic previews will be enabled. */client: Pick<Client, "queryContentFromRef" | "enableAutoPreviewsFromReq">;
|
|
15
13
|
/**
|
|
16
|
-
* The `previewData` object provided in the `getStaticProps()` or
|
|
17
|
-
*
|
|
14
|
+
* The `previewData` object provided in the `getStaticProps()` or `getServerSideProps()` context
|
|
15
|
+
* object.
|
|
18
16
|
*/
|
|
19
17
|
previewData?: PreviewData;
|
|
20
18
|
/**
|
|
@@ -25,9 +23,9 @@ type EnableAutoPreviewsConfig = {
|
|
|
25
23
|
req?: NextApiRequestLike;
|
|
26
24
|
};
|
|
27
25
|
/**
|
|
28
|
-
* Configures a Prismic client to automatically query draft content during a
|
|
29
|
-
*
|
|
30
|
-
*
|
|
26
|
+
* Configures a Prismic client to automatically query draft content during a preview session. It
|
|
27
|
+
* either takes in a Next.js `getStaticProps` context object or a Next.js API endpoint request
|
|
28
|
+
* object.
|
|
31
29
|
*
|
|
32
30
|
* @param config - Configuration for the function.
|
|
33
31
|
*/
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enableAutoPreviews.d.ts","names":[],"sources":["../../src/pages/enableAutoPreviews.ts"],"mappings":";;;;;;;AAUA;;;KAAY,wBAAA;EAKH,oEAAR,MAAA,EAAQ,IAAA,CAAK,MAAA;EAaP;;;;EAPN,WAAA,GAAc,WAAA;EAND;;;;;EAab,GAAA,GAAM,kBAAA;AAAA;AAUP;;;;;;;AAAA,iBAAgB,kBAAA,CAAmB,MAAA,EAAQ,wBAAA"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
//#region src/pages/enableAutoPreviews.ts
|
|
2
2
|
/**
|
|
3
|
-
* Configures a Prismic client to automatically query draft content during a
|
|
4
|
-
*
|
|
5
|
-
*
|
|
3
|
+
* Configures a Prismic client to automatically query draft content during a preview session. It
|
|
4
|
+
* either takes in a Next.js `getStaticProps` context object or a Next.js API endpoint request
|
|
5
|
+
* object.
|
|
6
6
|
*
|
|
7
7
|
* @param config - Configuration for the function.
|
|
8
8
|
*/
|
|
@@ -19,7 +19,7 @@ function enableAutoPreviews(config) {
|
|
|
19
19
|
function isPrismicPreviewData(input) {
|
|
20
20
|
return typeof input === "object" && input !== null && "ref" in input;
|
|
21
21
|
}
|
|
22
|
-
|
|
23
22
|
//#endregion
|
|
24
23
|
export { enableAutoPreviews };
|
|
24
|
+
|
|
25
25
|
//# sourceMappingURL=enableAutoPreviews.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enableAutoPreviews.js","names":[],"sources":["../../src/pages/enableAutoPreviews.ts"],"sourcesContent":["import type {
|
|
1
|
+
{"version":3,"file":"enableAutoPreviews.js","names":[],"sources":["../../src/pages/enableAutoPreviews.ts"],"sourcesContent":["import type { Client } from \"@prismicio/client\"\nimport type { PreviewData } from \"next\"\n\nimport type { NextApiRequestLike } from \"./types\"\n\n/**\n * Configuration for `enableAutoPreviews`.\n *\n * @typeParam TPreviewData - Next.js preview data object.\n */\nexport type EnableAutoPreviewsConfig = {\n\t/** Prismic client with which automatic previews will be enabled. */\n\t// `Pick` is used to use the smallest possible subset of\n\t// `prismic.Client`. Doing this reduces the surface area for breaking\n\t// type changes.\n\tclient: Pick<Client, \"queryContentFromRef\" | \"enableAutoPreviewsFromReq\">\n\n\t/**\n\t * The `previewData` object provided in the `getStaticProps()` or `getServerSideProps()` context\n\t * object.\n\t */\n\tpreviewData?: PreviewData\n\n\t/**\n\t * The `req` object from a Next.js API route.\n\t *\n\t * @see Next.js API route docs: \\<https://nextjs.org/docs/api-routes/introduction\\>\n\t */\n\treq?: NextApiRequestLike\n}\n\n/**\n * Configures a Prismic client to automatically query draft content during a preview session. It\n * either takes in a Next.js `getStaticProps` context object or a Next.js API endpoint request\n * object.\n *\n * @param config - Configuration for the function.\n */\nexport function enableAutoPreviews(config: EnableAutoPreviewsConfig): void {\n\tif (\"previewData\" in config && config.previewData) {\n\t\t// Assume we are in `getStaticProps()` or\n\t\t// `getServerSideProps()` with active Preview Mode.\n\n\t\tif (isPrismicPreviewData(config.previewData)) {\n\t\t\tconfig.client.queryContentFromRef(config.previewData.ref)\n\t\t}\n\n\t\treturn\n\t}\n\n\tif (\"req\" in config && config.req) {\n\t\t// Assume we are in an API Route.\n\n\t\tconfig.client.enableAutoPreviewsFromReq(config.req)\n\n\t\treturn\n\t}\n}\n\nfunction isPrismicPreviewData(input: unknown): input is { ref: string } {\n\treturn typeof input === \"object\" && input !== null && \"ref\" in input\n}\n"],"mappings":";;;;;;;;AAsCA,SAAgB,mBAAmB,QAAwC;AAC1E,KAAI,iBAAiB,UAAU,OAAO,aAAa;AAIlD,MAAI,qBAAqB,OAAO,YAAY,CAC3C,QAAO,OAAO,oBAAoB,OAAO,YAAY,IAAI;AAG1D;;AAGD,KAAI,SAAS,UAAU,OAAO,KAAK;AAGlC,SAAO,OAAO,0BAA0B,OAAO,IAAI;AAEnD;;;AAIF,SAAS,qBAAqB,OAA0C;AACvE,QAAO,OAAO,UAAU,YAAY,UAAU,QAAQ,SAAS"}
|
|
@@ -1,27 +1,25 @@
|
|
|
1
|
-
|
|
2
1
|
//#region src/pages/exitPreview.ts
|
|
3
2
|
/**
|
|
4
|
-
* Ends a Prismic preview session within a Next.js app. This function should be
|
|
5
|
-
*
|
|
3
|
+
* Ends a Prismic preview session within a Next.js app. This function should be used in an API
|
|
4
|
+
* route.
|
|
6
5
|
*
|
|
7
6
|
* @example
|
|
7
|
+
* ```typescript
|
|
8
|
+
* // src/pages/api/exit-preview.js
|
|
8
9
|
*
|
|
9
|
-
*
|
|
10
|
-
* // src/pages/api/exit-preview.js
|
|
11
|
-
*
|
|
12
|
-
* import { exitPreview } from "@prismicio/next";
|
|
10
|
+
* import { exitPreview } from "@prismicio/next"
|
|
13
11
|
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
12
|
+
* export default function handler(_req, res) {
|
|
13
|
+
* return exitPreview({ res })
|
|
14
|
+
* }
|
|
15
|
+
* ```
|
|
18
16
|
*/
|
|
19
17
|
function exitPreview(config) {
|
|
20
18
|
config.res.clearPreviewData();
|
|
21
19
|
config.res.setHeader("Cache-Control", "no-store");
|
|
22
20
|
config.res.json({ success: true });
|
|
23
21
|
}
|
|
24
|
-
|
|
25
22
|
//#endregion
|
|
26
23
|
exports.exitPreview = exitPreview;
|
|
24
|
+
|
|
27
25
|
//# sourceMappingURL=exitPreview.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exitPreview.cjs","names":[],"sources":["../../src/pages/exitPreview.ts"],"sourcesContent":["import type { NextApiRequestLike, NextApiResponseLike } from \"./types\"
|
|
1
|
+
{"version":3,"file":"exitPreview.cjs","names":[],"sources":["../../src/pages/exitPreview.ts"],"sourcesContent":["import type { NextApiRequestLike, NextApiResponseLike } from \"./types\"\n\n/** Configuration for `exitPreview()`. */\nexport type ExitPreviewAPIRouteConfig = {\n\t/**\n\t * The `req` object from a Next.js API route.\n\t *\n\t * @see Next.js API route docs: \\<https://nextjs.org/docs/api-routes/introduction\\>\n\t */\n\treq?: NextApiRequestLike\n\n\t/**\n\t * The `res` object from a Next.js API route.\n\t *\n\t * @see Next.js API route docs: \\<https://nextjs.org/docs/api-routes/introduction\\>\n\t */\n\tres: NextApiResponseLike\n}\n\n/**\n * Ends a Prismic preview session within a Next.js app. This function should be used in an API\n * route.\n *\n * @example\n * \t```typescript\n * \t// src/pages/api/exit-preview.js\n *\n * \timport { exitPreview } from \"@prismicio/next\"\n *\n * \texport default function handler(_req, res) {\n * \t\treturn exitPreview({ res })\n * \t}\n * \t```\n */\nexport function exitPreview(config: ExitPreviewAPIRouteConfig): void {\n\tconfig.res.clearPreviewData()\n\n\t// `Cache-Control` header is used to prevent CDN-level caching.\n\tconfig.res.setHeader(\"Cache-Control\", \"no-store\")\n\n\tconfig.res.json({ success: true })\n\n\treturn\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAkCA,SAAgB,YAAY,QAAyC;AACpE,QAAO,IAAI,kBAAkB;AAG7B,QAAO,IAAI,UAAU,iBAAiB,WAAW;AAEjD,QAAO,IAAI,KAAK,EAAE,SAAS,MAAM,CAAC"}
|
|
@@ -17,20 +17,19 @@ type ExitPreviewAPIRouteConfig = {
|
|
|
17
17
|
res: NextApiResponseLike;
|
|
18
18
|
};
|
|
19
19
|
/**
|
|
20
|
-
* Ends a Prismic preview session within a Next.js app. This function should be
|
|
21
|
-
*
|
|
20
|
+
* Ends a Prismic preview session within a Next.js app. This function should be used in an API
|
|
21
|
+
* route.
|
|
22
22
|
*
|
|
23
23
|
* @example
|
|
24
|
+
* ```typescript
|
|
25
|
+
* // src/pages/api/exit-preview.js
|
|
24
26
|
*
|
|
25
|
-
*
|
|
26
|
-
* // src/pages/api/exit-preview.js
|
|
27
|
+
* import { exitPreview } from "@prismicio/next"
|
|
27
28
|
*
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
* }
|
|
33
|
-
* ```
|
|
29
|
+
* export default function handler(_req, res) {
|
|
30
|
+
* return exitPreview({ res })
|
|
31
|
+
* }
|
|
32
|
+
* ```
|
|
34
33
|
*/
|
|
35
34
|
declare function exitPreview(config: ExitPreviewAPIRouteConfig): void;
|
|
36
35
|
//#endregion
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exitPreview.d.cts","names":[],"sources":["../../src/pages/exitPreview.ts"],"mappings":";;;;KAGY,yBAAA;EAAA;;;;;EAMX,GAAA,GAAM,kBAAA;EAON;;;;AAkBD;EAlBC,GAAA,EAAK,mBAAA;AAAA;;;;;;;;;;;;;;;;iBAkBU,WAAA,CAAY,MAAA,EAAQ,yBAAA"}
|
|
@@ -17,20 +17,19 @@ type ExitPreviewAPIRouteConfig = {
|
|
|
17
17
|
res: NextApiResponseLike;
|
|
18
18
|
};
|
|
19
19
|
/**
|
|
20
|
-
* Ends a Prismic preview session within a Next.js app. This function should be
|
|
21
|
-
*
|
|
20
|
+
* Ends a Prismic preview session within a Next.js app. This function should be used in an API
|
|
21
|
+
* route.
|
|
22
22
|
*
|
|
23
23
|
* @example
|
|
24
|
+
* ```typescript
|
|
25
|
+
* // src/pages/api/exit-preview.js
|
|
24
26
|
*
|
|
25
|
-
*
|
|
26
|
-
* // src/pages/api/exit-preview.js
|
|
27
|
+
* import { exitPreview } from "@prismicio/next"
|
|
27
28
|
*
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
* }
|
|
33
|
-
* ```
|
|
29
|
+
* export default function handler(_req, res) {
|
|
30
|
+
* return exitPreview({ res })
|
|
31
|
+
* }
|
|
32
|
+
* ```
|
|
34
33
|
*/
|
|
35
34
|
declare function exitPreview(config: ExitPreviewAPIRouteConfig): void;
|
|
36
35
|
//#endregion
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exitPreview.d.ts","names":[],"sources":["../../src/pages/exitPreview.ts"],"mappings":";;;;KAGY,yBAAA;EAAA;;;;;EAMX,GAAA,GAAM,kBAAA;EAON;;;;AAkBD;EAlBC,GAAA,EAAK,mBAAA;AAAA;;;;;;;;;;;;;;;;iBAkBU,WAAA,CAAY,MAAA,EAAQ,yBAAA"}
|
|
@@ -1,26 +1,25 @@
|
|
|
1
1
|
//#region src/pages/exitPreview.ts
|
|
2
2
|
/**
|
|
3
|
-
* Ends a Prismic preview session within a Next.js app. This function should be
|
|
4
|
-
*
|
|
3
|
+
* Ends a Prismic preview session within a Next.js app. This function should be used in an API
|
|
4
|
+
* route.
|
|
5
5
|
*
|
|
6
6
|
* @example
|
|
7
|
+
* ```typescript
|
|
8
|
+
* // src/pages/api/exit-preview.js
|
|
7
9
|
*
|
|
8
|
-
*
|
|
9
|
-
* // src/pages/api/exit-preview.js
|
|
10
|
+
* import { exitPreview } from "@prismicio/next"
|
|
10
11
|
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
* }
|
|
16
|
-
* ```
|
|
12
|
+
* export default function handler(_req, res) {
|
|
13
|
+
* return exitPreview({ res })
|
|
14
|
+
* }
|
|
15
|
+
* ```
|
|
17
16
|
*/
|
|
18
17
|
function exitPreview(config) {
|
|
19
18
|
config.res.clearPreviewData();
|
|
20
19
|
config.res.setHeader("Cache-Control", "no-store");
|
|
21
20
|
config.res.json({ success: true });
|
|
22
21
|
}
|
|
23
|
-
|
|
24
22
|
//#endregion
|
|
25
23
|
export { exitPreview };
|
|
24
|
+
|
|
26
25
|
//# sourceMappingURL=exitPreview.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exitPreview.js","names":[],"sources":["../../src/pages/exitPreview.ts"],"sourcesContent":["import type { NextApiRequestLike, NextApiResponseLike } from \"./types\"
|
|
1
|
+
{"version":3,"file":"exitPreview.js","names":[],"sources":["../../src/pages/exitPreview.ts"],"sourcesContent":["import type { NextApiRequestLike, NextApiResponseLike } from \"./types\"\n\n/** Configuration for `exitPreview()`. */\nexport type ExitPreviewAPIRouteConfig = {\n\t/**\n\t * The `req` object from a Next.js API route.\n\t *\n\t * @see Next.js API route docs: \\<https://nextjs.org/docs/api-routes/introduction\\>\n\t */\n\treq?: NextApiRequestLike\n\n\t/**\n\t * The `res` object from a Next.js API route.\n\t *\n\t * @see Next.js API route docs: \\<https://nextjs.org/docs/api-routes/introduction\\>\n\t */\n\tres: NextApiResponseLike\n}\n\n/**\n * Ends a Prismic preview session within a Next.js app. This function should be used in an API\n * route.\n *\n * @example\n * \t```typescript\n * \t// src/pages/api/exit-preview.js\n *\n * \timport { exitPreview } from \"@prismicio/next\"\n *\n * \texport default function handler(_req, res) {\n * \t\treturn exitPreview({ res })\n * \t}\n * \t```\n */\nexport function exitPreview(config: ExitPreviewAPIRouteConfig): void {\n\tconfig.res.clearPreviewData()\n\n\t// `Cache-Control` header is used to prevent CDN-level caching.\n\tconfig.res.setHeader(\"Cache-Control\", \"no-store\")\n\n\tconfig.res.json({ success: true })\n\n\treturn\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAkCA,SAAgB,YAAY,QAAyC;AACpE,QAAO,IAAI,kBAAkB;AAG7B,QAAO,IAAI,UAAU,iBAAiB,WAAW;AAEjD,QAAO,IAAI,KAAK,EAAE,SAAS,MAAM,CAAC"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
|
|
2
1
|
//#region src/pages/redirectToPreviewURL.ts
|
|
3
2
|
async function redirectToPreviewURL(config) {
|
|
4
3
|
const { client, req, res, linkResolver, defaultURL = "/", basePath = "" } = config;
|
|
@@ -10,7 +9,7 @@ async function redirectToPreviewURL(config) {
|
|
|
10
9
|
});
|
|
11
10
|
res.redirect(basePath + previewURL);
|
|
12
11
|
}
|
|
13
|
-
|
|
14
12
|
//#endregion
|
|
15
13
|
exports.redirectToPreviewURL = redirectToPreviewURL;
|
|
14
|
+
|
|
16
15
|
//# sourceMappingURL=redirectToPreviewURL.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"redirectToPreviewURL.cjs","names":[],"sources":["../../src/pages/redirectToPreviewURL.ts"],"sourcesContent":["import type { LinkResolverFunction, Client } from \"@prismicio/client\"
|
|
1
|
+
{"version":3,"file":"redirectToPreviewURL.cjs","names":[],"sources":["../../src/pages/redirectToPreviewURL.ts"],"sourcesContent":["import type { LinkResolverFunction, Client } from \"@prismicio/client\"\n\nimport type { NextApiRequestLike, NextApiResponseLike } from \"./types\"\n\nexport type RedirectToPreviewURLConfig = {\n\t/** The Prismic client configured for the preview session's repository. */\n\t// `Pick` is used to use the smallest possible subset of\n\t// `prismic.Client`. Doing this reduces the surface area for breaking\n\t// type changes.\n\tclient: Pick<Client, \"resolvePreviewURL\">\n\n\t/**\n\t * The `req` object from a Next.js API route.\n\t *\n\t * @see Next.js API route docs: \\<https://nextjs.org/docs/pages/building-your-application/routing/api-routes\\>\n\t */\n\treq: NextApiRequestLike\n\n\t/**\n\t * The `res` object from a Next.js API route.\n\t *\n\t * @see Next.js API route docs: \\<https://nextjs.org/docs/pages/building-your-application/routing/api-routes\\>\n\t */\n\tres: NextApiResponseLike\n\n\t/**\n\t * A Link Resolver used to resolve the previewed document's URL.\n\t *\n\t * @see To learn more about Link Resolver: {@link https://prismic.io/docs/core-concepts/link-resolver-route-resolver}\n\t */\n\tlinkResolver?: LinkResolverFunction\n\n\t/**\n\t * The default redirect URL if a URL cannot be determined for the previewed document.\n\t *\n\t * **Note**: If you `next.config.js` file contains a `basePath`, the `defaultURL` option must\n\t * _not_ include it. Instead, provide the `basePath` property using the `basePath` option.\n\t */\n\tdefaultURL?: string\n\n\t/**\n\t * The `basePath` for the Next.js app as it is defined in `next.config.js`. This option can be\n\t * omitted if the app does not have a `basePath`.\n\t *\n\t * @remarks\n\t * The Router Handler or API route is unable to detect the app's `basePath` automatically. It\n\t * must be provided to `redirectToPreviewURL()` manually.\n\t */\n\tbasePath?: string\n}\n\nexport async function redirectToPreviewURL(config: RedirectToPreviewURLConfig): Promise<void> {\n\tconst { client, req, res, linkResolver, defaultURL = \"/\", basePath = \"\" } = config\n\n\tconst previewToken = req.query.token?.toString()\n\n\tconst previewURL = await client.resolvePreviewURL({\n\t\tlinkResolver,\n\t\tdefaultURL,\n\t\tpreviewToken,\n\t})\n\n\tres.redirect(basePath + previewURL)\n\n\treturn\n}\n"],"mappings":";AAmDA,eAAsB,qBAAqB,QAAmD;CAC7F,MAAM,EAAE,QAAQ,KAAK,KAAK,cAAc,aAAa,KAAK,WAAW,OAAO;CAE5E,MAAM,eAAe,IAAI,MAAM,OAAO,UAAU;CAEhD,MAAM,aAAa,MAAM,OAAO,kBAAkB;EACjD;EACA;EACA;EACA,CAAC;AAEF,KAAI,SAAS,WAAW,WAAW"}
|
|
@@ -3,8 +3,7 @@ import { Client, LinkResolverFunction } from "@prismicio/client";
|
|
|
3
3
|
|
|
4
4
|
//#region src/pages/redirectToPreviewURL.d.ts
|
|
5
5
|
type RedirectToPreviewURLConfig = {
|
|
6
|
-
/** The Prismic client configured for the preview session's repository. */
|
|
7
|
-
client: Pick<Client, "resolvePreviewURL">;
|
|
6
|
+
/** The Prismic client configured for the preview session's repository. */client: Pick<Client, "resolvePreviewURL">;
|
|
8
7
|
/**
|
|
9
8
|
* The `req` object from a Next.js API route.
|
|
10
9
|
*
|
|
@@ -24,21 +23,19 @@ type RedirectToPreviewURLConfig = {
|
|
|
24
23
|
*/
|
|
25
24
|
linkResolver?: LinkResolverFunction;
|
|
26
25
|
/**
|
|
27
|
-
* The default redirect URL if a URL cannot be determined for the previewed
|
|
28
|
-
* document.
|
|
26
|
+
* The default redirect URL if a URL cannot be determined for the previewed document.
|
|
29
27
|
*
|
|
30
|
-
* **Note**: If you `next.config.js` file contains a `basePath`, the
|
|
31
|
-
*
|
|
32
|
-
* property using the `basePath` option.
|
|
28
|
+
* **Note**: If you `next.config.js` file contains a `basePath`, the `defaultURL` option must
|
|
29
|
+
* _not_ include it. Instead, provide the `basePath` property using the `basePath` option.
|
|
33
30
|
*/
|
|
34
31
|
defaultURL?: string;
|
|
35
32
|
/**
|
|
36
|
-
* The `basePath` for the Next.js app as it is defined in `next.config.js`.
|
|
37
|
-
*
|
|
33
|
+
* The `basePath` for the Next.js app as it is defined in `next.config.js`. This option can be
|
|
34
|
+
* omitted if the app does not have a `basePath`.
|
|
38
35
|
*
|
|
39
36
|
* @remarks
|
|
40
|
-
*
|
|
41
|
-
*
|
|
37
|
+
* The Router Handler or API route is unable to detect the app's `basePath` automatically. It
|
|
38
|
+
* must be provided to `redirectToPreviewURL()` manually.
|
|
42
39
|
*/
|
|
43
40
|
basePath?: string;
|
|
44
41
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"redirectToPreviewURL.d.cts","names":[],"sources":["../../src/pages/redirectToPreviewURL.ts"],"mappings":";;;;KAIY,0BAAA;4EAKX,MAAA,EAAQ,IAAA,CAAK,MAAA;EALwB;;;;;EAYrC,GAAA,EAAK,kBAAA;EAcU;;;;;EAPf,GAAA,EAAK,mBAAA;EAPL;;;;;EAcA,YAAA,GAAe,oBAAA;EAQf;;;;AAaD;;EAbC,UAAA;EAasF;;;;;;;;EAHtF,QAAA;AAAA;AAAA,iBAGqB,oBAAA,CAAqB,MAAA,EAAQ,0BAAA,GAA6B,OAAA"}
|
|
@@ -3,8 +3,7 @@ import { Client, LinkResolverFunction } from "@prismicio/client";
|
|
|
3
3
|
|
|
4
4
|
//#region src/pages/redirectToPreviewURL.d.ts
|
|
5
5
|
type RedirectToPreviewURLConfig = {
|
|
6
|
-
/** The Prismic client configured for the preview session's repository. */
|
|
7
|
-
client: Pick<Client, "resolvePreviewURL">;
|
|
6
|
+
/** The Prismic client configured for the preview session's repository. */client: Pick<Client, "resolvePreviewURL">;
|
|
8
7
|
/**
|
|
9
8
|
* The `req` object from a Next.js API route.
|
|
10
9
|
*
|
|
@@ -24,21 +23,19 @@ type RedirectToPreviewURLConfig = {
|
|
|
24
23
|
*/
|
|
25
24
|
linkResolver?: LinkResolverFunction;
|
|
26
25
|
/**
|
|
27
|
-
* The default redirect URL if a URL cannot be determined for the previewed
|
|
28
|
-
* document.
|
|
26
|
+
* The default redirect URL if a URL cannot be determined for the previewed document.
|
|
29
27
|
*
|
|
30
|
-
* **Note**: If you `next.config.js` file contains a `basePath`, the
|
|
31
|
-
*
|
|
32
|
-
* property using the `basePath` option.
|
|
28
|
+
* **Note**: If you `next.config.js` file contains a `basePath`, the `defaultURL` option must
|
|
29
|
+
* _not_ include it. Instead, provide the `basePath` property using the `basePath` option.
|
|
33
30
|
*/
|
|
34
31
|
defaultURL?: string;
|
|
35
32
|
/**
|
|
36
|
-
* The `basePath` for the Next.js app as it is defined in `next.config.js`.
|
|
37
|
-
*
|
|
33
|
+
* The `basePath` for the Next.js app as it is defined in `next.config.js`. This option can be
|
|
34
|
+
* omitted if the app does not have a `basePath`.
|
|
38
35
|
*
|
|
39
36
|
* @remarks
|
|
40
|
-
*
|
|
41
|
-
*
|
|
37
|
+
* The Router Handler or API route is unable to detect the app's `basePath` automatically. It
|
|
38
|
+
* must be provided to `redirectToPreviewURL()` manually.
|
|
42
39
|
*/
|
|
43
40
|
basePath?: string;
|
|
44
41
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"redirectToPreviewURL.d.ts","names":[],"sources":["../../src/pages/redirectToPreviewURL.ts"],"mappings":";;;;KAIY,0BAAA;4EAKX,MAAA,EAAQ,IAAA,CAAK,MAAA;EALwB;;;;;EAYrC,GAAA,EAAK,kBAAA;EAcU;;;;;EAPf,GAAA,EAAK,mBAAA;EAPL;;;;;EAcA,YAAA,GAAe,oBAAA;EAQf;;;;AAaD;;EAbC,UAAA;EAasF;;;;;;;;EAHtF,QAAA;AAAA;AAAA,iBAGqB,oBAAA,CAAqB,MAAA,EAAQ,0BAAA,GAA6B,OAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"redirectToPreviewURL.js","names":[],"sources":["../../src/pages/redirectToPreviewURL.ts"],"sourcesContent":["import type { LinkResolverFunction, Client } from \"@prismicio/client\"
|
|
1
|
+
{"version":3,"file":"redirectToPreviewURL.js","names":[],"sources":["../../src/pages/redirectToPreviewURL.ts"],"sourcesContent":["import type { LinkResolverFunction, Client } from \"@prismicio/client\"\n\nimport type { NextApiRequestLike, NextApiResponseLike } from \"./types\"\n\nexport type RedirectToPreviewURLConfig = {\n\t/** The Prismic client configured for the preview session's repository. */\n\t// `Pick` is used to use the smallest possible subset of\n\t// `prismic.Client`. Doing this reduces the surface area for breaking\n\t// type changes.\n\tclient: Pick<Client, \"resolvePreviewURL\">\n\n\t/**\n\t * The `req` object from a Next.js API route.\n\t *\n\t * @see Next.js API route docs: \\<https://nextjs.org/docs/pages/building-your-application/routing/api-routes\\>\n\t */\n\treq: NextApiRequestLike\n\n\t/**\n\t * The `res` object from a Next.js API route.\n\t *\n\t * @see Next.js API route docs: \\<https://nextjs.org/docs/pages/building-your-application/routing/api-routes\\>\n\t */\n\tres: NextApiResponseLike\n\n\t/**\n\t * A Link Resolver used to resolve the previewed document's URL.\n\t *\n\t * @see To learn more about Link Resolver: {@link https://prismic.io/docs/core-concepts/link-resolver-route-resolver}\n\t */\n\tlinkResolver?: LinkResolverFunction\n\n\t/**\n\t * The default redirect URL if a URL cannot be determined for the previewed document.\n\t *\n\t * **Note**: If you `next.config.js` file contains a `basePath`, the `defaultURL` option must\n\t * _not_ include it. Instead, provide the `basePath` property using the `basePath` option.\n\t */\n\tdefaultURL?: string\n\n\t/**\n\t * The `basePath` for the Next.js app as it is defined in `next.config.js`. This option can be\n\t * omitted if the app does not have a `basePath`.\n\t *\n\t * @remarks\n\t * The Router Handler or API route is unable to detect the app's `basePath` automatically. It\n\t * must be provided to `redirectToPreviewURL()` manually.\n\t */\n\tbasePath?: string\n}\n\nexport async function redirectToPreviewURL(config: RedirectToPreviewURLConfig): Promise<void> {\n\tconst { client, req, res, linkResolver, defaultURL = \"/\", basePath = \"\" } = config\n\n\tconst previewToken = req.query.token?.toString()\n\n\tconst previewURL = await client.resolvePreviewURL({\n\t\tlinkResolver,\n\t\tdefaultURL,\n\t\tpreviewToken,\n\t})\n\n\tres.redirect(basePath + previewURL)\n\n\treturn\n}\n"],"mappings":";AAmDA,eAAsB,qBAAqB,QAAmD;CAC7F,MAAM,EAAE,QAAQ,KAAK,KAAK,cAAc,aAAa,KAAK,WAAW,OAAO;CAE5E,MAAM,eAAe,IAAI,MAAM,OAAO,UAAU;CAEhD,MAAM,aAAa,MAAM,OAAO,kBAAkB;EACjD;EACA;EACA;EACA,CAAC;AAEF,KAAI,SAAS,WAAW,WAAW"}
|
|
@@ -1,13 +1,12 @@
|
|
|
1
|
-
|
|
1
|
+
require("../_virtual/_rolldown/runtime.cjs");
|
|
2
2
|
let _prismicio_client = require("@prismicio/client");
|
|
3
|
-
|
|
4
3
|
//#region src/pages/setPreviewData.ts
|
|
5
4
|
/** Set Prismic preview data for Next.js's Preview Mode. */
|
|
6
5
|
function setPreviewData({ req, res }) {
|
|
7
6
|
const ref = req.query.token || req.cookies[_prismicio_client.cookie.preview];
|
|
8
7
|
if (ref) res.setPreviewData({ ref });
|
|
9
8
|
}
|
|
10
|
-
|
|
11
9
|
//#endregion
|
|
12
10
|
exports.setPreviewData = setPreviewData;
|
|
11
|
+
|
|
13
12
|
//# sourceMappingURL=setPreviewData.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setPreviewData.cjs","names":["cookie"],"sources":["../../src/pages/setPreviewData.ts"],"sourcesContent":["import { cookie } from \"@prismicio/client\"
|
|
1
|
+
{"version":3,"file":"setPreviewData.cjs","names":["cookie"],"sources":["../../src/pages/setPreviewData.ts"],"sourcesContent":["import { cookie } from \"@prismicio/client\"\n\nimport type { NextApiRequestLike, NextApiResponseLike } from \"./types\"\n\n/** Configuration for `setPreviewData`. */\nexport type SetPreviewDataConfig = {\n\t/**\n\t * The `req` object from a Next.js API route.\n\t *\n\t * @see Next.js API route docs: \\<https://nextjs.org/docs/api-routes/introduction\\>\n\t */\n\treq: NextApiRequestLike\n\n\t/**\n\t * The `res` object from a Next.js API route.\n\t *\n\t * @see Next.js API route docs: \\<https://nextjs.org/docs/api-routes/introduction\\>\n\t */\n\tres: NextApiResponseLike\n}\n\n/** Set Prismic preview data for Next.js's Preview Mode. */\nexport function setPreviewData({ req, res }: SetPreviewDataConfig): void {\n\tconst ref = req.query.token || req.cookies[cookie.preview]\n\n\tif (ref) {\n\t\tres.setPreviewData({ ref })\n\t}\n}\n"],"mappings":";;;;AAsBA,SAAgB,eAAe,EAAE,KAAK,OAAmC;CACxE,MAAM,MAAM,IAAI,MAAM,SAAS,IAAI,QAAQA,kBAAAA,OAAO;AAElD,KAAI,IACH,KAAI,eAAe,EAAE,KAAK,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setPreviewData.d.cts","names":[],"sources":["../../src/pages/setPreviewData.ts"],"mappings":";;;;KAKY,oBAAA;EAAA;;;;;EAMX,GAAA,EAAK,kBAAA;EAOL;;;;AAID;EAJC,GAAA,EAAK,mBAAA;AAAA;;iBAIU,cAAA,CAAA;EAAiB,GAAA;EAAK;AAAA,GAAO,oBAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setPreviewData.d.ts","names":[],"sources":["../../src/pages/setPreviewData.ts"],"mappings":";;;;KAKY,oBAAA;EAAA;;;;;EAMX,GAAA,EAAK,kBAAA;EAOL;;;;AAID;EAJC,GAAA,EAAK,mBAAA;AAAA;;iBAIU,cAAA,CAAA;EAAiB,GAAA;EAAK;AAAA,GAAO,oBAAA"}
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
import { cookie } from "@prismicio/client";
|
|
2
|
-
|
|
3
2
|
//#region src/pages/setPreviewData.ts
|
|
4
3
|
/** Set Prismic preview data for Next.js's Preview Mode. */
|
|
5
4
|
function setPreviewData({ req, res }) {
|
|
6
5
|
const ref = req.query.token || req.cookies[cookie.preview];
|
|
7
6
|
if (ref) res.setPreviewData({ ref });
|
|
8
7
|
}
|
|
9
|
-
|
|
10
8
|
//#endregion
|
|
11
9
|
export { setPreviewData };
|
|
10
|
+
|
|
12
11
|
//# sourceMappingURL=setPreviewData.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setPreviewData.js","names":[],"sources":["../../src/pages/setPreviewData.ts"],"sourcesContent":["import { cookie } from \"@prismicio/client\"
|
|
1
|
+
{"version":3,"file":"setPreviewData.js","names":[],"sources":["../../src/pages/setPreviewData.ts"],"sourcesContent":["import { cookie } from \"@prismicio/client\"\n\nimport type { NextApiRequestLike, NextApiResponseLike } from \"./types\"\n\n/** Configuration for `setPreviewData`. */\nexport type SetPreviewDataConfig = {\n\t/**\n\t * The `req` object from a Next.js API route.\n\t *\n\t * @see Next.js API route docs: \\<https://nextjs.org/docs/api-routes/introduction\\>\n\t */\n\treq: NextApiRequestLike\n\n\t/**\n\t * The `res` object from a Next.js API route.\n\t *\n\t * @see Next.js API route docs: \\<https://nextjs.org/docs/api-routes/introduction\\>\n\t */\n\tres: NextApiResponseLike\n}\n\n/** Set Prismic preview data for Next.js's Preview Mode. */\nexport function setPreviewData({ req, res }: SetPreviewDataConfig): void {\n\tconst ref = req.query.token || req.cookies[cookie.preview]\n\n\tif (ref) {\n\t\tres.setPreviewData({ ref })\n\t}\n}\n"],"mappings":";;;AAsBA,SAAgB,eAAe,EAAE,KAAK,OAAmC;CACxE,MAAM,MAAM,IAAI,MAAM,SAAS,IAAI,QAAQ,OAAO;AAElD,KAAI,IACH,KAAI,eAAe,EAAE,KAAK,CAAC"}
|
package/dist/pages/types.d.cts
CHANGED
|
@@ -2,17 +2,12 @@ import { EnableAutoPreviewsConfig } from "./enableAutoPreviews.cjs";
|
|
|
2
2
|
import { ClientConfig } from "@prismicio/client";
|
|
3
3
|
|
|
4
4
|
//#region src/pages/types.d.ts
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* Configuration for creating a Prismic client with automatic preview support in
|
|
8
|
-
* Next.js apps.
|
|
9
|
-
*/
|
|
5
|
+
/** Configuration for creating a Prismic client with automatic preview support in Next.js apps. */
|
|
10
6
|
type CreateClientConfig = ClientConfig & Pick<EnableAutoPreviewsConfig, "previewData" | "req">;
|
|
11
7
|
/**
|
|
12
8
|
* The minimal set of properties needed from `next`'s `NextApiRequest` type.
|
|
13
9
|
*
|
|
14
|
-
* This request type is only compatible with API routes defined in the `pages`
|
|
15
|
-
* directory.
|
|
10
|
+
* This request type is only compatible with API routes defined in the `pages` directory.
|
|
16
11
|
*/
|
|
17
12
|
type NextApiRequestLike = {
|
|
18
13
|
query: Partial<Record<string, string | string[]>>;
|
|
@@ -21,8 +16,7 @@ type NextApiRequestLike = {
|
|
|
21
16
|
/**
|
|
22
17
|
* The minimal set of properties needed from `next`'s `NextApiResponse` type.
|
|
23
18
|
*
|
|
24
|
-
* This request type is only compatible with API routes defined in the `pages`
|
|
25
|
-
* directory.
|
|
19
|
+
* This request type is only compatible with API routes defined in the `pages` directory.
|
|
26
20
|
*/
|
|
27
21
|
type NextApiResponseLike = {
|
|
28
22
|
redirect(url: string): NextApiResponseLike;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.cts","names":[],"sources":["../../src/pages/types.ts"],"mappings":";;;;;KAKY,kBAAA,GAAqB,YAAA,GAChC,IAAA,CAAK,wBAAA;AADN;;;;;AAAA,KAQY,kBAAA;EACX,KAAA,EAAO,OAAA,CAAQ,MAAA;EACf,OAAA,EAAS,OAAA,CAAQ,MAAA;AAAA;;;;;AAFlB;KAUY,mBAAA;EACX,QAAA,CAAS,GAAA,WAAc,mBAAA;EACvB,gBAAA,IAAoB,mBAAA;EACpB,SAAA,CAAU,IAAA,UAAc,KAAA,sBAA2B,mBAAA;EAEnD,IAAA,CAAK,IAAA;EACL,cAAA,CAAe,IAAA,oBAAwB,mBAAA;AAAA"}
|
package/dist/pages/types.d.ts
CHANGED
|
@@ -2,17 +2,12 @@ import { EnableAutoPreviewsConfig } from "./enableAutoPreviews.js";
|
|
|
2
2
|
import { ClientConfig } from "@prismicio/client";
|
|
3
3
|
|
|
4
4
|
//#region src/pages/types.d.ts
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* Configuration for creating a Prismic client with automatic preview support in
|
|
8
|
-
* Next.js apps.
|
|
9
|
-
*/
|
|
5
|
+
/** Configuration for creating a Prismic client with automatic preview support in Next.js apps. */
|
|
10
6
|
type CreateClientConfig = ClientConfig & Pick<EnableAutoPreviewsConfig, "previewData" | "req">;
|
|
11
7
|
/**
|
|
12
8
|
* The minimal set of properties needed from `next`'s `NextApiRequest` type.
|
|
13
9
|
*
|
|
14
|
-
* This request type is only compatible with API routes defined in the `pages`
|
|
15
|
-
* directory.
|
|
10
|
+
* This request type is only compatible with API routes defined in the `pages` directory.
|
|
16
11
|
*/
|
|
17
12
|
type NextApiRequestLike = {
|
|
18
13
|
query: Partial<Record<string, string | string[]>>;
|
|
@@ -21,8 +16,7 @@ type NextApiRequestLike = {
|
|
|
21
16
|
/**
|
|
22
17
|
* The minimal set of properties needed from `next`'s `NextApiResponse` type.
|
|
23
18
|
*
|
|
24
|
-
* This request type is only compatible with API routes defined in the `pages`
|
|
25
|
-
* directory.
|
|
19
|
+
* This request type is only compatible with API routes defined in the `pages` directory.
|
|
26
20
|
*/
|
|
27
21
|
type NextApiResponseLike = {
|
|
28
22
|
redirect(url: string): NextApiResponseLike;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","names":[],"sources":["../../src/pages/types.ts"],"mappings":";;;;;KAKY,kBAAA,GAAqB,YAAA,GAChC,IAAA,CAAK,wBAAA;AADN;;;;;AAAA,KAQY,kBAAA;EACX,KAAA,EAAO,OAAA,CAAQ,MAAA;EACf,OAAA,EAAS,OAAA,CAAQ,MAAA;AAAA;;;;;AAFlB;KAUY,mBAAA;EACX,QAAA,CAAS,GAAA,WAAc,mBAAA;EACvB,gBAAA,IAAoB,mBAAA;EACpB,SAAA,CAAU,IAAA,UAAc,KAAA,sBAA2B,mBAAA;EAEnD,IAAA,CAAK,IAAA;EACL,cAAA,CAAe,IAAA,oBAAwB,mBAAA;AAAA"}
|