canopycms 0.0.47 → 0.0.49
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/dist/api/content.d.ts +3 -0
- package/dist/api/content.d.ts.map +1 -1
- package/dist/api/content.js +37 -2
- package/dist/api/content.js.map +1 -1
- package/dist/cli/cli.d.ts +1 -1
- package/dist/cli/cli.d.ts.map +1 -1
- package/dist/cli/cli.js +55 -6
- package/dist/cli/cli.js.map +1 -1
- package/dist/cli/generate-ai-content.js +3 -2
- package/dist/cli/init.d.ts.map +1 -1
- package/dist/cli/init.js +12 -4
- package/dist/cli/init.js.map +1 -1
- package/dist/cli/migrate.d.ts +47 -0
- package/dist/cli/migrate.d.ts.map +1 -0
- package/dist/cli/migrate.js +236 -0
- package/dist/cli/migrate.js.map +1 -0
- package/dist/cli/project-root.d.ts +17 -0
- package/dist/cli/project-root.d.ts.map +1 -0
- package/dist/cli/project-root.js +29 -0
- package/dist/cli/project-root.js.map +1 -0
- package/dist/cli/sync.d.ts +8 -0
- package/dist/cli/sync.d.ts.map +1 -1
- package/dist/cli/sync.js +28 -23
- package/dist/cli/sync.js.map +1 -1
- package/dist/cli/template-files/ai-route.ts.template +4 -0
- package/dist/cli/template-files/canopycms.config.ts.template +1 -1
- package/dist/cli/template-files/next.config-static.ts.template +12 -5
- package/dist/cli/template-files/route.ts.template +3 -0
- package/dist/cli/templates.d.ts +1 -0
- package/dist/cli/templates.d.ts.map +1 -1
- package/dist/cli/templates.js +10 -1
- package/dist/cli/templates.js.map +1 -1
- package/dist/config/index.d.ts +1 -1
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js.map +1 -1
- package/dist/config/schemas/config.d.ts +4 -0
- package/dist/config/schemas/config.d.ts.map +1 -1
- package/dist/config/schemas/config.js +1 -0
- package/dist/config/schemas/config.js.map +1 -1
- package/dist/config/types.d.ts +29 -0
- package/dist/config/types.d.ts.map +1 -1
- package/dist/content-reader.d.ts.map +1 -1
- package/dist/content-reader.js +12 -0
- package/dist/content-reader.js.map +1 -1
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js +4 -0
- package/dist/context.js.map +1 -1
- package/dist/editor/Editor.d.ts.map +1 -1
- package/dist/editor/Editor.js +14 -6
- package/dist/editor/Editor.js.map +1 -1
- package/dist/editor/hooks/useCommentSystem.d.ts.map +1 -1
- package/dist/editor/hooks/useCommentSystem.js +6 -0
- package/dist/editor/hooks/useCommentSystem.js.map +1 -1
- package/dist/editor/hooks/useDraftManager.d.ts.map +1 -1
- package/dist/editor/hooks/useDraftManager.js +7 -2
- package/dist/editor/hooks/useDraftManager.js.map +1 -1
- package/dist/editor/hooks/useEntryManager.d.ts +2 -2
- package/dist/editor/hooks/useEntryManager.d.ts.map +1 -1
- package/dist/editor/hooks/useEntryManager.js +19 -4
- package/dist/editor/hooks/useEntryManager.js.map +1 -1
- package/dist/editor/preview-bridge.d.ts +46 -5
- package/dist/editor/preview-bridge.d.ts.map +1 -1
- package/dist/editor/preview-bridge.js +134 -26
- package/dist/editor/preview-bridge.js.map +1 -1
- package/dist/schema/meta-loader.js +1 -1
- package/dist/schema/meta-loader.js.map +1 -1
- package/dist/services.d.ts.map +1 -1
- package/dist/services.js +7 -0
- package/dist/services.js.map +1 -1
- 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
|
-
:
|
|
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":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAItD,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAA;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAgChD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,UAAU,eAAe,CAAC,OAA+B;IAC7D,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAA4B,GAAG,EAAE,CAAC,OAAO,CAAC,aAAa,IAAI,EAAE,CAAC,CAAA;IAClG,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAA4B,EAAE,CAAC,CAAA;IAE/E,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,oBAAoB,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAA;IAEhG,4CAA4C;IAC5C,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,EAAE,SAAS,CAAA;IACjD,MAAM,aAAa,GAAG,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAC/D,MAAM,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IACnE,MAAM,cAAc,GAAG,aAAa,IAAI,WAAW,CAAA;IAEnD,sEAAsE;IACtE,EAAE;IACF,0CAA0C;IAC1C,EAAE;IACF,wFAAwF;IACxF,oFAAoF;IACpF,mFAAmF;IACnF,gFAAgF;IAChF,iCAAiC;IACjC,EAAE;IACF,gFAAgF;IAChF,+EAA+E;IAC/E,mFAAmF;IACnF,gFAAgF;IAChF,iEAAiE;IACjE,MAAM,aAAa,GAAG,OAAO,CAC3B,GAAG,EAAE,CACH,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CACxB,CAAC,EAAE,EAAE,EAAE,CACL,CAAC,YAAY,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CACvF,CAAC,MAAM,EACV,CAAC,MAAM,EAAE,YAAY,CAAC,CACvB,CAAA;IAED,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE;QAC/B,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACpC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAA;QACpC,OAAO,QAAQ;aACZ,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;YACV,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,EAAE,CAAC,CAAA;YAC7D,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;QAChE,CAAC,CAAC;aACD,MAAM,CAAC,CAAC,CAAC,EAA6C,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAA;IACzE,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAA;IAE7B,iEAAiE;IACjE,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;IAChD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,aAAa,CAAC,OAAO,IAAI,aAAa,CAAC,OAAO,KAAK,OAAO,CAAC,UAAU,EAAE,CAAC;YAC1E,SAAS,CAAC,EAAE,CAAC,CAAA;YACb,eAAe,CAAC,EAAE,CAAC,CAAA;QACrB,CAAC;QACD,aAAa,CAAC,OAAO,GAAG,OAAO,CAAC,UAAU,CAAA;IAC5C,CAAC,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAA;IAExB,uEAAuE;IACvE,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,OAAO,MAAM,KAAK,WAAW;YAAE,OAAM;QACzC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;YACnD,IAAI,GAAG,EAAE,CAAC;gBACR,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAA8B,CAAA;gBAC3D,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC,CAAA;YAC/C,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CAAC,0BAA0B,EAAE,GAAG,CAAC,CAAA;QAC/C,CAAC;IACH,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAA;IAEhB,sDAAsD;IACtD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,OAAO,MAAM,KAAK,WAAW;YAAE,OAAM;QACzC,IAAI,CAAC;YACH,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAA;QACjE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CAAC,0BAA0B,EAAE,GAAG,CAAC,CAAA;QAC/C,CAAC;IACH,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAA;IAExB,MAAM,UAAU,GAAG,KAAK,IAAI,EAAE;QAC5B,IAAI,CAAC,OAAO,CAAC,YAAY,IAAI,CAAC,cAAc,IAAI,CAAC,SAAS;YAAE,OAAM;QAClE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QACrB,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,EAAE,cAAc,CAAC,CAAA;YAC3E,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;YACtD,eAAe,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;YAC5D,aAAa,CAAC,IAAI,CAAC;gBACjB,OAAO,EAAE,OAAO;gBAChB,KAAK,EAAE,OAAO;gBACd,SAAS,EAAE,uBAAuB,CAAC,IAAI,CAAC;gBACxC,eAAe,EAAE,IAAI;aACtB,CAAC,CAAA;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAClB,MAAM,UAAU,GAAG,GAAG,YAAY,YAAY,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,CAAA;YACpE,aAAa,CAAC,IAAI,CAAC;gBACjB,OAAO,EAAE,UAAU;oBACjB,CAAC,CAAC,2EAA2E;oBAC7E,CAAC,CAAC,aAAa;
|
|
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,
|
|
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
|
-
|
|
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: (
|
|
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
|
|
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,
|
|
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
|
|
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.
|
|
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
|
|
29
|
-
const
|
|
30
|
-
|
|
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
|
-
|
|
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
|
-
|
|
58
|
-
|
|
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
|
|
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
|
|
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
|
|
277
|
+
const handleMessage = (event) => {
|
|
185
278
|
if (!iframeRef.current || event.source !== iframeRef.current.contentWindow)
|
|
186
279
|
return;
|
|
187
|
-
if
|
|
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',
|
|
194
|
-
return () => window.removeEventListener('message',
|
|
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
|
|
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',
|