@delmaredigital/payload-puck 0.3.1 → 0.4.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.
- package/README.md +65 -3
- package/dist/admin/EditWithPuckButton.d.ts +1 -1
- package/dist/admin/EditWithPuckButton.d.ts.map +1 -1
- package/dist/admin/EditWithPuckButton.js +2 -2
- package/dist/admin/EditWithPuckButton.js.map +1 -1
- package/dist/admin/EditWithPuckCell.js +1 -1
- package/dist/admin/EditWithPuckCell.js.map +1 -1
- package/dist/admin/PuckEditorView.js +1 -1
- package/dist/admin/PuckEditorView.js.map +1 -1
- package/dist/admin/generateAdminComponents.d.ts +1 -1
- package/dist/admin/generateAdminComponents.js +1 -1
- package/dist/admin/generateAdminComponents.js.map +1 -1
- package/dist/config/merge.d.ts +3 -3
- package/dist/config/merge.js +3 -3
- package/dist/editor/{PuckEditor.client.d.ts → PuckEditor.d.ts} +47 -9
- package/dist/editor/PuckEditor.d.ts.map +1 -0
- package/dist/editor/PuckEditor.js +177 -0
- package/dist/editor/PuckEditor.js.map +1 -0
- package/dist/editor/{PuckEditorCore.client.d.ts → PuckEditorImpl.client.d.ts} +5 -27
- package/dist/editor/{PuckEditorCore.client.d.ts.map → PuckEditorImpl.client.d.ts.map} +1 -1
- package/dist/editor/{PuckEditorCore.client.js → PuckEditorImpl.client.js} +4 -26
- package/dist/editor/PuckEditorImpl.client.js.map +1 -0
- package/dist/editor/components/HeaderActions.d.ts.map +1 -1
- package/dist/editor/components/HeaderActions.js +2 -1
- package/dist/editor/components/HeaderActions.js.map +1 -1
- package/dist/editor/index.d.ts +30 -19
- package/dist/editor/index.d.ts.map +1 -1
- package/dist/editor/index.js +33 -21
- package/dist/editor/index.js.map +1 -1
- package/dist/editor/plugins/index.d.ts +2 -2
- package/dist/editor/plugins/index.js +2 -2
- package/dist/editor/utils/detectPageTree.d.ts +22 -0
- package/dist/editor/utils/detectPageTree.d.ts.map +1 -0
- package/dist/editor/utils/detectPageTree.js +36 -0
- package/dist/editor/utils/detectPageTree.js.map +1 -0
- package/dist/editor/utils/index.d.ts +3 -0
- package/dist/editor/utils/index.d.ts.map +1 -0
- package/dist/editor/utils/index.js +3 -0
- package/dist/editor/utils/index.js.map +1 -0
- package/dist/editor/utils/injectPageTreeFields.d.ts +10 -0
- package/dist/editor/utils/injectPageTreeFields.d.ts.map +1 -0
- package/dist/editor/utils/injectPageTreeFields.js +35 -0
- package/dist/editor/utils/injectPageTreeFields.js.map +1 -0
- package/dist/exports/client.d.ts +7 -6
- package/dist/exports/client.d.ts.map +1 -1
- package/dist/exports/client.js +9 -8
- package/dist/exports/client.js.map +1 -1
- package/dist/plugin/index.js +1 -1
- package/dist/plugin/index.js.map +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/version.d.ts +2 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +3 -0
- package/dist/version.js.map +1 -0
- package/dist/views/PuckEditorView.d.ts.map +1 -1
- package/dist/views/PuckEditorView.js +7 -2
- package/dist/views/PuckEditorView.js.map +1 -1
- package/dist/views/index.d.ts +0 -2
- package/dist/views/index.d.ts.map +1 -1
- package/dist/views/index.js +0 -2
- package/dist/views/index.js.map +1 -1
- package/package.json +9 -3
- package/dist/editor/PuckEditor.client.d.ts.map +0 -1
- package/dist/editor/PuckEditor.client.js +0 -42
- package/dist/editor/PuckEditor.client.js.map +0 -1
- package/dist/editor/PuckEditorCore.client.js.map +0 -1
- package/dist/views/PuckEditorClient.d.ts +0 -73
- package/dist/views/PuckEditorClient.d.ts.map +0 -1
- package/dist/views/PuckEditorClient.js +0 -130
- package/dist/views/PuckEditorClient.js.map +0 -1
package/README.md
CHANGED
|
@@ -72,7 +72,7 @@ This automatically:
|
|
|
72
72
|
|
|
73
73
|
### Step 2: Provide Puck Configuration
|
|
74
74
|
|
|
75
|
-
Wrap your app with `PuckConfigProvider` to supply the Puck configuration. This
|
|
75
|
+
Wrap your app with `PuckConfigProvider` to supply the Puck configuration. This makes the config available to the editor via React context.
|
|
76
76
|
|
|
77
77
|
```typescript
|
|
78
78
|
// app/(app)/layout.tsx (covers both admin and frontend)
|
|
@@ -92,6 +92,10 @@ export default function RootLayout({ children }: { children: React.ReactNode })
|
|
|
92
92
|
}
|
|
93
93
|
```
|
|
94
94
|
|
|
95
|
+
> **Tip:** `PuckConfigProvider` also accepts `layouts` and `theme` props. See [Layouts](#layouts) and [Theming](#theming) sections.
|
|
96
|
+
|
|
97
|
+
> **Note:** For custom editor UIs (outside Payload admin), you can also pass the config directly to `PuckEditor` instead of using the context provider.
|
|
98
|
+
|
|
95
99
|
### Step 3: Create a Frontend Route
|
|
96
100
|
|
|
97
101
|
The plugin can't auto-create frontend routes (Next.js App Router is file-based), but here's copy-paste ready code:
|
|
@@ -487,6 +491,42 @@ export const puckConfig = extendConfig({
|
|
|
487
491
|
|
|
488
492
|
> **Note:** Use `fullConfig` from `/config/editor` for extending the editor. For server-side rendering, use `baseConfig` from `/config`.
|
|
489
493
|
|
|
494
|
+
### Using Custom Config with Provider
|
|
495
|
+
|
|
496
|
+
After creating your custom config, pass it to `PuckConfigProvider`:
|
|
497
|
+
|
|
498
|
+
```typescript
|
|
499
|
+
// components/admin/PuckProvider.tsx
|
|
500
|
+
'use client'
|
|
501
|
+
import { PuckConfigProvider } from '@delmaredigital/payload-puck/client'
|
|
502
|
+
import { puckConfig } from '@/puck/config.editor'
|
|
503
|
+
import { siteLayouts } from '@/lib/puck-layouts'
|
|
504
|
+
|
|
505
|
+
export default function PuckProvider({ children }: { children: React.ReactNode }) {
|
|
506
|
+
return (
|
|
507
|
+
<PuckConfigProvider config={puckConfig} layouts={siteLayouts}>
|
|
508
|
+
{children}
|
|
509
|
+
</PuckConfigProvider>
|
|
510
|
+
)
|
|
511
|
+
}
|
|
512
|
+
```
|
|
513
|
+
|
|
514
|
+
**For Payload admin**, register the provider in your Payload config:
|
|
515
|
+
|
|
516
|
+
```typescript
|
|
517
|
+
// payload.config.ts
|
|
518
|
+
export default buildConfig({
|
|
519
|
+
admin: {
|
|
520
|
+
components: {
|
|
521
|
+
providers: ['@/components/admin/PuckProvider'],
|
|
522
|
+
},
|
|
523
|
+
},
|
|
524
|
+
// ...
|
|
525
|
+
})
|
|
526
|
+
```
|
|
527
|
+
|
|
528
|
+
This is the recommended pattern for Payload apps. The provider wraps only the admin UI, keeping your frontend layout separate.
|
|
529
|
+
|
|
490
530
|
### Available Field Factories
|
|
491
531
|
|
|
492
532
|
| Factory | Description |
|
|
@@ -625,7 +665,7 @@ The plugin checks if your collection has a `pageSegment` field (page-tree's sign
|
|
|
625
665
|
2. **Page Segment** - Edit the page's URL segment
|
|
626
666
|
3. **Slug Preview** - See the computed slug (folder path + segment)
|
|
627
667
|
|
|
628
|
-
### Configuration
|
|
668
|
+
### Plugin Configuration
|
|
629
669
|
|
|
630
670
|
```typescript
|
|
631
671
|
createPuckPlugin({
|
|
@@ -643,6 +683,27 @@ createPuckPlugin({
|
|
|
643
683
|
})
|
|
644
684
|
```
|
|
645
685
|
|
|
686
|
+
### Custom Editor UI
|
|
687
|
+
|
|
688
|
+
For custom editor implementations outside Payload admin, use the `hasPageTree` prop:
|
|
689
|
+
|
|
690
|
+
```typescript
|
|
691
|
+
import { PuckEditor } from '@delmaredigital/payload-puck/client'
|
|
692
|
+
import { editorConfig } from '@delmaredigital/payload-puck/config/editor'
|
|
693
|
+
|
|
694
|
+
<PuckEditor
|
|
695
|
+
config={editorConfig}
|
|
696
|
+
pageId={page.id}
|
|
697
|
+
initialData={page.puckData}
|
|
698
|
+
pageTitle={page.title}
|
|
699
|
+
pageSlug={page.slug}
|
|
700
|
+
apiEndpoint="/api/puck/pages"
|
|
701
|
+
hasPageTree={true}
|
|
702
|
+
folder={page.folder}
|
|
703
|
+
pageSegment={page.pageSegment}
|
|
704
|
+
/>
|
|
705
|
+
```
|
|
706
|
+
|
|
646
707
|
### Performance
|
|
647
708
|
|
|
648
709
|
Detection is instant - it reads the in-memory collection config, no database queries.
|
|
@@ -775,7 +836,8 @@ See the JSDoc in `@delmaredigital/payload-puck/api` for usage examples.
|
|
|
775
836
|
| `@delmaredigital/payload-puck/plugin` | `createPuckPlugin` |
|
|
776
837
|
| `@delmaredigital/payload-puck/config` | `baseConfig`, `createConfig()`, `extendConfig()` |
|
|
777
838
|
| `@delmaredigital/payload-puck/config/editor` | `editorConfig` for editing |
|
|
778
|
-
| `@delmaredigital/payload-puck/client` | `
|
|
839
|
+
| `@delmaredigital/payload-puck/client` | `PuckEditor`, `PuckConfigProvider`, page-tree utilities |
|
|
840
|
+
| `@delmaredigital/payload-puck/editor` | `PuckEditor`, `HeaderActions`, editor hooks |
|
|
779
841
|
| `@delmaredigital/payload-puck/rsc` | `PuckEditorView` for Payload admin views |
|
|
780
842
|
| `@delmaredigital/payload-puck/render` | `PageRenderer`, `HybridPageRenderer` |
|
|
781
843
|
| `@delmaredigital/payload-puck/fields` | Custom Puck fields and CSS helpers |
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EditWithPuckButton.d.ts","sourceRoot":"","sources":["../../src/admin/EditWithPuckButton.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AAGrD;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,EAAE,CAAC,EAAE,MAAM,CAAA;IACX;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAwBD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,kBAAkB,EAAE,sBA4DhC,CAAA;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,EAAE,EACF,cAAwB,EACxB,iBAAiB,EACjB,
|
|
1
|
+
{"version":3,"file":"EditWithPuckButton.d.ts","sourceRoot":"","sources":["../../src/admin/EditWithPuckButton.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AAGrD;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,EAAE,CAAC,EAAE,MAAM,CAAA;IACX;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAwBD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,kBAAkB,EAAE,sBA4DhC,CAAA;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,EAAE,EACF,cAAwB,EACxB,iBAAiB,EACjB,KAAuB,EACvB,QAAgB,GACjB,EAAE,uBAAuB,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,2CAkC/D;AAED,eAAe,kBAAkB,CAAA"}
|
|
@@ -37,7 +37,7 @@ export const EditWithPuckButton = (props) => {
|
|
|
37
37
|
const { config } = useConfig();
|
|
38
38
|
// Extract custom props passed via field config
|
|
39
39
|
const customProps = props?.field?.custom;
|
|
40
|
-
const label = customProps?.label || '
|
|
40
|
+
const label = customProps?.label || 'Visual Editor';
|
|
41
41
|
const iconOnly = customProps?.iconOnly || false;
|
|
42
42
|
const collection = customProps?.collectionSlug || collectionSlug || 'pages';
|
|
43
43
|
// Get admin route from config
|
|
@@ -87,7 +87,7 @@ export const EditWithPuckButton = (props) => {
|
|
|
87
87
|
* />
|
|
88
88
|
* ```
|
|
89
89
|
*/
|
|
90
|
-
export function EditWithPuckLink({ id, collectionSlug = 'pages', editorPathPattern, label = '
|
|
90
|
+
export function EditWithPuckLink({ id, collectionSlug = 'pages', editorPathPattern, label = 'Visual Editor', iconOnly = false, }) {
|
|
91
91
|
// Build path - prefer admin view by default
|
|
92
92
|
const path = editorPathPattern
|
|
93
93
|
? editorPathPattern.replace('{id}', id).replace('{collection}', collectionSlug)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EditWithPuckButton.js","sourceRoot":"","sources":["../../src/admin/EditWithPuckButton.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAGZ,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAiC3D;;GAEG;AACH,SAAS,QAAQ,CAAC,EAAE,IAAI,GAAG,EAAE,EAAqB;IAChD,OAAO,CACL,eACE,KAAK,EAAC,4BAA4B,EAClC,KAAK,EAAE,IAAI,EACX,MAAM,EAAE,IAAI,EACZ,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,MAAM,EAAC,cAAc,EACrB,WAAW,EAAC,GAAG,EACf,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO,aAEtB,eAAM,CAAC,EAAC,4DAA4D,GAAG,EACvE,eAAM,CAAC,EAAC,qDAAqD,GAAG,IAC5D,CACP,CAAA;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAA2B,CAAC,KAAK,EAAE,EAAE;IAClE,+CAA+C;IAC/C,MAAM,EAAE,EAAE,EAAE,cAAc,EAAE,GAAG,eAAe,EAAE,CAAA;IAChD,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,EAAE,CAAA;IAE9B,+CAA+C;IAC/C,MAAM,WAAW,GAAI,KAAa,EAAE,KAAK,EAAE,MAA6C,CAAA;IACxF,MAAM,KAAK,GAAG,WAAW,EAAE,KAAK,IAAI,
|
|
1
|
+
{"version":3,"file":"EditWithPuckButton.js","sourceRoot":"","sources":["../../src/admin/EditWithPuckButton.tsx"],"names":[],"mappings":"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"}
|
|
@@ -60,7 +60,7 @@ export const EditWithPuckCell = ({ rowData, field, collectionSlug: contextCollec
|
|
|
60
60
|
e.currentTarget.style.backgroundColor = '#1d4ed8';
|
|
61
61
|
}, onMouseLeave: (e) => {
|
|
62
62
|
e.currentTarget.style.backgroundColor = '#2563eb';
|
|
63
|
-
}, title: "
|
|
63
|
+
}, title: "Visual Editor", children: [_jsx(PuckIcon, { size: 14 }), _jsx("span", { children: "Visual Editor" })] }));
|
|
64
64
|
};
|
|
65
65
|
export default EditWithPuckCell;
|
|
66
66
|
//# sourceMappingURL=EditWithPuckCell.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EditWithPuckCell.js","sourceRoot":"","sources":["../../src/admin/EditWithPuckCell.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAqBZ;;GAEG;AACH,SAAS,QAAQ,CAAC,EAAE,IAAI,GAAG,EAAE,EAAqB;IAChD,OAAO,CACL,eACE,KAAK,EAAC,4BAA4B,EAClC,KAAK,EAAE,IAAI,EACX,MAAM,EAAE,IAAI,EACZ,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,MAAM,EAAC,cAAc,EACrB,WAAW,EAAC,GAAG,EACf,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO,aAEtB,eAAM,CAAC,EAAC,4DAA4D,GAAG,EACvE,eAAM,CAAC,EAAC,qDAAqD,GAAG,IAC5D,CACP,CAAA;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAwC,CAAC,EACpE,OAAO,EACP,KAAK,EACL,cAAc,EAAE,qBAAqB,GACtC,EAAE,EAAE;IACH,gCAAgC;IAChC,MAAM,EAAE,GAAG,OAAO,EAAE,EAAwB,CAAA;IAE5C,+BAA+B;IAC/B,MAAM,YAAY,GAAI,KAAa,EAAE,MAA4C,CAAA;IACjF,MAAM,cAAc,GAAG,YAAY,EAAE,cAAc,IAAI,qBAAqB,IAAI,OAAO,CAAA;IAEvF,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,OAAO,IAAI,CAAA;IACb,CAAC;IAED,mBAAmB;IACnB,MAAM,UAAU,GAAG,YAAY,EAAE,iBAAiB;QAChD,CAAC,CAAC,YAAY,CAAC,iBAAiB,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,kBAAkB,EAAE,cAAc,CAAC;QAChG,CAAC,CAAC,eAAe,cAAc,IAAI,EAAE,OAAO,CAAA;IAE9C,OAAO,CACL,aACE,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,EACnC,KAAK,EAAE;YACL,OAAO,EAAE,aAAa;YACtB,UAAU,EAAE,QAAQ;YACpB,cAAc,EAAE,QAAQ;YACxB,OAAO,EAAE,UAAU;YACnB,eAAe,EAAE,SAAS;YAC1B,KAAK,EAAE,MAAM;YACb,YAAY,EAAE,KAAK;YACnB,cAAc,EAAE,MAAM;YACtB,QAAQ,EAAE,MAAM;YAChB,UAAU,EAAE,GAAG;YACf,GAAG,EAAE,KAAK;YACV,UAAU,EAAE,uBAAuB;YACnC,UAAU,EAAE,QAAQ;SACrB,EACD,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE;YAClB,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,eAAe,GAAG,SAAS,CAAA;QACnD,CAAC,EACD,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE;YAClB,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,eAAe,GAAG,SAAS,CAAA;QACnD,CAAC,EACD,KAAK,EAAC,
|
|
1
|
+
{"version":3,"file":"EditWithPuckCell.js","sourceRoot":"","sources":["../../src/admin/EditWithPuckCell.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAqBZ;;GAEG;AACH,SAAS,QAAQ,CAAC,EAAE,IAAI,GAAG,EAAE,EAAqB;IAChD,OAAO,CACL,eACE,KAAK,EAAC,4BAA4B,EAClC,KAAK,EAAE,IAAI,EACX,MAAM,EAAE,IAAI,EACZ,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,MAAM,EAAC,cAAc,EACrB,WAAW,EAAC,GAAG,EACf,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO,aAEtB,eAAM,CAAC,EAAC,4DAA4D,GAAG,EACvE,eAAM,CAAC,EAAC,qDAAqD,GAAG,IAC5D,CACP,CAAA;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAwC,CAAC,EACpE,OAAO,EACP,KAAK,EACL,cAAc,EAAE,qBAAqB,GACtC,EAAE,EAAE;IACH,gCAAgC;IAChC,MAAM,EAAE,GAAG,OAAO,EAAE,EAAwB,CAAA;IAE5C,+BAA+B;IAC/B,MAAM,YAAY,GAAI,KAAa,EAAE,MAA4C,CAAA;IACjF,MAAM,cAAc,GAAG,YAAY,EAAE,cAAc,IAAI,qBAAqB,IAAI,OAAO,CAAA;IAEvF,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,OAAO,IAAI,CAAA;IACb,CAAC;IAED,mBAAmB;IACnB,MAAM,UAAU,GAAG,YAAY,EAAE,iBAAiB;QAChD,CAAC,CAAC,YAAY,CAAC,iBAAiB,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,kBAAkB,EAAE,cAAc,CAAC;QAChG,CAAC,CAAC,eAAe,cAAc,IAAI,EAAE,OAAO,CAAA;IAE9C,OAAO,CACL,aACE,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,EACnC,KAAK,EAAE;YACL,OAAO,EAAE,aAAa;YACtB,UAAU,EAAE,QAAQ;YACpB,cAAc,EAAE,QAAQ;YACxB,OAAO,EAAE,UAAU;YACnB,eAAe,EAAE,SAAS;YAC1B,KAAK,EAAE,MAAM;YACb,YAAY,EAAE,KAAK;YACnB,cAAc,EAAE,MAAM;YACtB,QAAQ,EAAE,MAAM;YAChB,UAAU,EAAE,GAAG;YACf,GAAG,EAAE,KAAK;YACV,UAAU,EAAE,uBAAuB;YACnC,UAAU,EAAE,QAAQ;SACrB,EACD,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE;YAClB,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,eAAe,GAAG,SAAS,CAAA;QACnD,CAAC,EACD,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE;YAClB,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,eAAe,GAAG,SAAS,CAAA;QACnD,CAAC,EACD,KAAK,EAAC,eAAe,aAErB,KAAC,QAAQ,IAAC,IAAI,EAAE,EAAE,GAAI,EACtB,2CAA0B,IACxB,CACL,CAAA;AACH,CAAC,CAAA;AAED,eAAe,gBAAgB,CAAA"}
|
|
@@ -40,7 +40,7 @@ export function PuckEditorView({ config, collectionSlug = 'pages', apiBasePath =
|
|
|
40
40
|
const [PuckEditor, setPuckEditor] = useState(null);
|
|
41
41
|
// Dynamically import PuckEditor to avoid SSR issues
|
|
42
42
|
useEffect(() => {
|
|
43
|
-
import('../editor/PuckEditor
|
|
43
|
+
import('../editor/PuckEditor').then((mod) => {
|
|
44
44
|
setPuckEditor(() => mod.PuckEditor);
|
|
45
45
|
});
|
|
46
46
|
}, []);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PuckEditorView.js","sourceRoot":"","sources":["../../src/admin/PuckEditorView.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAC3C,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AA+D5D;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,UAAU,cAAc,CAAC,EAC7B,MAAM,EACN,cAAc,GAAG,OAAO,EACxB,WAAW,GAAG,WAAW,EACzB,OAAO,EACP,UAAU,EACV,YAAY,EACZ,SAAS,GAAG,YAAY,EACxB,OAAO,EACP,aAAa,EACb,WAAW,GACS;IACpB,MAAM,MAAM,GAAG,SAAS,EAAE,CAAA;IAC1B,MAAM,YAAY,GAAG,eAAe,EAAE,CAAA;IAEtC,iDAAiD;IACjD,MAAM,MAAM,GAAI,MAAM,EAAE,EAAa,IAAI,YAAY,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAA;IAEtE,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAkB,IAAI,CAAC,CAAA;IACvD,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAA;IAC5C,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAA;IACvD,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAkC,IAAI,CAAC,CAAA;IAEnF,oDAAoD;IACpD,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"PuckEditorView.js","sourceRoot":"","sources":["../../src/admin/PuckEditorView.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAC3C,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AA+D5D;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,UAAU,cAAc,CAAC,EAC7B,MAAM,EACN,cAAc,GAAG,OAAO,EACxB,WAAW,GAAG,WAAW,EACzB,OAAO,EACP,UAAU,EACV,YAAY,EACZ,SAAS,GAAG,YAAY,EACxB,OAAO,EACP,aAAa,EACb,WAAW,GACS;IACpB,MAAM,MAAM,GAAG,SAAS,EAAE,CAAA;IAC1B,MAAM,YAAY,GAAG,eAAe,EAAE,CAAA;IAEtC,iDAAiD;IACjD,MAAM,MAAM,GAAI,MAAM,EAAE,EAAa,IAAI,YAAY,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAA;IAEtE,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAkB,IAAI,CAAC,CAAA;IACvD,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAA;IAC5C,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAA;IACvD,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAkC,IAAI,CAAC,CAAA;IAEnF,oDAAoD;IACpD,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;YAC1C,aAAa,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;QACrC,CAAC,CAAC,CAAA;IACJ,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,SAAS,CAAC,GAAG,EAAE;QACb,KAAK,UAAU,SAAS;YACtB,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,QAAQ,CAAC,qBAAqB,CAAC,CAAA;gBAC/B,UAAU,CAAC,KAAK,CAAC,CAAA;gBACjB,OAAM;YACR,CAAC;YAED,IAAI,CAAC;gBACH,UAAU,CAAC,IAAI,CAAC,CAAA;gBAChB,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,WAAW,IAAI,cAAc,IAAI,MAAM,EAAE,CAAC,CAAA;gBAE1E,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;oBACjB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;oBACpD,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,yBAAyB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAA;gBAC3E,CAAC;gBAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;gBAClC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YACnB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,QAAQ,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAA;YACpE,CAAC;oBAAS,CAAC;gBACT,UAAU,CAAC,KAAK,CAAC,CAAA;YACnB,CAAC;QACH,CAAC;QAED,SAAS,EAAE,CAAA;IACb,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC,CAAA;IAEzC,MAAM,eAAe,GAAG,OAAO,IAAI,sBAAsB,cAAc,EAAE,CAAA;IAEzE,IAAI,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC;QAC3B,OAAO,CACL,cAAK,KAAK,EAAE;gBACV,OAAO,EAAE,MAAM;gBACf,MAAM,EAAE,OAAO;gBACf,UAAU,EAAE,QAAQ;gBACpB,cAAc,EAAE,QAAQ;gBACxB,eAAe,EAAE,SAAS;gBAC1B,KAAK,EAAE,MAAM;aACd,YACC,eAAK,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,aACjC,cAAK,KAAK,EAAE;4BACV,KAAK,EAAE,MAAM;4BACb,MAAM,EAAE,MAAM;4BACd,MAAM,EAAE,gBAAgB;4BACxB,cAAc,EAAE,MAAM;4BACtB,YAAY,EAAE,KAAK;4BACnB,SAAS,EAAE,yBAAyB;4BACpC,MAAM,EAAE,aAAa;yBACtB,GAAI,EACL,YAAG,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,kCAAuB,EAClD,0BAAQ;;;;WAIP,GAAS,IACN,GACF,CACP,CAAA;IACH,CAAC;IAED,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,CACL,cAAK,KAAK,EAAE;gBACV,OAAO,EAAE,MAAM;gBACf,MAAM,EAAE,OAAO;gBACf,UAAU,EAAE,QAAQ;gBACpB,cAAc,EAAE,QAAQ;gBACxB,eAAe,EAAE,SAAS;gBAC1B,KAAK,EAAE,MAAM;aACd,YACC,eAAK,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,aACjC,YAAG,KAAK,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,YAAG,KAAK,GAAK,EACjE,aACE,IAAI,EAAE,eAAe,EACrB,KAAK,EAAE;4BACL,KAAK,EAAE,SAAS;4BAChB,cAAc,EAAE,WAAW;yBAC5B,yBAEQ,cAAc,IACrB,IACA,GACF,CACP,CAAA;IACH,CAAC;IAED,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,CACL,cAAK,KAAK,EAAE;gBACV,OAAO,EAAE,MAAM;gBACf,MAAM,EAAE,OAAO;gBACf,UAAU,EAAE,QAAQ;gBACpB,cAAc,EAAE,QAAQ;gBACxB,eAAe,EAAE,SAAS;gBAC1B,KAAK,EAAE,MAAM;aACd,YACC,eAAK,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,aACjC,YAAG,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,+BAAoB,EACrE,aACE,IAAI,EAAE,eAAe,EACrB,KAAK,EAAE;4BACL,KAAK,EAAE,SAAS;4BAChB,cAAc,EAAE,WAAW;yBAC5B,yBAEQ,cAAc,IACrB,IACA,GACF,CACP,CAAA;IACH,CAAC;IAED,mCAAmC;IACnC,MAAM,WAAW,GAAS,IAAI,CAAC,QAAQ,IAAI;QACzC,IAAI,EAAE;YACJ,KAAK,EAAE;gBACL,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,UAAU;aAChC;SACF;QACD,OAAO,EAAE,EAAE;QACX,KAAK,EAAE,EAAE;KACV,CAAA;IAED,OAAO,CACL,KAAC,UAAU,IACT,MAAM,EAAE,IAAI,CAAC,EAAE,EACf,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,IAAI,CAAC,KAAK,EACrB,QAAQ,EAAE,IAAI,CAAC,IAAI,EACnB,WAAW,EAAE,GAAG,WAAW,IAAI,cAAc,EAAE,EAC/C,OAAO,EAAE,eAAe,EACxB,UAAU,EAAE,UAAU,EACtB,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,OAAO,EAChB,aAAa,EAAE,aAAa,EAC5B,WAAW,EAAE,WAAW,EACxB,aAAa,EAAE,IAAI,CAAC,OAAO,GAC3B,CACH,CAAA;AACH,CAAC;AAED,eAAe,cAAc,CAAA"}
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
* ```
|
|
22
22
|
*/
|
|
23
23
|
export function generatePuckEditField(config = {}) {
|
|
24
|
-
const { collectionSlug = 'pages', editorPathPattern = '/pages/{id}/edit', buttonLabel = '
|
|
24
|
+
const { collectionSlug = 'pages', editorPathPattern = '/pages/{id}/edit', buttonLabel = 'Visual Editor', buttonPosition = 'sidebar', } = config;
|
|
25
25
|
return {
|
|
26
26
|
name: 'puckEdit',
|
|
27
27
|
type: 'ui',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generateAdminComponents.js","sourceRoot":"","sources":["../../src/admin/generateAdminComponents.ts"],"names":[],"mappings":"AA6BA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,qBAAqB,CAAC,SAAgC,EAAE;IACtE,MAAM,EACJ,cAAc,GAAG,OAAO,EACxB,iBAAiB,GAAG,kBAAkB,EACtC,WAAW,GAAG,
|
|
1
|
+
{"version":3,"file":"generateAdminComponents.js","sourceRoot":"","sources":["../../src/admin/generateAdminComponents.ts"],"names":[],"mappings":"AA6BA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,qBAAqB,CAAC,SAAgC,EAAE;IACtE,MAAM,EACJ,cAAc,GAAG,OAAO,EACxB,iBAAiB,GAAG,kBAAkB,EACtC,WAAW,GAAG,eAAe,EAC7B,cAAc,GAAG,SAAS,GAC3B,GAAG,MAAM,CAAA;IAEV,OAAO;QACL,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,IAAI;QACV,KAAK,EAAE;YACL,QAAQ,EAAE,cAAc;YACxB,UAAU,EAAE;gBACV,KAAK,EAAE,8DAA8D;gBACrE,IAAI,EAAE,4DAA4D;aACnE;YACD,MAAM,EAAE;gBACN,cAAc;gBACd,iBAAiB;gBACjB,KAAK,EAAE,WAAW;aACnB;SACF;KACF,CAAA;AACH,CAAC"}
|
package/dist/config/merge.d.ts
CHANGED
|
@@ -5,10 +5,10 @@ import type { MergeConfigOptions } from '../types';
|
|
|
5
5
|
*
|
|
6
6
|
* @example
|
|
7
7
|
* ```typescript
|
|
8
|
-
* import {
|
|
8
|
+
* import { extendConfig, fullConfig } from '@delmaredigital/payload-puck/config/editor'
|
|
9
9
|
*
|
|
10
|
-
* const
|
|
11
|
-
* base:
|
|
10
|
+
* const puckConfig = extendConfig({
|
|
11
|
+
* base: fullConfig,
|
|
12
12
|
* components: {
|
|
13
13
|
* CustomHero: myHeroConfig,
|
|
14
14
|
* },
|
package/dist/config/merge.js
CHANGED
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
*
|
|
4
4
|
* @example
|
|
5
5
|
* ```typescript
|
|
6
|
-
* import {
|
|
6
|
+
* import { extendConfig, fullConfig } from '@delmaredigital/payload-puck/config/editor'
|
|
7
7
|
*
|
|
8
|
-
* const
|
|
9
|
-
* base:
|
|
8
|
+
* const puckConfig = extendConfig({
|
|
9
|
+
* base: fullConfig,
|
|
10
10
|
* components: {
|
|
11
11
|
* CustomHero: myHeroConfig,
|
|
12
12
|
* },
|
|
@@ -13,9 +13,10 @@ export interface PuckEditorProps {
|
|
|
13
13
|
*/
|
|
14
14
|
initialData: Data;
|
|
15
15
|
/**
|
|
16
|
-
* Puck configuration with components and settings
|
|
16
|
+
* Puck configuration with components and settings.
|
|
17
|
+
* If not provided, will attempt to read from PuckConfigContext.
|
|
17
18
|
*/
|
|
18
|
-
config
|
|
19
|
+
config?: PuckConfig;
|
|
19
20
|
/**
|
|
20
21
|
* Page title for display
|
|
21
22
|
*/
|
|
@@ -98,15 +99,36 @@ export interface PuckEditorProps {
|
|
|
98
99
|
* When provided, components will use themed styles
|
|
99
100
|
*/
|
|
100
101
|
theme?: ThemeConfig;
|
|
102
|
+
/**
|
|
103
|
+
* Enable page-tree integration (folder picker, page segment, computed slug).
|
|
104
|
+
* When true, injects folder/pageSegment/slug fields into root config.
|
|
105
|
+
* Requires @delmaredigital/payload-page-tree plugin to be installed.
|
|
106
|
+
* @default false
|
|
107
|
+
*/
|
|
108
|
+
hasPageTree?: boolean;
|
|
109
|
+
/**
|
|
110
|
+
* Initial folder ID for page-tree integration.
|
|
111
|
+
* Only used when hasPageTree is true.
|
|
112
|
+
*/
|
|
113
|
+
folder?: string | null;
|
|
114
|
+
/**
|
|
115
|
+
* Initial page segment for page-tree integration.
|
|
116
|
+
* Only used when hasPageTree is true.
|
|
117
|
+
*/
|
|
118
|
+
pageSegment?: string;
|
|
101
119
|
}
|
|
102
120
|
/**
|
|
103
|
-
* Puck Editor
|
|
121
|
+
* Puck Editor - The primary editor component
|
|
104
122
|
*
|
|
105
|
-
*
|
|
106
|
-
*
|
|
107
|
-
*
|
|
123
|
+
* A full-featured visual page builder with:
|
|
124
|
+
* - Save draft and publish functionality
|
|
125
|
+
* - Unsaved changes tracking with beforeunload warning
|
|
126
|
+
* - Interactive/Edit mode toggle
|
|
127
|
+
* - Theme-aware preview backgrounds
|
|
128
|
+
* - Responsive viewport switching
|
|
129
|
+
* - Optional page-tree integration (folder-based URL structure)
|
|
108
130
|
*
|
|
109
|
-
* @example
|
|
131
|
+
* @example Basic usage
|
|
110
132
|
* ```tsx
|
|
111
133
|
* 'use client'
|
|
112
134
|
*
|
|
@@ -121,11 +143,27 @@ export interface PuckEditorProps {
|
|
|
121
143
|
* config={editorConfig}
|
|
122
144
|
* pageTitle={page.title}
|
|
123
145
|
* pageSlug={page.slug}
|
|
146
|
+
* apiEndpoint="/api/puck/pages"
|
|
124
147
|
* backUrl="/admin/pages"
|
|
125
148
|
* />
|
|
126
149
|
* )
|
|
127
150
|
* }
|
|
128
151
|
* ```
|
|
152
|
+
*
|
|
153
|
+
* @example With page-tree integration
|
|
154
|
+
* ```tsx
|
|
155
|
+
* <PuckEditor
|
|
156
|
+
* pageId={page.id}
|
|
157
|
+
* initialData={page.puckData}
|
|
158
|
+
* config={editorConfig}
|
|
159
|
+
* pageTitle={page.title}
|
|
160
|
+
* pageSlug={page.slug}
|
|
161
|
+
* apiEndpoint="/api/puck/pages"
|
|
162
|
+
* hasPageTree={true}
|
|
163
|
+
* folder={page.folder}
|
|
164
|
+
* pageSegment={page.pageSegment}
|
|
165
|
+
* />
|
|
166
|
+
* ```
|
|
129
167
|
*/
|
|
130
|
-
export declare function PuckEditor({ pageId, initialData, config, pageTitle, pageSlug, apiEndpoint, backUrl, previewUrl, enableViewports, plugins, layouts, layoutStyles, layoutKey, headerActionsStart, headerActionsEnd, overrides, onSaveSuccess, onSaveError, onChange, initialStatus, theme, }: PuckEditorProps): import("react/jsx-runtime").JSX.Element;
|
|
131
|
-
//# sourceMappingURL=PuckEditor.
|
|
168
|
+
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, }: PuckEditorProps): import("react/jsx-runtime").JSX.Element;
|
|
169
|
+
//# sourceMappingURL=PuckEditor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PuckEditor.d.ts","sourceRoot":"","sources":["../../src/editor/PuckEditor.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,IAAI,EAAE,MAAM,IAAI,UAAU,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAClH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAC7D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAC3C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAgBlD,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,MAAM,EAAE,MAAM,CAAA;IACd;;OAEG;IACH,WAAW,EAAE,IAAI,CAAA;IACjB;;;OAGG;IACH,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAA;IACjB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAA;IAChB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC,CAAA;IAChD;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB;;;;OAIG;IACH,OAAO,CAAC,EAAE,UAAU,EAAE,GAAG,KAAK,CAAA;IAC9B;;;;OAIG;IACH,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAA;IAC5B;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;IAC1C;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;OAEG;IACH,kBAAkB,CAAC,EAAE,SAAS,CAAA;IAC9B;;OAEG;IACH,gBAAgB,CAAC,EAAE,SAAS,CAAA;IAC5B;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAA;IAClC;;OAEG;IACH,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAA;IACpC;;OAEG;IACH,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;IACpC;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAA;IAC/B;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,GAAG,WAAW,CAAA;IACrC;;;OAGG;IACH,KAAK,CAAC,EAAE,WAAW,CAAA;IAInB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,wBAAgB,UAAU,CAAC,EACzB,MAAM,EACN,WAAW,EACX,MAAM,EAAE,UAAU,EAClB,SAAS,EACT,QAAQ,EACR,WAAW,EACX,OAAO,EACP,UAAU,EACV,eAAe,EACf,OAAO,EACP,OAAO,EAAE,WAAW,EACpB,YAAY,EACZ,SAAS,EACT,kBAAkB,EAClB,gBAAgB,EAChB,SAAS,EACT,aAAa,EACb,WAAW,EACX,QAAQ,EACR,aAAa,EACb,KAAK,EAAE,SAAS,EAEhB,WAAmB,EACnB,MAAM,EACN,WAAW,GACZ,EAAE,eAAe,2CAwKjB"}
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { useMemo } from 'react';
|
|
4
|
+
import dynamic from 'next/dynamic';
|
|
5
|
+
import { LoadingState } from './components/LoadingState';
|
|
6
|
+
import { injectPageTreeFields } from './utils/injectPageTreeFields.js';
|
|
7
|
+
import { hasPageTreeFields } from './utils/detectPageTree.js';
|
|
8
|
+
import { usePuckConfig } from '../views/PuckConfigContext.js';
|
|
9
|
+
// Dynamic import with ssr: false to prevent hydration mismatch
|
|
10
|
+
// Puck generates random IDs for drag-and-drop that differ between server/client
|
|
11
|
+
const PuckEditorImpl = dynamic(() => import('./PuckEditorImpl.client').then((mod) => mod.PuckEditorImpl), {
|
|
12
|
+
ssr: false,
|
|
13
|
+
loading: () => _jsx(LoadingState, {}),
|
|
14
|
+
});
|
|
15
|
+
/**
|
|
16
|
+
* Puck Editor - The primary editor component
|
|
17
|
+
*
|
|
18
|
+
* A full-featured visual page builder with:
|
|
19
|
+
* - Save draft and publish functionality
|
|
20
|
+
* - Unsaved changes tracking with beforeunload warning
|
|
21
|
+
* - Interactive/Edit mode toggle
|
|
22
|
+
* - Theme-aware preview backgrounds
|
|
23
|
+
* - Responsive viewport switching
|
|
24
|
+
* - Optional page-tree integration (folder-based URL structure)
|
|
25
|
+
*
|
|
26
|
+
* @example Basic usage
|
|
27
|
+
* ```tsx
|
|
28
|
+
* 'use client'
|
|
29
|
+
*
|
|
30
|
+
* import { PuckEditor } from '@delmaredigital/payload-puck/editor'
|
|
31
|
+
* import { editorConfig } from '@delmaredigital/payload-puck/config/editor'
|
|
32
|
+
*
|
|
33
|
+
* export function PageEditor({ page }) {
|
|
34
|
+
* return (
|
|
35
|
+
* <PuckEditor
|
|
36
|
+
* pageId={page.id}
|
|
37
|
+
* initialData={page.puckData}
|
|
38
|
+
* config={editorConfig}
|
|
39
|
+
* pageTitle={page.title}
|
|
40
|
+
* pageSlug={page.slug}
|
|
41
|
+
* apiEndpoint="/api/puck/pages"
|
|
42
|
+
* backUrl="/admin/pages"
|
|
43
|
+
* />
|
|
44
|
+
* )
|
|
45
|
+
* }
|
|
46
|
+
* ```
|
|
47
|
+
*
|
|
48
|
+
* @example With page-tree integration
|
|
49
|
+
* ```tsx
|
|
50
|
+
* <PuckEditor
|
|
51
|
+
* pageId={page.id}
|
|
52
|
+
* initialData={page.puckData}
|
|
53
|
+
* config={editorConfig}
|
|
54
|
+
* pageTitle={page.title}
|
|
55
|
+
* pageSlug={page.slug}
|
|
56
|
+
* apiEndpoint="/api/puck/pages"
|
|
57
|
+
* hasPageTree={true}
|
|
58
|
+
* folder={page.folder}
|
|
59
|
+
* pageSegment={page.pageSegment}
|
|
60
|
+
* />
|
|
61
|
+
* ```
|
|
62
|
+
*/
|
|
63
|
+
export 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,
|
|
64
|
+
// Page-tree props
|
|
65
|
+
hasPageTree = false, folder, pageSegment, }) {
|
|
66
|
+
// Get config from context as fallback
|
|
67
|
+
const { config: configFromContext, layouts: layoutsFromContext, theme: themeFromContext, } = usePuckConfig();
|
|
68
|
+
// Use prop config if provided, otherwise fall back to context
|
|
69
|
+
const baseConfig = configProp || configFromContext;
|
|
70
|
+
const theme = themeProp || themeFromContext;
|
|
71
|
+
// Merge layouts from props and context
|
|
72
|
+
// Props may have metadata (value, label, editorBackground) but no React components
|
|
73
|
+
// Context may have React components (header, footer) that can't be serialized through props
|
|
74
|
+
// Merge by matching on 'value', combining properties, preferring context for components
|
|
75
|
+
const layouts = useMemo(() => {
|
|
76
|
+
// If no layouts from either source, return undefined
|
|
77
|
+
if (!layoutsProp && !layoutsFromContext)
|
|
78
|
+
return undefined;
|
|
79
|
+
// If only one source, use it
|
|
80
|
+
if (!layoutsProp)
|
|
81
|
+
return layoutsFromContext;
|
|
82
|
+
if (!layoutsFromContext)
|
|
83
|
+
return layoutsProp;
|
|
84
|
+
// Merge: for each prop layout, find matching context layout and combine
|
|
85
|
+
return layoutsProp.map((propLayout) => {
|
|
86
|
+
const contextLayout = layoutsFromContext.find((c) => c.value === propLayout.value);
|
|
87
|
+
if (!contextLayout)
|
|
88
|
+
return propLayout;
|
|
89
|
+
// Combine: prop values first, then context values (context provides components)
|
|
90
|
+
return {
|
|
91
|
+
...propLayout,
|
|
92
|
+
// Context provides React components (these can't be serialized through server props)
|
|
93
|
+
header: propLayout.header || contextLayout.header,
|
|
94
|
+
footer: propLayout.footer || contextLayout.footer,
|
|
95
|
+
// Context may also provide other values not in props
|
|
96
|
+
editorBackground: propLayout.editorBackground || contextLayout.editorBackground,
|
|
97
|
+
editorDarkMode: propLayout.editorDarkMode ?? contextLayout.editorDarkMode,
|
|
98
|
+
stickyHeaderHeight: propLayout.stickyHeaderHeight ?? contextLayout.stickyHeaderHeight,
|
|
99
|
+
styles: propLayout.styles || contextLayout.styles,
|
|
100
|
+
};
|
|
101
|
+
});
|
|
102
|
+
}, [layoutsProp, layoutsFromContext]);
|
|
103
|
+
// Conditionally inject page-tree fields into config
|
|
104
|
+
const finalConfig = useMemo(() => {
|
|
105
|
+
if (!baseConfig)
|
|
106
|
+
return null;
|
|
107
|
+
// If page-tree is not enabled, use config as-is
|
|
108
|
+
if (!hasPageTree)
|
|
109
|
+
return baseConfig;
|
|
110
|
+
// If config already has page-tree fields (via pageTreeRoot preset), don't double-inject
|
|
111
|
+
if (hasPageTreeFields(baseConfig))
|
|
112
|
+
return baseConfig;
|
|
113
|
+
// Inject page-tree fields
|
|
114
|
+
return injectPageTreeFields(baseConfig);
|
|
115
|
+
}, [baseConfig, hasPageTree]);
|
|
116
|
+
// Merge page-tree initial values into initialData
|
|
117
|
+
const finalInitialData = useMemo(() => {
|
|
118
|
+
if (!hasPageTree)
|
|
119
|
+
return initialData;
|
|
120
|
+
return {
|
|
121
|
+
...initialData,
|
|
122
|
+
root: {
|
|
123
|
+
...initialData.root,
|
|
124
|
+
props: {
|
|
125
|
+
...initialData.root?.props,
|
|
126
|
+
// Only set if provided and hasPageTree is true
|
|
127
|
+
...(folder !== undefined && { folder }),
|
|
128
|
+
...(pageSegment !== undefined && { pageSegment }),
|
|
129
|
+
},
|
|
130
|
+
},
|
|
131
|
+
};
|
|
132
|
+
}, [initialData, hasPageTree, folder, pageSegment]);
|
|
133
|
+
// Show error if no config available
|
|
134
|
+
if (!finalConfig) {
|
|
135
|
+
return (_jsx("div", { style: {
|
|
136
|
+
display: 'flex',
|
|
137
|
+
flexDirection: 'column',
|
|
138
|
+
alignItems: 'center',
|
|
139
|
+
justifyContent: 'center',
|
|
140
|
+
height: 'calc(100vh - 120px)',
|
|
141
|
+
padding: '40px',
|
|
142
|
+
textAlign: 'center',
|
|
143
|
+
}, children: _jsxs("div", { style: {
|
|
144
|
+
backgroundColor: 'var(--theme-elevation-50)',
|
|
145
|
+
border: '1px solid var(--theme-elevation-150)',
|
|
146
|
+
borderRadius: '8px',
|
|
147
|
+
padding: '32px 48px',
|
|
148
|
+
maxWidth: '560px',
|
|
149
|
+
}, children: [_jsx("h2", { style: {
|
|
150
|
+
color: 'var(--theme-elevation-800)',
|
|
151
|
+
fontSize: '18px',
|
|
152
|
+
fontWeight: 600,
|
|
153
|
+
margin: '0 0 12px 0',
|
|
154
|
+
}, children: "Puck Configuration Required" }), _jsxs("p", { style: {
|
|
155
|
+
color: 'var(--theme-elevation-500)',
|
|
156
|
+
fontSize: '14px',
|
|
157
|
+
lineHeight: 1.6,
|
|
158
|
+
margin: '0 0 16px 0',
|
|
159
|
+
}, children: ["Either pass ", _jsx("code", { style: { backgroundColor: 'var(--theme-elevation-100)', padding: '2px 6px', borderRadius: '4px', fontSize: '13px' }, children: "config" }), " prop directly, or wrap your application with", ' ', _jsx("code", { style: { backgroundColor: 'var(--theme-elevation-100)', padding: '2px 6px', borderRadius: '4px', fontSize: '13px' }, children: "PuckConfigProvider" })] }), _jsx("pre", { style: {
|
|
160
|
+
backgroundColor: 'var(--theme-elevation-100)',
|
|
161
|
+
padding: '16px',
|
|
162
|
+
borderRadius: '6px',
|
|
163
|
+
fontSize: '12px',
|
|
164
|
+
textAlign: 'left',
|
|
165
|
+
overflow: 'auto',
|
|
166
|
+
margin: 0,
|
|
167
|
+
}, children: `// Option 1: Pass config directly
|
|
168
|
+
<PuckEditor config={editorConfig} ... />
|
|
169
|
+
|
|
170
|
+
// Option 2: Use context provider
|
|
171
|
+
<PuckConfigProvider config={editorConfig}>
|
|
172
|
+
<PuckEditor ... />
|
|
173
|
+
</PuckConfigProvider>` })] }) }));
|
|
174
|
+
}
|
|
175
|
+
return (_jsx(PuckEditorImpl, { pageId: pageId, initialData: finalInitialData, config: finalConfig, pageTitle: pageTitle, pageSlug: pageSlug, apiEndpoint: apiEndpoint, backUrl: backUrl, previewUrl: previewUrl, enableViewports: enableViewports, plugins: plugins, layouts: layouts, layoutStyles: layoutStyles, layoutKey: layoutKey, headerActionsStart: headerActionsStart, headerActionsEnd: headerActionsEnd, overrides: overrides, onSaveSuccess: onSaveSuccess, onSaveError: onSaveError, onChange: onChange, initialStatus: initialStatus, theme: theme }));
|
|
176
|
+
}
|
|
177
|
+
//# sourceMappingURL=PuckEditor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PuckEditor.js","sourceRoot":"","sources":["../../src/editor/PuckEditor.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAC/B,OAAO,OAAO,MAAM,cAAc,CAAA;AAMlC,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAA;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAA;AAE7D,+DAA+D;AAC/D,gFAAgF;AAChF,MAAM,cAAc,GAAG,OAAO,CAC5B,GAAG,EAAE,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,cAAc,CAAC,EACzE;IACE,GAAG,EAAE,KAAK;IACV,OAAO,EAAE,GAAG,EAAE,CAAC,KAAC,YAAY,KAAG;CAChC,CACF,CAAA;AAwHD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,MAAM,UAAU,UAAU,CAAC,EACzB,MAAM,EACN,WAAW,EACX,MAAM,EAAE,UAAU,EAClB,SAAS,EACT,QAAQ,EACR,WAAW,EACX,OAAO,EACP,UAAU,EACV,eAAe,EACf,OAAO,EACP,OAAO,EAAE,WAAW,EACpB,YAAY,EACZ,SAAS,EACT,kBAAkB,EAClB,gBAAgB,EAChB,SAAS,EACT,aAAa,EACb,WAAW,EACX,QAAQ,EACR,aAAa,EACb,KAAK,EAAE,SAAS;AAChB,kBAAkB;AAClB,WAAW,GAAG,KAAK,EACnB,MAAM,EACN,WAAW,GACK;IAChB,sCAAsC;IACtC,MAAM,EACJ,MAAM,EAAE,iBAAiB,EACzB,OAAO,EAAE,kBAAkB,EAC3B,KAAK,EAAE,gBAAgB,GACxB,GAAG,aAAa,EAAE,CAAA;IAEnB,8DAA8D;IAC9D,MAAM,UAAU,GAAG,UAAU,IAAI,iBAAiB,CAAA;IAClD,MAAM,KAAK,GAAG,SAAS,IAAI,gBAAgB,CAAA;IAE3C,uCAAuC;IACvC,mFAAmF;IACnF,4FAA4F;IAC5F,wFAAwF;IACxF,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE;QAC3B,qDAAqD;QACrD,IAAI,CAAC,WAAW,IAAI,CAAC,kBAAkB;YAAE,OAAO,SAAS,CAAA;QACzD,6BAA6B;QAC7B,IAAI,CAAC,WAAW;YAAE,OAAO,kBAAkB,CAAA;QAC3C,IAAI,CAAC,kBAAkB;YAAE,OAAO,WAAW,CAAA;QAE3C,wEAAwE;QACxE,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE;YACpC,MAAM,aAAa,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,UAAU,CAAC,KAAK,CAAC,CAAA;YAClF,IAAI,CAAC,aAAa;gBAAE,OAAO,UAAU,CAAA;YAErC,gFAAgF;YAChF,OAAO;gBACL,GAAG,UAAU;gBACb,qFAAqF;gBACrF,MAAM,EAAE,UAAU,CAAC,MAAM,IAAI,aAAa,CAAC,MAAM;gBACjD,MAAM,EAAE,UAAU,CAAC,MAAM,IAAI,aAAa,CAAC,MAAM;gBACjD,qDAAqD;gBACrD,gBAAgB,EAAE,UAAU,CAAC,gBAAgB,IAAI,aAAa,CAAC,gBAAgB;gBAC/E,cAAc,EAAE,UAAU,CAAC,cAAc,IAAI,aAAa,CAAC,cAAc;gBACzE,kBAAkB,EAAE,UAAU,CAAC,kBAAkB,IAAI,aAAa,CAAC,kBAAkB;gBACrF,MAAM,EAAE,UAAU,CAAC,MAAM,IAAI,aAAa,CAAC,MAAM;aAClD,CAAA;QACH,CAAC,CAAC,CAAA;IACJ,CAAC,EAAE,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC,CAAA;IAErC,oDAAoD;IACpD,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE;QAC/B,IAAI,CAAC,UAAU;YAAE,OAAO,IAAI,CAAA;QAE5B,gDAAgD;QAChD,IAAI,CAAC,WAAW;YAAE,OAAO,UAAU,CAAA;QAEnC,wFAAwF;QACxF,IAAI,iBAAiB,CAAC,UAAU,CAAC;YAAE,OAAO,UAAU,CAAA;QAEpD,0BAA0B;QAC1B,OAAO,oBAAoB,CAAC,UAAU,CAAC,CAAA;IACzC,CAAC,EAAE,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,CAAA;IAE7B,kDAAkD;IAClD,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,EAAE;QACpC,IAAI,CAAC,WAAW;YAAE,OAAO,WAAW,CAAA;QAEpC,OAAO;YACL,GAAG,WAAW;YACd,IAAI,EAAE;gBACJ,GAAG,WAAW,CAAC,IAAI;gBACnB,KAAK,EAAE;oBACL,GAAI,WAAW,CAAC,IAAY,EAAE,KAAK;oBACnC,+CAA+C;oBAC/C,GAAG,CAAC,MAAM,KAAK,SAAS,IAAI,EAAE,MAAM,EAAE,CAAC;oBACvC,GAAG,CAAC,WAAW,KAAK,SAAS,IAAI,EAAE,WAAW,EAAE,CAAC;iBAClD;aACF;SACF,CAAA;IACH,CAAC,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,CAAA;IAEnD,oCAAoC;IACpC,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,CACL,cACE,KAAK,EAAE;gBACL,OAAO,EAAE,MAAM;gBACf,aAAa,EAAE,QAAQ;gBACvB,UAAU,EAAE,QAAQ;gBACpB,cAAc,EAAE,QAAQ;gBACxB,MAAM,EAAE,qBAAqB;gBAC7B,OAAO,EAAE,MAAM;gBACf,SAAS,EAAE,QAAQ;aACpB,YAED,eACE,KAAK,EAAE;oBACL,eAAe,EAAE,2BAA2B;oBAC5C,MAAM,EAAE,sCAAsC;oBAC9C,YAAY,EAAE,KAAK;oBACnB,OAAO,EAAE,WAAW;oBACpB,QAAQ,EAAE,OAAO;iBAClB,aAED,aACE,KAAK,EAAE;4BACL,KAAK,EAAE,4BAA4B;4BACnC,QAAQ,EAAE,MAAM;4BAChB,UAAU,EAAE,GAAG;4BACf,MAAM,EAAE,YAAY;yBACrB,4CAGE,EACL,aACE,KAAK,EAAE;4BACL,KAAK,EAAE,4BAA4B;4BACnC,QAAQ,EAAE,MAAM;4BAChB,UAAU,EAAE,GAAG;4BACf,MAAM,EAAE,YAAY;yBACrB,6BAEW,eAAM,KAAK,EAAE,EAAE,eAAe,EAAE,4BAA4B,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,uBAAe,mDAA8C,GAAG,EACrM,eAAM,KAAK,EAAE,EAAE,eAAe,EAAE,4BAA4B,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,mCAA2B,IAClJ,EACJ,cACE,KAAK,EAAE;4BACL,eAAe,EAAE,4BAA4B;4BAC7C,OAAO,EAAE,MAAM;4BACf,YAAY,EAAE,KAAK;4BACnB,QAAQ,EAAE,MAAM;4BAChB,SAAS,EAAE,MAAM;4BACjB,QAAQ,EAAE,MAAM;4BAChB,MAAM,EAAE,CAAC;yBACV,YAEZ;;;;;;sBAMqB,GACN,IACF,GACF,CACP,CAAA;IACH,CAAC;IAED,OAAO,CACL,KAAC,cAAc,IACb,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,gBAAgB,EAC7B,MAAM,EAAE,WAAW,EACnB,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,UAAU,EACtB,eAAe,EAAE,eAAe,EAChC,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,SAAS,EACpB,kBAAkB,EAAE,kBAAkB,EACtC,gBAAgB,EAAE,gBAAgB,EAClC,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,aAAa,EAC5B,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,QAAQ,EAClB,aAAa,EAAE,aAAa,EAC5B,KAAK,EAAE,KAAK,GACZ,CACH,CAAA;AACH,CAAC"}
|
|
@@ -5,7 +5,7 @@ import '@measured/puck-plugin-heading-analyzer/dist/index.css';
|
|
|
5
5
|
import { type LayoutStyle } from './components/IframeWrapper';
|
|
6
6
|
import { type ThemeConfig } from '../theme';
|
|
7
7
|
import type { LayoutDefinition } from '../layouts';
|
|
8
|
-
export interface
|
|
8
|
+
export interface PuckEditorImplProps {
|
|
9
9
|
/**
|
|
10
10
|
* Page ID for save operations
|
|
11
11
|
*/
|
|
@@ -112,30 +112,8 @@ export interface PuckEditorCoreProps {
|
|
|
112
112
|
* - Responsive viewport switching
|
|
113
113
|
* - Custom header actions
|
|
114
114
|
*
|
|
115
|
-
*
|
|
116
|
-
*
|
|
117
|
-
* 'use client'
|
|
118
|
-
*
|
|
119
|
-
* import { PuckEditorCore } from '@delmaredigital/payload-puck/editor'
|
|
120
|
-
* import { editorConfig } from '@delmaredigital/payload-puck/config/editor'
|
|
121
|
-
*
|
|
122
|
-
* export function PageEditor({ page }) {
|
|
123
|
-
* return (
|
|
124
|
-
* <PuckEditorCore
|
|
125
|
-
* pageId={page.id}
|
|
126
|
-
* initialData={page.puckData}
|
|
127
|
-
* config={editorConfig}
|
|
128
|
-
* pageTitle={page.title}
|
|
129
|
-
* pageSlug={page.slug}
|
|
130
|
-
* backUrl="/admin/pages"
|
|
131
|
-
* layoutStyles={{
|
|
132
|
-
* default: { background: '#fff', isDark: false },
|
|
133
|
-
* dark: { background: '#1a1a1a', isDark: true },
|
|
134
|
-
* }}
|
|
135
|
-
* />
|
|
136
|
-
* )
|
|
137
|
-
* }
|
|
138
|
-
* ```
|
|
115
|
+
* Internal implementation component - use PuckEditor instead.
|
|
116
|
+
* @internal
|
|
139
117
|
*/
|
|
140
|
-
export declare function
|
|
141
|
-
//# sourceMappingURL=
|
|
118
|
+
export declare function PuckEditorImpl({ pageId, initialData, config, pageTitle, pageSlug, apiEndpoint, backUrl, previewUrl, enableViewports, plugins, layouts, layoutStyles, layoutKey, headerActionsStart, headerActionsEnd, overrides: customOverrides, onSaveSuccess, onSaveError, onChange: onChangeProp, initialStatus, theme, }: PuckEditorImplProps): import("react/jsx-runtime").JSX.Element;
|
|
119
|
+
//# sourceMappingURL=PuckEditorImpl.client.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"
|
|
1
|
+
{"version":3,"file":"PuckEditorImpl.client.d.ts","sourceRoot":"","sources":["../../src/editor/PuckEditorImpl.client.tsx"],"names":[],"mappings":"AAEA,OAAO,EAA0C,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAE9E,OAAO,EAAQ,KAAK,MAAM,IAAI,UAAU,EAAE,KAAK,IAAI,EAAE,KAAK,MAAM,IAAI,UAAU,EAAE,KAAK,SAAS,IAAI,aAAa,EAAE,MAAM,gBAAgB,CAAA;AACvI,OAAO,yBAAyB,CAAA;AAEhC,OAAO,uDAAuD,CAAA;AAG9D,OAAO,EAAiB,KAAK,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAG5E,OAAO,EAAiB,KAAK,WAAW,EAAE,MAAM,UAAU,CAAA;AAC1D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AA2ClD,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,MAAM,EAAE,MAAM,CAAA;IACd;;OAEG;IACH,WAAW,EAAE,IAAI,CAAA;IACjB;;OAEG;IACH,MAAM,EAAE,UAAU,CAAA;IAClB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAA;IACjB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAA;IAChB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC,CAAA;IAChD;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB;;;;OAIG;IACH,OAAO,CAAC,EAAE,UAAU,EAAE,GAAG,KAAK,CAAA;IAC9B;;;;OAIG;IACH,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAA;IAC5B;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;IAC1C;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;OAEG;IACH,kBAAkB,CAAC,EAAE,SAAS,CAAA;IAC9B;;OAEG;IACH,gBAAgB,CAAC,EAAE,SAAS,CAAA;IAC5B;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAA;IAClC;;OAEG;IACH,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAA;IACpC;;OAEG;IACH,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;IACpC;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAA;IAC/B;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,GAAG,WAAW,CAAA;IAErC;;;OAGG;IACH,KAAK,CAAC,EAAE,WAAW,CAAA;CACpB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,CAAC,EAC7B,MAAM,EACN,WAAW,EACX,MAAM,EACN,SAAS,EACT,QAAQ,EACR,WAA+B,EAC/B,OAAO,EACP,UAAU,EACV,eAAsB,EACtB,OAAO,EACP,OAAO,EACP,YAAY,EACZ,SAAwB,EACxB,kBAAkB,EAClB,gBAAgB,EAChB,SAAS,EAAE,eAAe,EAC1B,aAAa,EACb,WAAW,EACX,QAAQ,EAAE,YAAY,EACtB,aAAa,EACb,KAAK,GACN,EAAE,mBAAmB,2CAiTrB"}
|