canopycms 0.0.47 → 0.0.48

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/dist/api/content.d.ts +3 -0
  2. package/dist/api/content.d.ts.map +1 -1
  3. package/dist/api/content.js +37 -2
  4. package/dist/api/content.js.map +1 -1
  5. package/dist/cli/cli.d.ts +1 -1
  6. package/dist/cli/cli.d.ts.map +1 -1
  7. package/dist/cli/cli.js +55 -6
  8. package/dist/cli/cli.js.map +1 -1
  9. package/dist/cli/generate-ai-content.js +3 -2
  10. package/dist/cli/init.d.ts.map +1 -1
  11. package/dist/cli/init.js +12 -4
  12. package/dist/cli/init.js.map +1 -1
  13. package/dist/cli/migrate.d.ts +47 -0
  14. package/dist/cli/migrate.d.ts.map +1 -0
  15. package/dist/cli/migrate.js +236 -0
  16. package/dist/cli/migrate.js.map +1 -0
  17. package/dist/cli/project-root.d.ts +17 -0
  18. package/dist/cli/project-root.d.ts.map +1 -0
  19. package/dist/cli/project-root.js +29 -0
  20. package/dist/cli/project-root.js.map +1 -0
  21. package/dist/cli/sync.d.ts +8 -0
  22. package/dist/cli/sync.d.ts.map +1 -1
  23. package/dist/cli/sync.js +28 -23
  24. package/dist/cli/sync.js.map +1 -1
  25. package/dist/cli/template-files/ai-route.ts.template +4 -0
  26. package/dist/cli/template-files/canopycms.config.ts.template +1 -1
  27. package/dist/cli/template-files/next.config-static.ts.template +12 -5
  28. package/dist/cli/template-files/route.ts.template +3 -0
  29. package/dist/cli/templates.d.ts +1 -0
  30. package/dist/cli/templates.d.ts.map +1 -1
  31. package/dist/cli/templates.js +10 -1
  32. package/dist/cli/templates.js.map +1 -1
  33. package/dist/config/index.d.ts +1 -1
  34. package/dist/config/index.d.ts.map +1 -1
  35. package/dist/config/index.js.map +1 -1
  36. package/dist/config/schemas/config.d.ts +4 -0
  37. package/dist/config/schemas/config.d.ts.map +1 -1
  38. package/dist/config/schemas/config.js +1 -0
  39. package/dist/config/schemas/config.js.map +1 -1
  40. package/dist/config/types.d.ts +29 -0
  41. package/dist/config/types.d.ts.map +1 -1
  42. package/dist/content-reader.d.ts.map +1 -1
  43. package/dist/content-reader.js +12 -0
  44. package/dist/content-reader.js.map +1 -1
  45. package/dist/context.d.ts.map +1 -1
  46. package/dist/context.js +4 -0
  47. package/dist/context.js.map +1 -1
  48. package/dist/editor/Editor.d.ts.map +1 -1
  49. package/dist/editor/Editor.js +14 -6
  50. package/dist/editor/Editor.js.map +1 -1
  51. package/dist/editor/hooks/useCommentSystem.d.ts.map +1 -1
  52. package/dist/editor/hooks/useCommentSystem.js +6 -0
  53. package/dist/editor/hooks/useCommentSystem.js.map +1 -1
  54. package/dist/editor/hooks/useDraftManager.d.ts.map +1 -1
  55. package/dist/editor/hooks/useDraftManager.js +7 -2
  56. package/dist/editor/hooks/useDraftManager.js.map +1 -1
  57. package/dist/editor/hooks/useEntryManager.d.ts +2 -2
  58. package/dist/editor/hooks/useEntryManager.d.ts.map +1 -1
  59. package/dist/editor/hooks/useEntryManager.js +19 -4
  60. package/dist/editor/hooks/useEntryManager.js.map +1 -1
  61. package/dist/editor/preview-bridge.d.ts +46 -5
  62. package/dist/editor/preview-bridge.d.ts.map +1 -1
  63. package/dist/editor/preview-bridge.js +134 -26
  64. package/dist/editor/preview-bridge.js.map +1 -1
  65. package/dist/schema/meta-loader.js +1 -1
  66. package/dist/schema/meta-loader.js.map +1 -1
  67. package/dist/services.d.ts.map +1 -1
  68. package/dist/services.js +7 -0
  69. package/dist/services.js.map +1 -1
  70. package/package.json +1 -1
