@delmaredigital/payload-puck 0.6.2 → 0.6.4
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 +97 -21
- package/dist/api/createPuckApiRoutesWithId.d.ts.map +1 -1
- package/dist/api/createPuckApiRoutesWithId.js +29 -1
- package/dist/api/createPuckApiRoutesWithId.js.map +1 -1
- package/dist/api/types.d.ts +10 -0
- package/dist/api/types.d.ts.map +1 -1
- package/dist/editor/PuckEditor.d.ts.map +1 -1
- package/dist/editor/PuckEditor.js +15 -2
- package/dist/editor/PuckEditor.js.map +1 -1
- package/dist/editor/PuckEditorImpl.client.d.ts.map +1 -1
- package/dist/editor/PuckEditorImpl.client.js +72 -39
- package/dist/editor/PuckEditorImpl.client.js.map +1 -1
- package/dist/editor/components/DarkModeStyles.d.ts.map +1 -1
- package/dist/editor/components/DarkModeStyles.js +109 -83
- package/dist/editor/components/DarkModeStyles.js.map +1 -1
- package/dist/editor/components/IframeWrapper.d.ts.map +1 -1
- package/dist/editor/components/IframeWrapper.js +50 -10
- package/dist/editor/components/IframeWrapper.js.map +1 -1
- package/dist/endpoints/ai.d.ts.map +1 -1
- package/dist/endpoints/ai.js +2 -104
- package/dist/endpoints/ai.js.map +1 -1
- package/dist/endpoints/index.d.ts +1 -1
- package/dist/endpoints/index.d.ts.map +1 -1
- package/dist/endpoints/index.js +42 -2
- package/dist/endpoints/index.js.map +1 -1
- package/dist/fields/TemplateField.d.ts.map +1 -1
- package/dist/fields/TemplateField.js +5 -26
- package/dist/fields/TemplateField.js.map +1 -1
- package/dist/fields/richtext/controls/ColorPickerControl.d.ts.map +1 -1
- package/dist/fields/richtext/controls/ColorPickerControl.js +2 -1
- package/dist/fields/richtext/controls/ColorPickerControl.js.map +1 -1
- package/dist/fields/richtext/controls/FontSizeControl.d.ts.map +1 -1
- package/dist/fields/richtext/controls/FontSizeControl.js +3 -1
- package/dist/fields/richtext/controls/FontSizeControl.js.map +1 -1
- package/dist/fields/richtext/controls/HighlightControl.d.ts.map +1 -1
- package/dist/fields/richtext/controls/HighlightControl.js +2 -1
- package/dist/fields/richtext/controls/HighlightControl.js.map +1 -1
- package/dist/fields/richtext/controls/shared.d.ts +31 -0
- package/dist/fields/richtext/controls/shared.d.ts.map +1 -1
- package/dist/fields/richtext/controls/shared.js +58 -2
- package/dist/fields/richtext/controls/shared.js.map +1 -1
- package/dist/next/index.d.ts +65 -0
- package/dist/next/index.d.ts.map +1 -0
- package/dist/next/index.js +160 -0
- package/dist/next/index.js.map +1 -0
- package/dist/plugin/collections/Pages.d.ts.map +1 -1
- package/dist/plugin/collections/Pages.js +20 -0
- package/dist/plugin/collections/Pages.js.map +1 -1
- package/dist/plugin/fields/index.d.ts +43 -3
- package/dist/plugin/fields/index.d.ts.map +1 -1
- package/dist/plugin/fields/index.js +51 -0
- package/dist/plugin/fields/index.js.map +1 -1
- package/dist/plugin/fields/types.d.ts +33 -0
- package/dist/plugin/fields/types.d.ts.map +1 -1
- package/dist/plugin/hooks/index.d.ts +7 -0
- package/dist/plugin/hooks/index.d.ts.map +1 -0
- package/dist/plugin/hooks/index.js +7 -0
- package/dist/plugin/hooks/index.js.map +1 -0
- package/dist/plugin/hooks/isHomepageUnique.d.ts +56 -0
- package/dist/plugin/hooks/isHomepageUnique.d.ts.map +1 -0
- package/dist/plugin/hooks/isHomepageUnique.js +93 -0
- package/dist/plugin/hooks/isHomepageUnique.js.map +1 -0
- package/dist/plugin/index.d.ts +4 -2
- package/dist/plugin/index.d.ts.map +1 -1
- package/dist/plugin/index.js +29 -4
- package/dist/plugin/index.js.map +1 -1
- package/dist/types/index.d.ts +21 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dist/views/PuckConfigContext.d.ts +34 -2
- package/dist/views/PuckConfigContext.d.ts.map +1 -1
- package/dist/views/PuckConfigContext.js +2 -2
- package/dist/views/PuckConfigContext.js.map +1 -1
- package/package.json +5 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../../src/fields/richtext/controls/shared.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../../src/fields/richtext/controls/shared.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Next.js Configuration Wrapper for Puck CSS
|
|
3
|
+
*
|
|
4
|
+
* Compiles CSS at build time using the project's PostCSS/Tailwind configuration.
|
|
5
|
+
* This ensures the editor iframe styles work in production (Vercel, etc.) where
|
|
6
|
+
* source files aren't available at runtime.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```js
|
|
10
|
+
* // next.config.js
|
|
11
|
+
* import { withPuckCSS } from '@delmaredigital/payload-puck/next'
|
|
12
|
+
* import { withPayload } from '@payloadcms/next/withPayload'
|
|
13
|
+
*
|
|
14
|
+
* export default withPuckCSS({
|
|
15
|
+
* cssInput: 'src/app/(frontend)/globals.css',
|
|
16
|
+
* })(withPayload(nextConfig))
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
import type { NextConfig } from 'next';
|
|
20
|
+
/**
|
|
21
|
+
* Options for the withPuckCSS wrapper
|
|
22
|
+
*/
|
|
23
|
+
export interface WithPuckCSSOptions {
|
|
24
|
+
/**
|
|
25
|
+
* Path to the source CSS file (relative to project root)
|
|
26
|
+
* @example 'src/app/(frontend)/globals.css'
|
|
27
|
+
*/
|
|
28
|
+
cssInput: string;
|
|
29
|
+
/**
|
|
30
|
+
* Output path for compiled CSS (relative to public/)
|
|
31
|
+
* @default 'puck-editor-styles.css'
|
|
32
|
+
*/
|
|
33
|
+
cssOutput?: string;
|
|
34
|
+
/**
|
|
35
|
+
* Whether to skip compilation in development
|
|
36
|
+
* @default true
|
|
37
|
+
*/
|
|
38
|
+
skipInDev?: boolean;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Default output filename for compiled CSS
|
|
42
|
+
*/
|
|
43
|
+
export declare const PUCK_CSS_OUTPUT_DEFAULT = "puck-editor-styles.css";
|
|
44
|
+
/**
|
|
45
|
+
* Next.js configuration wrapper that compiles Puck editor CSS at build time
|
|
46
|
+
*
|
|
47
|
+
* @param options - Configuration options
|
|
48
|
+
* @returns A function that wraps your Next.js config
|
|
49
|
+
*
|
|
50
|
+
* @example
|
|
51
|
+
* ```js
|
|
52
|
+
* import { withPuckCSS } from '@delmaredigital/payload-puck/next'
|
|
53
|
+
*
|
|
54
|
+
* export default withPuckCSS({
|
|
55
|
+
* cssInput: 'src/app/(frontend)/globals.css',
|
|
56
|
+
* })(nextConfig)
|
|
57
|
+
* ```
|
|
58
|
+
*/
|
|
59
|
+
export declare function withPuckCSS(options: WithPuckCSSOptions): (nextConfig: NextConfig) => NextConfig;
|
|
60
|
+
/**
|
|
61
|
+
* Get the URL path for the compiled CSS file
|
|
62
|
+
* Use this in your plugin configuration
|
|
63
|
+
*/
|
|
64
|
+
export declare function getPuckCSSPath(cssOutput?: string): string;
|
|
65
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/next/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,MAAM,CAAA;AAItC;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAA;IAEhB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB;AAED;;GAEG;AACH,eAAO,MAAM,uBAAuB,2BAA2B,CAAA;AAwG/D;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,kBAAkB,IAO7C,YAAY,UAAU,KAAG,UAAU,CAiB5C;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAEzD"}
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Next.js Configuration Wrapper for Puck CSS
|
|
3
|
+
*
|
|
4
|
+
* Compiles CSS at build time using the project's PostCSS/Tailwind configuration.
|
|
5
|
+
* This ensures the editor iframe styles work in production (Vercel, etc.) where
|
|
6
|
+
* source files aren't available at runtime.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```js
|
|
10
|
+
* // next.config.js
|
|
11
|
+
* import { withPuckCSS } from '@delmaredigital/payload-puck/next'
|
|
12
|
+
* import { withPayload } from '@payloadcms/next/withPayload'
|
|
13
|
+
*
|
|
14
|
+
* export default withPuckCSS({
|
|
15
|
+
* cssInput: 'src/app/(frontend)/globals.css',
|
|
16
|
+
* })(withPayload(nextConfig))
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'fs';
|
|
20
|
+
import { dirname, resolve } from 'path';
|
|
21
|
+
/**
|
|
22
|
+
* Default output filename for compiled CSS
|
|
23
|
+
*/
|
|
24
|
+
export const PUCK_CSS_OUTPUT_DEFAULT = 'puck-editor-styles.css';
|
|
25
|
+
/**
|
|
26
|
+
* Compile CSS using PostCSS with the project's configuration
|
|
27
|
+
*/
|
|
28
|
+
async function compileCss(css, filePath) {
|
|
29
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
30
|
+
let postcss;
|
|
31
|
+
try {
|
|
32
|
+
postcss = (await import('postcss')).default;
|
|
33
|
+
}
|
|
34
|
+
catch {
|
|
35
|
+
console.warn('[payload-puck] PostCSS not found. CSS will not be compiled.');
|
|
36
|
+
return css;
|
|
37
|
+
}
|
|
38
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
39
|
+
let processor;
|
|
40
|
+
try {
|
|
41
|
+
// Try to load project's postcss.config.js
|
|
42
|
+
const loadConfigModule = await import('postcss-load-config');
|
|
43
|
+
const postcssLoadConfig = loadConfigModule.default;
|
|
44
|
+
const { plugins } = await postcssLoadConfig({}, process.cwd());
|
|
45
|
+
processor = postcss(plugins);
|
|
46
|
+
}
|
|
47
|
+
catch {
|
|
48
|
+
// Fall back to direct Tailwind import
|
|
49
|
+
try {
|
|
50
|
+
const tailwindcss = (await import('@tailwindcss/postcss')).default;
|
|
51
|
+
processor = postcss([tailwindcss]);
|
|
52
|
+
}
|
|
53
|
+
catch {
|
|
54
|
+
try {
|
|
55
|
+
const tailwindcss = (await import('tailwindcss')).default;
|
|
56
|
+
processor = postcss([tailwindcss]);
|
|
57
|
+
}
|
|
58
|
+
catch {
|
|
59
|
+
console.warn('[payload-puck] No Tailwind CSS found. CSS will not be compiled.');
|
|
60
|
+
return css;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
const result = await processor.process(css, { from: filePath });
|
|
65
|
+
return result.css;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Webpack plugin that compiles CSS at build time
|
|
69
|
+
*/
|
|
70
|
+
class PuckCSSWebpackPlugin {
|
|
71
|
+
options;
|
|
72
|
+
compiled = false;
|
|
73
|
+
constructor(options) {
|
|
74
|
+
this.options = options;
|
|
75
|
+
}
|
|
76
|
+
apply(compiler) {
|
|
77
|
+
compiler.hooks.beforeCompile.tapPromise('PuckCSSWebpackPlugin', async () => {
|
|
78
|
+
// Only compile once per build
|
|
79
|
+
if (this.compiled)
|
|
80
|
+
return;
|
|
81
|
+
this.compiled = true;
|
|
82
|
+
const { cssInput, cssOutput, skipInDev } = this.options;
|
|
83
|
+
// Skip in development if configured
|
|
84
|
+
if (skipInDev && process.env.NODE_ENV === 'development') {
|
|
85
|
+
console.log('[payload-puck] Skipping CSS compilation in development');
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
88
|
+
const inputPath = resolve(process.cwd(), cssInput);
|
|
89
|
+
const outputPath = resolve(process.cwd(), 'public', cssOutput);
|
|
90
|
+
// Check if source file exists
|
|
91
|
+
if (!existsSync(inputPath)) {
|
|
92
|
+
console.error(`[payload-puck] CSS source file not found: ${inputPath}`);
|
|
93
|
+
return;
|
|
94
|
+
}
|
|
95
|
+
try {
|
|
96
|
+
console.log(`[payload-puck] Compiling CSS: ${cssInput} -> public/${cssOutput}`);
|
|
97
|
+
// Read source CSS
|
|
98
|
+
const rawCss = readFileSync(inputPath, 'utf-8');
|
|
99
|
+
// Compile with PostCSS/Tailwind
|
|
100
|
+
const compiledCss = await compileCss(rawCss, inputPath);
|
|
101
|
+
// Ensure public directory exists
|
|
102
|
+
const outputDir = dirname(outputPath);
|
|
103
|
+
if (!existsSync(outputDir)) {
|
|
104
|
+
mkdirSync(outputDir, { recursive: true });
|
|
105
|
+
}
|
|
106
|
+
// Write compiled CSS
|
|
107
|
+
writeFileSync(outputPath, compiledCss, 'utf-8');
|
|
108
|
+
console.log(`[payload-puck] CSS compiled successfully (${(compiledCss.length / 1024).toFixed(1)}KB)`);
|
|
109
|
+
}
|
|
110
|
+
catch (error) {
|
|
111
|
+
console.error('[payload-puck] CSS compilation failed:', error);
|
|
112
|
+
}
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Next.js configuration wrapper that compiles Puck editor CSS at build time
|
|
118
|
+
*
|
|
119
|
+
* @param options - Configuration options
|
|
120
|
+
* @returns A function that wraps your Next.js config
|
|
121
|
+
*
|
|
122
|
+
* @example
|
|
123
|
+
* ```js
|
|
124
|
+
* import { withPuckCSS } from '@delmaredigital/payload-puck/next'
|
|
125
|
+
*
|
|
126
|
+
* export default withPuckCSS({
|
|
127
|
+
* cssInput: 'src/app/(frontend)/globals.css',
|
|
128
|
+
* })(nextConfig)
|
|
129
|
+
* ```
|
|
130
|
+
*/
|
|
131
|
+
export function withPuckCSS(options) {
|
|
132
|
+
const resolvedOptions = {
|
|
133
|
+
cssInput: options.cssInput,
|
|
134
|
+
cssOutput: options.cssOutput ?? PUCK_CSS_OUTPUT_DEFAULT,
|
|
135
|
+
skipInDev: options.skipInDev ?? true,
|
|
136
|
+
};
|
|
137
|
+
return (nextConfig) => {
|
|
138
|
+
return {
|
|
139
|
+
...nextConfig,
|
|
140
|
+
webpack: (webpackConfig, context) => {
|
|
141
|
+
// Add our CSS compilation plugin
|
|
142
|
+
webpackConfig.plugins = webpackConfig.plugins || [];
|
|
143
|
+
webpackConfig.plugins.push(new PuckCSSWebpackPlugin(resolvedOptions));
|
|
144
|
+
// Call existing webpack config if present
|
|
145
|
+
if (typeof nextConfig.webpack === 'function') {
|
|
146
|
+
return nextConfig.webpack(webpackConfig, context);
|
|
147
|
+
}
|
|
148
|
+
return webpackConfig;
|
|
149
|
+
},
|
|
150
|
+
};
|
|
151
|
+
};
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Get the URL path for the compiled CSS file
|
|
155
|
+
* Use this in your plugin configuration
|
|
156
|
+
*/
|
|
157
|
+
export function getPuckCSSPath(cssOutput) {
|
|
158
|
+
return `/${cssOutput ?? PUCK_CSS_OUTPUT_DEFAULT}`;
|
|
159
|
+
}
|
|
160
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/next/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Pages.d.ts","sourceRoot":"","sources":["../../../src/plugin/collections/Pages.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAU,gBAAgB,EAAS,MAAM,SAAS,CAAA;AAC9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"Pages.d.ts","sourceRoot":"","sources":["../../../src/plugin/collections/Pages.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAU,gBAAgB,EAAS,MAAM,SAAS,CAAA;AAC9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAkBpD;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,iBAAiB,GACzB,gBAAgB,CAuIlB;AAID,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { DEFAULT_LAYOUTS } from '../../layouts/defaults';
|
|
2
2
|
import { puckDataField, createEditorVersionField, createPageLayoutField, isHomepageField, seoFieldGroup, conversionFieldGroup, } from '../fields';
|
|
3
|
+
import { createIsHomepageUniqueHook } from '../hooks/isHomepageUnique';
|
|
3
4
|
/**
|
|
4
5
|
* Default access function - allows all
|
|
5
6
|
*/
|
|
@@ -100,6 +101,25 @@ export function generatePagesCollection(slug, options) {
|
|
|
100
101
|
delete: access.delete ?? defaultAccess,
|
|
101
102
|
...(collectionOverrides.access ?? {}),
|
|
102
103
|
},
|
|
104
|
+
hooks: {
|
|
105
|
+
// Properly merge hook arrays - don't let spread operator overwrite
|
|
106
|
+
beforeChange: [
|
|
107
|
+
createIsHomepageUniqueHook(),
|
|
108
|
+
...(collectionOverrides.hooks?.beforeChange ?? []),
|
|
109
|
+
],
|
|
110
|
+
beforeValidate: collectionOverrides.hooks?.beforeValidate,
|
|
111
|
+
beforeDelete: collectionOverrides.hooks?.beforeDelete,
|
|
112
|
+
beforeRead: collectionOverrides.hooks?.beforeRead,
|
|
113
|
+
afterChange: collectionOverrides.hooks?.afterChange,
|
|
114
|
+
afterDelete: collectionOverrides.hooks?.afterDelete,
|
|
115
|
+
afterRead: collectionOverrides.hooks?.afterRead,
|
|
116
|
+
afterOperation: collectionOverrides.hooks?.afterOperation,
|
|
117
|
+
afterForgotPassword: collectionOverrides.hooks?.afterForgotPassword,
|
|
118
|
+
afterLogin: collectionOverrides.hooks?.afterLogin,
|
|
119
|
+
afterLogout: collectionOverrides.hooks?.afterLogout,
|
|
120
|
+
afterRefresh: collectionOverrides.hooks?.afterRefresh,
|
|
121
|
+
afterMe: collectionOverrides.hooks?.afterMe,
|
|
122
|
+
},
|
|
103
123
|
versions: typeof collectionOverrides.versions === 'object'
|
|
104
124
|
? { drafts: true, ...collectionOverrides.versions }
|
|
105
125
|
: { drafts: true },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Pages.js","sourceRoot":"","sources":["../../../src/plugin/collections/Pages.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAExD,OAAO,EACL,aAAa,EACb,wBAAwB,EACxB,qBAAqB,EACrB,eAAe,EACf,aAAa,EACb,oBAAoB,GACrB,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"Pages.js","sourceRoot":"","sources":["../../../src/plugin/collections/Pages.ts"],"names":[],"mappings":"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"}
|
|
@@ -30,8 +30,8 @@
|
|
|
30
30
|
* }
|
|
31
31
|
* ```
|
|
32
32
|
*/
|
|
33
|
-
import type { Field } from 'payload';
|
|
34
|
-
import type { GetPuckFieldsOptions, ConversionTypeOption } from './types';
|
|
33
|
+
import type { CollectionConfig, Field } from 'payload';
|
|
34
|
+
import type { GetPuckFieldsOptions, GetPuckCollectionConfigOptions, ConversionTypeOption } from './types';
|
|
35
35
|
import type { LayoutDefinition } from '../../layouts/types';
|
|
36
36
|
/**
|
|
37
37
|
* Puck data field - stores the visual editor JSON data.
|
|
@@ -149,5 +149,45 @@ export declare const conversionFieldGroup: Field;
|
|
|
149
149
|
* ```
|
|
150
150
|
*/
|
|
151
151
|
export declare function getPuckFields(options?: GetPuckFieldsOptions): Field[];
|
|
152
|
-
|
|
152
|
+
/**
|
|
153
|
+
* Returns Puck-related fields AND hooks for hybrid collection integration.
|
|
154
|
+
*
|
|
155
|
+
* This is the recommended way to add Puck support to an existing collection
|
|
156
|
+
* when you need the isHomepage field, as it ensures the uniqueness hook is included.
|
|
157
|
+
*
|
|
158
|
+
* @param options - Configuration options for which fields and hooks to include
|
|
159
|
+
* @returns Object with fields array and hooks object to spread into your collection
|
|
160
|
+
*
|
|
161
|
+
* @example
|
|
162
|
+
* ```typescript
|
|
163
|
+
* import { getPuckCollectionConfig } from '@delmaredigital/payload-puck'
|
|
164
|
+
*
|
|
165
|
+
* const { fields, hooks } = getPuckCollectionConfig({
|
|
166
|
+
* includeIsHomepage: true,
|
|
167
|
+
* includeSEO: false,
|
|
168
|
+
* })
|
|
169
|
+
*
|
|
170
|
+
* export const Pages: CollectionConfig = {
|
|
171
|
+
* slug: 'pages',
|
|
172
|
+
* hooks: {
|
|
173
|
+
* ...hooks,
|
|
174
|
+
* // Your other hooks...
|
|
175
|
+
* beforeChange: [
|
|
176
|
+
* ...(hooks.beforeChange ?? []),
|
|
177
|
+
* // Your custom beforeChange hooks...
|
|
178
|
+
* ],
|
|
179
|
+
* },
|
|
180
|
+
* fields: [
|
|
181
|
+
* { name: 'title', type: 'text', required: true },
|
|
182
|
+
* { name: 'slug', type: 'text', required: true },
|
|
183
|
+
* ...fields,
|
|
184
|
+
* ],
|
|
185
|
+
* }
|
|
186
|
+
* ```
|
|
187
|
+
*/
|
|
188
|
+
export declare function getPuckCollectionConfig(options?: GetPuckCollectionConfigOptions): {
|
|
189
|
+
fields: Field[];
|
|
190
|
+
hooks: CollectionConfig['hooks'];
|
|
191
|
+
};
|
|
192
|
+
export type { GetPuckFieldsOptions, GetPuckCollectionConfigOptions, ConversionTypeOption } from './types';
|
|
153
193
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/plugin/fields/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/plugin/fields/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AACtD,OAAO,KAAK,EAAE,oBAAoB,EAAE,8BAA8B,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAEzG,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAQ3D;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,KAO3B,CAAA;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,wBAAwB,CACtC,YAAY,GAAE,QAAQ,GAAG,MAAe,EACxC,OAAO,GAAE,OAAc,EACvB,qBAAqB,GAAE,MAAiB,GACvC,KAAK,CA6CP;AAED;;;GAGG;AACH,eAAO,MAAM,kBAAkB,EAAE,KAA8C,CAAA;AAE/E;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,GAAE,gBAAgB,EAAoB,EAC7C,OAAO,GAAE,OAAc,GACtB,KAAK,CAYP;AAED;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,KAA+B,CAAA;AAE7D;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,KAQ7B,CAAA;AAMD;;;;;GAKG;AACH,eAAO,MAAM,aAAa,EAAE,KA6D3B,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,wBAAwB,EAAE,oBAAoB,EAQ1D,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,0BAA0B,CACxC,eAAe,GAAE,oBAAoB,EAA6B,EAClE,OAAO,GAAE,OAAc,GACtB,KAAK,CA0CP;AAED;;;GAGG;AACH,eAAO,MAAM,oBAAoB,EAAE,KAAoC,CAAA;AAMvE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,aAAa,CAAC,OAAO,GAAE,oBAAyB,GAAG,KAAK,EAAE,CA8CzE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,GAAE,8BAAmC,GAAG;IACrF,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,KAAK,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAA;CACjC,CAiBA;AAGD,YAAY,EAAE,oBAAoB,EAAE,8BAA8B,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA"}
|
|
@@ -30,6 +30,7 @@
|
|
|
30
30
|
* }
|
|
31
31
|
* ```
|
|
32
32
|
*/
|
|
33
|
+
import { createIsHomepageUniqueHook } from '../hooks/isHomepageUnique';
|
|
33
34
|
import { DEFAULT_LAYOUTS } from '../../layouts/defaults';
|
|
34
35
|
import { layoutsToPayloadOptions } from '../../layouts/utils';
|
|
35
36
|
// =============================================================================
|
|
@@ -361,4 +362,54 @@ export function getPuckFields(options = {}) {
|
|
|
361
362
|
}
|
|
362
363
|
return fields;
|
|
363
364
|
}
|
|
365
|
+
/**
|
|
366
|
+
* Returns Puck-related fields AND hooks for hybrid collection integration.
|
|
367
|
+
*
|
|
368
|
+
* This is the recommended way to add Puck support to an existing collection
|
|
369
|
+
* when you need the isHomepage field, as it ensures the uniqueness hook is included.
|
|
370
|
+
*
|
|
371
|
+
* @param options - Configuration options for which fields and hooks to include
|
|
372
|
+
* @returns Object with fields array and hooks object to spread into your collection
|
|
373
|
+
*
|
|
374
|
+
* @example
|
|
375
|
+
* ```typescript
|
|
376
|
+
* import { getPuckCollectionConfig } from '@delmaredigital/payload-puck'
|
|
377
|
+
*
|
|
378
|
+
* const { fields, hooks } = getPuckCollectionConfig({
|
|
379
|
+
* includeIsHomepage: true,
|
|
380
|
+
* includeSEO: false,
|
|
381
|
+
* })
|
|
382
|
+
*
|
|
383
|
+
* export const Pages: CollectionConfig = {
|
|
384
|
+
* slug: 'pages',
|
|
385
|
+
* hooks: {
|
|
386
|
+
* ...hooks,
|
|
387
|
+
* // Your other hooks...
|
|
388
|
+
* beforeChange: [
|
|
389
|
+
* ...(hooks.beforeChange ?? []),
|
|
390
|
+
* // Your custom beforeChange hooks...
|
|
391
|
+
* ],
|
|
392
|
+
* },
|
|
393
|
+
* fields: [
|
|
394
|
+
* { name: 'title', type: 'text', required: true },
|
|
395
|
+
* { name: 'slug', type: 'text', required: true },
|
|
396
|
+
* ...fields,
|
|
397
|
+
* ],
|
|
398
|
+
* }
|
|
399
|
+
* ```
|
|
400
|
+
*/
|
|
401
|
+
export function getPuckCollectionConfig(options = {}) {
|
|
402
|
+
const { includeHomepageHook = true, includeIsHomepage = false, ...fieldOptions } = options;
|
|
403
|
+
// Get the fields using the existing getPuckFields function
|
|
404
|
+
const fields = getPuckFields({ includeIsHomepage, ...fieldOptions });
|
|
405
|
+
// Build hooks object
|
|
406
|
+
const hooks = {};
|
|
407
|
+
// Add isHomepage uniqueness hook if:
|
|
408
|
+
// - includeIsHomepage is true (the field is being added)
|
|
409
|
+
// - includeHomepageHook is not explicitly false
|
|
410
|
+
if (includeIsHomepage && includeHomepageHook !== false) {
|
|
411
|
+
hooks.beforeChange = [createIsHomepageUniqueHook()];
|
|
412
|
+
}
|
|
413
|
+
return { fields, hooks };
|
|
414
|
+
}
|
|
364
415
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugin/fields/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugin/fields/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -105,4 +105,37 @@ export interface GetPuckFieldsOptions {
|
|
|
105
105
|
*/
|
|
106
106
|
conversionTypeOptions?: ConversionTypeOption[];
|
|
107
107
|
}
|
|
108
|
+
/**
|
|
109
|
+
* Options for getPuckCollectionConfig() utility function
|
|
110
|
+
*
|
|
111
|
+
* Extends GetPuckFieldsOptions with hook configuration for hybrid collection integration.
|
|
112
|
+
* Returns both fields AND hooks so you don't have to manually configure the isHomepage hook.
|
|
113
|
+
*
|
|
114
|
+
* @example
|
|
115
|
+
* ```typescript
|
|
116
|
+
* import { getPuckCollectionConfig } from '@delmaredigital/payload-puck'
|
|
117
|
+
*
|
|
118
|
+
* const { fields, hooks } = getPuckCollectionConfig({
|
|
119
|
+
* includeIsHomepage: true,
|
|
120
|
+
* includeSEO: false,
|
|
121
|
+
* })
|
|
122
|
+
*
|
|
123
|
+
* const Pages: CollectionConfig = {
|
|
124
|
+
* slug: 'pages',
|
|
125
|
+
* hooks,
|
|
126
|
+
* fields: [
|
|
127
|
+
* { name: 'title', type: 'text', required: true },
|
|
128
|
+
* ...fields,
|
|
129
|
+
* ],
|
|
130
|
+
* }
|
|
131
|
+
* ```
|
|
132
|
+
*/
|
|
133
|
+
export interface GetPuckCollectionConfigOptions extends GetPuckFieldsOptions {
|
|
134
|
+
/**
|
|
135
|
+
* Include isHomepage uniqueness hook in returned hooks.
|
|
136
|
+
* Only takes effect when includeIsHomepage is true.
|
|
137
|
+
* @default true (when includeIsHomepage is true)
|
|
138
|
+
*/
|
|
139
|
+
includeHomepageHook?: boolean;
|
|
140
|
+
}
|
|
108
141
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/plugin/fields/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAE3D;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;CACd;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;IAEpB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAE3B;;;OAGG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAE9B;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAE3B;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAE3B;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAA;IAE5B;;;OAGG;IACH,oBAAoB,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAA;IAExC;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAE9B;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAA;IAEzB;;;;;;;;;;;;;;;OAeG;IACH,qBAAqB,CAAC,EAAE,oBAAoB,EAAE,CAAA;CAC/C"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/plugin/fields/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAE3D;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;CACd;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;IAEpB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAE3B;;;OAGG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAE9B;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAE3B;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAE3B;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAA;IAE5B;;;OAGG;IACH,oBAAoB,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAA;IAExC;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAE9B;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAA;IAEzB;;;;;;;;;;;;;;;OAeG;IACH,qBAAqB,CAAC,EAAE,oBAAoB,EAAE,CAAA;CAC/C;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,WAAW,8BAA+B,SAAQ,oBAAoB;IAC1E;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAA;CAC9B"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Puck Plugin Hooks
|
|
3
|
+
*
|
|
4
|
+
* Reusable Payload hooks for Puck-enabled collections.
|
|
5
|
+
*/
|
|
6
|
+
export { createIsHomepageUniqueHook, unsetHomepage, HomepageConflictError, type IsHomepageUniqueHookOptions, type ExistingHomepageInfo, } from './isHomepageUnique';
|
|
7
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/plugin/hooks/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,0BAA0B,EAC1B,aAAa,EACb,qBAAqB,EACrB,KAAK,2BAA2B,EAChC,KAAK,oBAAoB,GAC1B,MAAM,oBAAoB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugin/hooks/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,0BAA0B,EAC1B,aAAa,EACb,qBAAqB,GAGtB,MAAM,oBAAoB,CAAA"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import type { CollectionBeforeChangeHook } from 'payload';
|
|
2
|
+
import { APIError } from 'payload';
|
|
3
|
+
/**
|
|
4
|
+
* Information about an existing homepage page
|
|
5
|
+
*/
|
|
6
|
+
export interface ExistingHomepageInfo {
|
|
7
|
+
id: string;
|
|
8
|
+
title: string;
|
|
9
|
+
slug: string;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Error thrown when attempting to set a second page as homepage.
|
|
13
|
+
* Contains information about the existing homepage for client-side handling.
|
|
14
|
+
*/
|
|
15
|
+
export declare class HomepageConflictError extends APIError {
|
|
16
|
+
existingHomepage: ExistingHomepageInfo;
|
|
17
|
+
constructor(existingHomepage: ExistingHomepageInfo);
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Options for the isHomepage uniqueness hook
|
|
21
|
+
*/
|
|
22
|
+
export interface IsHomepageUniqueHookOptions {
|
|
23
|
+
/**
|
|
24
|
+
* Collection slug to query for existing homepage.
|
|
25
|
+
* Defaults to the current collection.
|
|
26
|
+
*/
|
|
27
|
+
collectionSlug?: string;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Creates a beforeChange hook that ensures only one page can have isHomepage: true.
|
|
31
|
+
*
|
|
32
|
+
* When a user tries to set isHomepage to true on a page, this hook:
|
|
33
|
+
* 1. Checks if another page already has isHomepage: true
|
|
34
|
+
* 2. If found, throws a HomepageConflictError with the existing page info
|
|
35
|
+
* 3. The client can then prompt the user to swap homepages
|
|
36
|
+
*
|
|
37
|
+
* @example
|
|
38
|
+
* ```typescript
|
|
39
|
+
* import { createIsHomepageUniqueHook } from '@delmaredigital/payload-puck/plugin'
|
|
40
|
+
*
|
|
41
|
+
* const Pages: CollectionConfig = {
|
|
42
|
+
* slug: 'pages',
|
|
43
|
+
* hooks: {
|
|
44
|
+
* beforeChange: [createIsHomepageUniqueHook()],
|
|
45
|
+
* },
|
|
46
|
+
* fields: [...],
|
|
47
|
+
* }
|
|
48
|
+
* ```
|
|
49
|
+
*/
|
|
50
|
+
export declare function createIsHomepageUniqueHook(options?: IsHomepageUniqueHookOptions): CollectionBeforeChangeHook;
|
|
51
|
+
/**
|
|
52
|
+
* Unsets isHomepage on the specified page.
|
|
53
|
+
* Used when swapping homepages.
|
|
54
|
+
*/
|
|
55
|
+
export declare function unsetHomepage(payload: any, collectionSlug: string, pageId: string): Promise<void>;
|
|
56
|
+
//# sourceMappingURL=isHomepageUnique.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isHomepageUnique.d.ts","sourceRoot":"","sources":["../../../src/plugin/hooks/isHomepageUnique.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAA;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAElC;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;CACb;AAED;;;GAGG;AACH,qBAAa,qBAAsB,SAAQ,QAAQ;IACjD,gBAAgB,EAAE,oBAAoB,CAAA;gBAE1B,gBAAgB,EAAE,oBAAoB;CAWnD;AAED;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,GAAE,2BAAgC,GACxC,0BAA0B,CAgD5B;AAED;;;GAGG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,GAAG,EACZ,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,CAYf"}
|