@delmaredigital/payload-puck 0.3.0 → 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 +243 -32
- 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
|
@@ -1,130 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
-
/**
|
|
4
|
-
* PuckEditorClient - Client component for the Puck editor in Payload admin
|
|
5
|
-
*
|
|
6
|
-
* This wraps PuckEditorCore and provides the necessary context for
|
|
7
|
-
* running within Payload's admin UI.
|
|
8
|
-
*/
|
|
9
|
-
import { useMemo } from 'react';
|
|
10
|
-
import { PuckEditorCore } from '../editor/PuckEditorCore.client.js';
|
|
11
|
-
import { usePuckConfig } from './PuckConfigContext.js';
|
|
12
|
-
import { createFolderPickerField } from '../fields/FolderPickerField.js';
|
|
13
|
-
import { createPageSegmentField } from '../fields/PageSegmentField.js';
|
|
14
|
-
import { createSlugPreviewField } from '../fields/SlugPreviewField.js';
|
|
15
|
-
/**
|
|
16
|
-
* Client component that renders the Puck editor
|
|
17
|
-
*
|
|
18
|
-
* The Puck config is obtained from PuckConfigContext. The consuming application
|
|
19
|
-
* must wrap their app with PuckConfigProvider.
|
|
20
|
-
*
|
|
21
|
-
* @example
|
|
22
|
-
* ```tsx
|
|
23
|
-
* // In your app's layout:
|
|
24
|
-
* import { PuckConfigProvider } from '@delmaredigital/payload-puck/client'
|
|
25
|
-
* import { editorConfig } from '@delmaredigital/payload-puck/config/editor'
|
|
26
|
-
*
|
|
27
|
-
* export default function RootLayout({ children }) {
|
|
28
|
-
* return (
|
|
29
|
-
* <html>
|
|
30
|
-
* <body>
|
|
31
|
-
* <PuckConfigProvider config={editorConfig}>
|
|
32
|
-
* {children}
|
|
33
|
-
* </PuckConfigProvider>
|
|
34
|
-
* </body>
|
|
35
|
-
* </html>
|
|
36
|
-
* )
|
|
37
|
-
* }
|
|
38
|
-
* ```
|
|
39
|
-
*/
|
|
40
|
-
export function PuckEditorClient({ pageId, collection, initialData, pageTitle, pageSlug, initialStatus, backUrl, adminRoute = '/admin', layouts: layoutsProp, hasPageTree = false, }) {
|
|
41
|
-
// Get config from context
|
|
42
|
-
const { config: baseConfig, layouts: layoutsFromContext, theme } = usePuckConfig();
|
|
43
|
-
// Use layouts from props or context
|
|
44
|
-
const layouts = layoutsProp || layoutsFromContext;
|
|
45
|
-
// If page-tree is active, inject folder picker fields into root config
|
|
46
|
-
const config = useMemo(() => {
|
|
47
|
-
if (!baseConfig || !hasPageTree)
|
|
48
|
-
return baseConfig;
|
|
49
|
-
// Create page-tree specific fields
|
|
50
|
-
const pageTreeFields = {
|
|
51
|
-
folder: createFolderPickerField({ label: 'Folder' }),
|
|
52
|
-
pageSegment: createPageSegmentField({ label: 'Page Segment' }),
|
|
53
|
-
slug: createSlugPreviewField({
|
|
54
|
-
label: 'URL Slug',
|
|
55
|
-
hint: 'Auto-generated from folder + page segment',
|
|
56
|
-
}),
|
|
57
|
-
};
|
|
58
|
-
// Merge page-tree fields into root config, replacing slug field
|
|
59
|
-
const existingRootFields = baseConfig.root?.fields || {};
|
|
60
|
-
const { slug: _existingSlug, ...otherFields } = existingRootFields;
|
|
61
|
-
return {
|
|
62
|
-
...baseConfig,
|
|
63
|
-
root: {
|
|
64
|
-
...baseConfig.root,
|
|
65
|
-
fields: {
|
|
66
|
-
...otherFields,
|
|
67
|
-
...pageTreeFields,
|
|
68
|
-
},
|
|
69
|
-
},
|
|
70
|
-
};
|
|
71
|
-
}, [baseConfig, hasPageTree]);
|
|
72
|
-
// API endpoint based on collection
|
|
73
|
-
const apiEndpoint = `/api/puck/${collection}`;
|
|
74
|
-
// Preview URL - defaults to the page slug
|
|
75
|
-
const previewUrl = (slug) => `/${slug}`;
|
|
76
|
-
if (!config) {
|
|
77
|
-
return (_jsx("div", { style: {
|
|
78
|
-
display: 'flex',
|
|
79
|
-
flexDirection: 'column',
|
|
80
|
-
alignItems: 'center',
|
|
81
|
-
justifyContent: 'center',
|
|
82
|
-
height: 'calc(100vh - 120px)',
|
|
83
|
-
padding: '40px',
|
|
84
|
-
textAlign: 'center',
|
|
85
|
-
}, children: _jsxs("div", { style: {
|
|
86
|
-
backgroundColor: 'var(--theme-elevation-50)',
|
|
87
|
-
border: '1px solid var(--theme-elevation-150)',
|
|
88
|
-
borderRadius: '8px',
|
|
89
|
-
padding: '32px 48px',
|
|
90
|
-
maxWidth: '560px',
|
|
91
|
-
}, children: [_jsx("h2", { style: {
|
|
92
|
-
color: 'var(--theme-elevation-800)',
|
|
93
|
-
fontSize: '18px',
|
|
94
|
-
fontWeight: 600,
|
|
95
|
-
margin: '0 0 12px 0',
|
|
96
|
-
}, children: "Puck Configuration Required" }), _jsxs("p", { style: {
|
|
97
|
-
color: 'var(--theme-elevation-500)',
|
|
98
|
-
fontSize: '14px',
|
|
99
|
-
lineHeight: 1.6,
|
|
100
|
-
margin: '0 0 16px 0',
|
|
101
|
-
}, children: ["To use the Puck editor, wrap your application with", ' ', _jsx("code", { style: {
|
|
102
|
-
backgroundColor: 'var(--theme-elevation-100)',
|
|
103
|
-
padding: '2px 6px',
|
|
104
|
-
borderRadius: '4px',
|
|
105
|
-
fontSize: '13px',
|
|
106
|
-
}, children: "PuckConfigProvider" })] }), _jsx("pre", { style: {
|
|
107
|
-
backgroundColor: 'var(--theme-elevation-100)',
|
|
108
|
-
padding: '16px',
|
|
109
|
-
borderRadius: '6px',
|
|
110
|
-
fontSize: '12px',
|
|
111
|
-
textAlign: 'left',
|
|
112
|
-
overflow: 'auto',
|
|
113
|
-
margin: 0,
|
|
114
|
-
}, children: `// In your layout.tsx:
|
|
115
|
-
import { PuckConfigProvider } from '@delmaredigital/payload-puck/client'
|
|
116
|
-
import { editorConfig } from '@delmaredigital/payload-puck/config/editor'
|
|
117
|
-
|
|
118
|
-
<PuckConfigProvider config={editorConfig}>
|
|
119
|
-
{children}
|
|
120
|
-
</PuckConfigProvider>` })] }) }));
|
|
121
|
-
}
|
|
122
|
-
return (_jsx("div", { style: {
|
|
123
|
-
// Take up full available height within the admin template
|
|
124
|
-
height: 'calc(100vh - 60px)',
|
|
125
|
-
display: 'flex',
|
|
126
|
-
flexDirection: 'column',
|
|
127
|
-
}, children: _jsx(PuckEditorCore, { pageId: pageId, initialData: initialData, config: config, pageTitle: pageTitle, pageSlug: pageSlug, apiEndpoint: apiEndpoint, backUrl: backUrl, previewUrl: previewUrl, initialStatus: initialStatus, layouts: layouts, theme: theme }) }));
|
|
128
|
-
}
|
|
129
|
-
export default PuckEditorClient;
|
|
130
|
-
//# sourceMappingURL=PuckEditorClient.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PuckEditorClient.js","sourceRoot":"","sources":["../../src/views/PuckEditorClient.tsx"],"names":[],"mappings":"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"}
|