@pantheon-systems/puck-css 0.7.0 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/core/config.d.ts +1 -1
- package/dist/core/config.d.ts.map +1 -1
- package/dist/core/config.js +1 -1
- package/dist/core/config.js.map +1 -1
- package/dist/core/types.d.ts +11 -1
- package/dist/core/types.d.ts.map +1 -1
- package/dist/data/dal/p1-store.d.ts +2 -0
- package/dist/data/dal/p1-store.d.ts.map +1 -1
- package/dist/data/dal/p1-store.js +14 -1
- package/dist/data/dal/p1-store.js.map +1 -1
- package/dist/editor/P1PuckProvider.d.ts.map +1 -1
- package/dist/editor/P1PuckProvider.js +118 -40
- package/dist/editor/P1PuckProvider.js.map +1 -1
- package/dist/editor/components/InspectorTabHeader.d.ts +18 -0
- package/dist/editor/components/InspectorTabHeader.d.ts.map +1 -0
- package/dist/editor/components/InspectorTabHeader.js +16 -0
- package/dist/editor/components/InspectorTabHeader.js.map +1 -0
- package/dist/editor/components/P1InspectorFields.d.ts +16 -0
- package/dist/editor/components/P1InspectorFields.d.ts.map +1 -0
- package/dist/editor/components/P1InspectorFields.js +54 -0
- package/dist/editor/components/P1InspectorFields.js.map +1 -0
- package/dist/editor/components/P1TemplateFields.d.ts +11 -0
- package/dist/editor/components/P1TemplateFields.d.ts.map +1 -0
- package/dist/editor/components/P1TemplateFields.js +52 -0
- package/dist/editor/components/P1TemplateFields.js.map +1 -0
- package/dist/editor/components/VersionBannerOverride.d.ts.map +1 -1
- package/dist/editor/components/VersionBannerOverride.js +4 -2
- package/dist/editor/components/VersionBannerOverride.js.map +1 -1
- package/dist/editor/plugin/P1Plugin.d.ts +7 -0
- package/dist/editor/plugin/P1Plugin.d.ts.map +1 -1
- package/dist/editor/plugin/P1Plugin.js +36 -18
- package/dist/editor/plugin/P1Plugin.js.map +1 -1
- package/dist/editor/plugin/context-sync-key.d.ts +30 -0
- package/dist/editor/plugin/context-sync-key.d.ts.map +1 -0
- package/dist/editor/plugin/context-sync-key.js +36 -0
- package/dist/editor/plugin/context-sync-key.js.map +1 -0
- package/dist/editor/plugin/createP1Overrides.d.ts +2 -7
- package/dist/editor/plugin/createP1Overrides.d.ts.map +1 -1
- package/dist/editor/plugin/createP1Overrides.js +8 -70
- package/dist/editor/plugin/createP1Overrides.js.map +1 -1
- package/dist/editor/plugin/document-sync-plugin.d.ts +35 -0
- package/dist/editor/plugin/document-sync-plugin.d.ts.map +1 -0
- package/dist/editor/plugin/document-sync-plugin.js +130 -0
- package/dist/editor/plugin/document-sync-plugin.js.map +1 -0
- package/dist/editor/useDocuments.d.ts.map +1 -1
- package/dist/editor/useDocuments.js +27 -15
- package/dist/editor/useDocuments.js.map +1 -1
- package/dist/editor/useP1Editor.d.ts +1 -9
- package/dist/editor/useP1Editor.d.ts.map +1 -1
- package/dist/editor/useP1Editor.js +63 -15
- package/dist/editor/useP1Editor.js.map +1 -1
- package/dist/editor/useP1Plugin.d.ts +6 -0
- package/dist/editor/useP1Plugin.d.ts.map +1 -1
- package/dist/editor/useP1Plugin.js +1 -0
- package/dist/editor/useP1Plugin.js.map +1 -1
- package/dist/editor/utils/puckYjsBinding.d.ts.map +1 -1
- package/dist/editor/utils/puckYjsBinding.js +6 -4
- package/dist/editor/utils/puckYjsBinding.js.map +1 -1
- package/dist/editor/utils/snapshotToPuckData.d.ts +11 -0
- package/dist/editor/utils/snapshotToPuckData.d.ts.map +1 -0
- package/dist/editor/utils/snapshotToPuckData.js +27 -0
- package/dist/editor/utils/snapshotToPuckData.js.map +1 -0
- package/dist/editor/utils/syncComponentRegistry.d.ts.map +1 -1
- package/dist/editor/utils/syncComponentRegistry.js +32 -6
- package/dist/editor/utils/syncComponentRegistry.js.map +1 -1
- package/dist/editor/utils/templatePath.d.ts +8 -0
- package/dist/editor/utils/templatePath.d.ts.map +1 -0
- package/dist/editor/utils/templatePath.js +14 -0
- package/dist/editor/utils/templatePath.js.map +1 -0
- package/dist/features/content-type-templates/permissions/createPuckPermissions.d.ts +9 -4
- package/dist/features/content-type-templates/permissions/createPuckPermissions.d.ts.map +1 -1
- package/dist/features/content-type-templates/permissions/createPuckPermissions.js +27 -8
- package/dist/features/content-type-templates/permissions/createPuckPermissions.js.map +1 -1
- package/dist/features/content-type-templates/validation/structural-validation.d.ts +4 -4
- package/dist/features/content-type-templates/validation/structural-validation.d.ts.map +1 -1
- package/dist/features/content-type-templates/validation/structural-validation.js +123 -50
- package/dist/features/content-type-templates/validation/structural-validation.js.map +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -1
- package/dist/index.js.map +1 -1
- package/dist/p1/editor/client.js +1 -1
- package/dist/p1/editor/client.js.map +1 -1
- package/dist/p1/editor/connect/connect-field-modal.js +1 -1
- package/dist/p1/editor/connect/connect-field-modal.js.map +1 -1
- package/dist/p1/editor/editor-preview-resolve.js +1 -1
- package/dist/p1/editor/editor-preview-resolve.js.map +1 -1
- package/dist/p1/editor/{hooks.d.ts → hooks/api-hooks.d.ts} +5 -16
- package/dist/p1/editor/hooks/api-hooks.d.ts.map +1 -0
- package/dist/p1/editor/{hooks.js → hooks/api-hooks.js} +33 -45
- package/dist/p1/editor/hooks/api-hooks.js.map +1 -0
- package/dist/p1/editor/hooks/index.d.ts +4 -0
- package/dist/p1/editor/hooks/index.d.ts.map +1 -0
- package/dist/p1/editor/hooks/index.js +4 -0
- package/dist/p1/editor/hooks/index.js.map +1 -0
- package/dist/p1/editor/hooks/useEditorContext.d.ts +13 -0
- package/dist/p1/editor/hooks/useEditorContext.d.ts.map +1 -0
- package/dist/p1/editor/hooks/useEditorContext.js +16 -0
- package/dist/p1/editor/hooks/useEditorContext.js.map +1 -0
- package/dist/p1/editor/hooks/useP1Plugins.d.ts +3 -0
- package/dist/p1/editor/hooks/useP1Plugins.d.ts.map +1 -0
- package/dist/p1/editor/hooks/useP1Plugins.js +31 -0
- package/dist/p1/editor/hooks/useP1Plugins.js.map +1 -0
- package/dist/p1/editor/index.d.ts +1 -1
- package/dist/p1/editor/index.d.ts.map +1 -1
- package/dist/p1/editor/index.js +1 -1
- package/dist/p1/editor/index.js.map +1 -1
- package/dist/p1/editor/remote-datasources/remote-datasource-manager.js +1 -1
- package/dist/p1/editor/remote-datasources/remote-datasource-manager.js.map +1 -1
- package/dist/p1/editor/remote-datasources/template-preview-params-toolbar.js +1 -1
- package/dist/p1/editor/remote-datasources/template-preview-params-toolbar.js.map +1 -1
- package/dist/pds/components/LoadingMessage.d.ts +16 -0
- package/dist/pds/components/LoadingMessage.d.ts.map +1 -0
- package/dist/pds/components/LoadingMessage.js +6 -0
- package/dist/pds/components/LoadingMessage.js.map +1 -0
- package/dist/pds/components/LoadingMessage.module.css +44 -0
- package/dist/pds/index.d.ts +2 -0
- package/dist/pds/index.d.ts.map +1 -1
- package/dist/pds/index.js +1 -0
- package/dist/pds/index.js.map +1 -1
- package/dist/pds/theme/pds-core-content.d.ts +1 -1
- package/dist/pds/theme/pds-core-content.d.ts.map +1 -1
- package/dist/pds/theme/pds-core-content.js +1 -1
- package/dist/pds/theme/pds-core-content.js.map +1 -1
- package/dist/server.d.ts +1 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js.map +1 -1
- package/dist/versioning/components/ReadOnlyFieldsGuard.d.ts +14 -0
- package/dist/versioning/components/ReadOnlyFieldsGuard.d.ts.map +1 -0
- package/dist/versioning/components/ReadOnlyFieldsGuard.js +8 -0
- package/dist/versioning/components/ReadOnlyFieldsGuard.js.map +1 -0
- package/dist/versioning/components/VersionReadOnlyBanner.d.ts +12 -0
- package/dist/versioning/components/VersionReadOnlyBanner.d.ts.map +1 -0
- package/dist/versioning/components/VersionReadOnlyBanner.js +5 -0
- package/dist/versioning/components/VersionReadOnlyBanner.js.map +1 -0
- package/dist/versioning/index.d.ts +4 -0
- package/dist/versioning/index.d.ts.map +1 -1
- package/dist/versioning/index.js +2 -0
- package/dist/versioning/index.js.map +1 -1
- package/package.json +9 -4
- package/src/pds/theme/pds-core-content.ts +1 -1
- package/src/pds/theme/pds-core.css +1 -1
- package/src/styles.css +179 -0
- package/dist/features/content-type-templates/editor/useTemplateScaffold.d.ts +0 -15
- package/dist/features/content-type-templates/editor/useTemplateScaffold.d.ts.map +0 -1
- package/dist/features/content-type-templates/editor/useTemplateScaffold.js +0 -29
- package/dist/features/content-type-templates/editor/useTemplateScaffold.js.map +0 -1
- package/dist/p1/editor/hooks.d.ts.map +0 -1
- package/dist/p1/editor/hooks.js.map +0 -1
package/dist/core/config.d.ts
CHANGED
|
@@ -14,7 +14,7 @@ export interface P1Config {
|
|
|
14
14
|
maxRetries?: number;
|
|
15
15
|
userRole?: ContentRole;
|
|
16
16
|
}
|
|
17
|
-
export declare const PRODUCTION_BASE_URL = "https://ccr.p1.pantheon";
|
|
17
|
+
export declare const PRODUCTION_BASE_URL = "https://ccr.p1.pantheon.io";
|
|
18
18
|
export declare function createP1Config(envSource: Record<string, string | undefined>, options?: {
|
|
19
19
|
prefix?: string;
|
|
20
20
|
overrides?: Partial<P1Config>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6CAA6C,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAE/D,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,QAAQ,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,WAAW,CAAC;CACxB;AAED,eAAO,MAAM,mBAAmB,
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6CAA6C,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAE/D,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,QAAQ,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,WAAW,CAAC;CACxB;AAED,eAAO,MAAM,mBAAmB,+BAA+B,CAAC;AAShE,wBAAgB,cAAc,CAC5B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,EAC7C,OAAO,CAAC,EAAE;IACR,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;CAC/B,GACA,QAAQ,CA4CV;AAED,wBAAgB,gBAAgB,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAiBxE;AAED,wBAAgB,uBAAuB,CAAC,SAAS,CAAC,EAAE;IAClD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,eAAe,GAAG,IAAI,CASzB"}
|
package/dist/core/config.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { P1ContentClient } from '@pantheon-systems/css-client';
|
|
2
|
-
export const PRODUCTION_BASE_URL = 'https://ccr.p1.pantheon';
|
|
2
|
+
export const PRODUCTION_BASE_URL = 'https://ccr.p1.pantheon.io';
|
|
3
3
|
const VALID_AUTH_MODES = ['mock', 'broker'];
|
|
4
4
|
const DEFAULT_AUTH_MODE = 'broker';
|
|
5
5
|
function httpToWs(url) {
|
package/dist/core/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAgB/D,MAAM,CAAC,MAAM,mBAAmB,GAAG,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"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"}
|
package/dist/core/types.d.ts
CHANGED
|
@@ -170,6 +170,12 @@ export interface P1PuckContextValue {
|
|
|
170
170
|
* Current Puck data.
|
|
171
171
|
*/
|
|
172
172
|
currentData: PuckData | null;
|
|
173
|
+
/**
|
|
174
|
+
* True while loadDocument is fetching a document. Distinguishes "no
|
|
175
|
+
* document because a switch is in flight" (keep the canvas as-is) from
|
|
176
|
+
* "genuinely no document" (show the empty state).
|
|
177
|
+
*/
|
|
178
|
+
documentLoading: boolean;
|
|
173
179
|
/**
|
|
174
180
|
* Save status.
|
|
175
181
|
*/
|
|
@@ -470,7 +476,11 @@ export interface P1PuckContextValue {
|
|
|
470
476
|
*/
|
|
471
477
|
resolvePermissions?: (item: {
|
|
472
478
|
type: string;
|
|
473
|
-
|
|
479
|
+
props?: {
|
|
480
|
+
id?: string;
|
|
481
|
+
[key: string]: unknown;
|
|
482
|
+
};
|
|
483
|
+
}, appState: unknown) => {
|
|
474
484
|
edit: boolean;
|
|
475
485
|
drag: boolean;
|
|
476
486
|
delete: boolean;
|
package/dist/core/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
* Each read/write/delete makes a real API call to the P1 backend.
|
|
5
5
|
* No data is cached in memory — the backend is the source of truth.
|
|
6
6
|
*/
|
|
7
|
+
import type { SeoMetadata } from "@pantheon-systems/css-client";
|
|
7
8
|
import type { PageStore } from "./types";
|
|
8
9
|
/**
|
|
9
10
|
* Minimal subset of P1Client used by the store.
|
|
@@ -48,6 +49,7 @@ export interface P1StoreClient {
|
|
|
48
49
|
export interface P1ContentClientInterface {
|
|
49
50
|
getPage(path: string): Promise<{
|
|
50
51
|
data: Record<string, unknown>;
|
|
52
|
+
metadata?: SeoMetadata;
|
|
51
53
|
} | null>;
|
|
52
54
|
}
|
|
53
55
|
export interface P1StoreConfig {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"p1-store.d.ts","sourceRoot":"","sources":["../../../src/data/dal/p1-store.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAgC,MAAM,SAAS,CAAC;AAGvE;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE;QACT,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;SAAE,EAAE,CAAC,CAAC;QAC5G,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAC/E,MAAM,CAAC,MAAM,EAAE;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,UAAU,CAAC,EAAE,MAAM,CAAC;YAAC,eAAe,CAAC,EAAE,MAAM,CAAA;SAAE,GAAG,OAAO,CAAC;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QACzJ,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;KAC7E,CAAC;IACF,QAAQ,EAAE;QACR,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;YAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;SAAE,CAAC,CAAC;QAChH,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;YAAE,UAAU,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;SAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;KAC/H,CAAC;CACH;AAED,uEAAuE;AACvE,MAAM,WAAW,wBAAwB;IACvC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"p1-store.d.ts","sourceRoot":"","sources":["../../../src/data/dal/p1-store.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,KAAK,EAAE,SAAS,EAAgC,MAAM,SAAS,CAAC;AAGvE;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE;QACT,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;SAAE,EAAE,CAAC,CAAC;QAC5G,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAC/E,MAAM,CAAC,MAAM,EAAE;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,UAAU,CAAC,EAAE,MAAM,CAAC;YAAC,eAAe,CAAC,EAAE,MAAM,CAAA;SAAE,GAAG,OAAO,CAAC;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QACzJ,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;KAC7E,CAAC;IACF,QAAQ,EAAE;QACR,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;YAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;SAAE,CAAC,CAAC;QAChH,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;YAAE,UAAU,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;SAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;KAC/H,CAAC;CACH;AAED,uEAAuE;AACvE,MAAM,WAAW,wBAAwB;IACvC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;QAC7B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC9B,QAAQ,CAAC,EAAE,WAAW,CAAC;KACxB,GAAG,IAAI,CAAC,CAAC;CACX;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,aAAa,CAAC;IACtB;;;;OAIG;IACH,aAAa,CAAC,EAAE,wBAAwB,CAAC;IACzC,MAAM,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,eAAe,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAC3D,sFAAsF;IACtF,gBAAgB,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,aAAa,CAAC;IAC1D,4GAA4G;IAC5G,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAwCD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,aAAa,GAAG,SAAS,CA2KlE"}
|
|
@@ -79,7 +79,20 @@ export function createP1PageStore(config) {
|
|
|
79
79
|
if (contentClient && !getRequestAuthToken()) {
|
|
80
80
|
try {
|
|
81
81
|
const result = await contentClient.getPage(toDocPath(path));
|
|
82
|
-
|
|
82
|
+
const data = result?.data;
|
|
83
|
+
if (!data)
|
|
84
|
+
return undefined;
|
|
85
|
+
// Fold SEO metadata onto root.props._seo so it flows through the Data
|
|
86
|
+
// pipeline to generateMetadata. Public reads only (PCC-3407).
|
|
87
|
+
if (result?.metadata) {
|
|
88
|
+
const root = (data.root ?? {});
|
|
89
|
+
const props = (root.props ?? {});
|
|
90
|
+
return {
|
|
91
|
+
...data,
|
|
92
|
+
root: { ...root, props: { ...props, _seo: result.metadata } },
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
return data;
|
|
83
96
|
}
|
|
84
97
|
catch (err) {
|
|
85
98
|
console.info("[css-store] get(%s) failed:", path, err.message);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"p1-store.js","sourceRoot":"","sources":["../../../src/data/dal/p1-store.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"p1-store.js","sourceRoot":"","sources":["../../../src/data/dal/p1-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"P1PuckProvider.d.ts","sourceRoot":"","sources":["../../src/editor/P1PuckProvider.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAA4D,MAAM,OAAO,CAAC;AASjF,OAAO,KAAK,EAAE,YAAY,EAAiD,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"P1PuckProvider.d.ts","sourceRoot":"","sources":["../../src/editor/P1PuckProvider.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAA4D,MAAM,OAAO,CAAC;AASjF,OAAO,KAAK,EAAE,YAAY,EAAiD,MAAM,kBAAkB,CAAC;AAcpG,OAAO,KAAK,EAAE,eAAe,EAAuB,MAAM,yBAAyB,CAAC;AACpF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAQhE,MAAM,WAAW,mBAAoB,SAAQ,YAAY;IACvD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B;;;OAGG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC;;OAEG;IACH,sBAAsB,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACtD;;;;OAIG;IACH,cAAc,CAAC,EAAE,eAAe,EAAE,CAAC;IACnC;;;;OAIG;IACH,aAAa,CAAC,EAAE,eAAe,CAAC;CACjC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,KAAK,CAAC,YAAY,CAM7E"}
|
|
@@ -13,6 +13,7 @@ import { debounce } from '../core/utils/debounce.js';
|
|
|
13
13
|
import { withRetry } from '../core/utils/retry.js';
|
|
14
14
|
import { useRealtime } from './useRealtime.js';
|
|
15
15
|
import { useDocuments } from './useDocuments.js';
|
|
16
|
+
import { snapshotToPuckData } from './utils/snapshotToPuckData.js';
|
|
16
17
|
import { resolveFeatureConfig } from '../core/featureConfig.js';
|
|
17
18
|
import { resolveActivePlugins, composeProviders } from './composePlugins.js';
|
|
18
19
|
import { DEFAULT_CSS_FEATURE_PLUGINS } from './defaultPlugins.js';
|
|
@@ -126,6 +127,10 @@ userRole = 'editor', children, }) {
|
|
|
126
127
|
// Document state
|
|
127
128
|
const [currentDocument, setCurrentDocument] = useState(null);
|
|
128
129
|
const [currentData, setCurrentData] = useState(null);
|
|
130
|
+
// True while loadDocument is in flight. Consumers use it to distinguish
|
|
131
|
+
// "no document while switching" (keep showing the old canvas) from
|
|
132
|
+
// "genuinely no document" (show the empty state).
|
|
133
|
+
const [documentLoading, setDocumentLoading] = useState(false);
|
|
129
134
|
// Template state (PROPOSAL-010)
|
|
130
135
|
const [currentTemplate, setCurrentTemplate] = useState(null);
|
|
131
136
|
// Save state
|
|
@@ -192,6 +197,10 @@ userRole = 'editor', children, }) {
|
|
|
192
197
|
const REMOTE_SYNC_DEBOUNCE_DELAY = 50;
|
|
193
198
|
// Ref to track viewingVersion for use in callbacks (avoids stale closure)
|
|
194
199
|
const viewingVersionRef = useRef(null);
|
|
200
|
+
// Tracks the latest data seen by saveData when NOT viewing historical.
|
|
201
|
+
// Used by returnToLatest to restore unsaved edits that were in Puck's
|
|
202
|
+
// memory when the user navigated to a historical version.
|
|
203
|
+
const latestLocalDataRef = useRef(null);
|
|
195
204
|
// Helper to cancel any pending remote sync - used when loading documents/versions
|
|
196
205
|
// This prevents race conditions where a pending remote update overrides loaded data
|
|
197
206
|
const cancelPendingRemoteSync = useCallback(() => {
|
|
@@ -394,14 +403,14 @@ userRole = 'editor', children, }) {
|
|
|
394
403
|
// The list endpoint carries no layout content; fetch the full template.
|
|
395
404
|
const fullTemplate = await userClient.templates.get(siteId, branchIdRef.current, template.id);
|
|
396
405
|
// A template without a content array has no stored layout snapshot;
|
|
397
|
-
//
|
|
406
|
+
// creating a page from it would silently produce a blank page. An empty
|
|
398
407
|
// array is a legitimate empty layout and passes.
|
|
399
408
|
if (!fullTemplate.content) {
|
|
400
409
|
throw new Error(`Template "${template.label || template.name}" has no layout yet. Open it in the editor and add components before creating pages from it.`);
|
|
401
410
|
}
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
await createDocumentRawRef.current(path,
|
|
411
|
+
// The backend builds the initial version from the template, preserving
|
|
412
|
+
// each component's durable slot id; no client snapshot is sent.
|
|
413
|
+
await createDocumentRawRef.current(path, undefined, {
|
|
405
414
|
templateId: fullTemplate.id,
|
|
406
415
|
templateVersion: fullTemplate.version,
|
|
407
416
|
title,
|
|
@@ -642,6 +651,11 @@ userRole = 'editor', children, }) {
|
|
|
642
651
|
return;
|
|
643
652
|
}
|
|
644
653
|
}
|
|
654
|
+
// Only genuine user edits reach here — load/restore echoes arm
|
|
655
|
+
// suppressNextSaveRef before they fire and are returned early above.
|
|
656
|
+
if (!viewingVersionRef.current) {
|
|
657
|
+
latestLocalDataRef.current = data;
|
|
658
|
+
}
|
|
645
659
|
// When realtime is enabled, detect whether this onChange came from a remote
|
|
646
660
|
// sync (Yjs update from another client) vs. a local user edit.
|
|
647
661
|
// Remote updates should NOT trigger a REST save — the DO handles persistence.
|
|
@@ -698,6 +712,12 @@ userRole = 'editor', children, }) {
|
|
|
698
712
|
return;
|
|
699
713
|
}
|
|
700
714
|
}
|
|
715
|
+
// Mirror the realtime guard: don't save when previewing a historical version.
|
|
716
|
+
// Without this, the PuckDataSynchronizer echo from loadVersion resumes the
|
|
717
|
+
// debounce and writes historical data to the server.
|
|
718
|
+
if (viewingVersionRef.current !== null) {
|
|
719
|
+
return;
|
|
720
|
+
}
|
|
701
721
|
pendingDataRef.current = data;
|
|
702
722
|
if (debouncedSave.isPaused()) {
|
|
703
723
|
debouncedSave.resume();
|
|
@@ -750,8 +770,10 @@ userRole = 'editor', children, }) {
|
|
|
750
770
|
// will no longer match — signaling that our response is stale.
|
|
751
771
|
loadRequestIdRef.current += 1;
|
|
752
772
|
const thisRequestId = loadRequestIdRef.current;
|
|
753
|
-
|
|
754
|
-
//
|
|
773
|
+
setDocumentLoading(true);
|
|
774
|
+
// Pre-clear the current document so nothing can save against the old
|
|
775
|
+
// one while the fetch is in flight. The canvas keeps showing the
|
|
776
|
+
// previous document — documentLoading suppresses the empty state.
|
|
755
777
|
currentDataDocumentPathRef.current = null;
|
|
756
778
|
setCurrentData(null);
|
|
757
779
|
setCurrentDocument(null);
|
|
@@ -793,7 +815,7 @@ userRole = 'editor', children, }) {
|
|
|
793
815
|
}
|
|
794
816
|
// Get latest version
|
|
795
817
|
const version = await userClient.versions.getLatest(siteId, branchId, doc.id);
|
|
796
|
-
const puckData = version.snapshot;
|
|
818
|
+
const puckData = snapshotToPuckData(version.snapshot);
|
|
797
819
|
// Staleness check: a newer loadDocument call has started
|
|
798
820
|
if (thisRequestId !== loadRequestIdRef.current) {
|
|
799
821
|
console.debug('[P1PuckProvider] Stale loadDocument — skipping (after getLatest)');
|
|
@@ -851,6 +873,13 @@ userRole = 'editor', children, }) {
|
|
|
851
873
|
setCurrentDocument(null);
|
|
852
874
|
throw error;
|
|
853
875
|
}
|
|
876
|
+
finally {
|
|
877
|
+
// Guarded so a stale call's completion can't clear the flag while a
|
|
878
|
+
// newer load is still in flight.
|
|
879
|
+
if (thisRequestId === loadRequestIdRef.current) {
|
|
880
|
+
setDocumentLoading(false);
|
|
881
|
+
}
|
|
882
|
+
}
|
|
854
883
|
}, [userClient, siteId, branchId, cancelPendingRemoteSync, enableRealtime, debouncedSave, performSave]);
|
|
855
884
|
// Load a specific version into the editor
|
|
856
885
|
const loadVersion = useCallback(async (version) => {
|
|
@@ -873,12 +902,9 @@ userRole = 'editor', children, }) {
|
|
|
873
902
|
console.warn('Could not fetch full version data, using version from list:', fetchError);
|
|
874
903
|
}
|
|
875
904
|
}
|
|
876
|
-
|
|
877
|
-
//
|
|
878
|
-
|
|
879
|
-
if (!puckData || (!puckData.content && !puckData.root)) {
|
|
880
|
-
puckData = { content: [], root: { props: {} } };
|
|
881
|
-
}
|
|
905
|
+
// Parses a JSON-string snapshot and falls back to blank Puck data for
|
|
906
|
+
// an empty/invalid snapshot (e.g. version 1's initial blank state).
|
|
907
|
+
const puckData = snapshotToPuckData(versionToUse.snapshot);
|
|
882
908
|
// IMPORTANT: Update the ref BEFORE state updates to block any incoming remote updates
|
|
883
909
|
// The effect that syncs viewingVersionRef runs AFTER render, which is too late
|
|
884
910
|
// Remote updates check this ref, so we need it set synchronously
|
|
@@ -913,6 +939,10 @@ userRole = 'editor', children, }) {
|
|
|
913
939
|
dataToRestore = currentYjsData;
|
|
914
940
|
}
|
|
915
941
|
}
|
|
942
|
+
// 1. Edits typed inside the debounce window — cleared from pendingDataRef by loadVersion but still live here.
|
|
943
|
+
const hadLocalEdits = !!latestLocalDataRef.current;
|
|
944
|
+
dataToRestore ??= latestLocalDataRef.current;
|
|
945
|
+
latestLocalDataRef.current = null; // consume — prevents stale ref short-circuiting server fetch on next history visit
|
|
916
946
|
// Re-fetch the true latest from the server when no live Yjs snapshot is
|
|
917
947
|
// available. The cached latestVersionDataRef is only a last-resort fallback
|
|
918
948
|
// (e.g. no current document); it is NOT used on fetch failure — silently
|
|
@@ -922,8 +952,7 @@ userRole = 'editor', children, }) {
|
|
|
922
952
|
if (!dataToRestore) {
|
|
923
953
|
const doc = currentDocumentRef.current;
|
|
924
954
|
if (doc) {
|
|
925
|
-
//
|
|
926
|
-
// frozen on the historical snapshot with no indication.
|
|
955
|
+
// 2. Authoritative server state — the only source that reflects saves from other tabs, users, or agents.
|
|
927
956
|
setIsReturningToLatest(true);
|
|
928
957
|
try {
|
|
929
958
|
const version = await userClient.versions.getLatest(siteId, branchId, doc.id);
|
|
@@ -941,16 +970,16 @@ userRole = 'editor', children, }) {
|
|
|
941
970
|
setIsReturningToLatest(false);
|
|
942
971
|
}
|
|
943
972
|
}
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
dataToRestore = latestVersionDataRef.current;
|
|
973
|
+
// 3. No document context — can't fetch; use last value written by performSave.
|
|
974
|
+
dataToRestore ??= latestVersionDataRef.current;
|
|
947
975
|
}
|
|
948
976
|
if (dataToRestore) {
|
|
949
977
|
// IMPORTANT: Update the ref BEFORE state updates
|
|
950
978
|
// Setting to null allows remote updates to resume
|
|
951
979
|
viewingVersionRef.current = null;
|
|
952
|
-
// Suppress the echo
|
|
953
|
-
//
|
|
980
|
+
// Suppress the PuckDataSynchronizer echo: setCurrentData triggers a setData
|
|
981
|
+
// dispatch and Puck fires onChange → saveData. Arm the ref so saveData drops
|
|
982
|
+
// that echo; we control the save explicitly below.
|
|
954
983
|
suppressNextSaveRef.current = dataToRestore;
|
|
955
984
|
if (enableRealtime) {
|
|
956
985
|
pendingRemoteUpdatesRef.current += 1;
|
|
@@ -967,7 +996,13 @@ userRole = 'editor', children, }) {
|
|
|
967
996
|
// Resume auto-save
|
|
968
997
|
debouncedSave.resume();
|
|
969
998
|
setAutoSavePaused(false);
|
|
970
|
-
|
|
999
|
+
// Only queue a save when restoring from local in-memory edits — those were
|
|
1000
|
+
// never persisted. Data from the server fetch is already the latest saved
|
|
1001
|
+
// version; queuing a save would create a spurious identical version.
|
|
1002
|
+
if (hadLocalEdits) {
|
|
1003
|
+
pendingDataRef.current = dataToRestore;
|
|
1004
|
+
debouncedSave();
|
|
1005
|
+
}
|
|
971
1006
|
setSaveStatus('idle');
|
|
972
1007
|
}
|
|
973
1008
|
}, [debouncedSave, cancelPendingRemoteSync, enableRealtime, realtime, userClient, siteId, branchId, showErrorNotifications, notificationContext]);
|
|
@@ -1381,31 +1416,72 @@ userRole = 'editor', children, }) {
|
|
|
1381
1416
|
const result = await userClient.documents.publish(siteId, branchId, doc.id);
|
|
1382
1417
|
return result.checkpoint;
|
|
1383
1418
|
}, [userClient, siteId, branchId, debouncedSave, performSave, enableRealtime, realtime]);
|
|
1419
|
+
// Tracks the currently in-flight switchBranch flush (everything after the
|
|
1420
|
+
// synchronous branch-selection commit), so a rapid re-selection can await
|
|
1421
|
+
// the prior call instead of racing it. See switchBranch below.
|
|
1422
|
+
const switchBranchInFlightRef = useRef(null);
|
|
1384
1423
|
// Switch branch
|
|
1385
1424
|
const switchBranch = useCallback(async (newBranchId) => {
|
|
1386
|
-
//
|
|
1387
|
-
|
|
1388
|
-
//
|
|
1389
|
-
|
|
1390
|
-
|
|
1391
|
-
|
|
1392
|
-
|
|
1393
|
-
//
|
|
1394
|
-
|
|
1425
|
+
// Commit the new workstream selection FIRST, synchronously, before the
|
|
1426
|
+
// async save-flush below. The UI (WorkstreamSwitcher) fires this inside
|
|
1427
|
+
// startTransition without awaiting it, so its "Switching..." busy state
|
|
1428
|
+
// clears as soon as this function's synchronous portion returns — well
|
|
1429
|
+
// before a save-flush of the outgoing document would resolve. If the
|
|
1430
|
+
// user navigates to a different document in that window, this provider
|
|
1431
|
+
// can remount (the editor route has no layout.tsx to shield it across
|
|
1432
|
+
// param changes), and its branchId initializer re-reads sessionStorage.
|
|
1433
|
+
// Persisting here — before the flush, not after — guarantees that read
|
|
1434
|
+
// always sees the newly selected branch instead of a stale one,
|
|
1435
|
+
// preventing the workstream selector from snapping back to Live/main.
|
|
1395
1436
|
setBranchId(newBranchId);
|
|
1396
1437
|
persistBranchId(newBranchId);
|
|
1397
|
-
setCurrentDocument(null);
|
|
1398
|
-
currentDataDocumentPathRef.current = null;
|
|
1399
|
-
setCurrentData(null);
|
|
1400
|
-
setViewingVersion(null);
|
|
1401
|
-
// Clear remoteSyncKey so new branch document sync takes priority
|
|
1402
|
-
setRemoteSyncKey(null);
|
|
1403
|
-
pendingDataRef.current = null;
|
|
1404
|
-
setSaveStatus('idle');
|
|
1405
|
-
setSaveError(null);
|
|
1406
|
-
// Update current branch
|
|
1407
1438
|
const branch = branches.find((b) => b.id === newBranchId);
|
|
1408
1439
|
setCurrentBranch(branch ?? null);
|
|
1440
|
+
// Serialize the flush portion below against any switchBranch call
|
|
1441
|
+
// still in flight. Because the branch commit above is synchronous but
|
|
1442
|
+
// the flush is not, a rapid second call (the switcher fires onSwitch
|
|
1443
|
+
// fire-and-forget, so its busy state clears well before the flush
|
|
1444
|
+
// resolves) can otherwise start its own flush while pendingDataRef
|
|
1445
|
+
// still holds the first call's outgoing edit — grabbing a performSave
|
|
1446
|
+
// closure already pointed at the intermediate branch and saving that
|
|
1447
|
+
// same edit a second time, to the wrong branch. Awaiting the prior
|
|
1448
|
+
// in-flight flush first guarantees only one flush ever reads/clears
|
|
1449
|
+
// pendingDataRef at a time, and that each flush's performSave targets
|
|
1450
|
+
// the branch that was current when that flush actually started.
|
|
1451
|
+
const previousSwitch = switchBranchInFlightRef.current;
|
|
1452
|
+
const thisSwitch = (async () => {
|
|
1453
|
+
if (previousSwitch) {
|
|
1454
|
+
// A prior switch's flush failure shouldn't block this one.
|
|
1455
|
+
await previousSwitch.catch(() => undefined);
|
|
1456
|
+
}
|
|
1457
|
+
// Cancel any pending remote sync - we're switching to a different branch
|
|
1458
|
+
cancelPendingRemoteSync();
|
|
1459
|
+
// Save any pending changes on the outgoing document/branch first
|
|
1460
|
+
if (pendingDataRef.current) {
|
|
1461
|
+
debouncedSave.cancel();
|
|
1462
|
+
await performSave();
|
|
1463
|
+
}
|
|
1464
|
+
// IMPORTANT: Update the ref BEFORE state updates
|
|
1465
|
+
viewingVersionRef.current = null;
|
|
1466
|
+
setCurrentDocument(null);
|
|
1467
|
+
currentDataDocumentPathRef.current = null;
|
|
1468
|
+
setCurrentData(null);
|
|
1469
|
+
setViewingVersion(null);
|
|
1470
|
+
// Clear remoteSyncKey so new branch document sync takes priority
|
|
1471
|
+
setRemoteSyncKey(null);
|
|
1472
|
+
pendingDataRef.current = null;
|
|
1473
|
+
setSaveStatus('idle');
|
|
1474
|
+
setSaveError(null);
|
|
1475
|
+
})();
|
|
1476
|
+
switchBranchInFlightRef.current = thisSwitch;
|
|
1477
|
+
try {
|
|
1478
|
+
await thisSwitch;
|
|
1479
|
+
}
|
|
1480
|
+
finally {
|
|
1481
|
+
if (switchBranchInFlightRef.current === thisSwitch) {
|
|
1482
|
+
switchBranchInFlightRef.current = null;
|
|
1483
|
+
}
|
|
1484
|
+
}
|
|
1409
1485
|
}, [branches, debouncedSave, performSave, cancelPendingRemoteSync, persistBranchId]);
|
|
1410
1486
|
// Presence context value (for hooks like useFocusRegionReporting)
|
|
1411
1487
|
const presenceContextValue = useMemo(() => {
|
|
@@ -1568,6 +1644,7 @@ userRole = 'editor', children, }) {
|
|
|
1568
1644
|
userId,
|
|
1569
1645
|
currentDocument,
|
|
1570
1646
|
currentData,
|
|
1647
|
+
documentLoading,
|
|
1571
1648
|
saveStatus,
|
|
1572
1649
|
lastSaved,
|
|
1573
1650
|
saveError,
|
|
@@ -1654,6 +1731,7 @@ userRole = 'editor', children, }) {
|
|
|
1654
1731
|
userId,
|
|
1655
1732
|
currentDocument,
|
|
1656
1733
|
currentData,
|
|
1734
|
+
documentLoading,
|
|
1657
1735
|
saveStatus,
|
|
1658
1736
|
lastSaved,
|
|
1659
1737
|
saveError,
|