@@ -120,12 +120,17 @@ export function useDraftManager(options) {
120
120
  catch (err) {
121
121
  console.error(err);
122
122
  const isConflict = err instanceof SaveApiError && err.status === 409;
123
+ // 422 = rejected by the adopter's validateEntry hook; show its message
124
+ const isValidation = err instanceof SaveApiError && err.status === 422;
123
125
  notifications.show({
126
+ ...(isValidation ? { title: 'Save rejected' } : {}),
124
127
  message: isConflict
125
128
  ? 'Content was modified by another editor. Reload to see the latest changes.'
126
- : 'Save failed',
129
+ : isValidation
130
+ ? err.message
131
+ : 'Save failed',
127
132
  color: isConflict ? 'yellow' : 'red',
128
- autoClose: getNotificationDuration(isConflict ? 8000 : 6000),
133
+ autoClose: getNotificationDuration(isConflict || isValidation ? 8000 : 6000),
129
134
  withCloseButton: true,
130
135
  });
131
136
  }
@@ -1 +1 @@
1
- {"version":3,"file":"useDraftManager.js","sourceRoot":"","sources":["../../../src/editor/hooks/useDraftManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useDraftManager.js","sourceRoot":"","sources":["../../../src/editor/hooks/useDraftManager.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,10 @@
1
1
  import type { EditorEntry, EditorCollection } from '../Editor';
2
2
  import type { LogicalPath } from '../../paths/types';
3
3
  import type { FormValue } from '../FormRenderer';
4
- /** Thrown by saveEntry when the API returns a non-200 response. Carries the HTTP status so callers can distinguish conflict (409) from other errors. */
4
+ /** Thrown by saveEntry when the API returns a non-200 response. Carries the HTTP status so callers can distinguish conflict (409) and validation rejection (422) from other errors. */
5
5
  export declare class SaveApiError extends Error {
6
6
  readonly status: number;
7
- constructor(status: number);
7
+ constructor(status: number, serverMessage?: string);
8
8
  }
9
9
  export interface UseEntryManagerOptions {
10
10
  initialEntries: EditorEntry[];
@@ -1 +1 @@
1
- {"version":3,"file":"useEntryManager.d.ts","sourceRoot":"","sources":["../../../src/editor/hooks/useEntryManager.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AACpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAShD,wJAAwJ;AACxJ,qBAAa,YAAa,SAAQ,KAAK;aACT,MAAM,EAAE,MAAM;gBAAd,MAAM,EAAE,MAAM;CAI3C;AAED,MAAM,WAAW,sBAAsB;IACrC,cAAc,EAAE,WAAW,EAAE,CAAA;IAC7B,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,gBAAgB,EAAE,CAAA;IAChC,uBAAuB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAChD,iBAAiB,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,WAAW,CAAC,KAAK,MAAM,GAAG,SAAS,CAAA;IACtE,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IAChC,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,qBAAqB;IACpC,YAAY,EAAE,MAAM,CAAA;IACpB,eAAe,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACvC,OAAO,EAAE,WAAW,EAAE,CAAA;IACtB,UAAU,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,IAAI,CAAA;IAC5C,WAAW,EAAE,gBAAgB,EAAE,CAAA;IAC/B,YAAY,EAAE,WAAW,GAAG,SAAS,CAAA;IACrC,aAAa,EAAE,OAAO,CAAA;IACtB,gBAAgB,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IACzC,cAAc,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,WAAW,EAAE,CAAC,CAAA;IAC3D,iBAAiB,EAAE,CAAC,cAAc,EAAE,WAAW,EAAE,aAAa,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACzF,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC7D,SAAS,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,OAAO,CAAC,SAAS,CAAC,CAAA;IACrD,SAAS,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,KAAK,OAAO,CAAC,SAAS,CAAC,CAAA;IACvE,gBAAgB,EAAE,GAAG,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAA;IAEpD,eAAe,EAAE,OAAO,CAAA;IACxB,qBAAqB,EAAE,gBAAgB,GAAG,IAAI,CAAA;IAC9C,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,mBAAmB,EAAE,OAAO,CAAA;IAC5B,uBAAuB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC/E,gBAAgB,EAAE,MAAM,IAAI,CAAA;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG,qBAAqB,CAgVtF"}
1
+ {"version":3,"file":"useEntryManager.d.ts","sourceRoot":"","sources":["../../../src/editor/hooks/useEntryManager.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AACpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAShD,uLAAuL;AACvL,qBAAa,YAAa,SAAQ,KAAK;aAEnB,MAAM,EAAE,MAAM;gBAAd,MAAM,EAAE,MAAM,EAC9B,aAAa,CAAC,EAAE,MAAM;CAKzB;AAED,MAAM,WAAW,sBAAsB;IACrC,cAAc,EAAE,WAAW,EAAE,CAAA;IAC7B,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,gBAAgB,EAAE,CAAA;IAChC,uBAAuB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAChD,iBAAiB,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,WAAW,CAAC,KAAK,MAAM,GAAG,SAAS,CAAA;IACtE,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IAChC,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,qBAAqB;IACpC,YAAY,EAAE,MAAM,CAAA;IACpB,eAAe,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACvC,OAAO,EAAE,WAAW,EAAE,CAAA;IACtB,UAAU,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,IAAI,CAAA;IAC5C,WAAW,EAAE,gBAAgB,EAAE,CAAA;IAC/B,YAAY,EAAE,WAAW,GAAG,SAAS,CAAA;IACrC,aAAa,EAAE,OAAO,CAAA;IACtB,gBAAgB,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IACzC,cAAc,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,WAAW,EAAE,CAAC,CAAA;IAC3D,iBAAiB,EAAE,CAAC,cAAc,EAAE,WAAW,EAAE,aAAa,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACzF,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC7D,SAAS,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,OAAO,CAAC,SAAS,CAAC,CAAA;IACrD,SAAS,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,KAAK,OAAO,CAAC,SAAS,CAAC,CAAA;IACvE,gBAAgB,EAAE,GAAG,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAA;IAEpD,eAAe,EAAE,OAAO,CAAA;IACxB,qBAAqB,EAAE,gBAAgB,GAAG,IAAI,CAAA;IAC9C,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,mBAAmB,EAAE,OAAO,CAAA;IAC5B,uBAAuB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC/E,gBAAgB,EAAE,MAAM,IAAI,CAAA;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG,qBAAqB,CAiWtF"}
@@ -3,10 +3,10 @@ import { notifications } from '@mantine/notifications';
3
3
  import { buildEntriesFromListResponse, buildWritePayload, normalizeContentPayload, } from '../editor-utils.js';
4
4
  import { isDataOnlyFormat } from '../../utils/format.js';
5
5
  import { useApiClient } from '../context/index.js';
6
- /** Thrown by saveEntry when the API returns a non-200 response. Carries the HTTP status so callers can distinguish conflict (409) from other errors. */
6
+ /** Thrown by saveEntry when the API returns a non-200 response. Carries the HTTP status so callers can distinguish conflict (409) and validation rejection (422) from other errors. */
7
7
  export class SaveApiError extends Error {
8
- constructor(status) {
9
- super(`Save failed: ${status}`);
8
+ constructor(status, serverMessage) {
9
+ super(serverMessage || `Save failed: ${status}`);
10
10
  this.status = status;
11
11
  this.name = 'SaveApiError';
12
12
  }
@@ -116,11 +116,26 @@ export function useEntryManager(options) {
116
116
  };
117
117
  const result = await apiClient.content.write(writeParams, writeBody);
118
118
  if (!result.ok)
119
- throw new SaveApiError(result.status);
119
+ throw new SaveApiError(result.status, result.error);
120
120
  // Update stored version token from write response
121
121
  if (entry.contentId && typeof result.data?.version === 'number') {
122
122
  entryVersionsRef.current.set(entry.contentId, result.data.version);
123
123
  }
124
+ // Warning-level issues from the adopter's validateEntry hook: saved, but surface them
125
+ const validationWarnings = result.data?.validationWarnings;
126
+ if (validationWarnings && validationWarnings.length > 0) {
127
+ notifications.show({
128
+ title: 'Saved with warnings',
129
+ // '; '-joined: the notification collapses newlines, so '\n' would run the
130
+ // issues together (matches the '; ' join the save-rejection path uses).
131
+ message: validationWarnings
132
+ .map((issue) => issue.fieldPath ? `${issue.fieldPath}: ${issue.message}` : issue.message)
133
+ .join('; '),
134
+ color: 'yellow',
135
+ autoClose: false,
136
+ withCloseButton: true,
137
+ });
138
+ }
124
139
  return normalizeContentPayload(result.data);
125
140
  };
126
141
  const refreshEntries = async (branch = options.branchName) => {
@@ -1 +1 @@
1
- {"version":3,"file":"useEntryManager.js","sourceRoot":"","sources":["../../../src/editor/hooks/useEntryManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useEntryManager.js","sourceRoot":"","sources":["../../../src/editor/hooks/useEntryManager.ts"],"names":[],"mappings":"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"}
@@ -5,13 +5,30 @@ export declare const CANOPY_PREVIEW_MESSAGE = "canopycms:draft:update";
5
5
  export declare const CANOPY_PREVIEW_FOCUS = "canopycms:preview:focus";
6
6
  export declare const CANOPY_PREVIEW_HIGHLIGHT = "canopycms:preview:highlight";
7
7
  export declare const CANOPY_PREVIEW_READY = "canopycms:preview:ready";
8
+ export declare const CANOPY_PREVIEW_ERROR = "canopycms:preview:error";
8
9
  export interface DraftUpdateMessage {
9
10
  type: typeof CANOPY_PREVIEW_MESSAGE;
10
11
  path: string;
11
12
  data?: unknown;
12
13
  isLoading?: unknown;
13
14
  }
14
- export declare const sendDraftUpdate: (iframe: HTMLIFrameElement | null, message: DraftUpdateMessage) => void;
15
+ /**
16
+ * Resolve a (possibly relative) URL to an origin for postMessage targeting.
17
+ * Falls back to the page's own origin, so same-origin editor/preview setups
18
+ * need no configuration.
19
+ */
20
+ export declare const resolveMessageOrigin: (url?: string) => string;
21
+ /**
22
+ * True only for messages from the embedding editor window with the expected origin.
23
+ *
24
+ * Security: preview hooks feed message data into the host site's renderer (often
25
+ * MDX evaluation), so accepting a message from an arbitrary window would let any
26
+ * page with a handle on this window (e.g. via window.open) execute content in the
27
+ * site's origin. Messages must come from the direct parent frame AND match the
28
+ * expected editor origin (same-origin unless `editorOrigin` is configured).
29
+ */
30
+ export declare const isTrustedEditorMessage: (event: MessageEvent, editorOrigin?: string) => boolean;
31
+ export declare const sendDraftUpdate: (iframe: HTMLIFrameElement | null, message: DraftUpdateMessage, targetOrigin?: string) => void;
15
32
  export interface PreviewFocusMessage {
16
33
  type: typeof CANOPY_PREVIEW_FOCUS;
17
34
  entryPath: string;
@@ -21,9 +38,21 @@ export interface HighlightMessage {
21
38
  type: typeof CANOPY_PREVIEW_HIGHLIGHT;
22
39
  enabled: boolean;
23
40
  }
41
+ /**
42
+ * Preview → editor report that the current draft fails to compile/render
43
+ * (e.g. malformed MDX). `message: null` clears a previously reported error.
44
+ */
45
+ export interface PreviewErrorMessage {
46
+ type: typeof CANOPY_PREVIEW_ERROR;
47
+ path: string;
48
+ message: string | null;
49
+ fieldPath?: string;
50
+ }
24
51
  export declare const useCanopyPreview: <T>(opts: {
25
52
  path?: string;
26
53
  initialData: T;
54
+ /** Editor origin to trust for preview messages. Defaults to this page's own origin. */
55
+ editorOrigin?: string;
27
56
  }) => {
28
57
  data: T;
29
58
  isLoading: Record<string, boolean>;
@@ -31,28 +60,35 @@ export declare const useCanopyPreview: <T>(opts: {
31
60
  fieldProps: (canopyPath: string | CanopyPathSegment[]) => {
32
61
  'data-canopy-path': string;
33
62
  };
63
+ reportError: (message: string | null, fieldPath?: string) => void;
34
64
  };
35
65
  /**
36
66
  * Hook for preview pages to listen for draft updates from the parent editor.
37
67
  * Returns both data and loading state.
38
68
  */
39
- export declare const usePreviewData: <T>(path: string, initialData: T) => {
69
+ export declare const usePreviewData: <T>(path: string, initialData: T, opts?: {
70
+ editorOrigin?: string;
71
+ }) => {
40
72
  data: T;
41
73
  isLoading: Record<string, boolean>;
42
74
  };
43
75
  /**
44
76
  * Hook for preview pages to listen for highlight mode and toggle an outline on clickable elements.
45
77
  */
46
- export declare const usePreviewHighlight: () => boolean;
78
+ export declare const usePreviewHighlight: (opts?: {
79
+ editorOrigin?: string;
80
+ }) => boolean;
47
81
  /**
48
82
  * Hook for preview pages to emit focus messages when elements with data-canopy-path are clicked.
49
83
  */
50
- export declare const usePreviewFocusEmitter: (entryPath: string) => void;
84
+ export declare const usePreviewFocusEmitter: (entryPath: string, opts?: {
85
+ editorOrigin?: string;
86
+ }) => void;
51
87
  /**
52
88
  * Lightweight iframe wrapper to keep the preview in sync with form state.
53
89
  * It posts the latest draft data to the iframe after load and when data changes.
54
90
  */
55
- export declare const PreviewFrame: ({ src, path, data, isLoading, className, style, highlightEnabled, }: {
91
+ export declare const PreviewFrame: ({ src, path, data, isLoading, className, style, highlightEnabled, onPreviewError, }: {
56
92
  src: string;
57
93
  path: string;
58
94
  data?: unknown;
@@ -60,5 +96,10 @@ export declare const PreviewFrame: ({ src, path, data, isLoading, className, sty
60
96
  className?: string;
61
97
  style?: CSSProperties;
62
98
  highlightEnabled?: boolean;
99
+ /** Called when the preview reports a draft compile/render error; null clears it. */
100
+ onPreviewError?: (error: {
101
+ message: string;
102
+ fieldPath?: string;
103
+ } | null) => void;
63
104
  }) => import("react/jsx-runtime").JSX.Element;
64
105
  //# sourceMappingURL=preview-bridge.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"preview-bridge.d.ts","sourceRoot":"","sources":["../../src/editor/preview-bridge.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAG1C,OAAO,EAAoB,KAAK,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAExE,eAAO,MAAM,yBAAyB,OAAO,CAAA;AAE7C,eAAO,MAAM,sBAAsB,2BAA2B,CAAA;AAC9D,eAAO,MAAM,oBAAoB,4BAA4B,CAAA;AAC7D,eAAO,MAAM,wBAAwB,gCAAgC,CAAA;AACrE,eAAO,MAAM,oBAAoB,4BAA4B,CAAA;AAE7D,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,OAAO,sBAAsB,CAAA;IACnC,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB;AAED,eAAO,MAAM,eAAe,GAAI,QAAQ,iBAAiB,GAAG,IAAI,EAAE,SAAS,kBAAkB,SAG5F,CAAA;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,OAAO,oBAAoB,CAAA;IACjC,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,OAAO,wBAAwB,CAAA;IACrC,OAAO,EAAE,OAAO,CAAA;CACjB;AAYD,eAAO,MAAM,gBAAgB,GAAI,CAAC,EAAG,MAAM;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,CAAC,CAAA;CAAE;;;;6BAM1C,MAAM,GAAG,iBAAiB,EAAE;;;CAK7D,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,cAAc,GAAI,CAAC,EAC9B,MAAM,MAAM,EACZ,aAAa,CAAC,KACb;IAAE,IAAI,EAAE,CAAC,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAwB/C,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,mBAAmB,eA+B/B,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,sBAAsB,GAAI,WAAW,MAAM,SAkBvD,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,YAAY,GAAI,qEAQ1B;IACD,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,aAAa,CAAA;IACrB,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B,4CAyHA,CAAA"}
1
+ {"version":3,"file":"preview-bridge.d.ts","sourceRoot":"","sources":["../../src/editor/preview-bridge.tsx"],"names":[],"mappings":"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"}
@@ -1,16 +1,61 @@
1
1
  'use client';
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import { useEffect, useRef, useState } from 'react';
3
+ import { useCallback, useEffect, useRef, useState } from 'react';
4
4
  import { formatCanopyPath } from './canopy-path.js';
5
5
  export const __CANOPY_PREVIEW_CLIENT__ = true;
6
6
  export const CANOPY_PREVIEW_MESSAGE = 'canopycms:draft:update';
7
7
  export const CANOPY_PREVIEW_FOCUS = 'canopycms:preview:focus';
8
8
  export const CANOPY_PREVIEW_HIGHLIGHT = 'canopycms:preview:highlight';
9
9
  export const CANOPY_PREVIEW_READY = 'canopycms:preview:ready';
10
- export const sendDraftUpdate = (iframe, message) => {
10
+ export const CANOPY_PREVIEW_ERROR = 'canopycms:preview:error';
11
+ /**
12
+ * Resolve a (possibly relative) URL to an origin for postMessage targeting.
13
+ * Falls back to the page's own origin, so same-origin editor/preview setups
14
+ * need no configuration.
15
+ */
16
+ export const resolveMessageOrigin = (url) => {
17
+ if (typeof window === 'undefined')
18
+ return '';
19
+ if (!url)
20
+ return window.location.origin;
21
+ try {
22
+ return new URL(url, window.location.href).origin;
23
+ }
24
+ catch {
25
+ return window.location.origin;
26
+ }
27
+ };
28
+ /**
29
+ * Opaque origins (sandboxed iframes, data: URLs) serialize to the string 'null':
30
+ * never trust them for inbound messages, and never post to them — every window in
31
+ * a sandboxed embed shares that string, so it identifies nothing, and postMessage
32
+ * throws on a literal 'null' targetOrigin. '' covers the SSR fallback.
33
+ */
34
+ const isOpaqueOrigin = (origin) => origin === 'null' || origin === '';
35
+ /**
36
+ * True only for messages from the embedding editor window with the expected origin.
37
+ *
38
+ * Security: preview hooks feed message data into the host site's renderer (often
39
+ * MDX evaluation), so accepting a message from an arbitrary window would let any
40
+ * page with a handle on this window (e.g. via window.open) execute content in the
41
+ * site's origin. Messages must come from the direct parent frame AND match the
42
+ * expected editor origin (same-origin unless `editorOrigin` is configured).
43
+ */
44
+ export const isTrustedEditorMessage = (event, editorOrigin) => {
45
+ if (typeof window === 'undefined' || window.parent === window)
46
+ return false;
47
+ const expected = resolveMessageOrigin(editorOrigin);
48
+ if (isOpaqueOrigin(expected))
49
+ return false;
50
+ return event.origin === expected && event.source === window.parent;
51
+ };
52
+ export const sendDraftUpdate = (iframe, message, targetOrigin) => {
11
53
  if (!iframe?.contentWindow)
12
54
  return;
13
- iframe.contentWindow.postMessage(message, '*');
55
+ const target = targetOrigin ?? resolveMessageOrigin(iframe.src);
56
+ if (isOpaqueOrigin(target))
57
+ return;
58
+ iframe.contentWindow.postMessage(message, target);
14
59
  };
15
60
  /**
16
61
  * Convenience hook that wires draft updates, focus emitter, and highlight toggling together.
@@ -25,23 +70,51 @@ const resolvePreviewPath = (explicit) => {
25
70
  };
26
71
  export const useCanopyPreview = (opts) => {
27
72
  const resolvedPath = resolvePreviewPath(opts.path);
28
- const { data, isLoading } = usePreviewData(resolvedPath, opts.initialData);
29
- const highlightEnabled = usePreviewHighlight();
30
- usePreviewFocusEmitter(resolvedPath);
73
+ const editorOrigin = opts.editorOrigin;
74
+ const bridgeOpts = { editorOrigin };
75
+ const { data, isLoading } = usePreviewData(resolvedPath, opts.initialData, bridgeOpts);
76
+ const highlightEnabled = usePreviewHighlight(bridgeOpts);
77
+ usePreviewFocusEmitter(resolvedPath, bridgeOpts);
31
78
  const fieldProps = (canopyPath) => ({
32
79
  'data-canopy-path': Array.isArray(canopyPath) ? formatCanopyPath(canopyPath) : canopyPath,
33
80
  });
34
- return { data, isLoading, highlightEnabled, fieldProps };
81
+ /**
82
+ * Report that the current draft fails to compile/render (the editor surfaces it
83
+ * next to the preview). Call with null once the draft renders cleanly again.
84
+ * No-op outside an editor frame.
85
+ */
86
+ const reportError = useCallback((message, fieldPath) => {
87
+ if (typeof window === 'undefined' || window.parent === window)
88
+ return;
89
+ const target = resolveMessageOrigin(editorOrigin);
90
+ if (isOpaqueOrigin(target))
91
+ return;
92
+ const msg = {
93
+ type: CANOPY_PREVIEW_ERROR,
94
+ path: resolvedPath,
95
+ message,
96
+ ...(fieldPath !== undefined ? { fieldPath } : {}),
97
+ };
98
+ window.parent.postMessage(msg, target);
99
+ }, [resolvedPath, editorOrigin]);
100
+ return { data, isLoading, highlightEnabled, fieldProps, reportError };
35
101
  };
36
102
  /**
37
103
  * Hook for preview pages to listen for draft updates from the parent editor.
38
104
  * Returns both data and loading state.
39
105
  */
40
- export const usePreviewData = (path, initialData) => {
106
+ export const usePreviewData = (path, initialData, opts) => {
41
107
  const [data, setData] = useState(initialData);
42
108
  const [isLoading, setIsLoading] = useState({});
109
+ const editorOrigin = opts?.editorOrigin;
43
110
  useEffect(() => {
111
+ // Only listen when actually framed by an editor; a standalone page (including
112
+ // one opened via window.open from a hostile site) must never accept drafts.
113
+ if (window.parent === window)
114
+ return;
44
115
  const handler = (event) => {
116
+ if (!isTrustedEditorMessage(event, editorOrigin))
117
+ return;
45
118
  const msg = event.data;
46
119
  if (!msg || msg.type !== CANOPY_PREVIEW_MESSAGE || msg.path !== path)
47
120
  return;
@@ -54,18 +127,20 @@ export const usePreviewData = (path, initialData) => {
54
127
  // Notify parent that this preview page is ready to receive draft updates.
55
128
  // This is needed because onLoad in the parent fires before React effects run,
56
129
  // so the first postMessage from the parent arrives before this listener is set up.
57
- if (window.parent !== window) {
58
- window.parent.postMessage({ type: CANOPY_PREVIEW_READY, path }, '*');
130
+ const target = resolveMessageOrigin(editorOrigin);
131
+ if (!isOpaqueOrigin(target)) {
132
+ window.parent.postMessage({ type: CANOPY_PREVIEW_READY, path }, target);
59
133
  }
60
134
  return () => window.removeEventListener('message', handler);
61
- }, [path]);
135
+ }, [path, editorOrigin]);
62
136
  return { data, isLoading };
63
137
  };
64
138
  /**
65
139
  * Hook for preview pages to listen for highlight mode and toggle an outline on clickable elements.
66
140
  */
67
- export const usePreviewHighlight = () => {
141
+ export const usePreviewHighlight = (opts) => {
68
142
  const [enabled, setEnabled] = useState(false);
143
+ const editorOrigin = opts?.editorOrigin;
69
144
  useEffect(() => {
70
145
  const styleId = 'canopycms-preview-highlight-style';
71
146
  let styleEl = document.getElementById(styleId);
@@ -84,7 +159,11 @@ export const usePreviewHighlight = () => {
84
159
  }
85
160
  }, [enabled]);
86
161
  useEffect(() => {
162
+ if (window.parent === window)
163
+ return;
87
164
  const handler = (event) => {
165
+ if (!isTrustedEditorMessage(event, editorOrigin))
166
+ return;
88
167
  const msg = event.data;
89
168
  if (msg?.type !== CANOPY_PREVIEW_HIGHLIGHT)
90
169
  return;
@@ -92,39 +171,49 @@ export const usePreviewHighlight = () => {
92
171
  };
93
172
  window.addEventListener('message', handler);
94
173
  return () => window.removeEventListener('message', handler);
95
- }, []);
174
+ }, [editorOrigin]);
96
175
  return enabled;
97
176
  };
98
177
  /**
99
178
  * Hook for preview pages to emit focus messages when elements with data-canopy-path are clicked.
100
179
  */
101
- export const usePreviewFocusEmitter = (entryPath) => {
180
+ export const usePreviewFocusEmitter = (entryPath, opts) => {
181
+ const editorOrigin = opts?.editorOrigin;
102
182
  useEffect(() => {
183
+ if (window.parent === window)
184
+ return;
103
185
  const handleClick = (event) => {
104
186
  const target = event.target;
105
187
  if (!target)
106
188
  return;
107
189
  const el = target.closest('[data-canopy-path]');
108
190
  const fieldPath = el?.dataset.canopyPath;
109
- if (!fieldPath || !window.parent)
191
+ if (!fieldPath)
192
+ return;
193
+ const targetOrigin = resolveMessageOrigin(editorOrigin);
194
+ if (isOpaqueOrigin(targetOrigin))
110
195
  return;
111
196
  const msg = {
112
197
  type: CANOPY_PREVIEW_FOCUS,
113
198
  entryPath,
114
199
  fieldPath,
115
200
  };
116
- window.parent.postMessage(msg, '*');
201
+ window.parent.postMessage(msg, targetOrigin);
117
202
  };
118
203
  document.addEventListener('click', handleClick);
119
204
  return () => document.removeEventListener('click', handleClick);
120
- }, [entryPath]);
205
+ }, [entryPath, editorOrigin]);
121
206
  };
122
207
  /**
123
208
  * Lightweight iframe wrapper to keep the preview in sync with form state.
124
209
  * It posts the latest draft data to the iframe after load and when data changes.
125
210
  */
126
- export const PreviewFrame = ({ src, path, data, isLoading, className, style, highlightEnabled, }) => {
211
+ export const PreviewFrame = ({ src, path, data, isLoading, className, style, highlightEnabled, onPreviewError, }) => {
127
212
  const iframeRef = useRef(null);
213
+ // Pin the preview origin from the src prop: outbound messages target it (never '*'),
214
+ // and inbound messages must come from it. An iframe that navigates cross-origin
215
+ // silently stops participating in the bridge.
216
+ const previewOrigin = resolveMessageOrigin(src);
128
217
  // Show progress bar while waiting for the preview's ready handshake.
129
218
  const [syncPending, setSyncPending] = useState(data !== undefined);
130
219
  // Reset when navigating to a different entry (src change = new iframe page load).
@@ -151,23 +240,27 @@ export const PreviewFrame = ({ src, path, data, isLoading, className, style, hig
151
240
  path,
152
241
  data,
153
242
  isLoading,
154
- });
243
+ }, previewOrigin);
155
244
  };
156
245
  const postHighlight = () => {
157
246
  if (!iframeRef.current?.contentWindow)
158
247
  return;
248
+ if (isOpaqueOrigin(previewOrigin))
249
+ return;
159
250
  const msg = {
160
251
  type: CANOPY_PREVIEW_HIGHLIGHT,
161
252
  enabled: Boolean(highlightEnabled),
162
253
  };
163
- iframeRef.current.contentWindow.postMessage(msg, '*');
254
+ iframeRef.current.contentWindow.postMessage(msg, previewOrigin);
164
255
  };
165
- // Keep refs pointing at the latest closures so the ready handler below never goes stale.
256
+ // Keep refs pointing at the latest closures so the message handler below never goes stale.
166
257
  const postRef = useRef(post);
167
258
  const postHighlightRef = useRef(postHighlight);
259
+ const onPreviewErrorRef = useRef(onPreviewError);
168
260
  useEffect(() => {
169
261
  postRef.current = post;
170
262
  postHighlightRef.current = postHighlight;
263
+ onPreviewErrorRef.current = onPreviewError;
171
264
  });
172
265
  useEffect(() => {
173
266
  post();
@@ -181,18 +274,33 @@ export const PreviewFrame = ({ src, path, data, isLoading, className, style, hig
181
274
  // it sends CANOPY_PREVIEW_READY. We respond with the current data so the preview
182
275
  // receives the draft even if it wasn't ready when onLoad fired.
183
276
  useEffect(() => {
184
- const handleReady = (event) => {
277
+ const handleMessage = (event) => {
185
278
  if (!iframeRef.current || event.source !== iframeRef.current.contentWindow)
186
279
  return;
187
- if (event.data?.type === CANOPY_PREVIEW_READY) {
280
+ // Source check alone is insufficient if the iframe navigated cross-origin.
281
+ if (isOpaqueOrigin(previewOrigin) || event.origin !== previewOrigin)
282
+ return;
283
+ const type = event.data?.type;
284
+ if (type === CANOPY_PREVIEW_READY) {
188
285
  postRef.current();
189
286
  postHighlightRef.current();
190
287
  setSyncPending(false);
191
288
  }
289
+ else if (type === CANOPY_PREVIEW_ERROR) {
290
+ const msg = event.data;
291
+ // Shape-check the payload: an adopter passing an Error object (instead of
292
+ // err.message) must not crash the editor when rendered as a React child.
293
+ if (msg.message != null && typeof msg.message !== 'string')
294
+ return;
295
+ const fieldPath = typeof msg.fieldPath === 'string' ? msg.fieldPath : undefined;
296
+ onPreviewErrorRef.current?.(msg.message == null
297
+ ? null
298
+ : { message: msg.message, ...(fieldPath ? { fieldPath } : {}) });
299
+ }
192
300
  };
193
- window.addEventListener('message', handleReady);
194
- return () => window.removeEventListener('message', handleReady);
195
- }, []);
301
+ window.addEventListener('message', handleMessage);
302
+ return () => window.removeEventListener('message', handleMessage);
303
+ }, [previewOrigin]);
196
304
  return (_jsxs("div", { className: className, style: { position: 'relative', overflow: 'hidden', ...style }, children: [syncPending && (_jsx("div", { style: {
197
305
  position: 'absolute',
198
306
  top: 0,
@@ -1 +1 @@
1
- {"version":3,"file":"preview-bridge.js","sourceRoot":"","sources":["../../src/editor/preview-bridge.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"preview-bridge.js","sourceRoot":"","sources":["../../src/editor/preview-bridge.tsx"],"names":[],"mappings":"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"}
@@ -36,7 +36,7 @@ const collectionMetaSchema = z
36
36
  label: z.string().optional(),
37
37
  description: z.string().optional(),
38
38
  entries: z.array(entryTypeMetaSchema).optional(),
39
- order: z.array(z.string()), // Embedded IDs for ordering items (required)
39
+ order: z.array(z.string()).default([]), // Embedded IDs for ordering; optional in the file, [] = alphabetical
40
40
  })
41
41
  .refine((data) => data.entries && data.entries.length > 0, {
42
42
  message: 'Collection must have at least one entry type',