payload-live-preview 1.8.0 → 2.0.0-beta.0

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.
Files changed (98) hide show
  1. package/README.md +301 -93
  2. package/dist/adapters/astro/PreviewBoundary.astro +66 -0
  3. package/dist/adapters/astro/RichText.astro +6 -0
  4. package/dist/adapters/astro/index.d.ts +165 -134
  5. package/dist/adapters/astro/index.js +1 -1
  6. package/dist/adapters/astro/index.js.map +1 -1
  7. package/dist/adapters/astro/middleware-entry.d.ts +4 -9
  8. package/dist/adapters/astro/middleware-entry.js +1 -1
  9. package/dist/adapters/astro/middleware-entry.js.map +1 -1
  10. package/dist/adapters/nextjs/index.d.ts +13 -80
  11. package/dist/adapters/nextjs/index.js +1 -1
  12. package/dist/adapters/nextjs/index.js.map +1 -1
  13. package/dist/adapters/nuxt/index.d.ts +46 -106
  14. package/dist/adapters/nuxt/index.js +1 -1
  15. package/dist/adapters/nuxt/index.js.map +1 -1
  16. package/dist/adapters/sveltekit/index.d.ts +10 -75
  17. package/dist/adapters/sveltekit/index.js +1 -1
  18. package/dist/adapters/sveltekit/index.js.map +1 -1
  19. package/dist/client.cjs +2 -0
  20. package/dist/client.cjs.map +1 -0
  21. package/dist/client.d.cts +747 -0
  22. package/dist/client.d.ts +747 -0
  23. package/dist/client.js +2 -0
  24. package/dist/client.js.map +1 -0
  25. package/dist/codegen-astro.d.ts +5 -27
  26. package/dist/codegen-astro.js +1 -1
  27. package/dist/codegen-astro.js.map +1 -1
  28. package/dist/codegen-cli.d.ts +3 -16
  29. package/dist/codegen-cli.js +1 -1
  30. package/dist/codegen-cli.js.map +1 -1
  31. package/dist/codegen.cjs +1 -1
  32. package/dist/codegen.cjs.map +1 -1
  33. package/dist/codegen.d.cts +37 -124
  34. package/dist/codegen.d.ts +37 -124
  35. package/dist/codegen.js +1 -1
  36. package/dist/codegen.js.map +1 -1
  37. package/dist/core.cjs +1 -1
  38. package/dist/core.cjs.map +1 -1
  39. package/dist/core.d.cts +647 -1100
  40. package/dist/core.d.ts +647 -1100
  41. package/dist/core.js +1 -1
  42. package/dist/core.js.map +1 -1
  43. package/dist/doctor-cli.d.ts +3 -28
  44. package/dist/doctor-cli.js +1 -1
  45. package/dist/doctor-cli.js.map +1 -1
  46. package/dist/doctor.d.ts +16 -32
  47. package/dist/doctor.js +1 -1
  48. package/dist/doctor.js.map +1 -1
  49. package/dist/fragment.cjs +2 -0
  50. package/dist/fragment.cjs.map +1 -0
  51. package/dist/fragment.d.cts +333 -0
  52. package/dist/fragment.d.ts +333 -0
  53. package/dist/fragment.js +2 -0
  54. package/dist/fragment.js.map +1 -0
  55. package/dist/index.cjs +1 -1
  56. package/dist/index.cjs.map +1 -1
  57. package/dist/index.d.cts +885 -1531
  58. package/dist/index.d.ts +885 -1531
  59. package/dist/index.js +1 -1
  60. package/dist/index.js.map +1 -1
  61. package/dist/lexical.cjs +2 -0
  62. package/dist/lexical.cjs.map +1 -0
  63. package/dist/lexical.d.cts +90 -0
  64. package/dist/lexical.d.ts +90 -0
  65. package/dist/lexical.js +2 -0
  66. package/dist/lexical.js.map +1 -0
  67. package/dist/middleware-CEPsY1P7.d.ts +40 -0
  68. package/dist/migrate.d.ts +73 -0
  69. package/dist/migrate.js +2 -0
  70. package/dist/migrate.js.map +1 -0
  71. package/dist/options-CEzzfHJu.d.ts +197 -0
  72. package/dist/payload.cjs +1 -1
  73. package/dist/payload.cjs.map +1 -1
  74. package/dist/payload.d.cts +11 -80
  75. package/dist/payload.d.ts +11 -80
  76. package/dist/payload.js +1 -1
  77. package/dist/payload.js.map +1 -1
  78. package/dist/plugins.cjs +2 -0
  79. package/dist/plugins.cjs.map +1 -0
  80. package/dist/plugins.d.cts +509 -0
  81. package/dist/plugins.d.ts +509 -0
  82. package/dist/plugins.js +2 -0
  83. package/dist/plugins.js.map +1 -0
  84. package/dist/{probe-tMHdim5y.d.ts → probe-CYtvj_Lm.d.ts} +43 -77
  85. package/dist/server.cjs +2 -0
  86. package/dist/server.cjs.map +1 -0
  87. package/dist/server.d.cts +435 -0
  88. package/dist/server.d.ts +435 -0
  89. package/dist/server.js +2 -0
  90. package/dist/server.js.map +1 -0
  91. package/dist/structural.cjs +3 -0
  92. package/dist/structural.cjs.map +1 -0
  93. package/dist/structural.d.cts +243 -0
  94. package/dist/structural.d.ts +243 -0
  95. package/dist/structural.js +3 -0
  96. package/dist/structural.js.map +1 -0
  97. package/package.json +86 -7
  98. package/dist/middleware-DD4Hwomt.d.ts +0 -189
