@delmaredigital/payload-puck 0.6.0 → 0.6.2

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 (94) hide show
  1. package/README.md +178 -1
  2. package/dist/api/index.d.ts +1 -1
  3. package/dist/api/index.d.ts.map +1 -1
  4. package/dist/api/index.js +1 -1
  5. package/dist/api/index.js.map +1 -1
  6. package/dist/api/utils/mapRootProps.d.ts +19 -0
  7. package/dist/api/utils/mapRootProps.d.ts.map +1 -1
  8. package/dist/api/utils/mapRootProps.js +33 -0
  9. package/dist/api/utils/mapRootProps.js.map +1 -1
  10. package/dist/components/exports.d.ts +1 -0
  11. package/dist/components/exports.d.ts.map +1 -1
  12. package/dist/components/exports.js +4 -0
  13. package/dist/components/exports.js.map +1 -1
  14. package/dist/config/index.d.ts +1 -0
  15. package/dist/config/index.d.ts.map +1 -1
  16. package/dist/config/presets.js +2 -2
  17. package/dist/config/presets.js.map +1 -1
  18. package/dist/config/types.d.ts +111 -0
  19. package/dist/config/types.d.ts.map +1 -0
  20. package/dist/config/types.js +8 -0
  21. package/dist/config/types.js.map +1 -0
  22. package/dist/editor/PuckEditor.d.ts +20 -1
  23. package/dist/editor/PuckEditor.d.ts.map +1 -1
  24. package/dist/editor/PuckEditor.js +4 -2
  25. package/dist/editor/PuckEditor.js.map +1 -1
  26. package/dist/editor/PuckEditorImpl.client.d.ts +20 -1
  27. package/dist/editor/PuckEditorImpl.client.d.ts.map +1 -1
  28. package/dist/editor/PuckEditorImpl.client.js +17 -7
  29. package/dist/editor/PuckEditorImpl.client.js.map +1 -1
  30. package/dist/editor/components/DarkModeStyles.d.ts +30 -0
  31. package/dist/editor/components/DarkModeStyles.d.ts.map +1 -0
  32. package/dist/editor/components/DarkModeStyles.js +159 -0
  33. package/dist/editor/components/DarkModeStyles.js.map +1 -0
  34. package/dist/editor/components/HeaderActions.d.ts +13 -0
  35. package/dist/editor/components/HeaderActions.d.ts.map +1 -1
  36. package/dist/editor/components/HeaderActions.js +3 -2
  37. package/dist/editor/components/HeaderActions.js.map +1 -1
  38. package/dist/editor/components/IframeWrapper.d.ts +7 -0
  39. package/dist/editor/components/IframeWrapper.d.ts.map +1 -1
  40. package/dist/editor/components/IframeWrapper.js +15 -5
  41. package/dist/editor/components/IframeWrapper.js.map +1 -1
  42. package/dist/editor/components/PreviewModeToggle.d.ts +32 -0
  43. package/dist/editor/components/PreviewModeToggle.d.ts.map +1 -0
  44. package/dist/editor/components/PreviewModeToggle.js +67 -0
  45. package/dist/editor/components/PreviewModeToggle.js.map +1 -0
  46. package/dist/editor/hooks/useDarkMode.d.ts +37 -0
  47. package/dist/editor/hooks/useDarkMode.d.ts.map +1 -0
  48. package/dist/editor/hooks/useDarkMode.js +80 -0
  49. package/dist/editor/hooks/useDarkMode.js.map +1 -0
  50. package/dist/editor/index.d.ts +3 -0
  51. package/dist/editor/index.d.ts.map +1 -1
  52. package/dist/editor/index.js +3 -0
  53. package/dist/editor/index.js.map +1 -1
  54. package/dist/editor/utils/injectPageTreeFields.js +2 -2
  55. package/dist/editor/utils/injectPageTreeFields.js.map +1 -1
  56. package/dist/endpoints/styles.d.ts +1 -0
  57. package/dist/endpoints/styles.d.ts.map +1 -1
  58. package/dist/endpoints/styles.js +33 -11
  59. package/dist/endpoints/styles.js.map +1 -1
  60. package/dist/fields/MediaField.d.ts.map +1 -1
  61. package/dist/fields/MediaField.js +4 -2
  62. package/dist/fields/MediaField.js.map +1 -1
  63. package/dist/fields/PageSegmentField.d.ts +17 -0
  64. package/dist/fields/PageSegmentField.d.ts.map +1 -1
  65. package/dist/fields/PageSegmentField.js +106 -1
  66. package/dist/fields/PageSegmentField.js.map +1 -1
  67. package/dist/fields/index.d.ts +1 -1
  68. package/dist/fields/index.d.ts.map +1 -1
  69. package/dist/fields/index.js +1 -1
  70. package/dist/fields/index.js.map +1 -1
  71. package/dist/layouts/index.d.ts +1 -1
  72. package/dist/layouts/index.d.ts.map +1 -1
  73. package/dist/layouts/index.js +1 -1
  74. package/dist/layouts/index.js.map +1 -1
  75. package/dist/layouts/types.d.ts +14 -2
  76. package/dist/layouts/types.d.ts.map +1 -1
  77. package/dist/layouts/utils.d.ts +35 -0
  78. package/dist/layouts/utils.d.ts.map +1 -1
  79. package/dist/layouts/utils.js +37 -0
  80. package/dist/layouts/utils.js.map +1 -1
  81. package/dist/render/HybridPageRenderer.d.ts +46 -3
  82. package/dist/render/HybridPageRenderer.d.ts.map +1 -1
  83. package/dist/render/HybridPageRenderer.js +45 -0
  84. package/dist/render/HybridPageRenderer.js.map +1 -1
  85. package/dist/render/index.d.ts +3 -2
  86. package/dist/render/index.d.ts.map +1 -1
  87. package/dist/render/index.js +3 -1
  88. package/dist/render/index.js.map +1 -1
  89. package/dist/version.d.ts +1 -1
  90. package/dist/version.js +1 -1
  91. package/dist/views/PuckEditorView.d.ts.map +1 -1
  92. package/dist/views/PuckEditorView.js +14 -8
  93. package/dist/views/PuckEditorView.js.map +1 -1
  94. package/package.json +5 -1
