@delmaredigital/payload-puck 0.6.3 → 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.
Files changed (69) hide show
  1. package/README.md +44 -2
  2. package/dist/api/createPuckApiRoutesWithId.d.ts.map +1 -1
  3. package/dist/api/createPuckApiRoutesWithId.js +29 -1
  4. package/dist/api/createPuckApiRoutesWithId.js.map +1 -1
  5. package/dist/api/types.d.ts +10 -0
  6. package/dist/api/types.d.ts.map +1 -1
  7. package/dist/editor/PuckEditor.d.ts.map +1 -1
  8. package/dist/editor/PuckEditor.js +15 -2
  9. package/dist/editor/PuckEditor.js.map +1 -1
  10. package/dist/editor/PuckEditorImpl.client.d.ts.map +1 -1
  11. package/dist/editor/PuckEditorImpl.client.js +72 -39
  12. package/dist/editor/PuckEditorImpl.client.js.map +1 -1
  13. package/dist/editor/components/DarkModeStyles.d.ts.map +1 -1
  14. package/dist/editor/components/DarkModeStyles.js +31 -3
  15. package/dist/editor/components/DarkModeStyles.js.map +1 -1
  16. package/dist/editor/components/IframeWrapper.d.ts.map +1 -1
  17. package/dist/editor/components/IframeWrapper.js +44 -7
  18. package/dist/editor/components/IframeWrapper.js.map +1 -1
  19. package/dist/endpoints/ai.d.ts.map +1 -1
  20. package/dist/endpoints/ai.js +2 -104
  21. package/dist/endpoints/ai.js.map +1 -1
  22. package/dist/endpoints/index.d.ts +1 -1
  23. package/dist/endpoints/index.d.ts.map +1 -1
  24. package/dist/endpoints/index.js +42 -2
  25. package/dist/endpoints/index.js.map +1 -1
  26. package/dist/fields/TemplateField.d.ts.map +1 -1
  27. package/dist/fields/TemplateField.js +5 -26
  28. package/dist/fields/TemplateField.js.map +1 -1
  29. package/dist/fields/richtext/controls/ColorPickerControl.d.ts.map +1 -1
  30. package/dist/fields/richtext/controls/ColorPickerControl.js +2 -1
  31. package/dist/fields/richtext/controls/ColorPickerControl.js.map +1 -1
  32. package/dist/fields/richtext/controls/FontSizeControl.d.ts.map +1 -1
  33. package/dist/fields/richtext/controls/FontSizeControl.js +3 -1
  34. package/dist/fields/richtext/controls/FontSizeControl.js.map +1 -1
  35. package/dist/fields/richtext/controls/HighlightControl.d.ts.map +1 -1
  36. package/dist/fields/richtext/controls/HighlightControl.js +2 -1
  37. package/dist/fields/richtext/controls/HighlightControl.js.map +1 -1
  38. package/dist/fields/richtext/controls/shared.d.ts +31 -0
  39. package/dist/fields/richtext/controls/shared.d.ts.map +1 -1
  40. package/dist/fields/richtext/controls/shared.js +58 -2
  41. package/dist/fields/richtext/controls/shared.js.map +1 -1
  42. package/dist/plugin/collections/Pages.d.ts.map +1 -1
  43. package/dist/plugin/collections/Pages.js +20 -0
  44. package/dist/plugin/collections/Pages.js.map +1 -1
  45. package/dist/plugin/fields/index.d.ts +43 -3
  46. package/dist/plugin/fields/index.d.ts.map +1 -1
  47. package/dist/plugin/fields/index.js +51 -0
  48. package/dist/plugin/fields/index.js.map +1 -1
  49. package/dist/plugin/fields/types.d.ts +33 -0
  50. package/dist/plugin/fields/types.d.ts.map +1 -1
  51. package/dist/plugin/hooks/index.d.ts +7 -0
  52. package/dist/plugin/hooks/index.d.ts.map +1 -0
  53. package/dist/plugin/hooks/index.js +7 -0
  54. package/dist/plugin/hooks/index.js.map +1 -0
  55. package/dist/plugin/hooks/isHomepageUnique.d.ts +56 -0
  56. package/dist/plugin/hooks/isHomepageUnique.d.ts.map +1 -0
  57. package/dist/plugin/hooks/isHomepageUnique.js +93 -0
  58. package/dist/plugin/hooks/isHomepageUnique.js.map +1 -0
  59. package/dist/plugin/index.d.ts +4 -2
  60. package/dist/plugin/index.d.ts.map +1 -1
  61. package/dist/plugin/index.js +19 -2
  62. package/dist/plugin/index.js.map +1 -1
  63. package/dist/version.d.ts +1 -1
  64. package/dist/version.js +1 -1
  65. package/dist/views/PuckConfigContext.d.ts +34 -2
  66. package/dist/views/PuckConfigContext.d.ts.map +1 -1
  67. package/dist/views/PuckConfigContext.js +2 -2
  68. package/dist/views/PuckConfigContext.js.map +1 -1
  69. package/package.json +1 -1
