@pantheon-systems/puck-css 0.12.0 → 0.13.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/README.md +1 -1
- package/dist/agent/components/AgentActionButton.js +0 -13
- package/dist/agent/components/AgentActionButton.js.map +1 -1
- package/dist/agent/components/AgentActionModal.js +0 -13
- package/dist/agent/components/AgentActionModal.js.map +1 -1
- package/dist/agent/components/AgentStatusPanel.js +0 -10
- package/dist/agent/components/AgentStatusPanel.js.map +1 -1
- package/dist/agent/components/index.js +0 -5
- package/dist/agent/components/index.js.map +1 -1
- package/dist/agent/useAgentEdit.js +0 -12
- package/dist/agent/useAgentEdit.js.map +1 -1
- package/dist/agent/useAgentTrigger.js +0 -29
- package/dist/agent/useAgentTrigger.js.map +1 -1
- package/dist/auth/P1AuthProvider.d.ts +9 -2
- package/dist/auth/P1AuthProvider.d.ts.map +1 -1
- package/dist/auth/P1AuthProvider.js +21 -44
- package/dist/auth/P1AuthProvider.js.map +1 -1
- package/dist/auth/P1LoginPage.js +0 -18
- package/dist/auth/P1LoginPage.js.map +1 -1
- package/dist/auth/index.d.ts +2 -0
- package/dist/auth/index.d.ts.map +1 -1
- package/dist/auth/index.js +1 -9
- package/dist/auth/index.js.map +1 -1
- package/dist/auth/logout.d.ts +23 -0
- package/dist/auth/logout.d.ts.map +1 -0
- package/dist/auth/logout.js +14 -0
- package/dist/auth/logout.js.map +1 -0
- package/dist/auth/storage-keys.d.ts +5 -0
- package/dist/auth/storage-keys.d.ts.map +1 -0
- package/dist/auth/storage-keys.js +3 -0
- package/dist/auth/storage-keys.js.map +1 -0
- package/dist/collaboration/components/AgentActivityBanner.js +0 -15
- package/dist/collaboration/components/AgentActivityBanner.js.map +1 -1
- package/dist/collaboration/components/CollaboratorAvatars.js +0 -17
- package/dist/collaboration/components/CollaboratorAvatars.js.map +1 -1
- package/dist/collaboration/components/FocusRegionHighlight.js +0 -9
- package/dist/collaboration/components/FocusRegionHighlight.js.map +1 -1
- package/dist/collaboration/components/PresenceIndicator.js +0 -9
- package/dist/collaboration/components/PresenceIndicator.js.map +1 -1
- package/dist/collaboration/useBranchPresence.js +0 -36
- package/dist/collaboration/useBranchPresence.js.map +1 -1
- package/dist/collaboration/useFocusRegionReporting.js +0 -75
- package/dist/collaboration/useFocusRegionReporting.js.map +1 -1
- package/dist/collaboration/usePresence.js +0 -37
- package/dist/collaboration/usePresence.js.map +1 -1
- package/dist/collaboration/useSitePresence.js +0 -36
- package/dist/collaboration/useSitePresence.js.map +1 -1
- package/dist/collaboration/utils/avatarColor.js +0 -3
- package/dist/collaboration/utils/avatarColor.js.map +1 -1
- package/dist/collaboration/utils/focusHighlightConfig.js +0 -61
- package/dist/collaboration/utils/focusHighlightConfig.js.map +1 -1
- package/dist/collaboration/utils/focusRegionMap.js +1 -80
- package/dist/collaboration/utils/focusRegionMap.js.map +1 -1
- package/dist/collaboration/utils/initials.js +0 -14
- package/dist/collaboration/utils/initials.js.map +1 -1
- package/dist/collaboration/utils/presenceIdentity.js +0 -26
- package/dist/collaboration/utils/presenceIdentity.js.map +1 -1
- package/dist/core/FocusHighlightContext.js +0 -31
- package/dist/core/FocusHighlightContext.js.map +1 -1
- package/dist/core/NotificationContext.js +2 -67
- package/dist/core/NotificationContext.js.map +1 -1
- package/dist/core/P1PuckContext.js +0 -31
- package/dist/core/P1PuckContext.js.map +1 -1
- package/dist/core/PresenceContext.js +0 -18
- package/dist/core/PresenceContext.js.map +1 -1
- package/dist/core/config.js +0 -11
- package/dist/core/config.js.map +1 -1
- package/dist/core/featureConfig.js +0 -32
- package/dist/core/featureConfig.js.map +1 -1
- package/dist/core/types.d.ts +1 -1
- package/dist/core/types.js +0 -3
- package/dist/core/types.js.map +1 -1
- package/dist/core/utils/debounce.js +0 -18
- package/dist/core/utils/debounce.js.map +1 -1
- package/dist/core/utils/requestError.js +0 -5
- package/dist/core/utils/requestError.js.map +1 -1
- package/dist/core/utils/retry.js +0 -31
- package/dist/core/utils/retry.js.map +1 -1
- package/dist/core/utils/throttle.js +0 -24
- package/dist/core/utils/throttle.js.map +1 -1
- package/dist/data/cross-reference-resolve.js +0 -6
- package/dist/data/cross-reference-resolve.js.map +1 -1
- package/dist/data/cross-reference.js +0 -15
- package/dist/data/cross-reference.js.map +1 -1
- package/dist/data/css-queries/css-query-registry.d.ts +2 -2
- package/dist/data/css-queries/css-query-registry.js +1 -1
- package/dist/data/css-queries/css-query-registry.js.map +1 -1
- package/dist/data/dal/index.js +0 -21
- package/dist/data/dal/index.js.map +1 -1
- package/dist/data/dal/init.js +0 -40
- package/dist/data/dal/init.js.map +1 -1
- package/dist/data/dal/p1-store.d.ts.map +1 -1
- package/dist/data/dal/p1-store.js +11 -41
- package/dist/data/dal/p1-store.js.map +1 -1
- package/dist/data/data-list-block/create-data-list-block.js +0 -7
- package/dist/data/data-list-block/create-data-list-block.js.map +1 -1
- package/dist/data/data-list-block/utils.js +0 -1
- package/dist/data/data-list-block/utils.js.map +1 -1
- package/dist/data/fields/pds-field-helpers.js +1 -4
- package/dist/data/fields/pds-field-helpers.js.map +1 -1
- package/dist/data/fields/visible-when.js +0 -5
- package/dist/data/fields/visible-when.js.map +1 -1
- package/dist/data/fields.js +0 -12
- package/dist/data/fields.js.map +1 -1
- package/dist/data/get-page.js +0 -1
- package/dist/data/get-page.js.map +1 -1
- package/dist/data/page-editor-meta.js +0 -7
- package/dist/data/page-editor-meta.js.map +1 -1
- package/dist/data/page-store.js +0 -32
- package/dist/data/page-store.js.map +1 -1
- package/dist/data/page-structure.js +0 -3
- package/dist/data/page-structure.js.map +1 -1
- package/dist/data/paths.js +0 -16
- package/dist/data/paths.js.map +1 -1
- package/dist/data/remote-datasources/fetch-http-json.js +0 -5
- package/dist/data/remote-datasources/fetch-http-json.js.map +1 -1
- package/dist/data/remote-datasources/loader.js +0 -21
- package/dist/data/remote-datasources/loader.js.map +1 -1
- package/dist/data/remote-datasources/remote-datasource-registry.js +0 -4
- package/dist/data/remote-datasources/remote-datasource-registry.js.map +1 -1
- package/dist/data/resolve-data-templates.js +0 -24
- package/dist/data/resolve-data-templates.js.map +1 -1
- package/dist/data/route-templates.js +0 -29
- package/dist/data/route-templates.js.map +1 -1
- package/dist/data/semantic-ops.js +0 -11
- package/dist/data/semantic-ops.js.map +1 -1
- package/dist/data/styles.js +0 -2
- package/dist/data/styles.js.map +1 -1
- package/dist/data/template-autocomplete.js +0 -8
- package/dist/data/template-autocomplete.js.map +1 -1
- package/dist/data/utils.d.ts +2 -0
- package/dist/data/utils.d.ts.map +1 -1
- package/dist/data/utils.js +3 -1
- package/dist/data/utils.js.map +1 -1
- package/dist/editor/P1App.d.ts.map +1 -1
- package/dist/editor/P1App.js +6 -45
- package/dist/editor/P1App.js.map +1 -1
- package/dist/editor/P1PuckProvider.d.ts +1 -1
- package/dist/editor/P1PuckProvider.js +39 -556
- package/dist/editor/P1PuckProvider.js.map +1 -1
- package/dist/editor/aiPanelStore.js +0 -7
- package/dist/editor/aiPanelStore.js.map +1 -1
- package/dist/editor/components/BranchSelector.js +0 -21
- package/dist/editor/components/BranchSelector.js.map +1 -1
- package/dist/editor/components/CollapsibleSectionHeader.js +1 -4
- package/dist/editor/components/CollapsibleSectionHeader.js.map +1 -1
- package/dist/editor/components/DraggableRow.js +0 -1
- package/dist/editor/components/DraggableRow.js.map +1 -1
- package/dist/editor/components/EditorReloadOverlay.d.ts +16 -0
- package/dist/editor/components/EditorReloadOverlay.d.ts.map +1 -0
- package/dist/editor/components/EditorReloadOverlay.js +13 -0
- package/dist/editor/components/EditorReloadOverlay.js.map +1 -0
- package/dist/editor/components/NotificationContainer.js +0 -20
- package/dist/editor/components/NotificationContainer.js.map +1 -1
- package/dist/editor/components/OutlinePanel.js +1 -12
- package/dist/editor/components/OutlinePanel.js.map +1 -1
- package/dist/editor/components/P1InspectorFields.d.ts.map +1 -1
- package/dist/editor/components/P1InspectorFields.js +12 -14
- package/dist/editor/components/P1InspectorFields.js.map +1 -1
- package/dist/editor/components/P1TemplateFields.js +6 -12
- package/dist/editor/components/P1TemplateFields.js.map +1 -1
- package/dist/editor/components/PanelHeader.d.ts.map +1 -1
- package/dist/editor/components/PanelHeader.js +3 -2
- package/dist/editor/components/PanelHeader.js.map +1 -1
- package/dist/editor/components/PublishButton.js +0 -21
- package/dist/editor/components/PublishButton.js.map +1 -1
- package/dist/editor/components/PuckDataCapture.js +0 -14
- package/dist/editor/components/PuckDataCapture.js.map +1 -1
- package/dist/editor/components/PuckDataSynchronizer.js +0 -67
- package/dist/editor/components/PuckDataSynchronizer.js.map +1 -1
- package/dist/editor/components/PuckSelectionTracker.js +0 -62
- package/dist/editor/components/PuckSelectionTracker.js.map +1 -1
- package/dist/editor/components/SaveIndicator.js +0 -41
- package/dist/editor/components/SaveIndicator.js.map +1 -1
- package/dist/editor/components/Toast.js +1 -32
- package/dist/editor/components/Toast.js.map +1 -1
- package/dist/editor/components/VersionBannerOverride.js +2 -14
- package/dist/editor/components/VersionBannerOverride.js.map +1 -1
- package/dist/editor/components/collapsibleSectionContext.js +0 -10
- package/dist/editor/components/collapsibleSectionContext.js.map +1 -1
- package/dist/editor/components/componentIconName.js +0 -23
- package/dist/editor/components/componentIconName.js.map +1 -1
- package/dist/editor/components/connectable.js +0 -5
- package/dist/editor/components/connectable.js.map +1 -1
- package/dist/editor/components/merge-preview/MergePreviewRenderer.js +2 -74
- package/dist/editor/components/merge-preview/MergePreviewRenderer.js.map +1 -1
- package/dist/editor/components/merge-preview/ScaledContent.js +0 -6
- package/dist/editor/components/merge-preview/ScaledContent.js.map +1 -1
- package/dist/editor/components/merge-preview/index.js +0 -5
- package/dist/editor/components/merge-preview/index.js.map +1 -1
- package/dist/editor/components/outlineTree.js +0 -31
- package/dist/editor/components/outlineTree.js.map +1 -1
- package/dist/editor/components/useDragReorder.js +0 -1
- package/dist/editor/components/useDragReorder.js.map +1 -1
- package/dist/editor/defaultPlugins.d.ts +1 -1
- package/dist/editor/defaultPlugins.js +1 -1
- package/dist/editor/logout-store.d.ts +13 -0
- package/dist/editor/logout-store.d.ts.map +1 -0
- package/dist/editor/logout-store.js +23 -0
- package/dist/editor/logout-store.js.map +1 -0
- package/dist/editor/plugin/P1Plugin.d.ts +6 -3
- package/dist/editor/plugin/P1Plugin.d.ts.map +1 -1
- package/dist/editor/plugin/P1Plugin.js +20 -170
- package/dist/editor/plugin/P1Plugin.js.map +1 -1
- package/dist/editor/plugin/context-sync-key.js +0 -19
- package/dist/editor/plugin/context-sync-key.js.map +1 -1
- package/dist/editor/plugin/createP1Overrides.js +1 -49
- package/dist/editor/plugin/createP1Overrides.js.map +1 -1
- package/dist/editor/plugin/document-sync-plugin.js +0 -50
- package/dist/editor/plugin/document-sync-plugin.js.map +1 -1
- package/dist/editor/plugin/fieldGuidance.js +0 -5
- package/dist/editor/plugin/fieldGuidance.js.map +1 -1
- package/dist/editor/plugin/index.js +0 -6
- package/dist/editor/plugin/index.js.map +1 -1
- package/dist/editor/plugin/selectHeaderCollaborators.js +0 -8
- package/dist/editor/plugin/selectHeaderCollaborators.js.map +1 -1
- package/dist/editor/presets.js +2 -2
- package/dist/editor/thumbnails/LiveThumbnail.js +1 -49
- package/dist/editor/thumbnails/LiveThumbnail.js.map +1 -1
- package/dist/editor/thumbnails/ThumbnailCard.js +0 -25
- package/dist/editor/thumbnails/ThumbnailCard.js.map +1 -1
- package/dist/editor/thumbnails/buildLiveThumbnailDrawer.js +0 -21
- package/dist/editor/thumbnails/buildLiveThumbnailDrawer.js.map +1 -1
- package/dist/editor/thumbnails/humanizeComponentName.js +0 -17
- package/dist/editor/thumbnails/humanizeComponentName.js.map +1 -1
- package/dist/editor/thumbnails/resolveLiveThumbnailDrawer.js +0 -11
- package/dist/editor/thumbnails/resolveLiveThumbnailDrawer.js.map +1 -1
- package/dist/editor/thumbnails/thumbnailCache.js +0 -38
- package/dist/editor/thumbnails/thumbnailCache.js.map +1 -1
- package/dist/editor/useAutoSave.js +0 -32
- package/dist/editor/useAutoSave.js.map +1 -1
- package/dist/editor/useBranches.js +0 -30
- package/dist/editor/useBranches.js.map +1 -1
- package/dist/editor/useComponentRegistry.d.ts +1 -1
- package/dist/editor/useComponentRegistry.js +0 -28
- package/dist/editor/useComponentRegistry.js.map +1 -1
- package/dist/editor/useDocuments.js +0 -51
- package/dist/editor/useDocuments.js.map +1 -1
- package/dist/editor/useMergePreview.js +8 -12
- package/dist/editor/useMergePreview.js.map +1 -1
- package/dist/editor/useP1Editor.d.ts +27 -7
- package/dist/editor/useP1Editor.d.ts.map +1 -1
- package/dist/editor/useP1Editor.js +106 -239
- package/dist/editor/useP1Editor.js.map +1 -1
- package/dist/editor/useP1Overrides.js +15 -50
- package/dist/editor/useP1Overrides.js.map +1 -1
- package/dist/editor/useP1Plugin.d.ts +7 -3
- package/dist/editor/useP1Plugin.d.ts.map +1 -1
- package/dist/editor/useP1Plugin.js +28 -56
- package/dist/editor/useP1Plugin.js.map +1 -1
- package/dist/editor/useRealtime.d.ts +15 -3
- package/dist/editor/useRealtime.d.ts.map +1 -1
- package/dist/editor/useRealtime.js +12 -91
- package/dist/editor/useRealtime.js.map +1 -1
- package/dist/editor/useResponsivePanels.js +2 -35
- package/dist/editor/useResponsivePanels.js.map +1 -1
- package/dist/editor/useSidebarScrollPreservation.js +0 -14
- package/dist/editor/useSidebarScrollPreservation.js.map +1 -1
- package/dist/editor/utils/buildThumbnailOverride.js +0 -9
- package/dist/editor/utils/buildThumbnailOverride.js.map +1 -1
- package/dist/editor/utils/componentRegistry.d.ts +6 -11
- package/dist/editor/utils/componentRegistry.d.ts.map +1 -1
- package/dist/editor/utils/componentRegistry.js +1 -71
- package/dist/editor/utils/componentRegistry.js.map +1 -1
- package/dist/editor/utils/createStablePluginArray.js +0 -27
- package/dist/editor/utils/createStablePluginArray.js.map +1 -1
- package/dist/editor/utils/path.js +0 -6
- package/dist/editor/utils/path.js.map +1 -1
- package/dist/editor/utils/puckYjsBinding.d.ts +1 -1
- package/dist/editor/utils/puckYjsBinding.js +0 -99
- package/dist/editor/utils/puckYjsBinding.js.map +1 -1
- package/dist/editor/utils/restoreDocumentVersion.js +0 -12
- package/dist/editor/utils/restoreDocumentVersion.js.map +1 -1
- package/dist/editor/utils/sanitizeRichtextDefaults.js +0 -26
- package/dist/editor/utils/sanitizeRichtextDefaults.js.map +1 -1
- package/dist/editor/utils/snapshotToPuckData.js +0 -8
- package/dist/editor/utils/snapshotToPuckData.js.map +1 -1
- package/dist/editor/utils/syncComponentRegistry.d.ts +2 -2
- package/dist/editor/utils/syncComponentRegistry.js +1 -76
- package/dist/editor/utils/syncComponentRegistry.js.map +1 -1
- package/dist/editor/utils/syncComponentRegistryWriteOnly.d.ts +7 -7
- package/dist/editor/utils/syncComponentRegistryWriteOnly.js +0 -22
- package/dist/editor/utils/syncComponentRegistryWriteOnly.js.map +1 -1
- package/dist/editor/utils/templatePath.js +0 -5
- package/dist/editor/utils/templatePath.js.map +1 -1
- package/dist/features/content-type-templates/editor/useTemplatePermissions.js +0 -3
- package/dist/features/content-type-templates/editor/useTemplatePermissions.js.map +1 -1
- package/dist/features/content-type-templates/hooks/useTemplateList.js +0 -30
- package/dist/features/content-type-templates/hooks/useTemplateList.js.map +1 -1
- package/dist/features/content-type-templates/index.js +0 -8
- package/dist/features/content-type-templates/index.js.map +1 -1
- package/dist/features/content-type-templates/permissions/createPuckPermissions.js +1 -43
- package/dist/features/content-type-templates/permissions/createPuckPermissions.js.map +1 -1
- package/dist/features/content-type-templates/permissions/role-permissions.js +0 -29
- package/dist/features/content-type-templates/permissions/role-permissions.js.map +1 -1
- package/dist/features/content-type-templates/permissions/useContentRole.js +0 -24
- package/dist/features/content-type-templates/permissions/useContentRole.js.map +1 -1
- package/dist/features/content-type-templates/permissions/useResolveContentRole.d.ts +5 -5
- package/dist/features/content-type-templates/permissions/useResolveContentRole.js +2 -22
- package/dist/features/content-type-templates/permissions/useResolveContentRole.js.map +1 -1
- package/dist/features/content-type-templates/stores/index.js +0 -5
- package/dist/features/content-type-templates/stores/index.js.map +1 -1
- package/dist/features/content-type-templates/stores/template-store-api.js +0 -14
- package/dist/features/content-type-templates/stores/template-store-api.js.map +1 -1
- package/dist/features/content-type-templates/stores/template-store.d.ts +1 -1
- package/dist/features/content-type-templates/stores/template-store.js +0 -12
- package/dist/features/content-type-templates/stores/template-store.js.map +1 -1
- package/dist/features/content-type-templates/types.js +0 -5
- package/dist/features/content-type-templates/types.js.map +1 -1
- package/dist/features/content-type-templates/ui/ActionBarPinButton.js +12 -21
- package/dist/features/content-type-templates/ui/ActionBarPinButton.js.map +1 -1
- package/dist/features/content-type-templates/ui/TemplateDetailsPanel.js +0 -23
- package/dist/features/content-type-templates/ui/TemplateDetailsPanel.js.map +1 -1
- package/dist/features/content-type-templates/ui/TemplateSelector.js +0 -19
- package/dist/features/content-type-templates/ui/TemplateSelector.js.map +1 -1
- package/dist/features/content-type-templates/validation/structural-validation.js +0 -40
- package/dist/features/content-type-templates/validation/structural-validation.js.map +1 -1
- package/dist/index.d.ts +6 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -43
- package/dist/index.js.map +1 -1
- package/dist/merge/components/conflict-notifications/ConflictNotificationToast.js +0 -19
- package/dist/merge/components/conflict-notifications/ConflictNotificationToast.js.map +1 -1
- package/dist/merge/components/conflict-notifications/index.js +0 -5
- package/dist/merge/components/conflict-notifications/index.js.map +1 -1
- package/dist/merge/components/conflict-notifications/useConflictNotifications.js +0 -48
- package/dist/merge/components/conflict-notifications/useConflictNotifications.js.map +1 -1
- package/dist/merge/components/conflict-resolution/ComponentConflictGroup.js +0 -36
- package/dist/merge/components/conflict-resolution/ComponentConflictGroup.js.map +1 -1
- package/dist/merge/components/conflict-resolution/PuckFieldResolutionPanel.js +0 -40
- package/dist/merge/components/conflict-resolution/PuckFieldResolutionPanel.js.map +1 -1
- package/dist/merge/components/conflict-resolution/RenderedResolutionPreview.js +0 -21
- package/dist/merge/components/conflict-resolution/RenderedResolutionPreview.js.map +1 -1
- package/dist/merge/components/conflict-resolution/index.js +0 -5
- package/dist/merge/components/conflict-resolution/index.js.map +1 -1
- package/dist/merge/components/merge-resolution/CherryPickVisualPanel.js +0 -44
- package/dist/merge/components/merge-resolution/CherryPickVisualPanel.js.map +1 -1
- package/dist/merge/components/merge-resolution/ComponentClickOverlay.js +0 -24
- package/dist/merge/components/merge-resolution/ComponentClickOverlay.js.map +1 -1
- package/dist/merge/components/merge-resolution/DocumentResolutionDetail.d.ts.map +1 -1
- package/dist/merge/components/merge-resolution/DocumentResolutionDetail.js +6 -31
- package/dist/merge/components/merge-resolution/DocumentResolutionDetail.js.map +1 -1
- package/dist/merge/components/merge-resolution/index.js +0 -3
- package/dist/merge/components/merge-resolution/index.js.map +1 -1
- package/dist/merge/useMergeResolution.d.ts +1 -1
- package/dist/merge/useMergeResolution.d.ts.map +1 -1
- package/dist/merge/useMergeResolution.js +6 -75
- package/dist/merge/useMergeResolution.js.map +1 -1
- package/dist/merge/utils/namespacePuckData.d.ts.map +1 -1
- package/dist/merge/utils/namespacePuckData.js +8 -8
- package/dist/merge/utils/namespacePuckData.js.map +1 -1
- package/dist/merge/utils/puckFieldClassifier.js +0 -183
- package/dist/merge/utils/puckFieldClassifier.js.map +1 -1
- package/dist/p1/editor/connect/connect-preview-config.js +0 -5
- package/dist/p1/editor/connect/connect-preview-config.js.map +1 -1
- package/dist/p1/editor/connect/field-connect-plugin.js +0 -6
- package/dist/p1/editor/connect/field-connect-plugin.js.map +1 -1
- package/dist/p1/editor/editor-preview-resolve.js +0 -13
- package/dist/p1/editor/editor-preview-resolve.js.map +1 -1
- package/dist/p1/editor/hooks/api-hooks.js +0 -7
- package/dist/p1/editor/hooks/api-hooks.js.map +1 -1
- package/dist/p1/editor/hooks/useLiveEditorContext.js +0 -12
- package/dist/p1/editor/hooks/useLiveEditorContext.js.map +1 -1
- package/dist/p1/editor/hooks/useLiveRemoteDatasources.js +0 -22
- package/dist/p1/editor/hooks/useLiveRemoteDatasources.js.map +1 -1
- package/dist/p1/editor/hooks/useP1Plugins.js +0 -5
- package/dist/p1/editor/hooks/useP1Plugins.js.map +1 -1
- package/dist/p1/editor/remote-datasources/remote-datasource-explorer-plugin.js +0 -7
- package/dist/p1/editor/remote-datasources/remote-datasource-explorer-plugin.js.map +1 -1
- package/dist/p1/editor/template-autocomplete-layer.js +0 -4
- package/dist/p1/editor/template-autocomplete-layer.js.map +1 -1
- package/dist/pds/components/AgentChip.js +0 -3
- package/dist/pds/components/AgentChip.js.map +1 -1
- package/dist/pds/components/CreatePageModal.js +1 -97
- package/dist/pds/components/CreatePageModal.js.map +1 -1
- package/dist/pds/components/LoadingMessage.d.ts.map +1 -1
- package/dist/pds/components/LoadingMessage.js +2 -1
- package/dist/pds/components/LoadingMessage.js.map +1 -1
- package/dist/pds/components/LoadingMessage.module.css +2 -21
- package/dist/pds/components/LoadingOverlay.d.ts +17 -0
- package/dist/pds/components/LoadingOverlay.d.ts.map +1 -0
- package/dist/pds/components/LoadingOverlay.js +7 -0
- package/dist/pds/components/LoadingOverlay.js.map +1 -0
- package/dist/pds/components/LoadingOverlay.module.css +28 -0
- package/dist/pds/components/P1EditorHeader.d.ts +9 -2
- package/dist/pds/components/P1EditorHeader.d.ts.map +1 -1
- package/dist/pds/components/P1EditorHeader.js +6 -26
- package/dist/pds/components/P1EditorHeader.js.map +1 -1
- package/dist/pds/components/P1EditorHeader.module.css +26 -0
- package/dist/pds/components/PageNavigator.js +0 -16
- package/dist/pds/components/PageNavigator.js.map +1 -1
- package/dist/pds/components/PresenceStack.js +0 -9
- package/dist/pds/components/PresenceStack.js.map +1 -1
- package/dist/pds/components/PublishControl.js +0 -6
- package/dist/pds/components/PublishControl.js.map +1 -1
- package/dist/pds/components/WorkstreamSwitcher.js +1 -25
- package/dist/pds/components/WorkstreamSwitcher.js.map +1 -1
- package/dist/pds/index.d.ts +2 -0
- package/dist/pds/index.d.ts.map +1 -1
- package/dist/pds/index.js +1 -29
- package/dist/pds/index.js.map +1 -1
- package/dist/pds/theme/pds-core-content.js +0 -5
- package/dist/pds/theme/pds-core-content.js.map +1 -1
- package/dist/pds/utils/deriveDocState.js +0 -1
- package/dist/pds/utils/deriveDocState.js.map +1 -1
- package/dist/pds/utils/deriveLiveDocState.js +0 -13
- package/dist/pds/utils/deriveLiveDocState.js.map +1 -1
- package/dist/registry-sync.js +0 -4
- package/dist/registry-sync.js.map +1 -1
- package/dist/server.js +0 -7
- package/dist/server.js.map +1 -1
- package/dist/versioning/components/ReadOnlyFieldsGuard.js +0 -3
- package/dist/versioning/components/ReadOnlyFieldsGuard.js.map +1 -1
- package/dist/versioning/components/VersionBannerActions.js +0 -1
- package/dist/versioning/components/VersionBannerActions.js.map +1 -1
- package/dist/versioning/components/version-compare/BranchDiffHeader.js +0 -7
- package/dist/versioning/components/version-compare/BranchDiffHeader.js.map +1 -1
- package/dist/versioning/components/version-compare/BranchMergeCompare.js +0 -19
- package/dist/versioning/components/version-compare/BranchMergeCompare.js.map +1 -1
- package/dist/versioning/components/version-compare/ComponentNode.js +0 -8
- package/dist/versioning/components/version-compare/ComponentNode.js.map +1 -1
- package/dist/versioning/components/version-compare/ComponentTree.js +0 -10
- package/dist/versioning/components/version-compare/ComponentTree.js.map +1 -1
- package/dist/versioning/components/version-compare/DiffHeader.js +0 -3
- package/dist/versioning/components/version-compare/DiffHeader.js.map +1 -1
- package/dist/versioning/components/version-compare/DocumentDiffList.js +0 -14
- package/dist/versioning/components/version-compare/DocumentDiffList.js.map +1 -1
- package/dist/versioning/components/version-compare/PropDiffPanel.js +0 -7
- package/dist/versioning/components/version-compare/PropDiffPanel.js.map +1 -1
- package/dist/versioning/components/version-compare/PropDiffRow.js +0 -3
- package/dist/versioning/components/version-compare/PropDiffRow.js.map +1 -1
- package/dist/versioning/components/version-compare/PropValueDisplay.js +0 -22
- package/dist/versioning/components/version-compare/PropValueDisplay.js.map +1 -1
- package/dist/versioning/components/version-compare/VersionComparePage.js +0 -13
- package/dist/versioning/components/version-compare/VersionComparePage.js.map +1 -1
- package/dist/versioning/components/version-compare/VisualBranchCompare.js +0 -17
- package/dist/versioning/components/version-compare/VisualBranchCompare.js.map +1 -1
- package/dist/versioning/components/version-compare/VisualVersionCompare.js +0 -23
- package/dist/versioning/components/version-compare/VisualVersionCompare.js.map +1 -1
- package/dist/versioning/components/version-compare/index.js +0 -5
- package/dist/versioning/components/version-compare/index.js.map +1 -1
- package/dist/versioning/components/version-history/AgentCheckpointBadge.js +0 -14
- package/dist/versioning/components/version-history/AgentCheckpointBadge.js.map +1 -1
- package/dist/versioning/components/version-history/VersionItem.js +0 -7
- package/dist/versioning/components/version-history/VersionItem.js.map +1 -1
- package/dist/versioning/components/version-history/index.js +0 -5
- package/dist/versioning/components/version-history/index.js.map +1 -1
- package/dist/versioning/useCheckpoints.js +0 -28
- package/dist/versioning/useCheckpoints.js.map +1 -1
- package/dist/versioning/useVersions.js +0 -31
- package/dist/versioning/useVersions.js.map +1 -1
- package/dist/versioning/utils/branchDiff.js +0 -93
- package/dist/versioning/utils/branchDiff.js.map +1 -1
- package/dist/versioning/utils/diff.js +0 -79
- package/dist/versioning/utils/diff.js.map +1 -1
- package/dist/versioning/utils/formatVersionDate.js +0 -12
- package/dist/versioning/utils/formatVersionDate.js.map +1 -1
- package/dist/versioning/utils/highlightConfig.js +0 -42
- package/dist/versioning/utils/highlightConfig.js.map +1 -1
- package/dist/versioning/utils/versionKind.js +0 -10
- package/dist/versioning/utils/versionKind.js.map +1 -1
- package/package.json +7 -7
- package/src/pds/theme/PuckEditorTheme.css +5 -5
- package/src/styles.css +1 -1
- package/src/pds/theme/PuckEditorTheme.test.ts +0 -195
- package/src/pds/theme/pds-core-content.ts +0 -8
|
@@ -1,16 +1,9 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
/**
|
|
3
|
-
* useP1Editor Hook
|
|
4
|
-
*
|
|
5
|
-
* All-in-one hook for setting up a P1-enabled Puck editor.
|
|
6
|
-
* Composes useP1Plugin and useP1Overrides internally, handles
|
|
7
|
-
* document loading, version management, historical version protection,
|
|
8
|
-
* and provides everything needed to render <Puck>.
|
|
9
|
-
*/
|
|
10
2
|
import { useState, useEffect, useRef, useMemo, useCallback } from 'react';
|
|
11
3
|
import { useP1Puck } from '../core/P1PuckContext.js';
|
|
12
4
|
import { useVersions } from '../versioning/useVersions.js';
|
|
13
5
|
import { useP1Auth } from '../auth/index.js';
|
|
6
|
+
import { isDocumentGoneError } from '../data/utils.js';
|
|
14
7
|
import { useP1Plugin } from './useP1Plugin.js';
|
|
15
8
|
import { useP1Overrides } from './useP1Overrides.js';
|
|
16
9
|
import { useComponentRegistry } from './useComponentRegistry.js';
|
|
@@ -20,67 +13,35 @@ import { restoreDocumentVersion } from './utils/restoreDocumentVersion.js';
|
|
|
20
13
|
import { initialPanelUi } from './useResponsivePanels.js';
|
|
21
14
|
import { createDocumentSyncStore, createDocumentSyncPlugin, documentSyncKey, BLANK_SYNC_KEY, } from './plugin/document-sync-plugin.js';
|
|
22
15
|
import { resolveLiveThumbnailDrawer } from './thumbnails/resolveLiveThumbnailDrawer.js';
|
|
23
|
-
/**
|
|
24
|
-
* All-in-one hook for setting up a P1-enabled Puck editor.
|
|
25
|
-
*
|
|
26
|
-
* Handles document loading, version management, plugin/overrides creation,
|
|
27
|
-
* safe data, historical version protection, and plugin array assembly.
|
|
28
|
-
* Returns everything needed to render <Puck> with minimal boilerplate.
|
|
29
|
-
*
|
|
30
|
-
* Must be used inside a P1PuckProvider.
|
|
31
|
-
*
|
|
32
|
-
* @param options - Editor configuration
|
|
33
|
-
* @returns Loading state, puck props, and P1 context
|
|
34
|
-
*
|
|
35
|
-
* @example
|
|
36
|
-
* ```tsx
|
|
37
|
-
* function Editor() {
|
|
38
|
-
* const { loading, error, puckProps } = useP1Editor({
|
|
39
|
-
* documentPath: '/home',
|
|
40
|
-
* puckConfig: config,
|
|
41
|
-
* });
|
|
42
|
-
*
|
|
43
|
-
* if (loading) return <Loading />;
|
|
44
|
-
* if (error) return <Error error={error} />;
|
|
45
|
-
*
|
|
46
|
-
* return <Puck {...puckProps} />;
|
|
47
|
-
* }
|
|
48
|
-
* ```
|
|
49
|
-
*/
|
|
50
16
|
export function useP1Editor(options) {
|
|
51
17
|
const { documentPath, puckConfig, additionalPlugins, additionalOverrides, thumbnails, liveThumbnailDrawer, overrideOptions, pluginOptions, onSelectionChange, onDocumentNotFound, } = options;
|
|
52
|
-
const
|
|
18
|
+
const ccr = useP1Puck();
|
|
53
19
|
const { user, logout } = useP1Auth();
|
|
54
|
-
// =========================================================================
|
|
55
|
-
// Document Loading
|
|
56
|
-
// =========================================================================
|
|
57
20
|
const [loading, setLoading] = useState(true);
|
|
58
21
|
const [error, setError] = useState(null);
|
|
59
22
|
const [needsRedirect, setNeedsRedirect] = useState(false);
|
|
60
23
|
const loadedPathRef = useRef(null);
|
|
61
|
-
|
|
62
|
-
const prevBranchRef = useRef(
|
|
63
|
-
if (prevBranchRef.current !==
|
|
64
|
-
prevBranchRef.current =
|
|
24
|
+
const loadedBranchRef = useRef(null);
|
|
25
|
+
const prevBranchRef = useRef(ccr.branchId);
|
|
26
|
+
if (prevBranchRef.current !== ccr.branchId) {
|
|
27
|
+
prevBranchRef.current = ccr.branchId;
|
|
65
28
|
loadedPathRef.current = null;
|
|
66
29
|
}
|
|
67
|
-
// Keep callback in a ref so the effect doesn't re-run when it changes
|
|
68
30
|
const onDocumentNotFoundRef = useRef(onDocumentNotFound);
|
|
69
31
|
onDocumentNotFoundRef.current = onDocumentNotFound;
|
|
70
32
|
useEffect(() => {
|
|
71
|
-
|
|
72
|
-
if (!css.branchId)
|
|
33
|
+
if (!ccr.branchId)
|
|
73
34
|
return;
|
|
74
|
-
// Skip if already loaded this path on this branch
|
|
75
35
|
if (loadedPathRef.current === documentPath)
|
|
76
36
|
return;
|
|
77
37
|
let cancelled = false;
|
|
78
38
|
setLoading(true);
|
|
79
39
|
setError(null);
|
|
80
|
-
|
|
40
|
+
ccr.loadDocument(documentPath)
|
|
81
41
|
.then(() => {
|
|
82
42
|
if (!cancelled) {
|
|
83
43
|
loadedPathRef.current = documentPath;
|
|
44
|
+
loadedBranchRef.current = ccr.branchId;
|
|
84
45
|
setNeedsRedirect(false);
|
|
85
46
|
setLoading(false);
|
|
86
47
|
}
|
|
@@ -89,26 +50,28 @@ export function useP1Editor(options) {
|
|
|
89
50
|
if (cancelled)
|
|
90
51
|
return;
|
|
91
52
|
const loadErr = err instanceof Error ? err : new Error(String(err));
|
|
92
|
-
|
|
53
|
+
if (isDocumentGoneError(loadErr)) {
|
|
54
|
+
setNeedsRedirect(true);
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
93
57
|
if (onDocumentNotFoundRef.current) {
|
|
94
58
|
try {
|
|
95
59
|
const shouldRetry = await onDocumentNotFoundRef.current(documentPath, loadErr);
|
|
96
60
|
if (!cancelled && shouldRetry) {
|
|
97
|
-
await
|
|
61
|
+
await ccr.loadDocument(documentPath);
|
|
98
62
|
if (!cancelled) {
|
|
99
63
|
loadedPathRef.current = documentPath;
|
|
64
|
+
loadedBranchRef.current = ccr.branchId;
|
|
100
65
|
setNeedsRedirect(false);
|
|
101
66
|
setLoading(false);
|
|
102
|
-
void
|
|
67
|
+
void ccr.refreshDocuments();
|
|
103
68
|
}
|
|
104
69
|
return;
|
|
105
70
|
}
|
|
106
71
|
}
|
|
107
72
|
catch {
|
|
108
|
-
// callback itself failed — fall through to unload
|
|
109
73
|
}
|
|
110
74
|
}
|
|
111
|
-
// Unload the editor; recovery effect will set an error if no docs exist
|
|
112
75
|
if (!cancelled) {
|
|
113
76
|
setNeedsRedirect(true);
|
|
114
77
|
}
|
|
@@ -116,74 +79,48 @@ export function useP1Editor(options) {
|
|
|
116
79
|
return () => {
|
|
117
80
|
cancelled = true;
|
|
118
81
|
};
|
|
119
|
-
}, [documentPath,
|
|
120
|
-
|
|
121
|
-
// Derived rather than copied into state: a retry that clears the failure has
|
|
122
|
-
// to stop being reported, which a mirrored copy would keep showing.
|
|
123
|
-
const branchBootError = css.branchId ? null : css.branchResolutionError ?? null;
|
|
124
|
-
// Recovery: document not found on this branch — unload the editor and let
|
|
125
|
-
// the preview empty state guide the user to pick a page.
|
|
82
|
+
}, [documentPath, ccr.branchId, ccr.loadDocument]);
|
|
83
|
+
const branchBootError = ccr.branchId ? null : ccr.branchResolutionError ?? null;
|
|
126
84
|
useEffect(() => {
|
|
127
85
|
if (!needsRedirect)
|
|
128
86
|
return;
|
|
129
|
-
if (
|
|
87
|
+
if (ccr.documentsLoading)
|
|
130
88
|
return;
|
|
131
89
|
setNeedsRedirect(false);
|
|
132
|
-
if (
|
|
133
|
-
|
|
134
|
-
// a branch that genuinely holds nothing; saying "no documents" for the
|
|
135
|
-
// former is how the real failure stays hidden.
|
|
136
|
-
setError(css.documentsError ?? new Error('No documents found on this branch'));
|
|
90
|
+
if (ccr.documents.length === 0) {
|
|
91
|
+
setError(ccr.documentsError ?? new Error('No documents found on this branch'));
|
|
137
92
|
}
|
|
138
93
|
setLoading(false);
|
|
139
|
-
}, [needsRedirect,
|
|
140
|
-
// =========================================================================
|
|
141
|
-
// Version Management
|
|
142
|
-
// =========================================================================
|
|
94
|
+
}, [needsRedirect, ccr.documentsLoading, ccr.documents.length, ccr.documentsError]);
|
|
143
95
|
const { versions, loading: versionsLoading, refresh: refreshVersions, } = useVersions({
|
|
144
|
-
client:
|
|
145
|
-
siteId:
|
|
146
|
-
branchId:
|
|
147
|
-
documentId:
|
|
96
|
+
client: ccr.client,
|
|
97
|
+
siteId: ccr.siteId,
|
|
98
|
+
branchId: ccr.branchId,
|
|
99
|
+
documentId: ccr.currentDocument?.id ?? null,
|
|
148
100
|
});
|
|
149
|
-
// Refresh versions when document changes; also reset eager-version flag so a
|
|
150
|
-
// stale post-publish signal from the previous document never fires on the new one.
|
|
151
101
|
useEffect(() => {
|
|
152
102
|
needsVersionRef.current = false;
|
|
153
|
-
if (
|
|
103
|
+
if (ccr.currentDocument?.id)
|
|
154
104
|
void refreshVersions();
|
|
155
|
-
}, [
|
|
156
|
-
// Refresh versions after a successful save so the publish badge reflects the
|
|
157
|
-
// new unpublished draft (publishedStatus flips 'published' → 'unpublished-changes').
|
|
158
|
-
// Without this the badge would keep reading "Live" after an edit on the Live branch.
|
|
105
|
+
}, [ccr.currentDocument?.id, refreshVersions]);
|
|
159
106
|
useEffect(() => {
|
|
160
|
-
if (
|
|
107
|
+
if (ccr.saveStatus === 'saved')
|
|
161
108
|
void refreshVersions();
|
|
162
|
-
}, [
|
|
163
|
-
// Select a version — latest returns to live editing, others load historical
|
|
109
|
+
}, [ccr.saveStatus, refreshVersions]);
|
|
164
110
|
const handleVersionSelect = useCallback((version) => {
|
|
165
111
|
const latestVersion = versions[0];
|
|
166
112
|
if (latestVersion && version.id === latestVersion.id) {
|
|
167
|
-
void
|
|
113
|
+
void ccr.returnToLatest();
|
|
168
114
|
}
|
|
169
115
|
else {
|
|
170
|
-
void
|
|
116
|
+
void ccr.loadVersion(version);
|
|
171
117
|
}
|
|
172
|
-
}, [versions,
|
|
173
|
-
|
|
174
|
-
const
|
|
175
|
-
// =========================================================================
|
|
176
|
-
// Published Status (derived from version data)
|
|
177
|
-
// =========================================================================
|
|
178
|
-
// The backend includes isPublished on each DocumentVersion via an EXISTS
|
|
179
|
-
// subquery against checkpoint_documents. No additional API calls needed.
|
|
180
|
-
const currentVersionId = css.viewingVersion?.id ?? versions[0]?.id;
|
|
118
|
+
}, [versions, ccr.loadVersion, ccr.returnToLatest]);
|
|
119
|
+
const handleRestoreVersion = useCallback((version) => restoreDocumentVersion(version, ccr, refreshVersions, () => { }), [ccr, refreshVersions]);
|
|
120
|
+
const currentVersionId = ccr.viewingVersion?.id ?? versions[0]?.id;
|
|
181
121
|
const currentVersionIsPublished = versions.find(v => v.id === currentVersionId)?.isPublished ?? false;
|
|
182
122
|
const hasPublishedVersion = versions.some(v => v.isPublished);
|
|
183
|
-
|
|
184
|
-
// inherited and isPublished fields from the branch-level listing endpoint.
|
|
185
|
-
// css.currentDocument comes from the site-level getByPath endpoint and lacks these.
|
|
186
|
-
const branchDocument = css.documents.find(d => d.id === css.currentDocument?.id);
|
|
123
|
+
const branchDocument = ccr.documents.find(d => d.id === ccr.currentDocument?.id);
|
|
187
124
|
const inheritedAndPublished = branchDocument?.inherited && branchDocument?.isPublished;
|
|
188
125
|
const publishedStatus = versionsLoading
|
|
189
126
|
? undefined
|
|
@@ -194,60 +131,58 @@ export function useP1Editor(options) {
|
|
|
194
131
|
: hasPublishedVersion
|
|
195
132
|
? 'unpublished-changes'
|
|
196
133
|
: 'draft';
|
|
197
|
-
// =========================================================================
|
|
198
|
-
// Focus Region Reporting (outgoing — report local selection to server)
|
|
199
|
-
// =========================================================================
|
|
200
|
-
// Report selection changes to the presence system via WebSocket.
|
|
201
|
-
// Wraps the consumer's onSelectionChange so both reporting and
|
|
202
|
-
// the consumer callback are called.
|
|
203
134
|
const onSelectionChangeRef = useRef(onSelectionChange);
|
|
204
135
|
onSelectionChangeRef.current = onSelectionChange;
|
|
205
136
|
const handleSelectionChange = useCallback((path, itemId) => {
|
|
206
|
-
// Report to presence system via WebSocket (instant broadcast to other clients)
|
|
207
137
|
const regions = path ? [path] : [];
|
|
208
|
-
|
|
209
|
-
// Forward to consumer callback
|
|
138
|
+
ccr.sendFocusRegions(regions);
|
|
210
139
|
onSelectionChangeRef.current?.(path, itemId);
|
|
211
|
-
}, [
|
|
212
|
-
// =========================================================================
|
|
213
|
-
// Component Registry (runs at editor startup, writes descriptors to P1 backend)
|
|
214
|
-
// =========================================================================
|
|
140
|
+
}, [ccr.sendFocusRegions]);
|
|
215
141
|
useComponentRegistry({ puckConfig });
|
|
216
|
-
// =========================================================================
|
|
217
|
-
// Plugin & Overrides (composed hooks)
|
|
218
|
-
// =========================================================================
|
|
219
|
-
// Set true after a successful publish; the next onChange fires the eager
|
|
220
|
-
// version create and clears this immediately.
|
|
221
142
|
const needsVersionRef = useRef(false);
|
|
222
|
-
const eagerVersionParamsRef = useRef({ siteId:
|
|
223
|
-
eagerVersionParamsRef.current = { siteId:
|
|
224
|
-
// Wrap publish to refresh version list and call consumer callback after success.
|
|
143
|
+
const eagerVersionParamsRef = useRef({ siteId: ccr.siteId, branchId: ccr.branchId, documentId: ccr.currentDocument?.id ?? null });
|
|
144
|
+
eagerVersionParamsRef.current = { siteId: ccr.siteId, branchId: ccr.branchId, documentId: ccr.currentDocument?.id ?? null };
|
|
225
145
|
const consumerOnPublishSuccessRef = useRef(overrideOptions?.onPublishSuccess);
|
|
226
146
|
consumerOnPublishSuccessRef.current = overrideOptions?.onPublishSuccess;
|
|
227
147
|
const handlePublish = useCallback(async () => {
|
|
228
|
-
const checkpoint = await
|
|
148
|
+
const checkpoint = await ccr.publishDocument();
|
|
229
149
|
needsVersionRef.current = true;
|
|
230
150
|
void refreshVersions();
|
|
231
151
|
consumerOnPublishSuccessRef.current?.(checkpoint);
|
|
232
|
-
}, [
|
|
233
|
-
const canRevert =
|
|
234
|
-
// Pushes freshly loaded documents into the live Puck instance, replacing
|
|
235
|
-
// the remount-on-document-switch behavior the old document-scoped puckKey
|
|
236
|
-
// provided (see document-sync-plugin.tsx). Handed to the P1 plugin as well
|
|
237
|
-
// so its context sync defers document switches to this store.
|
|
152
|
+
}, [ccr, refreshVersions]);
|
|
153
|
+
const canRevert = ccr.userRole === 'admin' || ccr.userRole === 'editor' || ccr.userRole === 'author';
|
|
238
154
|
const [documentSyncStore] = useState(createDocumentSyncStore);
|
|
155
|
+
const [logoutError, setLogoutError] = useState(null);
|
|
156
|
+
const [isLoggingOut, setIsLoggingOut] = useState(false);
|
|
157
|
+
const handleLogout = useCallback(async () => {
|
|
158
|
+
setIsLoggingOut(true);
|
|
159
|
+
setLogoutError(null);
|
|
160
|
+
try {
|
|
161
|
+
const outcome = await logout();
|
|
162
|
+
if (outcome.status === 'error') {
|
|
163
|
+
setLogoutError(outcome.message);
|
|
164
|
+
setIsLoggingOut(false);
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
catch (err) {
|
|
168
|
+
setLogoutError(err instanceof Error ? err.message : 'Logout failed');
|
|
169
|
+
setIsLoggingOut(false);
|
|
170
|
+
}
|
|
171
|
+
}, [logout]);
|
|
239
172
|
const p1Plugin = useP1Plugin({
|
|
240
173
|
documentSyncStore,
|
|
241
174
|
onSelectionChange: handleSelectionChange,
|
|
242
|
-
currentUser: user ? { id:
|
|
243
|
-
onLogout:
|
|
175
|
+
currentUser: user ? { id: ccr.userId, name: user.name, email: user.email, avatar: user.picture } : undefined,
|
|
176
|
+
onLogout: handleLogout,
|
|
177
|
+
logoutError,
|
|
178
|
+
isLoggingOut,
|
|
244
179
|
puckConfig,
|
|
245
180
|
...pluginOptions,
|
|
246
181
|
onPublish: handlePublish,
|
|
247
182
|
versions,
|
|
248
183
|
versionsLoading,
|
|
249
184
|
publishedStatus,
|
|
250
|
-
selectedVersionId:
|
|
185
|
+
selectedVersionId: ccr.viewingVersion?.id ?? undefined,
|
|
251
186
|
onVersionSelect: handleVersionSelect,
|
|
252
187
|
onRestoreVersion: handleRestoreVersion,
|
|
253
188
|
canRevert,
|
|
@@ -261,11 +196,7 @@ export function useP1Editor(options) {
|
|
|
261
196
|
publishedStatus,
|
|
262
197
|
...(overrideOptions?.onPublishSuccess ? { onPublishSuccess: wrappedOnPublishSuccess } : {}),
|
|
263
198
|
});
|
|
264
|
-
// =========================================================================
|
|
265
|
-
// Stable plugin array
|
|
266
|
-
// =========================================================================
|
|
267
199
|
if (process.env.NODE_ENV === "development") {
|
|
268
|
-
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
269
200
|
const prev = useRef(additionalPlugins);
|
|
270
201
|
if (prev.current !== additionalPlugins) {
|
|
271
202
|
const countChanged = (prev.current?.length ?? 0) !== (additionalPlugins?.length ?? 0);
|
|
@@ -280,43 +211,27 @@ export function useP1Editor(options) {
|
|
|
280
211
|
additionalPluginsRef.current = additionalPlugins;
|
|
281
212
|
const pluginCount = additionalPlugins?.length ?? 0;
|
|
282
213
|
const documentSyncPlugin = useMemo(() => createDocumentSyncPlugin(documentSyncStore), [documentSyncStore]);
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
// Both the key and the data come from the payload's own origin, so a key can
|
|
286
|
-
// never be paired with a different document's data. Keying off the live
|
|
287
|
-
// branchId instead published the incoming branch's key beside the outgoing
|
|
288
|
-
// branch's data the instant a switch began; the plugin applied that pairing,
|
|
289
|
-
// recorded the new key as applied, and then ignored the correct document when
|
|
290
|
-
// it arrived under the same key — leaving the canvas a workstream behind.
|
|
291
|
-
//
|
|
292
|
-
// safeData is read directly rather than through a ref: it only advances when
|
|
293
|
-
// the provider loads a document (saveData deliberately never touches
|
|
294
|
-
// currentData), so it cannot re-fire on every keystroke.
|
|
295
|
-
const currentDocumentId = css.currentDocument?.id;
|
|
296
|
-
const origin = css.currentDataOrigin;
|
|
214
|
+
const currentDocumentId = ccr.currentDocument?.id;
|
|
215
|
+
const origin = ccr.currentDataOrigin;
|
|
297
216
|
useEffect(() => {
|
|
298
217
|
if (loading || error || !origin)
|
|
299
218
|
return;
|
|
300
|
-
// Historical versions sync through ContextSyncBridge, which does not reset
|
|
301
|
-
// the undo stack.
|
|
302
219
|
if (origin.historical)
|
|
303
220
|
return;
|
|
304
|
-
|
|
305
|
-
// Withholding it keeps the applied key naming what the canvas really shows.
|
|
306
|
-
if (origin.branchId !== css.branchId)
|
|
221
|
+
if (origin.branchId !== ccr.branchId)
|
|
307
222
|
return;
|
|
308
223
|
if (origin.documentId !== currentDocumentId)
|
|
309
224
|
return;
|
|
310
225
|
documentSyncStore.publish({
|
|
311
226
|
syncKey: documentSyncKey(origin.branchId, origin.documentId),
|
|
312
|
-
data:
|
|
227
|
+
data: ccr.safeData,
|
|
313
228
|
});
|
|
314
229
|
}, [
|
|
315
230
|
loading,
|
|
316
231
|
error,
|
|
317
232
|
origin,
|
|
318
|
-
|
|
319
|
-
|
|
233
|
+
ccr.safeData,
|
|
234
|
+
ccr.branchId,
|
|
320
235
|
currentDocumentId,
|
|
321
236
|
documentSyncStore,
|
|
322
237
|
]);
|
|
@@ -327,30 +242,20 @@ export function useP1Editor(options) {
|
|
|
327
242
|
}
|
|
328
243
|
return result;
|
|
329
244
|
}, [p1Plugin, documentSyncPlugin, pluginCount]);
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
// document switches)
|
|
333
|
-
// =========================================================================
|
|
334
|
-
const isViewingHistoricalRef = useRef(css.isViewingHistoricalVersion);
|
|
335
|
-
isViewingHistoricalRef.current = css.isViewingHistoricalVersion;
|
|
336
|
-
// With Puck surviving document switches, onChange can fire while the canvas
|
|
337
|
-
// still shows the previous document but css already targets the new one
|
|
338
|
-
// (load in flight, or loaded but not yet pushed by the sync plugin). Saving
|
|
339
|
-
// then would write the old page's content into the new page — drop instead.
|
|
245
|
+
const isViewingHistoricalRef = useRef(ccr.isViewingHistoricalVersion);
|
|
246
|
+
isViewingHistoricalRef.current = ccr.isViewingHistoricalVersion;
|
|
340
247
|
const saveTargetKeyRef = useRef(null);
|
|
341
|
-
saveTargetKeyRef.current =
|
|
342
|
-
? documentSyncKey(
|
|
248
|
+
saveTargetKeyRef.current = ccr.currentDocument?.id
|
|
249
|
+
? documentSyncKey(ccr.branchId, ccr.currentDocument.id)
|
|
343
250
|
: null;
|
|
344
251
|
const eagerVersionHandler = useMemo(() => makeEagerVersionHandler(needsVersionRef, () => eagerVersionParamsRef.current, {
|
|
345
|
-
createVersion: (siteId, params) =>
|
|
252
|
+
createVersion: (siteId, params) => ccr.client.versions.create(siteId, params),
|
|
346
253
|
refreshVersions,
|
|
347
|
-
}), [
|
|
348
|
-
const { saveData } =
|
|
254
|
+
}), [ccr.client, refreshVersions]);
|
|
255
|
+
const { saveData } = ccr;
|
|
349
256
|
const onChange = useCallback((data) => {
|
|
350
257
|
if (isViewingHistoricalRef.current)
|
|
351
258
|
return;
|
|
352
|
-
// The blank sentinel stays permissive so a consumer running without the
|
|
353
|
-
// document-sync plugin is not frozen read-only.
|
|
354
259
|
const appliedKey = documentSyncStore.getAppliedKey();
|
|
355
260
|
if (appliedKey !== BLANK_SYNC_KEY && appliedKey !== saveTargetKeyRef.current) {
|
|
356
261
|
console.warn('[useP1Editor] save SKIPPED: canvas/document mismatch during switch.', 'canvas:', appliedKey, 'target:', saveTargetKeyRef.current);
|
|
@@ -359,44 +264,21 @@ export function useP1Editor(options) {
|
|
|
359
264
|
eagerVersionHandler(data);
|
|
360
265
|
saveData(data);
|
|
361
266
|
}, [saveData, documentSyncStore, eagerVersionHandler]);
|
|
362
|
-
// =========================================================================
|
|
363
|
-
// Permissions (read-only for historical versions)
|
|
364
|
-
// =========================================================================
|
|
365
267
|
const permissions = useMemo(() => {
|
|
366
|
-
if (
|
|
367
|
-
// Omit edit:false so page/root fields are never locked by Puck's own
|
|
368
|
-
// readonly rendering. Interaction is blocked by ReadOnlyFieldsGuard
|
|
369
|
-
// (inert attribute) instead, which also covers root fields without
|
|
370
|
-
// requiring resolvePermissions on config.root.
|
|
268
|
+
if (ccr.isViewingHistoricalVersion) {
|
|
371
269
|
return { delete: false, drag: false, duplicate: false, insert: false };
|
|
372
270
|
}
|
|
373
271
|
return { delete: true, drag: true, duplicate: true, edit: true, insert: true };
|
|
374
|
-
}, [
|
|
375
|
-
// =========================================================================
|
|
376
|
-
// Stable merged overrides
|
|
377
|
-
// =========================================================================
|
|
378
|
-
// Merge additional overrides (e.g. from media plugins) with P1 overrides.
|
|
379
|
-
// Uses ref pattern to keep the merge stable — only recomputes when
|
|
380
|
-
// p1Overrides changes, not when additionalOverrides reference changes
|
|
381
|
-
// (which would happen every render if the consumer doesn't memoize).
|
|
272
|
+
}, [ccr.isViewingHistoricalVersion]);
|
|
382
273
|
const additionalOverridesRef = useRef(additionalOverrides);
|
|
383
274
|
additionalOverridesRef.current = additionalOverrides;
|
|
384
|
-
// Thumbnail override — built from the thumbnails map and merged between
|
|
385
|
-
// p1Overrides and additionalOverrides so the site can still fully override
|
|
386
|
-
// componentItem if needed.
|
|
387
275
|
const thumbnailsRef = useRef(thumbnails);
|
|
388
276
|
thumbnailsRef.current = thumbnails;
|
|
389
|
-
// Live thumbnail drawer — default ON for every consumer. Uses raw puckConfig
|
|
390
|
-
// (not configWithPermissions) so previews show all components regardless of
|
|
391
|
-
// role. Because useMemo deps on p1Overrides (stable after mount), changes to
|
|
392
|
-
// puckConfig or liveThumbnailDrawer after mount are not picked up.
|
|
393
277
|
const puckConfigRef = useRef(puckConfig);
|
|
394
278
|
puckConfigRef.current = puckConfig;
|
|
395
279
|
const liveThumbnailDrawerRef = useRef(liveThumbnailDrawer);
|
|
396
280
|
liveThumbnailDrawerRef.current = liveThumbnailDrawer;
|
|
397
281
|
const mergedOverrides = useMemo(() => {
|
|
398
|
-
// Layer order (last wins):
|
|
399
|
-
// p1Overrides → liveThumbnailDrawer → thumbnailOverride → additionalOverrides
|
|
400
282
|
const layers = [
|
|
401
283
|
p1Overrides,
|
|
402
284
|
resolveLiveThumbnailDrawer(puckConfigRef.current, liveThumbnailDrawerRef.current),
|
|
@@ -420,33 +302,14 @@ export function useP1Editor(options) {
|
|
|
420
302
|
}
|
|
421
303
|
return merged;
|
|
422
304
|
}, [p1Overrides]);
|
|
423
|
-
|
|
424
|
-
// Assemble puckProps
|
|
425
|
-
// =========================================================================
|
|
426
|
-
// Key that forces Puck to remount on role change (let puck internally manage the change on document change),
|
|
427
|
-
// ensuring clean undo history, sidebar state, and fresh permission cache.
|
|
428
|
-
// Puck caches resolvePermissions results per component instance — the
|
|
429
|
-
// cache is only invalidated when component data changes, not when the
|
|
430
|
-
// resolver function changes. Including userRole in the key forces a
|
|
431
|
-
// clean remount with an empty cache when roles switch.
|
|
432
|
-
const puckKey = `css-${css.userRole}`;
|
|
433
|
-
// Sidebar visibility for the initial mount. puckKey is the dependency on
|
|
434
|
-
// purpose even though it is not read here: a new key remounts Puck, which
|
|
435
|
-
// re-reads this as its initial `ui`, so the budget must be applied again.
|
|
436
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
305
|
+
const puckKey = `p1-${ccr.userRole}`;
|
|
437
306
|
const initialSidebarUi = useMemo(() => initialPanelUi(), [puckKey]);
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
// Puck doesn't have a top-level resolvePermissions prop — permissions
|
|
442
|
-
// must be resolved per-component via config[type].resolvePermissions.
|
|
443
|
-
const resolvePermsRef = useRef(css.resolvePermissions);
|
|
444
|
-
resolvePermsRef.current = css.resolvePermissions;
|
|
445
|
-
// Template mode: editing a template document (path `_registry/templates/<name>`).
|
|
446
|
-
const isTemplateMode = /^_registry\/templates\//.test(css.currentDocument?.path ?? '');
|
|
307
|
+
const resolvePermsRef = useRef(ccr.resolvePermissions);
|
|
308
|
+
resolvePermsRef.current = ccr.resolvePermissions;
|
|
309
|
+
const isTemplateMode = /^_registry\/templates\//.test(ccr.currentDocument?.path ?? '');
|
|
447
310
|
const configWithPermissions = useMemo(() => {
|
|
448
311
|
let cfg = puckConfig;
|
|
449
|
-
if (
|
|
312
|
+
if (ccr.resolvePermissions) {
|
|
450
313
|
const components = (cfg.components ?? {});
|
|
451
314
|
const wrapped = {};
|
|
452
315
|
for (const [name, comp] of Object.entries(components)) {
|
|
@@ -457,12 +320,6 @@ export function useP1Editor(options) {
|
|
|
457
320
|
if (!resolver)
|
|
458
321
|
return params.permissions;
|
|
459
322
|
const basePerms = resolver({ type: name, props: data?.props }, {});
|
|
460
|
-
// Template-authoring mode: the context resolver only sees a
|
|
461
|
-
// metadata summary (no pins), so the document's live _pinMap is the
|
|
462
|
-
// pin source. On a bound page the resolver reads the live template
|
|
463
|
-
// and already governs pins, so the page's own snapshot pinMap is
|
|
464
|
-
// ignored — otherwise a stale pin would stay locked after the
|
|
465
|
-
// template unpins it.
|
|
466
323
|
if (isTemplateMode) {
|
|
467
324
|
const pinMap = (params.appState?.data?.root?.props?._pinMap ?? {});
|
|
468
325
|
const compId = data?.props?.id;
|
|
@@ -476,31 +333,41 @@ export function useP1Editor(options) {
|
|
|
476
333
|
}
|
|
477
334
|
cfg = { ...cfg, components: wrapped };
|
|
478
335
|
}
|
|
479
|
-
// In template mode, relabel the right-sidebar root header "Page" -> "Template".
|
|
480
|
-
// Puck derives that heading from `config.root.label` (no override hook exists).
|
|
481
336
|
if (isTemplateMode) {
|
|
482
337
|
const root = (cfg.root ?? {});
|
|
483
338
|
cfg = { ...cfg, root: { ...root, label: 'Template' } };
|
|
484
339
|
}
|
|
485
340
|
return cfg;
|
|
486
|
-
}, [puckConfig, !!
|
|
341
|
+
}, [puckConfig, !!ccr.resolvePermissions, isTemplateMode]);
|
|
487
342
|
const puckProps = useMemo(() => ({
|
|
488
343
|
config: configWithPermissions,
|
|
489
|
-
data:
|
|
344
|
+
data: ccr.safeData,
|
|
490
345
|
onChange,
|
|
491
346
|
plugins,
|
|
492
347
|
overrides: mergedOverrides,
|
|
493
348
|
ui: initialSidebarUi,
|
|
494
349
|
permissions,
|
|
495
|
-
onAction:
|
|
496
|
-
}), [configWithPermissions,
|
|
350
|
+
onAction: ccr.handleAction,
|
|
351
|
+
}), [configWithPermissions, ccr.safeData, onChange, plugins, mergedOverrides, initialSidebarUi, permissions, ccr.handleAction]);
|
|
352
|
+
const inFlight = branchBootError === null && loading;
|
|
353
|
+
const lastGoodRef = useRef(null);
|
|
354
|
+
const settled = loadedPathRef.current === documentPath && loadedBranchRef.current === ccr.branchId;
|
|
355
|
+
if (settled && !inFlight && !error && !branchBootError) {
|
|
356
|
+
lastGoodRef.current = { puckKey, puckProps };
|
|
357
|
+
}
|
|
358
|
+
const retained = lastGoodRef.current;
|
|
359
|
+
const hasContent = retained !== null;
|
|
360
|
+
const reloadKind = loadedBranchRef.current !== null && loadedBranchRef.current !== ccr.branchId
|
|
361
|
+
? 'branch'
|
|
362
|
+
: 'document';
|
|
497
363
|
return {
|
|
498
|
-
loading:
|
|
364
|
+
loading: inFlight && !hasContent,
|
|
365
|
+
reloading: inFlight && hasContent ? reloadKind : null,
|
|
366
|
+
hasContent,
|
|
499
367
|
error: error ?? branchBootError,
|
|
500
|
-
puckKey,
|
|
501
|
-
puckProps,
|
|
502
|
-
css,
|
|
503
|
-
/** @deprecated No longer emitted — editor now shows an empty state when a document is not found on the current branch. */
|
|
368
|
+
puckKey: retained?.puckKey ?? puckKey,
|
|
369
|
+
puckProps: retained?.puckProps ?? puckProps,
|
|
370
|
+
css: ccr,
|
|
504
371
|
redirectPath: null,
|
|
505
372
|
};
|
|
506
373
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useP1Editor.js","sourceRoot":"","sources":["../../src/editor/useP1Editor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useP1Editor.js","sourceRoot":"","sources":["../../src/editor/useP1Editor.ts"],"names":[],"mappings":"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"}
|