@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.
Files changed (70) hide show
  1. package/README.md +243 -32
  2. package/dist/admin/EditWithPuckButton.d.ts +1 -1
  3. package/dist/admin/EditWithPuckButton.d.ts.map +1 -1
  4. package/dist/admin/EditWithPuckButton.js +2 -2
  5. package/dist/admin/EditWithPuckButton.js.map +1 -1
  6. package/dist/admin/EditWithPuckCell.js +1 -1
  7. package/dist/admin/EditWithPuckCell.js.map +1 -1
  8. package/dist/admin/PuckEditorView.js +1 -1
  9. package/dist/admin/PuckEditorView.js.map +1 -1
  10. package/dist/admin/generateAdminComponents.d.ts +1 -1
  11. package/dist/admin/generateAdminComponents.js +1 -1
  12. package/dist/admin/generateAdminComponents.js.map +1 -1
  13. package/dist/config/merge.d.ts +3 -3
  14. package/dist/config/merge.js +3 -3
  15. package/dist/editor/{PuckEditor.client.d.ts → PuckEditor.d.ts} +47 -9
  16. package/dist/editor/PuckEditor.d.ts.map +1 -0
  17. package/dist/editor/PuckEditor.js +177 -0
  18. package/dist/editor/PuckEditor.js.map +1 -0
  19. package/dist/editor/{PuckEditorCore.client.d.ts → PuckEditorImpl.client.d.ts} +5 -27
  20. package/dist/editor/{PuckEditorCore.client.d.ts.map → PuckEditorImpl.client.d.ts.map} +1 -1
  21. package/dist/editor/{PuckEditorCore.client.js → PuckEditorImpl.client.js} +4 -26
  22. package/dist/editor/PuckEditorImpl.client.js.map +1 -0
  23. package/dist/editor/components/HeaderActions.d.ts.map +1 -1
  24. package/dist/editor/components/HeaderActions.js +2 -1
  25. package/dist/editor/components/HeaderActions.js.map +1 -1
  26. package/dist/editor/index.d.ts +30 -19
  27. package/dist/editor/index.d.ts.map +1 -1
  28. package/dist/editor/index.js +33 -21
  29. package/dist/editor/index.js.map +1 -1
  30. package/dist/editor/plugins/index.d.ts +2 -2
  31. package/dist/editor/plugins/index.js +2 -2
  32. package/dist/editor/utils/detectPageTree.d.ts +22 -0
  33. package/dist/editor/utils/detectPageTree.d.ts.map +1 -0
  34. package/dist/editor/utils/detectPageTree.js +36 -0
  35. package/dist/editor/utils/detectPageTree.js.map +1 -0
  36. package/dist/editor/utils/index.d.ts +3 -0
  37. package/dist/editor/utils/index.d.ts.map +1 -0
  38. package/dist/editor/utils/index.js +3 -0
  39. package/dist/editor/utils/index.js.map +1 -0
  40. package/dist/editor/utils/injectPageTreeFields.d.ts +10 -0
  41. package/dist/editor/utils/injectPageTreeFields.d.ts.map +1 -0
  42. package/dist/editor/utils/injectPageTreeFields.js +35 -0
  43. package/dist/editor/utils/injectPageTreeFields.js.map +1 -0
  44. package/dist/exports/client.d.ts +7 -6
  45. package/dist/exports/client.d.ts.map +1 -1
  46. package/dist/exports/client.js +9 -8
  47. package/dist/exports/client.js.map +1 -1
  48. package/dist/plugin/index.js +1 -1
  49. package/dist/plugin/index.js.map +1 -1
  50. package/dist/types/index.d.ts +1 -1
  51. package/dist/version.d.ts +2 -0
  52. package/dist/version.d.ts.map +1 -0
  53. package/dist/version.js +3 -0
  54. package/dist/version.js.map +1 -0
  55. package/dist/views/PuckEditorView.d.ts.map +1 -1
  56. package/dist/views/PuckEditorView.js +7 -2
  57. package/dist/views/PuckEditorView.js.map +1 -1
  58. package/dist/views/index.d.ts +0 -2
  59. package/dist/views/index.d.ts.map +1 -1
  60. package/dist/views/index.js +0 -2
  61. package/dist/views/index.js.map +1 -1
  62. package/package.json +9 -3
  63. package/dist/editor/PuckEditor.client.d.ts.map +0 -1
  64. package/dist/editor/PuckEditor.client.js +0 -42
  65. package/dist/editor/PuckEditor.client.js.map +0 -1
  66. package/dist/editor/PuckEditorCore.client.js.map +0 -1
  67. package/dist/views/PuckEditorClient.d.ts +0 -73
  68. package/dist/views/PuckEditorClient.d.ts.map +0 -1
  69. package/dist/views/PuckEditorClient.js +0 -130
  70. 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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"}