@@ -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"}
@@ -0,0 +1,93 @@
1
+ import { APIError } from 'payload';
2
+ /**
3
+ * Error thrown when attempting to set a second page as homepage.
4
+ * Contains information about the existing homepage for client-side handling.
5
+ */
6
+ export class HomepageConflictError extends APIError {
7
+ existingHomepage;
8
+ constructor(existingHomepage) {
9
+ super(`Another page is already set as homepage: "${existingHomepage.title}" (/${existingHomepage.slug})`, 400,
10
+ // Pass existingHomepage in the data parameter so it appears in the API response
11
+ { existingHomepage }, true // isPublic - allows the message to be shown to the client
12
+ );
13
+ this.name = 'HomepageConflictError';
14
+ this.existingHomepage = existingHomepage;
15
+ }
16
+ }
17
+ /**
18
+ * Creates a beforeChange hook that ensures only one page can have isHomepage: true.
19
+ *
20
+ * When a user tries to set isHomepage to true on a page, this hook:
21
+ * 1. Checks if another page already has isHomepage: true
22
+ * 2. If found, throws a HomepageConflictError with the existing page info
23
+ * 3. The client can then prompt the user to swap homepages
24
+ *
25
+ * @example
26
+ * ```typescript
27
+ * import { createIsHomepageUniqueHook } from '@delmaredigital/payload-puck/plugin'
28
+ *
29
+ * const Pages: CollectionConfig = {
30
+ * slug: 'pages',
31
+ * hooks: {
32
+ * beforeChange: [createIsHomepageUniqueHook()],
33
+ * },
34
+ * fields: [...],
35
+ * }
36
+ * ```
37
+ */
38
+ export function createIsHomepageUniqueHook(options = {}) {
39
+ return async ({ data, originalDoc, req, collection, context }) => {
40
+ // Skip if explicitly bypassed (used during homepage swap)
41
+ if (context?.skipIsHomepageHook) {
42
+ return data;
43
+ }
44
+ // Only check if isHomepage is being set to true
45
+ const isSettingHomepage = data?.isHomepage === true;
46
+ const wasHomepage = originalDoc?.isHomepage === true;
47
+ // Skip if not setting as homepage, or if it was already homepage
48
+ if (!isSettingHomepage || wasHomepage) {
49
+ return data;
50
+ }
51
+ const collectionSlug = options.collectionSlug || collection.slug;
52
+ // Query for existing homepage (excluding current document)
53
+ const existingHomepage = await req.payload.find({
54
+ collection: collectionSlug,
55
+ where: {
56
+ and: [
57
+ { isHomepage: { equals: true } },
58
+ // Exclude current document if it has an ID
59
+ ...(originalDoc?.id ? [{ id: { not_equals: originalDoc.id } }] : []),
60
+ ],
61
+ },
62
+ limit: 1,
63
+ depth: 0,
64
+ });
65
+ if (existingHomepage.docs.length > 0) {
66
+ const existing = existingHomepage.docs[0];
67
+ throw new HomepageConflictError({
68
+ id: String(existing.id),
69
+ title: existing.title || 'Untitled',
70
+ slug: existing.slug || '',
71
+ });
72
+ }
73
+ return data;
74
+ };
75
+ }
76
+ /**
77
+ * Unsets isHomepage on the specified page.
78
+ * Used when swapping homepages.
79
+ */
80
+ export async function unsetHomepage(payload, collectionSlug, pageId) {
81
+ await payload.update({
82
+ collection: collectionSlug,
83
+ id: pageId,
84
+ data: {
85
+ isHomepage: false,
86
+ },
87
+ // Skip hooks to avoid infinite loops
88
+ context: {
89
+ skipIsHomepageHook: true,
90
+ },
91
+ });
92
+ }
93
+ //# sourceMappingURL=isHomepageUnique.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isHomepageUnique.js","sourceRoot":"","sources":["../../../src/plugin/hooks/isHomepageUnique.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAWlC;;;GAGG;AACH,MAAM,OAAO,qBAAsB,SAAQ,QAAQ;IACjD,gBAAgB,CAAsB;IAEtC,YAAY,gBAAsC;QAChD,KAAK,CACH,6CAA6C,gBAAgB,CAAC,KAAK,OAAO,gBAAgB,CAAC,IAAI,GAAG,EAClG,GAAG;QACH,gFAAgF;QAChF,EAAE,gBAAgB,EAAE,EACpB,IAAI,CAAC,0DAA0D;SAChE,CAAA;QACD,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAA;QACnC,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAA;IAC1C,CAAC;CACF;AAaD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,0BAA0B,CACxC,UAAuC,EAAE;IAEzC,OAAO,KAAK,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE,EAAE;QAC/D,0DAA0D;QAC1D,IAAI,OAAO,EAAE,kBAAkB,EAAE,CAAC;YAChC,OAAO,IAAI,CAAA;QACb,CAAC;QAED,gDAAgD;QAChD,MAAM,iBAAiB,GAAG,IAAI,EAAE,UAAU,KAAK,IAAI,CAAA;QACnD,MAAM,WAAW,GAAG,WAAW,EAAE,UAAU,KAAK,IAAI,CAAA;QAEpD,iEAAiE;QACjE,IAAI,CAAC,iBAAiB,IAAI,WAAW,EAAE,CAAC;YACtC,OAAO,IAAI,CAAA;QACb,CAAC;QAED,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,UAAU,CAAC,IAAI,CAAA;QAEhE,2DAA2D;QAC3D,MAAM,gBAAgB,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC;YAC9C,UAAU,EAAE,cAAc;YAC1B,KAAK,EAAE;gBACL,GAAG,EAAE;oBACH,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;oBAChC,2CAA2C;oBAC3C,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;iBACrE;aACF;YACD,KAAK,EAAE,CAAC;YACR,KAAK,EAAE,CAAC;SACT,CAAC,CAAA;QAEF,IAAI,gBAAgB,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrC,MAAM,QAAQ,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAIvC,CAAA;YAED,MAAM,IAAI,qBAAqB,CAAC;gBAC9B,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACvB,KAAK,EAAE,QAAQ,CAAC,KAAK,IAAI,UAAU;gBACnC,IAAI,EAAE,QAAQ,CAAC,IAAI,IAAI,EAAE;aAC1B,CAAC,CAAA;QACJ,CAAC;QAED,OAAO,IAAI,CAAA;IACb,CAAC,CAAA;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,OAAY,EACZ,cAAsB,EACtB,MAAc;IAEd,MAAM,OAAO,CAAC,MAAM,CAAC;QACnB,UAAU,EAAE,cAAc;QAC1B,EAAE,EAAE,MAAM;QACV,IAAI,EAAE;YACJ,UAAU,EAAE,KAAK;SAClB;QACD,qCAAqC;QACrC,OAAO,EAAE;YACP,kBAAkB,EAAE,IAAI;SACzB;KACF,CAAC,CAAA;AACJ,CAAC"}
@@ -40,9 +40,11 @@ declare function generatePuckEditField(collectionSlug: string, adminConfig?: Puc
40
40
  export declare function createPuckPlugin(options?: PuckPluginOptions): Plugin;
41
41
  export { generatePagesCollection } from './collections/Pages';
42
42
  export { TemplatesCollection } from '../collections/Templates';
43
- export { getPuckFields, puckDataField, editorVersionField, createEditorVersionField, pageLayoutField, createPageLayoutField, isHomepageField, seoFieldGroup, conversionFieldGroup, } from './fields';
43
+ export { getPuckFields, getPuckCollectionConfig, puckDataField, editorVersionField, createEditorVersionField, pageLayoutField, createPageLayoutField, isHomepageField, seoFieldGroup, conversionFieldGroup, } from './fields';
44
44
  export { generatePuckEditField };
45
45
  export { PUCK_STYLES_ENDPOINT } from '../endpoints/styles.js';
46
+ export { createIsHomepageUniqueHook, unsetHomepage, HomepageConflictError, } from './hooks';
47
+ export type { IsHomepageUniqueHookOptions } from './hooks';
46
48
  export type { PuckPluginOptions, PuckAdminConfig } from '../types';
47
- export type { GetPuckFieldsOptions } from './fields/types';
49
+ export type { GetPuckFieldsOptions, GetPuckCollectionConfigOptions } from './fields/types';
48
50
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/plugin/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA6C,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AACvF,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAA8B,MAAM,UAAU,CAAA;AA2E9F;;GAEG;AACH,iBAAS,qBAAqB,CAC5B,cAAc,EAAE,MAAM,EACtB,WAAW,GAAE,eAAoB,GAChC,KAAK,CAyBP;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,GAAE,iBAAsB,GAAG,MAAM,CAwUxE;AAGD,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAA;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAG9D,OAAO,EACL,aAAa,EACb,aAAa,EACb,kBAAkB,EAClB,wBAAwB,EACxB,eAAe,EACf,qBAAqB,EACrB,eAAe,EACf,aAAa,EACb,oBAAoB,GACrB,MAAM,UAAU,CAAA;AAGjB,OAAO,EAAE,qBAAqB,EAAE,CAAA;AAGhC,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAG7D,YAAY,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAClE,YAAY,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/plugin/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA6C,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AACvF,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAA8B,MAAM,UAAU,CAAA;AA4E9F;;GAEG;AACH,iBAAS,qBAAqB,CAC5B,cAAc,EAAE,MAAM,EACtB,WAAW,GAAE,eAAoB,GAChC,KAAK,CAyBP;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,GAAE,iBAAsB,GAAG,MAAM,CAwVxE;AAGD,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAA;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAG9D,OAAO,EACL,aAAa,EACb,uBAAuB,EACvB,aAAa,EACb,kBAAkB,EAClB,wBAAwB,EACxB,eAAe,EACf,qBAAqB,EACrB,eAAe,EACf,aAAa,EACb,oBAAoB,GACrB,MAAM,UAAU,CAAA;AAGjB,OAAO,EAAE,qBAAqB,EAAE,CAAA;AAGhC,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAG7D,OAAO,EACL,0BAA0B,EAC1B,aAAa,EACb,qBAAqB,GACtB,MAAM,SAAS,CAAA;AAChB,YAAY,EAAE,2BAA2B,EAAE,MAAM,SAAS,CAAA;AAG1D,YAAY,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAClE,YAAY,EAAE,oBAAoB,EAAE,8BAA8B,EAAE,MAAM,gBAAgB,CAAA"}
@@ -3,6 +3,7 @@ import { TemplatesCollection } from '../collections/Templates';
3
3
  import { AiPromptsCollection } from '../ai/collections/AiPrompts.js';
4
4
  import { AiContextCollection } from '../ai/collections/AiContext.js';
5
5
  import { getPuckFields } from './fields';
6
+ import { createIsHomepageUniqueHook } from './hooks/isHomepageUnique';
6
7
  import { createListHandler, createCreateHandler, createGetHandler, createUpdateHandler, createDeleteHandler, createVersionsHandler, createRestoreHandler, } from '../endpoints/index.js';
7
8
  import { createStylesHandler, PUCK_STYLES_ENDPOINT } from '../endpoints/styles.js';
8
9
  import { createAiEndpointHandler } from '../endpoints/ai.js';
@@ -175,6 +176,8 @@ export function createPuckPlugin(options = {}) {
175
176
  const existingCollection = collections[existingCollectionIndex];
176
177
  const existingFields = existingCollection.fields || [];
177
178
  const existingFieldNames = getExistingFieldNames(existingFields);
179
+ // Determine if isHomepage should be added
180
+ const shouldAddIsHomepage = !existingFieldNames.has('isHomepage');
178
181
  // Get Puck-specific fields (not the full collection with title/slug)
179
182
  // This avoids duplicating fields the user may have already defined
180
183
  const puckFields = getPuckFields({
@@ -182,13 +185,24 @@ export function createPuckPlugin(options = {}) {
182
185
  includeConversion: !existingFieldNames.has('conversionTracking'),
183
186
  includeEditorVersion: !existingFieldNames.has('editorVersion'),
184
187
  includePageLayout: !existingFieldNames.has('pageLayout'),
185
- includeIsHomepage: !existingFieldNames.has('isHomepage'),
188
+ includeIsHomepage: shouldAddIsHomepage,
186
189
  layouts: options.layouts,
187
190
  });
188
191
  // Filter out any remaining duplicates (e.g., puckData if user already has it)
189
192
  const fieldsToAdd = filterExistingFields(puckFields, existingFieldNames);
190
193
  // Only add edit button if puckEdit doesn't exist
191
194
  const editFieldsToAdd = existingFieldNames.has('puckEdit') ? [] : editButtonField;
195
+ // Merge hooks - add isHomepage uniqueness hook if we're adding the field
196
+ const existingHooks = existingCollection.hooks || {};
197
+ const mergedHooks = shouldAddIsHomepage
198
+ ? {
199
+ ...existingHooks,
200
+ beforeChange: [
201
+ createIsHomepageUniqueHook(),
202
+ ...(existingHooks.beforeChange ?? []),
203
+ ],
204
+ }
205
+ : existingHooks;
192
206
  collections = [
193
207
  ...collections.slice(0, existingCollectionIndex),
194
208
  {
@@ -197,6 +211,7 @@ export function createPuckPlugin(options = {}) {
197
211
  versions: typeof existingCollection.versions === 'object'
198
212
  ? { drafts: true, ...existingCollection.versions }
199
213
  : existingCollection.versions ?? { drafts: true },
214
+ hooks: mergedHooks,
200
215
  fields: [
201
216
  ...existingFields,
202
217
  ...fieldsToAdd,
@@ -402,9 +417,11 @@ export function createPuckPlugin(options = {}) {
402
417
  export { generatePagesCollection } from './collections/Pages';
403
418
  export { TemplatesCollection } from '../collections/Templates';
404
419
  // Re-export field utilities for hybrid collection integration
405
- export { getPuckFields, puckDataField, editorVersionField, createEditorVersionField, pageLayoutField, createPageLayoutField, isHomepageField, seoFieldGroup, conversionFieldGroup, } from './fields';
420
+ export { getPuckFields, getPuckCollectionConfig, puckDataField, editorVersionField, createEditorVersionField, pageLayoutField, createPageLayoutField, isHomepageField, seoFieldGroup, conversionFieldGroup, } from './fields';
406
421
  // Export the edit button generator for hybrid collections
407
422
  export { generatePuckEditField };
408
423
  // Export styles endpoint constant
409
424
  export { PUCK_STYLES_ENDPOINT } from '../endpoints/styles.js';
425
+ // Re-export hooks for hybrid collection integration
426
+ export { createIsHomepageUniqueHook, unsetHomepage, HomepageConflictError, } from './hooks';
410
427
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/plugin/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/plugin/index.ts"],"names":[],"mappings":"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"}
package/dist/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "0.6.3";
1
+ export declare const VERSION = "0.6.4";
2
2
  //# sourceMappingURL=version.d.ts.map
package/dist/version.js CHANGED
@@ -1,3 +1,3 @@
1
1
  // Auto-generated by scripts/generate-version.js - do not edit manually
2
- export const VERSION = '0.6.3';
2
+ export const VERSION = '0.6.4';
3
3
  //# sourceMappingURL=version.js.map
@@ -21,7 +21,7 @@
21
21
  * ```
22
22
  */
23
23
  import { type ReactNode } from 'react';
24
- import type { Config as PuckConfig } from '@puckeditor/core';
24
+ import type { Config as PuckConfig, Plugin as PuckPlugin } from '@puckeditor/core';
25
25
  import type { LayoutDefinition } from '../layouts/index.js';
26
26
  import type { ThemeConfig } from '../theme/index.js';
27
27
  export interface PuckConfigContextValue {
@@ -37,6 +37,22 @@ export interface PuckConfigContextValue {
37
37
  * Theme configuration for component styling
38
38
  */
39
39
  theme?: ThemeConfig;
40
+ /**
41
+ * Additional Puck plugins to use in the editor.
42
+ * These plugins will be merged with the default plugins (heading analyzer, version history).
43
+ * Use this to add custom plugin rail panels for your specific use cases.
44
+ *
45
+ * @example
46
+ * ```tsx
47
+ * import { createGalleryPickerPlugin } from '@/puck/plugins'
48
+ *
49
+ * <PuckConfigProvider
50
+ * config={editorConfig}
51
+ * plugins={[createGalleryPickerPlugin()]}
52
+ * >
53
+ * ```
54
+ */
55
+ plugins?: PuckPlugin[];
40
56
  /**
41
57
  * Stylesheet URLs to inject into the editor iframe.
42
58
  * Use this to provide your frontend CSS (Tailwind, CSS variables, etc.)
@@ -79,6 +95,22 @@ export interface PuckConfigProviderProps {
79
95
  * Theme configuration for component styling
80
96
  */
81
97
  theme?: ThemeConfig;
98
+ /**
99
+ * Additional Puck plugins to use in the editor.
100
+ * These plugins will be merged with the default plugins (heading analyzer, version history).
101
+ * Use this to add custom plugin rail panels for your specific use cases.
102
+ *
103
+ * @example
104
+ * ```tsx
105
+ * import { createGalleryPickerPlugin } from '@/puck/plugins'
106
+ *
107
+ * <PuckConfigProvider
108
+ * config={editorConfig}
109
+ * plugins={[createGalleryPickerPlugin()]}
110
+ * >
111
+ * ```
112
+ */
113
+ plugins?: PuckPlugin[];
82
114
  /**
83
115
  * Stylesheet URLs to inject into the editor iframe.
84
116
  * Use this to provide your frontend CSS (Tailwind, CSS variables, etc.)
@@ -114,7 +146,7 @@ export interface PuckConfigProviderProps {
114
146
  /**
115
147
  * Provider component that makes Puck configuration available to the editor
116
148
  */
117
- export declare function PuckConfigProvider({ config, layouts, theme, editorStylesheets, editorCss, children, }: PuckConfigProviderProps): import("react/jsx-runtime").JSX.Element;
149
+ export declare function PuckConfigProvider({ config, layouts, theme, plugins, editorStylesheets, editorCss, children, }: PuckConfigProviderProps): import("react/jsx-runtime").JSX.Element;
118
150
  /**
119
151
  * Hook to access the Puck configuration
120
152
  *
@@ -1 +1 @@
1
- {"version":3,"file":"PuckConfigContext.d.ts","sourceRoot":"","sources":["../../src/views/PuckConfigContext.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAsC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAC1E,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAEpD,MAAM,WAAW,sBAAsB;IACrC;;OAEG;IACH,MAAM,EAAE,UAAU,GAAG,IAAI,CAAA;IACzB;;OAEG;IACH,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAA;IAC5B;;OAEG;IACH,KAAK,CAAC,EAAE,WAAW,CAAA;IACnB;;;;;;;;;;;;OAYG;IACH,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC5B;;;;;;;;;;;OAWG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,QAAA,MAAM,iBAAiB,iDAErB,CAAA;AAEF,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,MAAM,EAAE,UAAU,CAAA;IAClB;;OAEG;IACH,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAA;IAC5B;;OAEG;IACH,KAAK,CAAC,EAAE,WAAW,CAAA;IACnB;;;;;;;;;;;;OAYG;IACH,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC5B;;;;;;;;;;;OAWG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;OAEG;IACH,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,MAAM,EACN,OAAO,EACP,KAAK,EACL,iBAAiB,EACjB,SAAS,EACT,QAAQ,GACT,EAAE,uBAAuB,2CAazB;AAED;;;;GAIG;AACH,wBAAgB,aAAa,IAAI,sBAAsB,CAGtD;AAED,eAAe,iBAAiB,CAAA"}
1
+ {"version":3,"file":"PuckConfigContext.d.ts","sourceRoot":"","sources":["../../src/views/PuckConfigContext.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAsC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAC1E,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAClF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAEpD,MAAM,WAAW,sBAAsB;IACrC;;OAEG;IACH,MAAM,EAAE,UAAU,GAAG,IAAI,CAAA;IACzB;;OAEG;IACH,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAA;IAC5B;;OAEG;IACH,KAAK,CAAC,EAAE,WAAW,CAAA;IACnB;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,EAAE,UAAU,EAAE,CAAA;IACtB;;;;;;;;;;;;OAYG;IACH,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC5B;;;;;;;;;;;OAWG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,QAAA,MAAM,iBAAiB,iDAErB,CAAA;AAEF,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,MAAM,EAAE,UAAU,CAAA;IAClB;;OAEG;IACH,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAA;IAC5B;;OAEG;IACH,KAAK,CAAC,EAAE,WAAW,CAAA;IACnB;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,EAAE,UAAU,EAAE,CAAA;IACtB;;;;;;;;;;;;OAYG;IACH,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC5B;;;;;;;;;;;OAWG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;OAEG;IACH,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,MAAM,EACN,OAAO,EACP,KAAK,EACL,OAAO,EACP,iBAAiB,EACjB,SAAS,EACT,QAAQ,GACT,EAAE,uBAAuB,2CAazB;AAED;;;;GAIG;AACH,wBAAgB,aAAa,IAAI,sBAAsB,CAGtD;AAED,eAAe,iBAAiB,CAAA"}
@@ -29,10 +29,10 @@ const PuckConfigContext = createContext({
29
29
  /**
30
30
  * Provider component that makes Puck configuration available to the editor
31
31
  */
32
- export function PuckConfigProvider({ config, layouts, theme, editorStylesheets, editorCss, children, }) {
32
+ export function PuckConfigProvider({ config, layouts, theme, plugins, editorStylesheets, editorCss, children, }) {
33
33
  // Memoize context value to prevent unnecessary re-renders of consumers
34
34
  // when the provider re-renders but the values haven't changed
35
- const contextValue = useMemo(() => ({ config, layouts, theme, editorStylesheets, editorCss }), [config, layouts, theme, editorStylesheets, editorCss]);
35
+ const contextValue = useMemo(() => ({ config, layouts, theme, plugins, editorStylesheets, editorCss }), [config, layouts, theme, plugins, editorStylesheets, editorCss]);
36
36
  return (_jsx(PuckConfigContext.Provider, { value: contextValue, children: children }));
37
37
  }
38
38
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"PuckConfigContext.js","sourceRoot":"","sources":["../../src/views/PuckConfigContext.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,EAAkB,MAAM,OAAO,CAAA;AA+C1E,MAAM,iBAAiB,GAAG,aAAa,CAAyB;IAC9D,MAAM,EAAE,IAAI;CACb,CAAC,CAAA;AAgDF;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,EACjC,MAAM,EACN,OAAO,EACP,KAAK,EACL,iBAAiB,EACjB,SAAS,EACT,QAAQ,GACgB;IACxB,uEAAuE;IACvE,8DAA8D;IAC9D,MAAM,YAAY,GAAG,OAAO,CAC1B,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,SAAS,EAAE,CAAC,EAChE,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,SAAS,CAAC,CACvD,CAAA;IAED,OAAO,CACL,KAAC,iBAAiB,CAAC,QAAQ,IAAC,KAAK,EAAE,YAAY,YAC5C,QAAQ,GACkB,CAC9B,CAAA;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa;IAC3B,MAAM,OAAO,GAAG,UAAU,CAAC,iBAAiB,CAAC,CAAA;IAC7C,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,eAAe,iBAAiB,CAAA"}
1
+ {"version":3,"file":"PuckConfigContext.js","sourceRoot":"","sources":["../../src/views/PuckConfigContext.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,EAAkB,MAAM,OAAO,CAAA;AA+D1E,MAAM,iBAAiB,GAAG,aAAa,CAAyB;IAC9D,MAAM,EAAE,IAAI;CACb,CAAC,CAAA;AAgEF;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,EACjC,MAAM,EACN,OAAO,EACP,KAAK,EACL,OAAO,EACP,iBAAiB,EACjB,SAAS,EACT,QAAQ,GACgB;IACxB,uEAAuE;IACvE,8DAA8D;IAC9D,MAAM,YAAY,GAAG,OAAO,CAC1B,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,CAAC,EACzE,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,iBAAiB,EAAE,SAAS,CAAC,CAChE,CAAA;IAED,OAAO,CACL,KAAC,iBAAiB,CAAC,QAAQ,IAAC,KAAK,EAAE,YAAY,YAC5C,QAAQ,GACkB,CAC9B,CAAA;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa;IAC3B,MAAM,OAAO,GAAG,UAAU,CAAC,iBAAiB,CAAC,CAAA;IAC7C,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,eAAe,iBAAiB,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@delmaredigital/payload-puck",
3
- "version": "0.6.3",
3
+ "version": "0.6.4",
4
4
  "description": "Puck visual page builder plugin for Payload CMS",
5
5
  "type": "module",
6
6
  "license": "MIT",