package/README.md CHANGED
@@ -8,6 +8,7 @@ A PayloadCMS plugin for integrating [Puck](https://puckeditor.com) visual page b
8
8
 
9
9
  - [Installation](#installation)
10
10
  - [Quick Start](#quick-start)
11
+ - [Adding to Existing Projects](#adding-to-existing-projects)
11
12
  - [Styling Setup](#styling-setup)
12
13
  - [Core Concepts](#core-concepts)
13
14
  - [Components](#components)
@@ -15,6 +16,7 @@ A PayloadCMS plugin for integrating [Puck](https://puckeditor.com) visual page b
15
16
  - [Building Custom Components](#building-custom-components)
16
17
  - [Theming](#theming)
17
18
  - [Layouts](#layouts)
19
+ - [Dark Mode Support](#dark-mode-support)
18
20
  - [Page-Tree Integration](#page-tree-integration)
19
21
  - [Hybrid Integration](#hybrid-integration)
20
22
  - [AI Integration](#ai-integration)
@@ -53,7 +55,7 @@ The plugin integrates directly into Payload's admin UI with minimal configuratio
53
55
  ### Step 1: Add the Plugin
54
56
 
55
57
  ```typescript
56
- // payload.config.ts
58
+ // src/payload.config.ts
57
59
  import { buildConfig } from 'payload'
58
60
  import { createPuckPlugin } from '@delmaredigital/payload-puck/plugin'
59
61
 
@@ -99,6 +101,34 @@ export default function RootLayout({ children }: { children: React.ReactNode })
99
101
 
100
102
  > **Note:** For custom editor UIs (outside Payload admin), you can also pass the config directly to `PuckEditor` instead of using the context provider.
101
103
 
104
+ **Alternative: Payload Admin Provider (vanilla starter pattern)**
105
+
106
+ If you're using the vanilla Payload starter structure, you can register the provider via the admin config instead:
107
+
108
+ ```typescript
109
+ // src/payload.config.ts
110
+ export default buildConfig({
111
+ admin: {
112
+ components: {
113
+ providers: ['@/components/admin/PuckProvider'],
114
+ },
115
+ },
116
+ // ...
117
+ })
118
+ ```
119
+
120
+ ```typescript
121
+ // src/components/admin/PuckProvider.tsx
122
+ 'use client'
123
+
124
+ import { PuckConfigProvider } from '@delmaredigital/payload-puck/client'
125
+ import { editorConfig } from '@delmaredigital/payload-puck/config/editor'
126
+
127
+ export default function PuckProvider({ children }: { children: React.ReactNode }) {
128
+ return <PuckConfigProvider config={editorConfig}>{children}</PuckConfigProvider>
129
+ }
130
+ ```
131
+
102
132
  ### Step 3: Create a Frontend Route
103
133
 
104
134
  The plugin can't auto-create frontend routes (Next.js App Router is file-based), but here's copy-paste ready code:
@@ -181,6 +211,74 @@ export default async function Page({
181
211
  - The editor runs inside Payload's admin UI with full navigation
182
212
  - API endpoints are handled automatically via Payload's endpoint system
183
213
 
214
+ ### Adding to Existing Projects
215
+
216
+ > **⚠️ Important:** If you're adding Puck to a project with existing frontend routes, you must update those routes to render Puck content.
217
+
218
+ When adding Puck to an existing Payload project:
219
+
220
+ 1. ✅ Add the plugin to `payload.config.ts`
221
+ 2. ✅ Add `PuckConfigProvider` to your admin layout
222
+ 3. ⚠️ **Update your frontend page templates** to render `puckData`
223
+
224
+ Without step 3, Puck pages will render blank because your existing routes only look for legacy block fields like `layout` or `hero`.
225
+
226
+ **Option A: Hybrid Rendering (recommended for migration)**
227
+
228
+ Use `HybridPageRenderer` to support both legacy blocks and Puck pages:
229
+
230
+ ```typescript
231
+ import { HybridPageRenderer } from '@delmaredigital/payload-puck/render'
232
+ import { baseConfig } from '@delmaredigital/payload-puck/config'
233
+ import { LegacyBlockRenderer } from '@/components/LegacyBlockRenderer'
234
+
235
+ export default async function Page({ params }) {
236
+ const page = await getPage(params.slug)
237
+
238
+ return (
239
+ <HybridPageRenderer
240
+ page={page}
241
+ config={baseConfig}
242
+ legacyRenderer={(blocks) => <LegacyBlockRenderer blocks={blocks} />}
243
+ />
244
+ )
245
+ }
246
+ ```
247
+
248
+ **Option B: Manual Detection**
249
+
250
+ Add conditional logic to check `editorVersion`:
251
+
252
+ ```typescript
253
+ // Check if page was created with Puck
254
+ const isPuckPage = page.editorVersion === 'puck' && page.puckData?.content?.length > 0
255
+
256
+ if (isPuckPage) {
257
+ return <PageRenderer config={baseConfig} data={page.puckData} />
258
+ }
259
+
260
+ // Fall back to legacy rendering
261
+ return <LegacyBlockRenderer blocks={page.layout} />
262
+ ```
263
+
264
+ **Option C: Custom Components**
265
+
266
+ If you have custom Puck components (not just the built-in ones), create a client wrapper:
267
+
268
+ ```typescript
269
+ // components/PuckPageRenderer.tsx
270
+ 'use client'
271
+
272
+ import { Render } from '@puckeditor/core'
273
+ import { myCustomConfig } from '@/puck/config'
274
+
275
+ export function PuckPageRenderer({ data }) {
276
+ return <Render config={myCustomConfig} data={data} />
277
+ }
278
+ ```
279
+
280
+ Then use this wrapper in your page template instead of `PageRenderer`.
281
+
184
282
  ---
185
283
 
186
284
  ## Styling Setup
@@ -727,6 +825,85 @@ const layout = siteLayouts.find(l => l.value === page.puckData?.root?.props?.pag
727
825
  </LayoutWrapper>
728
826
  ```
729
827
 
828
+ ### Avoiding Double Headers/Footers
829
+
830
+ When your host app already provides a global header/footer via its root layout (e.g., Next.js `layout.tsx`), use `createRenderLayouts()` to strip them from Puck layouts:
831
+
832
+ ```typescript
833
+ import { HybridPageRenderer, createRenderLayouts } from '@delmaredigital/payload-puck/render'
834
+ import { siteLayouts } from '@/lib/puck-layouts' // layouts with header/footer for editor
835
+
836
+ // Strip header/footer for rendering (host app layout provides them)
837
+ const renderLayouts = createRenderLayouts(siteLayouts)
838
+
839
+ export function PageRenderer({ page }) {
840
+ const layout = renderLayouts.find(l => l.value === page.puckData?.root?.props?.pageLayout)
841
+
842
+ return (
843
+ <LayoutWrapper layout={layout}>
844
+ <HybridPageRenderer page={page} config={baseConfig} />
845
+ </LayoutWrapper>
846
+ )
847
+ }
848
+ ```
849
+
850
+ This pattern keeps header/footer in your editor layouts for realistic preview, but avoids double headers when rendering.
851
+
852
+ ---
853
+
854
+ ## Dark Mode Support
855
+
856
+ The Puck editor automatically detects PayloadCMS dark mode and applies CSS overrides to ensure visibility. It also provides a preview toggle to test how pages look in both light and dark modes.
857
+
858
+ ### How It Works
859
+
860
+ 1. **Editor UI**: Automatically detects dark mode via `.dark` class (PayloadCMS) or `prefers-color-scheme` (OS preference), then injects Puck CSS variable overrides
861
+ 2. **Preview Iframe**: A sun/moon toggle lets you switch the preview content between light and dark modes independently from the editor UI
862
+
863
+ ### Configuration
864
+
865
+ Dark mode is enabled by default. You can customize via props on `PuckEditor`:
866
+
867
+ ```typescript
868
+ <PuckEditor
869
+ autoDetectDarkMode={true} // Auto-detect PayloadCMS dark mode (default: true)
870
+ showPreviewDarkModeToggle={true} // Show light/dark toggle in header (default: true)
871
+ initialPreviewDarkMode={false} // Start preview in light mode (default: false)
872
+ />
873
+ ```
874
+
875
+ ### Using Components Directly
876
+
877
+ For custom editor implementations:
878
+
879
+ ```typescript
880
+ import {
881
+ DarkModeStyles,
882
+ PreviewModeToggle,
883
+ useDarkMode,
884
+ } from '@delmaredigital/payload-puck/editor'
885
+
886
+ function CustomEditor() {
887
+ const { isDarkMode, source } = useDarkMode()
888
+ const [previewDark, setPreviewDark] = useState(false)
889
+
890
+ return (
891
+ <>
892
+ {/* Inject dark mode CSS overrides when detected */}
893
+ <DarkModeStyles />
894
+
895
+ {/* Toggle for preview iframe */}
896
+ <PreviewModeToggle
897
+ isDarkMode={previewDark}
898
+ onToggle={setPreviewDark}
899
+ />
900
+
901
+ <Puck ... />
902
+ </>
903
+ )
904
+ }
905
+ ```
906
+
730
907
  ---
731
908
 
732
909
  ## Page-Tree Integration
@@ -35,6 +35,6 @@
35
35
  export { createPuckApiRoutes } from './createPuckApiRoutes';
36
36
  export { createPuckApiRoutesWithId } from './createPuckApiRoutesWithId';
37
37
  export { createPuckApiRoutesVersions } from './createPuckApiRoutesVersions';
38
- export { mapRootPropsToPayloadFields, DEFAULT_ROOT_PROPS_MAPPINGS, setNestedValue, getNestedValue, mergeMappings, deepMerge, } from './utils/mapRootProps';
38
+ export { mapRootPropsToPayloadFields, mapPayloadFieldsToRootProps, DEFAULT_ROOT_PROPS_MAPPINGS, setNestedValue, getNestedValue, mergeMappings, deepMerge, } from './utils/mapRootProps';
39
39
  export type { AuthenticatedUser, AuthResult, PermissionResult, PuckApiAuthHooks, RootPropsMapping, PuckApiRoutesConfig, ErrorContext, RouteHandler, RouteHandlerWithId, RouteHandlerContext, RouteHandlerWithIdContext, PuckApiRouteHandlers, PuckApiRouteWithIdHandlers, CreatePageBody, UpdatePageBody, ApiResponse, PageVersion, PuckApiVersionsRouteHandlers, } from './types';
40
40
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAGH,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAA;AACvE,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAA;AAG3E,OAAO,EACL,2BAA2B,EAC3B,2BAA2B,EAC3B,cAAc,EACd,cAAc,EACd,aAAa,EACb,SAAS,GACV,MAAM,sBAAsB,CAAA;AAG7B,YAAY,EAEV,iBAAiB,EACjB,UAAU,EACV,gBAAgB,EAChB,gBAAgB,EAGhB,gBAAgB,EAGhB,mBAAmB,EACnB,YAAY,EAGZ,YAAY,EACZ,kBAAkB,EAClB,mBAAmB,EACnB,yBAAyB,EACzB,oBAAoB,EACpB,0BAA0B,EAG1B,cAAc,EACd,cAAc,EACd,WAAW,EAGX,WAAW,EACX,4BAA4B,GAC7B,MAAM,SAAS,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAGH,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAA;AACvE,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAA;AAG3E,OAAO,EACL,2BAA2B,EAC3B,2BAA2B,EAC3B,2BAA2B,EAC3B,cAAc,EACd,cAAc,EACd,aAAa,EACb,SAAS,GACV,MAAM,sBAAsB,CAAA;AAG7B,YAAY,EAEV,iBAAiB,EACjB,UAAU,EACV,gBAAgB,EAChB,gBAAgB,EAGhB,gBAAgB,EAGhB,mBAAmB,EACnB,YAAY,EAGZ,YAAY,EACZ,kBAAkB,EAClB,mBAAmB,EACnB,yBAAyB,EACzB,oBAAoB,EACpB,0BAA0B,EAG1B,cAAc,EACd,cAAc,EACd,WAAW,EAGX,WAAW,EACX,4BAA4B,GAC7B,MAAM,SAAS,CAAA"}
package/dist/api/index.js CHANGED
@@ -37,5 +37,5 @@ export { createPuckApiRoutes } from './createPuckApiRoutes';
37
37
  export { createPuckApiRoutesWithId } from './createPuckApiRoutesWithId';
38
38
  export { createPuckApiRoutesVersions } from './createPuckApiRoutesVersions';
39
39
  // Utilities
40
- export { mapRootPropsToPayloadFields, DEFAULT_ROOT_PROPS_MAPPINGS, setNestedValue, getNestedValue, mergeMappings, deepMerge, } from './utils/mapRootProps';
40
+ export { mapRootPropsToPayloadFields, mapPayloadFieldsToRootProps, DEFAULT_ROOT_PROPS_MAPPINGS, setNestedValue, getNestedValue, mergeMappings, deepMerge, } from './utils/mapRootProps';
41
41
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,kBAAkB;AAClB,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAA;AACvE,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAA;AAE3E,YAAY;AACZ,OAAO,EACL,2BAA2B,EAC3B,2BAA2B,EAC3B,cAAc,EACd,cAAc,EACd,aAAa,EACb,SAAS,GACV,MAAM,sBAAsB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,kBAAkB;AAClB,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAA;AACvE,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAA;AAE3E,YAAY;AACZ,OAAO,EACL,2BAA2B,EAC3B,2BAA2B,EAC3B,2BAA2B,EAC3B,cAAc,EACd,cAAc,EACd,aAAa,EACb,SAAS,GACV,MAAM,sBAAsB,CAAA"}
@@ -73,4 +73,23 @@ export declare function mapRootPropsToPayloadFields(rootProps: Record<string, un
73
73
  * @returns The merged object (target is modified in place)
74
74
  */
75
75
  export declare function deepMerge(target: Record<string, unknown>, source: Record<string, unknown>): Record<string, unknown>;
76
+ /**
77
+ * Map Payload document fields to Puck root.props format
78
+ *
79
+ * This is the reverse of mapRootPropsToPayloadFields. It takes a Payload
80
+ * document and extracts the fields that should be synced to root.props
81
+ * when loading the editor.
82
+ *
83
+ * @param doc - The Payload document
84
+ * @param customMappings - Optional custom mappings to merge with defaults
85
+ * @returns Object with root.props field names and values
86
+ *
87
+ * @example
88
+ * ```typescript
89
+ * const page = { title: 'My Page', isHomepage: true, meta: { title: 'SEO Title' } }
90
+ * const rootProps = mapPayloadFieldsToRootProps(page)
91
+ * // Result: { title: 'My Page', isHomepage: true, metaTitle: 'SEO Title' }
92
+ * ```
93
+ */
94
+ export declare function mapPayloadFieldsToRootProps(doc: Record<string, unknown>, customMappings?: RootPropsMapping[]): Record<string, unknown>;
76
95
  //# sourceMappingURL=mapRootProps.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mapRootProps.d.ts","sourceRoot":"","sources":["../../../src/api/utils/mapRootProps.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAEhD;;;;;;;GAOG;AACH,eAAO,MAAM,2BAA2B,EAAE,gBAAgB,EAuBzD,CAAA;AAED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,OAAO,GACb,IAAI,CAcN;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,IAAI,EAAE,MAAM,GACX,OAAO,CAeT;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,cAAc,CAAC,EAAE,gBAAgB,EAAE,GAClC,gBAAgB,EAAE,CAmBpB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,2BAA2B,CACzC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClC,cAAc,CAAC,EAAE,gBAAgB,EAAE,GAClC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAoBzB;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CACvB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAyBzB"}
1
+ {"version":3,"file":"mapRootProps.d.ts","sourceRoot":"","sources":["../../../src/api/utils/mapRootProps.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAEhD;;;;;;;GAOG;AACH,eAAO,MAAM,2BAA2B,EAAE,gBAAgB,EAuBzD,CAAA;AAED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,OAAO,GACb,IAAI,CAcN;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,IAAI,EAAE,MAAM,GACX,OAAO,CAeT;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,cAAc,CAAC,EAAE,gBAAgB,EAAE,GAClC,gBAAgB,EAAE,CAmBpB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,2BAA2B,CACzC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClC,cAAc,CAAC,EAAE,gBAAgB,EAAE,GAClC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAoBzB;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CACvB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAyBzB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,2BAA2B,CACzC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,cAAc,CAAC,EAAE,gBAAgB,EAAE,GAClC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAkBzB"}
@@ -166,4 +166,37 @@ export function deepMerge(target, source) {
166
166
  }
167
167
  return target;
168
168
  }
169
+ /**
170
+ * Map Payload document fields to Puck root.props format
171
+ *
172
+ * This is the reverse of mapRootPropsToPayloadFields. It takes a Payload
173
+ * document and extracts the fields that should be synced to root.props
174
+ * when loading the editor.
175
+ *
176
+ * @param doc - The Payload document
177
+ * @param customMappings - Optional custom mappings to merge with defaults
178
+ * @returns Object with root.props field names and values
179
+ *
180
+ * @example
181
+ * ```typescript
182
+ * const page = { title: 'My Page', isHomepage: true, meta: { title: 'SEO Title' } }
183
+ * const rootProps = mapPayloadFieldsToRootProps(page)
184
+ * // Result: { title: 'My Page', isHomepage: true, metaTitle: 'SEO Title' }
185
+ * ```
186
+ */
187
+ export function mapPayloadFieldsToRootProps(doc, customMappings) {
188
+ const mappings = mergeMappings(customMappings);
189
+ const result = {};
190
+ for (const mapping of mappings) {
191
+ // Get value from Payload field (supports dot notation for nested fields)
192
+ const value = getNestedValue(doc, mapping.to);
193
+ // Skip undefined values
194
+ if (value === undefined) {
195
+ continue;
196
+ }
197
+ // Set the value using the root.props field name
198
+ result[mapping.from] = value;
199
+ }
200
+ return result;
201
+ }
169
202
  //# sourceMappingURL=mapRootProps.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mapRootProps.js","sourceRoot":"","sources":["../../../src/api/utils/mapRootProps.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mapRootProps.js","sourceRoot":"","sources":["../../../src/api/utils/mapRootProps.ts"],"names":[],"mappings":"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"}
@@ -51,4 +51,5 @@ export { ButtonConfig as ButtonServerConfig } from './interactive/Button.server.
51
51
  export { CardConfig as CardServerConfig } from './interactive/Card.server.js';
52
52
  export { DividerConfig as DividerServerConfig } from './interactive/Divider.server.js';
53
53
  export { AccordionConfig as AccordionServerConfig } from './interactive/Accordion.server.js';
54
+ export { AnimatedWrapper, type AnimatedWrapperProps } from './AnimatedWrapper.js';
54
55
  //# sourceMappingURL=exports.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"exports.d.ts","sourceRoot":"","sources":["../../src/components/exports.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAOH,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAGrD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAA;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAA;AAGhE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAG9C,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAS5D,OAAO,EAAE,eAAe,IAAI,qBAAqB,EAAE,MAAM,8BAA8B,CAAA;AACvF,OAAO,EAAE,UAAU,IAAI,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AACxE,OAAO,EAAE,UAAU,IAAI,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AACxE,OAAO,EAAE,aAAa,IAAI,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AACjF,OAAO,EAAE,YAAY,IAAI,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAC9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;AAGlE,OAAO,EAAE,aAAa,IAAI,mBAAmB,EAAE,MAAM,gCAAgC,CAAA;AACrF,OAAO,EAAE,UAAU,IAAI,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAC5E,OAAO,EAAE,cAAc,IAAI,oBAAoB,EAAE,MAAM,iCAAiC,CAAA;AAGxF,OAAO,EAAE,WAAW,IAAI,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAG1E,OAAO,EAAE,YAAY,IAAI,kBAAkB,EAAE,MAAM,gCAAgC,CAAA;AACnF,OAAO,EAAE,UAAU,IAAI,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;AAC7E,OAAO,EAAE,aAAa,IAAI,mBAAmB,EAAE,MAAM,iCAAiC,CAAA;AACtF,OAAO,EAAE,eAAe,IAAI,qBAAqB,EAAE,MAAM,mCAAmC,CAAA"}
1
+ {"version":3,"file":"exports.d.ts","sourceRoot":"","sources":["../../src/components/exports.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAOH,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAGrD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAA;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAA;AAGhE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAG9C,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAS5D,OAAO,EAAE,eAAe,IAAI,qBAAqB,EAAE,MAAM,8BAA8B,CAAA;AACvF,OAAO,EAAE,UAAU,IAAI,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AACxE,OAAO,EAAE,UAAU,IAAI,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AACxE,OAAO,EAAE,aAAa,IAAI,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AACjF,OAAO,EAAE,YAAY,IAAI,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAC9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;AAGlE,OAAO,EAAE,aAAa,IAAI,mBAAmB,EAAE,MAAM,gCAAgC,CAAA;AACrF,OAAO,EAAE,UAAU,IAAI,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAC5E,OAAO,EAAE,cAAc,IAAI,oBAAoB,EAAE,MAAM,iCAAiC,CAAA;AAGxF,OAAO,EAAE,WAAW,IAAI,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAG1E,OAAO,EAAE,YAAY,IAAI,kBAAkB,EAAE,MAAM,gCAAgC,CAAA;AACnF,OAAO,EAAE,UAAU,IAAI,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;AAC7E,OAAO,EAAE,aAAa,IAAI,mBAAmB,EAAE,MAAM,iCAAiC,CAAA;AACtF,OAAO,EAAE,eAAe,IAAI,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;AAM5F,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,sBAAsB,CAAA"}
@@ -68,4 +68,8 @@ export { ButtonConfig as ButtonServerConfig } from './interactive/Button.server.
68
68
  export { CardConfig as CardServerConfig } from './interactive/Card.server.js';
69
69
  export { DividerConfig as DividerServerConfig } from './interactive/Divider.server.js';
70
70
  export { AccordionConfig as AccordionServerConfig } from './interactive/Accordion.server.js';
71
+ // =============================================================================
72
+ // Animation Components
73
+ // =============================================================================
74
+ export { AnimatedWrapper } from './AnimatedWrapper.js';
71
75
  //# sourceMappingURL=exports.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"exports.js","sourceRoot":"","sources":["../../src/components/exports.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,gFAAgF;AAChF,6CAA6C;AAC7C,gFAAgF;AAEhF,oBAAoB;AACpB,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAErD,wBAAwB;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAA;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAA;AAEhE,mBAAmB;AACnB,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAE9C,yBAAyB;AACzB,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAE5D,gFAAgF;AAChF,8CAA8C;AAC9C,gFAAgF;AAChF,iEAAiE;AACjE,gEAAgE;AAEhE,6BAA6B;AAC7B,OAAO,EAAE,eAAe,IAAI,qBAAqB,EAAE,MAAM,8BAA8B,CAAA;AACvF,OAAO,EAAE,UAAU,IAAI,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AACxE,OAAO,EAAE,UAAU,IAAI,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AACxE,OAAO,EAAE,aAAa,IAAI,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AACjF,OAAO,EAAE,YAAY,IAAI,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAC9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;AAElE,iCAAiC;AACjC,OAAO,EAAE,aAAa,IAAI,mBAAmB,EAAE,MAAM,gCAAgC,CAAA;AACrF,OAAO,EAAE,UAAU,IAAI,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAC5E,OAAO,EAAE,cAAc,IAAI,oBAAoB,EAAE,MAAM,iCAAiC,CAAA;AAExF,4BAA4B;AAC5B,OAAO,EAAE,WAAW,IAAI,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAE1E,kCAAkC;AAClC,OAAO,EAAE,YAAY,IAAI,kBAAkB,EAAE,MAAM,gCAAgC,CAAA;AACnF,OAAO,EAAE,UAAU,IAAI,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;AAC7E,OAAO,EAAE,aAAa,IAAI,mBAAmB,EAAE,MAAM,iCAAiC,CAAA;AACtF,OAAO,EAAE,eAAe,IAAI,qBAAqB,EAAE,MAAM,mCAAmC,CAAA"}
1
+ {"version":3,"file":"exports.js","sourceRoot":"","sources":["../../src/components/exports.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,gFAAgF;AAChF,6CAA6C;AAC7C,gFAAgF;AAEhF,oBAAoB;AACpB,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAErD,wBAAwB;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAA;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAA;AAEhE,mBAAmB;AACnB,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAE9C,yBAAyB;AACzB,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAE5D,gFAAgF;AAChF,8CAA8C;AAC9C,gFAAgF;AAChF,iEAAiE;AACjE,gEAAgE;AAEhE,6BAA6B;AAC7B,OAAO,EAAE,eAAe,IAAI,qBAAqB,EAAE,MAAM,8BAA8B,CAAA;AACvF,OAAO,EAAE,UAAU,IAAI,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AACxE,OAAO,EAAE,UAAU,IAAI,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AACxE,OAAO,EAAE,aAAa,IAAI,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AACjF,OAAO,EAAE,YAAY,IAAI,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAC9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;AAElE,iCAAiC;AACjC,OAAO,EAAE,aAAa,IAAI,mBAAmB,EAAE,MAAM,gCAAgC,CAAA;AACrF,OAAO,EAAE,UAAU,IAAI,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAC5E,OAAO,EAAE,cAAc,IAAI,oBAAoB,EAAE,MAAM,iCAAiC,CAAA;AAExF,4BAA4B;AAC5B,OAAO,EAAE,WAAW,IAAI,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAE1E,kCAAkC;AAClC,OAAO,EAAE,YAAY,IAAI,kBAAkB,EAAE,MAAM,gCAAgC,CAAA;AACnF,OAAO,EAAE,UAAU,IAAI,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;AAC7E,OAAO,EAAE,aAAa,IAAI,mBAAmB,EAAE,MAAM,iCAAiC,CAAA;AACtF,OAAO,EAAE,eAAe,IAAI,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;AAE5F,gFAAgF;AAChF,uBAAuB;AACvB,gFAAgF;AAEhF,OAAO,EAAE,eAAe,EAA6B,MAAM,sBAAsB,CAAA"}
@@ -39,4 +39,5 @@ export declare function createConfig(layouts?: LayoutDefinition[]): PuckConfig;
39
39
  export declare const baseConfig: PuckConfig;
40
40
  export { mergeConfigs, mergeConfigs as extendConfig } from './merge';
41
41
  export { DEFAULT_LAYOUTS, createLayout, type LayoutDefinition } from '../layouts';
42
+ export type { ServerComponentConfig, ServerRootConfig, SlotField } from './types';
42
43
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAmB,MAAM,kBAAkB,CAAA;AAE7E,OAAO,EAAqC,KAAK,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAwBrF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,YAAY,CAAC,OAAO,GAAE,gBAAgB,EAAoB,GAAG,UAAU,CA8DtF;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,UAAU,YAAgC,CAAA;AAGvD,OAAO,EAAE,YAAY,EAAE,YAAY,IAAI,YAAY,EAAE,MAAM,SAAS,CAAA;AACpE,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,KAAK,gBAAgB,EAAE,MAAM,YAAY,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAmB,MAAM,kBAAkB,CAAA;AAE7E,OAAO,EAAqC,KAAK,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAwBrF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,YAAY,CAAC,OAAO,GAAE,gBAAgB,EAAoB,GAAG,UAAU,CA8DtF;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,UAAU,YAAgC,CAAA;AAGvD,OAAO,EAAE,YAAY,EAAE,YAAY,IAAI,YAAY,EAAE,MAAM,SAAS,CAAA;AACpE,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,KAAK,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAGjF,YAAY,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA"}
@@ -6,7 +6,7 @@ import { ContainerConfig, FlexConfig, GridConfig, SectionConfig, SpacerConfig, T
6
6
  import { createBackgroundField } from '../fields/BackgroundField.js';
7
7
  import { lockedSlugField, lockedHomepageField } from '../fields/LockedField.js';
8
8
  import { createFolderPickerField } from '../fields/FolderPickerField.js';
9
- import { createPageSegmentField } from '../fields/PageSegmentField.js';
9
+ import { createLockedPageSegmentField } from '../fields/PageSegmentField.js';
10
10
  import { createSlugPreviewField } from '../fields/SlugPreviewField.js';
11
11
  /**
12
12
  * Default root configuration used by presets
@@ -104,7 +104,7 @@ export const pageTreeRoot = {
104
104
  },
105
105
  // Page-tree specific fields
106
106
  folder: createFolderPickerField({ label: 'Folder' }),
107
- pageSegment: createPageSegmentField({ label: 'Page Segment' }),
107
+ pageSegment: createLockedPageSegmentField({ label: 'Page Segment' }),
108
108
  slug: createSlugPreviewField({
109
109
  label: 'URL Slug',
110
110
  hint: 'Auto-generated from folder + page segment',
@@ -1 +1 @@
1
- {"version":3,"file":"presets.js","sourceRoot":"","sources":["../../src/config/presets.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AA4BZ,2BAA2B;AAC3B,OAAO,EACL,eAAe,EACf,UAAU,EACV,UAAU,EACV,aAAa,EACb,YAAY,EACZ,cAAc,EACd,aAAa,EACb,UAAU,EACV,oBAAoB,EACpB,WAAW,EACX,YAAY,EACZ,UAAU,EACV,aAAa,EACb,eAAe,GAChB,MAAM,0BAA0B,CAAA;AAEjC,yCAAyC;AACzC,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAA;AACpE,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC/E,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAA;AACxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAA;AACtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAA;AAEtE;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,MAAM,EAAE;QACN,gCAAgC;QAChC,IAAI,EAAE,eAAe;QACrB,UAAU,EAAE,mBAAmB;QAC/B,gBAAgB;QAChB,KAAK,EAAE;YACL,IAAI,EAAE,MAAe;YACrB,KAAK,EAAE,YAAY;SACpB;QACD,UAAU,EAAE;YACV,IAAI,EAAE,QAAiB;YACvB,KAAK,EAAE,aAAa;YACpB,OAAO,EAAE;gBACP,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;gBACtC,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;gBACtC,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE;aAC7C;SACF;QACD,uBAAuB;QACvB,UAAU,EAAE;YACV,IAAI,EAAE,OAAgB;YACtB,KAAK,EAAE,aAAa;YACpB,OAAO,EAAE;gBACP,EAAE,KAAK,EAAE,oBAAoB,EAAE,KAAK,EAAE,SAAS,EAAE;gBACjD,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;gBAChC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;aACjC;SACF;QACD,UAAU,EAAE;YACV,IAAI,EAAE,OAAgB;YACtB,KAAK,EAAE,aAAa;YACpB,OAAO,EAAE;gBACP,EAAE,KAAK,EAAE,oBAAoB,EAAE,KAAK,EAAE,SAAS,EAAE;gBACjD,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;gBAChC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;aACjC;SACF;QACD,cAAc,EAAE,qBAAqB,CAAC;YACpC,KAAK,EAAE,iBAAiB;SACzB,CAAC;QACF,YAAY,EAAE;YACZ,IAAI,EAAE,QAAiB;YACvB,KAAK,EAAE,YAAY;YACnB,OAAO,EAAE;gBACP,EAAE,KAAK,EAAE,oBAAoB,EAAE,KAAK,EAAE,SAAS,EAAE;gBACjD,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,OAAO,EAAE;gBAC3C,EAAE,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,QAAQ,EAAE;gBAC/C,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,QAAQ,EAAE;gBAC3C,EAAE,KAAK,EAAE,qBAAqB,EAAE,KAAK,EAAE,QAAQ,EAAE;gBACjD,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE;aACvC;SACF;KACF;IACD,YAAY,EAAE;QACZ,IAAI,EAAE,EAAE;QACR,UAAU,EAAE,KAAK;QACjB,KAAK,EAAE,UAAU;QACjB,UAAU,EAAE,SAAS;QACrB,UAAU,EAAE,SAAS;QACrB,UAAU,EAAE,SAAS;QACrB,cAAc,EAAE,IAAI;QACpB,YAAY,EAAE,SAAS;KACxB;IACD,MAAM,EAAE,CAAC,EAAE,QAAQ,EAA2B,EAAE,EAAE,CAAC,4BAAG,QAAQ,GAAI;CACnE,CAAA;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,MAAM,EAAE;QACN,gBAAgB;QAChB,KAAK,EAAE;YACL,IAAI,EAAE,MAAe;YACrB,KAAK,EAAE,YAAY;SACpB;QACD,4BAA4B;QAC5B,MAAM,EAAE,uBAAuB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;QACpD,WAAW,EAAE,sBAAsB,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC;QAC9D,IAAI,EAAE,sBAAsB,CAAC;YAC3B,KAAK,EAAE,UAAU;YACjB,IAAI,EAAE,2CAA2C;SAClD,CAAC;QACF,UAAU,EAAE,mBAAmB;QAC/B,gBAAgB;QAChB,UAAU,EAAE;YACV,IAAI,EAAE,QAAiB;YACvB,KAAK,EAAE,aAAa;YACpB,OAAO,EAAE;gBACP,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;gBACtC,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;gBACtC,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE;aAC7C;SACF;QACD,uBAAuB;QACvB,UAAU,EAAE;YACV,IAAI,EAAE,OAAgB;YACtB,KAAK,EAAE,aAAa;YACpB,OAAO,EAAE;gBACP,EAAE,KAAK,EAAE,oBAAoB,EAAE,KAAK,EAAE,SAAS,EAAE;gBACjD,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;gBAChC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;aACjC;SACF;QACD,UAAU,EAAE;YACV,IAAI,EAAE,OAAgB;YACtB,KAAK,EAAE,aAAa;YACpB,OAAO,EAAE;gBACP,EAAE,KAAK,EAAE,oBAAoB,EAAE,KAAK,EAAE,SAAS,EAAE;gBACjD,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;gBAChC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;aACjC;SACF;QACD,cAAc,EAAE,qBAAqB,CAAC;YACpC,KAAK,EAAE,iBAAiB;SACzB,CAAC;QACF,YAAY,EAAE;YACZ,IAAI,EAAE,QAAiB;YACvB,KAAK,EAAE,YAAY;YACnB,OAAO,EAAE;gBACP,EAAE,KAAK,EAAE,oBAAoB,EAAE,KAAK,EAAE,SAAS,EAAE;gBACjD,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,OAAO,EAAE;gBAC3C,EAAE,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,QAAQ,EAAE;gBAC/C,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,QAAQ,EAAE;gBAC3C,EAAE,KAAK,EAAE,qBAAqB,EAAE,KAAK,EAAE,QAAQ,EAAE;gBACjD,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE;aACvC;SACF;KACF;IACD,YAAY,EAAE;QACZ,KAAK,EAAE,UAAU;QACjB,MAAM,EAAE,IAAI;QACZ,WAAW,EAAE,EAAE;QACf,IAAI,EAAE,EAAE;QACR,UAAU,EAAE,KAAK;QACjB,UAAU,EAAE,SAAS;QACrB,UAAU,EAAE,SAAS;QACrB,UAAU,EAAE,SAAS;QACrB,cAAc,EAAE,IAAI;QACpB,YAAY,EAAE,SAAS;KACxB;IACD,MAAM,EAAE,CAAC,EAAE,QAAQ,EAA2B,EAAE,EAAE,CAAC,4BAAG,QAAQ,GAAI;CACnE,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,IAAI,EAAE,WAAW;IACjB,UAAU,EAAE;QACV,MAAM,EAAE;YACN,KAAK,EAAE,QAAQ;YACf,UAAU,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,CAAC;YAC1E,eAAe,EAAE,IAAI;SACtB;QACD,UAAU,EAAE;YACV,KAAK,EAAE,YAAY;YACnB,UAAU,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC;SAC5C;QACD,KAAK,EAAE;YACL,KAAK,EAAE,OAAO;YACd,UAAU,EAAE,CAAC,OAAO,CAAC;SACtB;QACD,WAAW,EAAE;YACX,KAAK,EAAE,aAAa;YACpB,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,CAAC;SACvD;KACF;IACD,UAAU,EAAE;QACV,SAAS;QACT,SAAS,EAAE,eAAuC;QAClD,IAAI,EAAE,UAAkC;QACxC,IAAI,EAAE,UAAkC;QACxC,OAAO,EAAE,aAAqC;QAC9C,MAAM,EAAE,YAAoC;QAC5C,QAAQ,EAAE,cAAsC;QAChD,aAAa;QACb,OAAO,EAAE,aAAqC;QAC9C,IAAI,EAAE,UAAkC;QACxC,QAAQ,EAAE,oBAA4C;QACtD,QAAQ;QACR,KAAK,EAAE,WAAmC;QAC1C,cAAc;QACd,MAAM,EAAE,YAAoC;QAC5C,IAAI,EAAE,UAAkC;QACxC,OAAO,EAAE,aAAqC;QAC9C,SAAS,EAAE,eAAuC;KACnD;CACmB,CAAA;AAEtB;;;;GAIG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,IAAI,EAAE,WAAW;IACjB,UAAU,EAAE;QACV,MAAM,EAAE;YACN,KAAK,EAAE,QAAQ;YACf,UAAU,EAAE,CAAC,SAAS,CAAC;YACvB,eAAe,EAAE,IAAI;SACtB;QACD,OAAO,EAAE;YACP,KAAK,EAAE,SAAS;YAChB,UAAU,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC;SACnD;KACF;IACD,UAAU,EAAE;QACV,OAAO,EAAE,aAAqC;QAC9C,OAAO,EAAE,aAAqC;QAC9C,IAAI,EAAE,UAAkC;QACxC,KAAK,EAAE,WAAmC;QAC1C,MAAM,EAAE,YAAoC;KAC7C;CACmB,CAAA;AAEtB,yDAAyD;AACzD,OAAO,EAAE,YAAY,EAAE,YAAY,IAAI,YAAY,EAAE,MAAM,YAAY,CAAA"}
1
+ {"version":3,"file":"presets.js","sourceRoot":"","sources":["../../src/config/presets.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,111 @@
1
+ /**
2
+ * Server-specific Puck configuration types
3
+ *
4
+ * These types are designed for server-side rendering where field definitions
5
+ * are not needed (only the render function matters).
6
+ */
7
+ import type { ReactNode } from 'react';
8
+ /**
9
+ * Slot field definition - the only field type needed in server configs
10
+ *
11
+ * When a component has child content (slots), Puck needs the slot field
12
+ * defined so it can transform the slot data into a renderable component.
13
+ */
14
+ export interface SlotField {
15
+ type: 'slot';
16
+ }
17
+ /**
18
+ * Server-safe component configuration
19
+ *
20
+ * Use this type for component configs in `.server.tsx` files.
21
+ * Unlike Puck's full `ComponentConfig`, this type:
22
+ * - Makes `fields` truly optional (no TypeScript pressure to define them)
23
+ * - Only expects slot fields when components have child content
24
+ * - Focuses on what servers actually need: `render` and `defaultProps`
25
+ *
26
+ * @example
27
+ * ```tsx
28
+ * // Component WITHOUT slots - no fields needed
29
+ * import type { ServerComponentConfig } from '@delmaredigital/payload-puck/config'
30
+ *
31
+ * export const ButtonConfig: ServerComponentConfig<ButtonProps> = {
32
+ * label: 'Button',
33
+ * defaultProps,
34
+ * render: ({ text, link }) => <a href={link}>{text}</a>
35
+ * }
36
+ * ```
37
+ *
38
+ * @example
39
+ * ```tsx
40
+ * // Component WITH slots - only slot field needed
41
+ * import type { ServerComponentConfig } from '@delmaredigital/payload-puck/config'
42
+ *
43
+ * export const SectionConfig: ServerComponentConfig<SectionProps> = {
44
+ * label: 'Section',
45
+ * fields: { content: { type: 'slot' } },
46
+ * defaultProps,
47
+ * render: ({ content: Content }) => <section><Content /></section>
48
+ * }
49
+ * ```
50
+ */
51
+ export interface ServerComponentConfig<Props = Record<string, unknown>> {
52
+ /**
53
+ * Display label for the component in the editor sidebar
54
+ */
55
+ label?: string;
56
+ /**
57
+ * Default prop values for new instances of this component
58
+ */
59
+ defaultProps?: Props;
60
+ /**
61
+ * Slot fields only - define these when your component has child content areas
62
+ *
63
+ * For server configs, you only need to define slot fields. Other field types
64
+ * (text, number, select, etc.) are only used by the editor and can be omitted.
65
+ *
66
+ * @example
67
+ * ```tsx
68
+ * fields: {
69
+ * content: { type: 'slot' }, // Main content area
70
+ * sidebar: { type: 'slot' }, // Optional sidebar slot
71
+ * }
72
+ * ```
73
+ */
74
+ fields?: Record<string, SlotField>;
75
+ /**
76
+ * Render function for the component
77
+ *
78
+ * This is called during server-side rendering. Must be a pure function
79
+ * without React hooks or client-side interactivity.
80
+ *
81
+ * Slot props are transformed by Puck into renderable components.
82
+ */
83
+ render: (props: Props & {
84
+ puck?: {
85
+ isEditing?: boolean;
86
+ };
87
+ id?: string;
88
+ }) => ReactNode;
89
+ }
90
+ /**
91
+ * Server-safe root configuration
92
+ *
93
+ * Use this for the root config in server-side Puck configurations.
94
+ */
95
+ export interface ServerRootConfig<Props extends Record<string, unknown> = Record<string, unknown>> {
96
+ /**
97
+ * Default prop values for the root
98
+ */
99
+ defaultProps?: Partial<Props>;
100
+ /**
101
+ * Root fields are not needed for server rendering
102
+ */
103
+ fields?: never;
104
+ /**
105
+ * Render function for the root wrapper
106
+ */
107
+ render: (props: Props & {
108
+ children: ReactNode;
109
+ }) => ReactNode;
110
+ }
111
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEtC;;;;;GAKG;AACH,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAA;CACb;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,WAAW,qBAAqB,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACpE;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IAEd;;OAEG;IACH,YAAY,CAAC,EAAE,KAAK,CAAA;IAEpB;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IAElC;;;;;;;OAOG;IACH,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,GAAG;QAAE,IAAI,CAAC,EAAE;YAAE,SAAS,CAAC,EAAE,OAAO,CAAA;SAAE,CAAC;QAAC,EAAE,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,SAAS,CAAA;CACtF;AAED;;;;GAIG;AACH,MAAM,WAAW,gBAAgB,CAC/B,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAE/D;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAA;IAE7B;;OAEG;IACH,MAAM,CAAC,EAAE,KAAK,CAAA;IAEd;;OAEG;IACH,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,GAAG;QAAE,QAAQ,EAAE,SAAS,CAAA;KAAE,KAAK,SAAS,CAAA;CAC9D"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Server-specific Puck configuration types
3
+ *
4
+ * These types are designed for server-side rendering where field definitions
5
+ * are not needed (only the render function matters).
6
+ */
7
+ export {};
8
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
@@ -202,6 +202,25 @@ export interface PuckEditorProps {
202
202
  * @default false
203
203
  */
204
204
  experimentalFullScreenCanvas?: boolean;
205
+ /**
206
+ * Auto-detect dark mode from PayloadCMS admin.
207
+ * When true (default), dark mode CSS is automatically injected when Payload is in dark mode.
208
+ * Set to false to disable automatic dark mode detection.
209
+ * @default true
210
+ */
211
+ autoDetectDarkMode?: boolean;
212
+ /**
213
+ * Show the preview dark mode toggle near the viewport switcher.
214
+ * Allows toggling the preview iframe between light/dark modes independently.
215
+ * @default true
216
+ */
217
+ showPreviewDarkModeToggle?: boolean;
218
+ /**
219
+ * Initial state for the preview dark mode toggle.
220
+ * Only used when showPreviewDarkModeToggle is true.
221
+ * @default false (light mode)
222
+ */
223
+ initialPreviewDarkMode?: boolean;
205
224
  }
206
225
  /**
207
226
  * Puck Editor - The primary editor component
@@ -251,5 +270,5 @@ export interface PuckEditorProps {
251
270
  * />
252
271
  * ```
253
272
  */
254
- export declare function PuckEditor({ pageId, initialData, config: configProp, pageTitle, pageSlug, apiEndpoint, backUrl, previewUrl, enableViewports, plugins, layouts: layoutsProp, layoutStyles, layoutKey, headerActionsStart, headerActionsEnd, overrides, onSaveSuccess, onSaveError, onChange, initialStatus, theme: themeProp, hasPageTree, folder, pageSegment, editorStylesheets: editorStylesheetsProp, editorCss: editorCssProp, enableAi, aiOptions, aiExamplePrompts, hasPromptsCollection, hasContextCollection, aiComponentInstructions, experimentalFullScreenCanvas, }: PuckEditorProps): import("react/jsx-runtime").JSX.Element;
273
+ export declare function PuckEditor({ pageId, initialData, config: configProp, pageTitle, pageSlug, apiEndpoint, backUrl, previewUrl, enableViewports, plugins, layouts: layoutsProp, layoutStyles, layoutKey, headerActionsStart, headerActionsEnd, overrides, onSaveSuccess, onSaveError, onChange, initialStatus, theme: themeProp, hasPageTree, folder, pageSegment, editorStylesheets: editorStylesheetsProp, editorCss: editorCssProp, enableAi, aiOptions, aiExamplePrompts, hasPromptsCollection, hasContextCollection, aiComponentInstructions, experimentalFullScreenCanvas, autoDetectDarkMode, showPreviewDarkModeToggle, initialPreviewDarkMode, }: PuckEditorProps): import("react/jsx-runtime").JSX.Element;
255
274
  //# sourceMappingURL=PuckEditor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PuckEditor.d.ts","sourceRoot":"","sources":["../../src/editor/PuckEditor.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PuckEditor.d.ts","sourceRoot":"","sources":["../../src/editor/PuckEditor.tsx"],"names":[],"mappings":"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"}