@@ -1,89 +1,22 @@
1
+ import { b as PreviewAdapterOptions } from '../../options-CEzzfHJu.js';
2
+
1
3
  /**
2
- * Next.js adapter for Payload Live Preview.
3
- *
4
- * ⚠️ Scope: this package patches server-rendered/static DOM. For
5
- * client-rendered React trees prefer the official
6
- * `@payloadcms/live-preview-react` (`useLivePreview`) — React
7
- * re-renders can revert DOM patches made here.
8
- *
9
- * Provides:
10
- *
11
- * - `renderLivePreviewScript(options)` / `generateInlineScript` —
12
- * embed the script in your root layout via
13
- * `<script dangerouslySetInnerHTML>`. This is the PRIMARY wiring
14
- * for Next.js: standard middleware cannot inject into the HTML
15
- * body because `NextResponse.next()` carries no body.
16
- *
17
- * - `createLivePreviewMiddleware(options)` — merges CSP headers
18
- * (`frame-ancestors`) onto responses carrying preview intent. Its
19
- * script-injection path only activates when you pass it a
20
- * `Response` that actually carries an HTML body (custom servers,
21
- * route handlers returning HTML) — in standard `middleware.ts`
22
- * use `autoInject: false`.
23
- *
24
- * Preview intent is not authorization. Run application-owned server
25
- * authentication first and use its result to gate draft data, cache
26
- * policy, privileged headers, CSP changes, and script rendering.
27
- *
28
- * @module @adapters/nextjs
4
+ * Next.js adapter. `renderLivePreviewScript()` in the root layout is the
5
+ * primary wiring: `NextResponse.next()` carries no body, so the middleware
6
+ * only injects into responses that actually carry HTML.
29
7
  */
30
- interface LivePreviewNextOptions {
31
- readonly allowedOrigins?: readonly string[];
32
- /** Payload server origin for REST data merging (Payload 3.x). */
33
- readonly serverURL?: string;
34
- /** REST API route prefix used with `serverURL`. Defaults to `/api`. */
35
- readonly apiRoute?: string;
36
- /** Population depth used with `serverURL`. Defaults to `1`. */
37
- readonly mergeDepth?: number;
38
- readonly autoInject?: boolean;
39
- /**
40
- * `'preview-only'` (default) — inject only into responses carrying
41
- * preview intent. The signals are client-controlled and do not
42
- * authorize access. `'always'` — every HTML response.
43
- */
44
- readonly inject?: 'preview-only' | 'always';
45
- /** Query params that signal preview intent. Default `['preview', 'draft', 'livePreview']`. */
46
- readonly previewQueryParams?: readonly string[];
47
- /** Which signals count as preview intent. Default: query, fetch-dest, referer. */
48
- readonly previewSignals?: readonly ('query' | 'fetch-dest' | 'referer')[];
49
- /**
50
- * Synchronous route/content filter for script injection only. It is
51
- * not authentication and does not suppress CSP handling.
52
- */
53
- readonly shouldInject?: (request: Request) => boolean;
54
- /**
55
- * CSP management: `'frame-ancestors'` (default) merges only the
56
- * embed permission; `'full'` also manages a nonce'd `script-src`;
57
- * `false` never touches CSP. `true` is a legacy alias for
58
- * `'frame-ancestors'`.
59
- */
60
- readonly manageCsp?: boolean | 'frame-ancestors' | 'full';
61
- /** Add `'strict-dynamic'` to the managed `script-src`. Default `false`. */
62
- readonly strictDynamic?: boolean;
63
- readonly frameAncestorsExtra?: readonly string[];
64
- readonly scriptSrcExtra?: readonly string[];
65
- readonly debug?: boolean;
66
- readonly debounceMs?: number;
67
- /** Heartbeat timeout in ms. Default `0` (disabled). */
68
- readonly heartbeatMs?: number;
69
- }
70
- type NextMiddleware = (request: Request) => Promise<Response | undefined>;
8
+
9
+ type LivePreviewNextOptions = PreviewAdapterOptions;
71
10
  /**
72
- * Build a Next.js-compatible middleware operating on the standard
73
- * `Request` / `Response` pair. Wrap with `NextResponse.next()` in your
74
- * project to integrate with Next's request pipeline. Invoke it only
75
- * after application-owned authorization when its response mutations
76
- * are privileged.
11
+ * Middleware over the standard `Request`/`Response` pair: on preview intent it
12
+ * authorizes, injects, merges CSP and marks the response uncacheable. Next.js
13
+ * middleware has no `locals`, so the verdict is not published — call
14
+ * `authorizePreviewRequest()` in the route when a page needs it.
77
15
  */
78
16
  declare function createLivePreviewMiddleware(options?: LivePreviewNextOptions): (request: Request, response: Response) => Promise<Response>;
79
- /**
80
- * Render the live-preview `<script>` tag — for embedding manually in
81
- * App Router or Pages Router layouts. Rendering must be gated by the
82
- * application's verified preview authorization, not merely an intent
83
- * query parameter.
84
- */
17
+ /** The `<script>` tag for `app/layout.tsx`; pass the nonce your CSP uses. */
85
18
  declare function renderLivePreviewScript(options?: LivePreviewNextOptions & {
86
19
  readonly nonce?: string;
87
20
  }): string;
88
21
 
89
- export { type LivePreviewNextOptions, type NextMiddleware, createLivePreviewMiddleware, renderLivePreviewScript };
22
+ export { type LivePreviewNextOptions, PreviewAdapterOptions, createLivePreviewMiddleware, renderLivePreviewScript };