@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,31 +1,5 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* thumbnailCache
|
|
3
|
-
*
|
|
4
|
-
* In-memory, client-side cache for rendered component-preview HTML: a
|
|
5
|
-
* module-level Map that survives editor/document remounts within a single
|
|
6
|
-
* page load (Puck is force-remounted via `key` on every document switch,
|
|
7
|
-
* which would otherwise re-render every preview from scratch).
|
|
8
|
-
*
|
|
9
|
-
* Deliberately NOT persisted to localStorage: the cached value is later
|
|
10
|
-
* injected via `dangerouslySetInnerHTML` (see LiveThumbnail), and localStorage
|
|
11
|
-
* is writable by any same-origin script. Persisting it would let a same-origin
|
|
12
|
-
* write to a `p1-thumb:*` key plant markup that gets trusted and replayed on a
|
|
13
|
-
* future load. Keeping the cache in-memory only means an attacker would need
|
|
14
|
-
* live script execution in this exact session to influence it — at which
|
|
15
|
-
* point they already have full DOM control and this cache buys them nothing.
|
|
16
|
-
*
|
|
17
|
-
* A preview depends only on component name + defaultProps, NOT on the document
|
|
18
|
-
* being edited, so entries are reused across every page. The key embeds a hash
|
|
19
|
-
* of the defaultProps plus a caller-supplied version so stale entries
|
|
20
|
-
* invalidate when a component's inputs change.
|
|
21
|
-
*/
|
|
22
|
-
// Legacy prefix from a prior localStorage-backed version of this cache.
|
|
23
|
-
// clearThumbnailCache() still purges any stray entries left behind on a
|
|
24
|
-
// user's machine, but nothing here reads or writes through it anymore.
|
|
25
1
|
const LEGACY_LS_PREFIX = 'p1-thumb:';
|
|
26
|
-
// In-memory only, lives as long as the JS runtime (browser tab).
|
|
27
2
|
const memory = new Map();
|
|
28
|
-
/** Small, dependency-free djb2 string hash. */
|
|
29
3
|
function hashString(input) {
|
|
30
4
|
let hash = 5381;
|
|
31
5
|
for (let i = 0; i < input.length; i++) {
|
|
@@ -33,7 +7,6 @@ function hashString(input) {
|
|
|
33
7
|
}
|
|
34
8
|
return (hash >>> 0).toString(36);
|
|
35
9
|
}
|
|
36
|
-
/** localStorage if available, else null (SSR / disabled / private mode). */
|
|
37
10
|
function getStore() {
|
|
38
11
|
try {
|
|
39
12
|
return typeof globalThis !== 'undefined' && globalThis.localStorage
|
|
@@ -44,38 +17,28 @@ function getStore() {
|
|
|
44
17
|
return null;
|
|
45
18
|
}
|
|
46
19
|
}
|
|
47
|
-
/**
|
|
48
|
-
* Build a cache key for a component preview. Changing `defaultProps` or
|
|
49
|
-
* `version` yields a different key, so cached previews invalidate.
|
|
50
|
-
*/
|
|
51
20
|
export function makeThumbnailKey(name, defaultProps, version = '2') {
|
|
52
21
|
let serialized = '';
|
|
53
22
|
try {
|
|
54
23
|
serialized = JSON.stringify(defaultProps) ?? '';
|
|
55
24
|
}
|
|
56
25
|
catch {
|
|
57
|
-
// Non-serializable props — fall back to name+version only.
|
|
58
26
|
serialized = '';
|
|
59
27
|
}
|
|
60
28
|
return `${name}:${hashString(`${version}|${serialized}`)}`;
|
|
61
29
|
}
|
|
62
|
-
/** A component's defaultProps, resolved from its config entry. */
|
|
63
30
|
function defaultPropsFor(config, name) {
|
|
64
31
|
return config?.components?.[name]?.defaultProps ?? {};
|
|
65
32
|
}
|
|
66
|
-
/** Cache key for a component preview, shared by LiveThumbnail and ThumbnailCard. */
|
|
67
33
|
export function getThumbnailCacheKey(config, name, version) {
|
|
68
34
|
return makeThumbnailKey(name, defaultPropsFor(config, name), version);
|
|
69
35
|
}
|
|
70
|
-
/** Read a cached preview (in-memory only — see file header for why). */
|
|
71
36
|
export function getCachedThumbnail(key) {
|
|
72
37
|
return memory.get(key);
|
|
73
38
|
}
|
|
74
|
-
/** Write a preview to the in-memory cache. */
|
|
75
39
|
export function setCachedThumbnail(key, html) {
|
|
76
40
|
memory.set(key, html);
|
|
77
41
|
}
|
|
78
|
-
/** Clear the in-memory cache, plus any stray entries left by an older, localStorage-backed version of this cache. */
|
|
79
42
|
export function clearThumbnailCache() {
|
|
80
43
|
memory.clear();
|
|
81
44
|
const store = getStore();
|
|
@@ -90,7 +53,6 @@ export function clearThumbnailCache() {
|
|
|
90
53
|
keys.forEach((k) => store.removeItem(k));
|
|
91
54
|
}
|
|
92
55
|
catch {
|
|
93
|
-
// ignore
|
|
94
56
|
}
|
|
95
57
|
}
|
|
96
58
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"thumbnailCache.js","sourceRoot":"","sources":["../../../src/editor/thumbnails/thumbnailCache.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"thumbnailCache.js","sourceRoot":"","sources":["../../../src/editor/thumbnails/thumbnailCache.ts"],"names":[],"mappings":"AAyBA,MAAM,gBAAgB,GAAG,WAAW,CAAC;AAGrC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;AAGzC,SAAS,UAAU,CAAC,KAAa;IAC/B,IAAI,IAAI,GAAG,IAAI,CAAC;IAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACxD,CAAC;IACD,OAAO,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AACnC,CAAC;AAGD,SAAS,QAAQ;IACf,IAAI,CAAC;QACH,OAAO,OAAO,UAAU,KAAK,WAAW,IAAI,UAAU,CAAC,YAAY;YACjE,CAAC,CAAC,UAAU,CAAC,YAAY;YACzB,CAAC,CAAC,IAAI,CAAC;IACX,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAMD,MAAM,UAAU,gBAAgB,CAAC,IAAY,EAAE,YAAqB,EAAE,OAAO,GAAG,GAAG;IACjF,IAAI,UAAU,GAAG,EAAE,CAAC;IACpB,IAAI,CAAC;QACH,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;IAClD,CAAC;IAAC,MAAM,CAAC;QAEP,UAAU,GAAG,EAAE,CAAC;IAClB,CAAC;IACD,OAAO,GAAG,IAAI,IAAI,UAAU,CAAC,GAAG,OAAO,IAAI,UAAU,EAAE,CAAC,EAAE,CAAC;AAC7D,CAAC;AAGD,SAAS,eAAe,CACtB,MAA+E,EAC/E,IAAY;IAEZ,OAAO,MAAM,EAAE,UAAU,EAAE,CAAC,IAAI,CAAC,EAAE,YAAY,IAAI,EAAE,CAAC;AACxD,CAAC;AAGD,MAAM,UAAU,oBAAoB,CAClC,MAA+E,EAC/E,IAAY,EACZ,OAAgB;IAEhB,OAAO,gBAAgB,CAAC,IAAI,EAAE,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;AACxE,CAAC;AAGD,MAAM,UAAU,kBAAkB,CAAC,GAAW;IAC5C,OAAO,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC;AAGD,MAAM,UAAU,kBAAkB,CAAC,GAAW,EAAE,IAAY;IAC1D,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AACxB,CAAC;AAGD,MAAM,UAAU,mBAAmB;IACjC,MAAM,CAAC,KAAK,EAAE,CAAC;IAEf,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,IAAI,KAAK,EAAE,CAAC;QACV,IAAI,CAAC;YACH,MAAM,IAAI,GAAa,EAAE,CAAC;YAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACtC,MAAM,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBACvB,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,gBAAgB,CAAC;oBAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACxD,CAAC;YACD,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3C,CAAC;QAAC,MAAM,CAAC;QAET,CAAC;IACH,CAAC;AACH,CAAC"}
|
|
@@ -1,41 +1,14 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* useAutoSave Hook
|
|
3
|
-
*
|
|
4
|
-
* Provides auto-save functionality with debouncing and retry logic.
|
|
5
|
-
*/
|
|
6
1
|
import { useState, useRef, useCallback, useEffect } from 'react';
|
|
7
2
|
import { debounce } from '../core/utils/debounce.js';
|
|
8
3
|
import { withRetry } from '../core/utils/retry.js';
|
|
9
|
-
/**
|
|
10
|
-
* Hook for auto-saving Puck data with debouncing and retry logic.
|
|
11
|
-
*
|
|
12
|
-
* @param params - Configuration for auto-save
|
|
13
|
-
* @returns Auto-save state and controls
|
|
14
|
-
*
|
|
15
|
-
* @example
|
|
16
|
-
* ```tsx
|
|
17
|
-
* const { save, status, lastSaved } = useAutoSave({
|
|
18
|
-
* client,
|
|
19
|
-
* siteId,
|
|
20
|
-
* branchId,
|
|
21
|
-
* documentId,
|
|
22
|
-
* options: { debounceMs: 3000 },
|
|
23
|
-
* });
|
|
24
|
-
*
|
|
25
|
-
* // In Puck onChange handler
|
|
26
|
-
* <Puck onChange={(data) => save(data)} />
|
|
27
|
-
* ```
|
|
28
|
-
*/
|
|
29
4
|
export function useAutoSave({ client, siteId, branchId, documentId, options = {}, }) {
|
|
30
5
|
const { debounceMs = 3000, maxRetries = 3, onSaveStart, onSaveSuccess, onSaveError, } = options;
|
|
31
6
|
const [status, setStatus] = useState('idle');
|
|
32
7
|
const [lastSaved, setLastSaved] = useState(null);
|
|
33
8
|
const [error, setError] = useState(null);
|
|
34
9
|
const [isDirty, setIsDirty] = useState(false);
|
|
35
|
-
// Store the latest data for saving
|
|
36
10
|
const pendingDataRef = useRef(null);
|
|
37
11
|
const isSavingRef = useRef(false);
|
|
38
|
-
// Core save function
|
|
39
12
|
const performSave = useCallback(async () => {
|
|
40
13
|
const dataToSave = pendingDataRef.current;
|
|
41
14
|
if (!dataToSave || isSavingRef.current) {
|
|
@@ -56,7 +29,6 @@ export function useAutoSave({ client, siteId, branchId, documentId, options = {}
|
|
|
56
29
|
maxAttempts: maxRetries,
|
|
57
30
|
baseDelayMs: 1000,
|
|
58
31
|
shouldRetry: (err) => {
|
|
59
|
-
// Don't retry on validation errors
|
|
60
32
|
if ('status' in err && err.status === 400) {
|
|
61
33
|
return false;
|
|
62
34
|
}
|
|
@@ -79,7 +51,6 @@ export function useAutoSave({ client, siteId, branchId, documentId, options = {}
|
|
|
79
51
|
isSavingRef.current = false;
|
|
80
52
|
}
|
|
81
53
|
}, [client, siteId, branchId, documentId, maxRetries, onSaveStart, onSaveSuccess, onSaveError]);
|
|
82
|
-
// Create debounced save function
|
|
83
54
|
const debouncedSaveRef = useRef(null);
|
|
84
55
|
useEffect(() => {
|
|
85
56
|
debouncedSaveRef.current = debounce(() => {
|
|
@@ -89,18 +60,15 @@ export function useAutoSave({ client, siteId, branchId, documentId, options = {}
|
|
|
89
60
|
debouncedSaveRef.current?.cancel();
|
|
90
61
|
};
|
|
91
62
|
}, [performSave, debounceMs]);
|
|
92
|
-
// Public save function (debounced)
|
|
93
63
|
const save = useCallback((data) => {
|
|
94
64
|
pendingDataRef.current = data;
|
|
95
65
|
setIsDirty(true);
|
|
96
66
|
debouncedSaveRef.current?.();
|
|
97
67
|
}, []);
|
|
98
|
-
// Force immediate save
|
|
99
68
|
const saveNow = useCallback(async () => {
|
|
100
69
|
debouncedSaveRef.current?.cancel();
|
|
101
70
|
await performSave();
|
|
102
71
|
}, [performSave]);
|
|
103
|
-
// Cleanup on unmount
|
|
104
72
|
useEffect(() => {
|
|
105
73
|
return () => {
|
|
106
74
|
debouncedSaveRef.current?.cancel();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAutoSave.js","sourceRoot":"","sources":["../../src/editor/useAutoSave.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useAutoSave.js","sourceRoot":"","sources":["../../src/editor/useAutoSave.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,33 +1,9 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* useBranches Hook
|
|
3
|
-
*
|
|
4
|
-
* Provides branch management functionality.
|
|
5
|
-
*/
|
|
6
1
|
import { useState, useCallback, useEffect } from 'react';
|
|
7
|
-
/**
|
|
8
|
-
* Hook for managing branches.
|
|
9
|
-
*
|
|
10
|
-
* @param params - Configuration for branch management
|
|
11
|
-
* @returns Branch state and operations
|
|
12
|
-
*
|
|
13
|
-
* @example
|
|
14
|
-
* ```tsx
|
|
15
|
-
* const { branches, currentBranch, switchBranch } = useBranches({
|
|
16
|
-
* client,
|
|
17
|
-
* siteId,
|
|
18
|
-
* initialBranchId,
|
|
19
|
-
* });
|
|
20
|
-
*
|
|
21
|
-
* // Switch to a different branch
|
|
22
|
-
* await switchBranch(otherBranchId);
|
|
23
|
-
* ```
|
|
24
|
-
*/
|
|
25
2
|
export function useBranches({ client, siteId, initialBranchId, }) {
|
|
26
3
|
const [branches, setBranches] = useState([]);
|
|
27
4
|
const [branchId, setBranchId] = useState(initialBranchId);
|
|
28
5
|
const [loading, setLoading] = useState(true);
|
|
29
6
|
const [error, setError] = useState(null);
|
|
30
|
-
// Fetch branches
|
|
31
7
|
const refresh = useCallback(async () => {
|
|
32
8
|
setLoading(true);
|
|
33
9
|
setError(null);
|
|
@@ -42,20 +18,14 @@ export function useBranches({ client, siteId, initialBranchId, }) {
|
|
|
42
18
|
setLoading(false);
|
|
43
19
|
}
|
|
44
20
|
}, [client, siteId]);
|
|
45
|
-
// Initial fetch
|
|
46
21
|
useEffect(() => {
|
|
47
22
|
void refresh();
|
|
48
23
|
}, [refresh]);
|
|
49
|
-
// Get current branch object
|
|
50
24
|
const currentBranch = branches.find((b) => b.id === branchId) ?? null;
|
|
51
|
-
// Get main branch
|
|
52
25
|
const mainBranch = branches.find((b) => b.isMain) ?? null;
|
|
53
|
-
// Switch branch
|
|
54
26
|
const switchBranch = useCallback(async (newBranchId) => {
|
|
55
|
-
// Verify the branch exists
|
|
56
27
|
const branch = branches.find((b) => b.id === newBranchId);
|
|
57
28
|
if (!branch) {
|
|
58
|
-
// Try refreshing first
|
|
59
29
|
await refresh();
|
|
60
30
|
const refreshedBranch = branches.find((b) => b.id === newBranchId);
|
|
61
31
|
if (!refreshedBranch) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useBranches.js","sourceRoot":"","sources":["../../src/editor/useBranches.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useBranches.js","sourceRoot":"","sources":["../../src/editor/useBranches.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAsEzD,MAAM,UAAU,WAAW,CAAC,EAC1B,MAAM,EACN,MAAM,EACN,eAAe,GACG;IAClB,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAW,EAAE,CAAC,CAAC;IACvD,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,eAAe,CAAC,CAAC;IAC1D,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAe,IAAI,CAAC,CAAC;IAGvD,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QACrC,UAAU,CAAC,IAAI,CAAC,CAAC;QACjB,QAAQ,CAAC,IAAI,CAAC,CAAC;QAEf,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACtD,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC;QAC3E,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,QAAQ,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAChE,CAAC;gBAAS,CAAC;YACT,UAAU,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC;IACH,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAGrB,SAAS,CAAC,GAAG,EAAE;QACb,KAAK,OAAO,EAAE,CAAC;IACjB,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAGd,MAAM,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,IAAI,IAAI,CAAC;IAGtE,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC;IAG1D,MAAM,YAAY,GAAG,WAAW,CAC9B,KAAK,EAAE,WAAmB,EAAiB,EAAE;QAE3C,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,WAAW,CAAC,CAAC;QAC1D,IAAI,CAAC,MAAM,EAAE,CAAC;YAEZ,MAAM,OAAO,EAAE,CAAC;YAChB,MAAM,eAAe,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,WAAW,CAAC,CAAC;YACnE,IAAI,CAAC,eAAe,EAAE,CAAC;gBACrB,MAAM,IAAI,KAAK,CAAC,qBAAqB,WAAW,EAAE,CAAC,CAAC;YACtD,CAAC;QACH,CAAC;QAED,WAAW,CAAC,WAAW,CAAC,CAAC;IAC3B,CAAC,EACD,CAAC,QAAQ,EAAE,OAAO,CAAC,CACpB,CAAC;IAEF,OAAO;QACL,QAAQ;QACR,aAAa;QACb,QAAQ;QACR,OAAO;QACP,KAAK;QACL,YAAY;QACZ,OAAO;QACP,UAAU;KACX,CAAC;AACJ,CAAC"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* useComponentRegistry Hook
|
|
3
3
|
*
|
|
4
4
|
* Runs at editor startup to serialise the Puck config into ComponentDescriptor
|
|
5
|
-
* objects, hash-checks them for changes, and writes updated descriptors to
|
|
5
|
+
* objects, hash-checks them for changes, and writes updated descriptors to the backend
|
|
6
6
|
* documents under the /_registry/ path prefix.
|
|
7
7
|
*
|
|
8
8
|
* Uses the same P1PuckContext pattern as useVersions, useAutoSave, and useDocuments.
|
|
@@ -1,19 +1,7 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* useComponentRegistry Hook
|
|
3
|
-
*
|
|
4
|
-
* Runs at editor startup to serialise the Puck config into ComponentDescriptor
|
|
5
|
-
* objects, hash-checks them for changes, and writes updated descriptors to CSS
|
|
6
|
-
* documents under the /_registry/ path prefix.
|
|
7
|
-
*
|
|
8
|
-
* Uses the same P1PuckContext pattern as useVersions, useAutoSave, and useDocuments.
|
|
9
|
-
*/
|
|
10
1
|
import { useState, useEffect } from 'react';
|
|
11
2
|
import { useP1Puck } from '../core/P1PuckContext.js';
|
|
12
3
|
import { extractDescriptors } from './utils/componentRegistry.js';
|
|
13
4
|
import { syncComponentRegistry, } from './utils/syncComponentRegistry.js';
|
|
14
|
-
// =============================================================================
|
|
15
|
-
// Hook
|
|
16
|
-
// =============================================================================
|
|
17
5
|
export function useComponentRegistry(options) {
|
|
18
6
|
const { puckConfig, upstreamPuckConfig, onRegistered, onError } = options;
|
|
19
7
|
const { client, siteId, branchId } = useP1Puck();
|
|
@@ -21,8 +9,6 @@ export function useComponentRegistry(options) {
|
|
|
21
9
|
const [result, setResult] = useState(null);
|
|
22
10
|
const [error, setError] = useState(null);
|
|
23
11
|
useEffect(() => {
|
|
24
|
-
// branchId starts as null and resolves asynchronously. Skip registration
|
|
25
|
-
// until it is available to avoid a guaranteed 404 on every page load.
|
|
26
12
|
if (!branchId)
|
|
27
13
|
return;
|
|
28
14
|
let cancelled = false;
|
|
@@ -43,25 +29,11 @@ export function useComponentRegistry(options) {
|
|
|
43
29
|
setStatus('error');
|
|
44
30
|
setError(registrationError);
|
|
45
31
|
onError?.(registrationError);
|
|
46
|
-
// Log but don't re-throw — a registry failure must not break the editor
|
|
47
32
|
console.warn('[useComponentRegistry] Registration failed:', registrationError.message);
|
|
48
33
|
});
|
|
49
34
|
return () => {
|
|
50
35
|
cancelled = true;
|
|
51
36
|
};
|
|
52
|
-
// Dependency array rationale:
|
|
53
|
-
// - `puckConfig` / `upstreamPuckConfig`: re-run whenever the component schema changes.
|
|
54
|
-
// - `siteId` / `branchId`: re-run when the user switches sites or branches.
|
|
55
|
-
// - `client`: intentionally omitted — P1PuckContext provides a stable reference across renders;
|
|
56
|
-
// including it would cause spurious re-registrations on every context re-render.
|
|
57
|
-
// - `onRegistered` / `onError`: intentionally omitted — callback identity changes (e.g. from
|
|
58
|
-
// an inline arrow function) must not trigger re-registration. Callers are expected to
|
|
59
|
-
// memoize callbacks or accept that the latest callback at call-time is used.
|
|
60
|
-
// - `puckConfigRef`: not used — `puckConfig` is expected to be a stable reference from the
|
|
61
|
-
// consumer (same object passed to <Puck config={...} />). A ref guard was considered but
|
|
62
|
-
// removed because consumers that inline config objects would be broken by design; the hook
|
|
63
|
-
// documents the stable-reference expectation instead.
|
|
64
|
-
// eslint-disable-next-line -- intentional omissions documented above
|
|
65
37
|
}, [puckConfig, upstreamPuckConfig, siteId, branchId]);
|
|
66
38
|
return { status, result, error };
|
|
67
39
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useComponentRegistry.js","sourceRoot":"","sources":["../../src/editor/useComponentRegistry.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useComponentRegistry.js","sourceRoot":"","sources":["../../src/editor/useComponentRegistry.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EACL,qBAAqB,GAEtB,MAAM,kCAAkC,CAAC;AA6B1C,MAAM,UAAU,oBAAoB,CAClC,OAAoC;IAEpC,MAAM,EAAE,UAAU,EAAE,kBAAkB,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAC1E,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,SAAS,EAAE,CAAC;IAEjD,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAuC,MAAM,CAAC,CAAC;IACnF,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAA4B,IAAI,CAAC,CAAC;IACtE,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAe,IAAI,CAAC,CAAC;IAEvD,SAAS,CAAC,GAAG,EAAE;QAGb,IAAI,CAAC,QAAQ;YAAE,OAAO;QAEtB,IAAI,SAAS,GAAG,KAAK,CAAC;QAEtB,SAAS,CAAC,aAAa,CAAC,CAAC;QAEzB,MAAM,WAAW,GAAG,kBAAkB,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;QAEvE,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,CAAC;aACzD,IAAI,CAAC,CAAC,kBAAkB,EAAE,EAAE;YAC3B,IAAI,SAAS;gBAAE,OAAO;YACtB,SAAS,CAAC,YAAY,CAAC,CAAC;YACxB,SAAS,CAAC,kBAAkB,CAAC,CAAC;YAC9B,YAAY,EAAE,CAAC,kBAAkB,CAAC,CAAC;QACrC,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;YACtB,IAAI,SAAS;gBAAE,OAAO;YACtB,MAAM,iBAAiB,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YAC9E,SAAS,CAAC,OAAO,CAAC,CAAC;YACnB,QAAQ,CAAC,iBAAiB,CAAC,CAAC;YAC5B,OAAO,EAAE,CAAC,iBAAiB,CAAC,CAAC;YAE7B,OAAO,CAAC,IAAI,CAAC,6CAA6C,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC;QACzF,CAAC,CAAC,CAAC;QAEL,OAAO,GAAG,EAAE;YACV,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC;IAcJ,CAAC,EAAE,CAAC,UAAU,EAAE,kBAAkB,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEvD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;AACnC,CAAC"}
|
|
@@ -1,55 +1,19 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* useDocuments Hook
|
|
3
|
-
*
|
|
4
|
-
* Provides document management functionality.
|
|
5
|
-
*/
|
|
6
1
|
import { useState, useCallback, useEffect, useRef } from 'react';
|
|
7
|
-
/**
|
|
8
|
-
* Default empty Puck data for new documents.
|
|
9
|
-
*/
|
|
10
2
|
const DEFAULT_PUCK_DATA = {
|
|
11
3
|
content: [],
|
|
12
4
|
root: { props: {} },
|
|
13
5
|
};
|
|
14
|
-
/**
|
|
15
|
-
* Hook for managing documents on a branch.
|
|
16
|
-
*
|
|
17
|
-
* @param params - Configuration for document management
|
|
18
|
-
* @returns Document state and operations
|
|
19
|
-
*
|
|
20
|
-
* @example
|
|
21
|
-
* ```tsx
|
|
22
|
-
* const { documents, create, remove, loading } = useDocuments({
|
|
23
|
-
* client,
|
|
24
|
-
* siteId,
|
|
25
|
-
* branchId,
|
|
26
|
-
* });
|
|
27
|
-
*
|
|
28
|
-
* // Create a new page
|
|
29
|
-
* await create('/new-page');
|
|
30
|
-
*
|
|
31
|
-
* // Delete a page
|
|
32
|
-
* await remove(documentId);
|
|
33
|
-
* ```
|
|
34
|
-
*/
|
|
35
6
|
export function useDocuments({ client, siteId, branchId, }) {
|
|
36
7
|
const [documents, setDocuments] = useState([]);
|
|
37
8
|
const [loading, setLoading] = useState(true);
|
|
38
9
|
const [error, setError] = useState(null);
|
|
39
|
-
// Track the previous branchId to detect changes and reset state synchronously
|
|
40
10
|
const prevBranchIdRef = useRef(branchId);
|
|
41
|
-
// Reset state synchronously when branchId changes
|
|
42
|
-
// This prevents race conditions where loadDocument is recreated with new branchId
|
|
43
|
-
// but documents array still contains old branch's documents
|
|
44
11
|
if (branchId !== prevBranchIdRef.current) {
|
|
45
12
|
prevBranchIdRef.current = branchId;
|
|
46
|
-
// Clear documents and set loading synchronously during render
|
|
47
|
-
// This ensures consumers see loading=true immediately when branch changes
|
|
48
13
|
setDocuments([]);
|
|
49
14
|
setLoading(true);
|
|
50
15
|
setError(null);
|
|
51
16
|
}
|
|
52
|
-
// Fetch documents
|
|
53
17
|
const refresh = useCallback(async () => {
|
|
54
18
|
setLoading(true);
|
|
55
19
|
setError(null);
|
|
@@ -65,18 +29,12 @@ export function useDocuments({ client, siteId, branchId, }) {
|
|
|
65
29
|
setLoading(false);
|
|
66
30
|
}
|
|
67
31
|
}, [client, siteId, branchId]);
|
|
68
|
-
// Initial fetch and refetch when branchId changes
|
|
69
32
|
useEffect(() => {
|
|
70
33
|
if (branchId) {
|
|
71
34
|
void refresh();
|
|
72
35
|
}
|
|
73
36
|
}, [refresh, branchId]);
|
|
74
|
-
// Create a new document
|
|
75
37
|
const create = useCallback(async (path, initialData, options) => {
|
|
76
|
-
// Template pages get their initial version built by the backend from the
|
|
77
|
-
// template, which preserves each component's durable slot id. A
|
|
78
|
-
// client-built snapshot would be layered on top as a second version and
|
|
79
|
-
// bury those ids, so it is rejected here.
|
|
80
38
|
if (options?.templateId) {
|
|
81
39
|
if (initialData !== undefined) {
|
|
82
40
|
throw new Error('Cannot supply initialData when creating a document from a template; the backend builds the initial version from the template.');
|
|
@@ -92,9 +50,6 @@ export function useDocuments({ client, siteId, branchId, }) {
|
|
|
92
50
|
await refresh();
|
|
93
51
|
return doc;
|
|
94
52
|
}
|
|
95
|
-
// Blank pages build their initial version on the client. A title seeds
|
|
96
|
-
// root.props.title (the same field Puck's root "title" input
|
|
97
|
-
// reads/writes) so it persists in the initial snapshot.
|
|
98
53
|
const baseData = initialData ?? DEFAULT_PUCK_DATA;
|
|
99
54
|
const data = options?.title
|
|
100
55
|
? {
|
|
@@ -105,10 +60,6 @@ export function useDocuments({ client, siteId, branchId, }) {
|
|
|
105
60
|
},
|
|
106
61
|
}
|
|
107
62
|
: baseData;
|
|
108
|
-
// Create the document and its initial version in a SINGLE call by passing
|
|
109
|
-
// the content inline as `snapshot`. Previously this was two calls
|
|
110
|
-
// (documents.create with no snapshot, then a separate versions.create),
|
|
111
|
-
// which produced two version rows for a brand-new page.
|
|
112
63
|
const doc = await client.documents.create({
|
|
113
64
|
siteId,
|
|
114
65
|
branchId,
|
|
@@ -118,12 +69,10 @@ export function useDocuments({ client, siteId, branchId, }) {
|
|
|
118
69
|
await refresh();
|
|
119
70
|
return doc;
|
|
120
71
|
}, [client, siteId, branchId, refresh]);
|
|
121
|
-
// Delete a document
|
|
122
72
|
const remove = useCallback(async (documentId) => {
|
|
123
73
|
await client.documents.delete(siteId, branchId, documentId);
|
|
124
74
|
await refresh();
|
|
125
75
|
}, [client, siteId, branchId, refresh]);
|
|
126
|
-
// Get document by path
|
|
127
76
|
const getByPath = useCallback((path) => {
|
|
128
77
|
return documents.find((doc) => doc.path === path);
|
|
129
78
|
}, [documents]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDocuments.js","sourceRoot":"","sources":["../../src/editor/useDocuments.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useDocuments.js","sourceRoot":"","sources":["../../src/editor/useDocuments.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,20 +1,16 @@
|
|
|
1
1
|
import { useState, useEffect } from 'react';
|
|
2
2
|
import { useP1Puck } from '../core/P1PuckContext.js';
|
|
3
|
-
/**
|
|
4
|
-
* Automatically loads a merge preview comparing the current branch against main.
|
|
5
|
-
* Must be used inside a P1PuckProvider.
|
|
6
|
-
*/
|
|
7
3
|
export function useMergePreview() {
|
|
8
|
-
const
|
|
9
|
-
const mainBranch =
|
|
10
|
-
const isMainBranch =
|
|
4
|
+
const ccr = useP1Puck();
|
|
5
|
+
const mainBranch = ccr.branches.find((b) => b.isMain) ?? null;
|
|
6
|
+
const isMainBranch = ccr.currentBranch?.isMain ?? false;
|
|
11
7
|
const [documents, setDocuments] = useState([]);
|
|
12
8
|
const [loading, setLoading] = useState(true);
|
|
13
9
|
const [error, setError] = useState(null);
|
|
14
|
-
const sourceBranchName =
|
|
10
|
+
const sourceBranchName = ccr.currentBranch?.name ?? 'Draft';
|
|
15
11
|
const targetBranchName = mainBranch?.name ?? 'Live';
|
|
16
12
|
useEffect(() => {
|
|
17
|
-
if (
|
|
13
|
+
if (ccr.branchesLoading)
|
|
18
14
|
return;
|
|
19
15
|
if (isMainBranch || !mainBranch) {
|
|
20
16
|
setLoading(false);
|
|
@@ -24,8 +20,8 @@ export function useMergePreview() {
|
|
|
24
20
|
let cancelled = false;
|
|
25
21
|
setLoading(true);
|
|
26
22
|
setError(null);
|
|
27
|
-
|
|
28
|
-
.preview(
|
|
23
|
+
ccr.client.merge
|
|
24
|
+
.preview(ccr.siteId, ccr.branchId, mainBranch.id, {
|
|
29
25
|
includeContent: true,
|
|
30
26
|
excludePathPrefixes: ['_registry/'],
|
|
31
27
|
})
|
|
@@ -50,7 +46,7 @@ export function useMergePreview() {
|
|
|
50
46
|
return () => {
|
|
51
47
|
cancelled = true;
|
|
52
48
|
};
|
|
53
|
-
}, [
|
|
49
|
+
}, [ccr.siteId, ccr.branchId, mainBranch?.id, ccr.branchesLoading, isMainBranch]);
|
|
54
50
|
return { documents, loading, error, sourceBranchName, targetBranchName, isMainBranch };
|
|
55
51
|
}
|
|
56
52
|
//# sourceMappingURL=useMergePreview.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMergePreview.js","sourceRoot":"","sources":["../../src/editor/useMergePreview.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"useMergePreview.js","sourceRoot":"","sources":["../../src/editor/useMergePreview.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAgBrD,MAAM,UAAU,eAAe;IAC7B,MAAM,GAAG,GAAG,SAAS,EAAE,CAAC;IAExB,MAAM,UAAU,GAAG,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC;IAC9D,MAAM,YAAY,GAAG,GAAG,CAAC,aAAa,EAAE,MAAM,IAAI,KAAK,CAAC;IAExD,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAwB,EAAE,CAAC,CAAC;IACtE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAe,IAAI,CAAC,CAAC;IAEvD,MAAM,gBAAgB,GAAG,GAAG,CAAC,aAAa,EAAE,IAAI,IAAI,OAAO,CAAC;IAC5D,MAAM,gBAAgB,GAAG,UAAU,EAAE,IAAI,IAAI,MAAM,CAAC;IAEpD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,GAAG,CAAC,eAAe;YAAE,OAAO;QAEhC,IAAI,YAAY,IAAI,CAAC,UAAU,EAAE,CAAC;YAChC,UAAU,CAAC,KAAK,CAAC,CAAC;YAClB,YAAY,CAAC,EAAE,CAAC,CAAC;YACjB,OAAO;QACT,CAAC;QAED,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,UAAU,CAAC,IAAI,CAAC,CAAC;QACjB,QAAQ,CAAC,IAAI,CAAC,CAAC;QAEf,GAAG,CAAC,MAAM,CAAC,KAAK;aACb,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,EAAE;YAChD,cAAc,EAAE,IAAI;YACpB,mBAAmB,EAAE,CAAC,YAAY,CAAC;SACpC,CAAC;aACD,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;YAChB,IAAI,SAAS;gBAAE,OAAO;YACtB,MAAM,IAAI,GAA0B,CAAC,OAAO,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC5E,UAAU,EAAE,CAAC,CAAC,UAAU;gBACxB,YAAY,EAAE,CAAC,CAAC,YAAY;gBAC5B,cAAc,EAAE,CAAC,CAAC,cAAc;gBAChC,cAAc,EAAE,CAAC,CAAC,cAAc;aACjC,CAAC,CAAC,CAAC;YACJ,YAAY,CAAC,IAAI,CAAC,CAAC;YACnB,UAAU,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;YACtB,IAAI,SAAS;gBAAE,OAAO;YACtB,QAAQ,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC9D,UAAU,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC;QAEL,OAAO,GAAG,EAAE;YACV,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE,GAAG,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC,CAAC;IAElF,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,YAAY,EAAE,CAAC;AACzF,CAAC"}
|
|
@@ -15,7 +15,7 @@ export interface UseP1EditorOptions {
|
|
|
15
15
|
documentPath: string;
|
|
16
16
|
/** Puck component configuration */
|
|
17
17
|
puckConfig: unknown;
|
|
18
|
-
/** Additional plugins to include after the
|
|
18
|
+
/** Additional plugins to include after the P1 plugin */
|
|
19
19
|
additionalPlugins?: Plugin[];
|
|
20
20
|
/**
|
|
21
21
|
* Additional overrides to merge with P1 overrides.
|
|
@@ -49,7 +49,7 @@ export interface UseP1EditorOptions {
|
|
|
49
49
|
liveThumbnailDrawer?: boolean | LiveThumbnailDrawerOptions;
|
|
50
50
|
/** Customization options for overrides */
|
|
51
51
|
overrideOptions?: UseP1OverridesOptions;
|
|
52
|
-
/** Customization options for the
|
|
52
|
+
/** Customization options for the P1 plugin (versions are managed internally) */
|
|
53
53
|
pluginOptions?: Omit<UseP1PluginOptions, 'versions' | 'versionsLoading' | 'selectedVersionId' | 'onVersionSelect'>;
|
|
54
54
|
/** Callback when user selection changes */
|
|
55
55
|
onSelectionChange?: (path: string | null, itemId: string | null) => void;
|
|
@@ -66,7 +66,7 @@ export interface PuckProps {
|
|
|
66
66
|
data: PuckData;
|
|
67
67
|
/** onChange handler wired to context saveData (disabled for historical versions) */
|
|
68
68
|
onChange: (data: unknown) => void;
|
|
69
|
-
/** Plugin array with
|
|
69
|
+
/** Plugin array with P1 plugin first */
|
|
70
70
|
plugins: Plugin[];
|
|
71
71
|
/** Overrides with header actions */
|
|
72
72
|
overrides: PuckOverrides;
|
|
@@ -87,12 +87,26 @@ export interface PuckProps {
|
|
|
87
87
|
/** Initial UI state (sidebar visibility etc.) — read from localStorage on each key-based remount */
|
|
88
88
|
ui?: Partial<UiState>;
|
|
89
89
|
}
|
|
90
|
+
/**
|
|
91
|
+
* Why a reload is in flight while the previous document is still on screen.
|
|
92
|
+
* The two reads differently to the user — a workstream switch replaces the
|
|
93
|
+
* whole site's content, a page switch only swaps the canvas — so the copy that
|
|
94
|
+
* covers the wait has to be able to tell them apart.
|
|
95
|
+
*/
|
|
96
|
+
export type ReloadKind = 'branch' | 'document';
|
|
90
97
|
/**
|
|
91
98
|
* Return value from useP1Editor.
|
|
92
99
|
*/
|
|
93
100
|
export interface UseP1EditorReturn {
|
|
94
|
-
/** Whether the
|
|
101
|
+
/** Whether there is nothing to render yet — the first document has not loaded and has not failed */
|
|
95
102
|
loading: boolean;
|
|
103
|
+
/**
|
|
104
|
+
* A reload running behind retained content, and why. Null when nothing is in
|
|
105
|
+
* flight or when there is no prior content to keep showing (that is `loading`).
|
|
106
|
+
*/
|
|
107
|
+
reloading: ReloadKind | null;
|
|
108
|
+
/** Whether a document has ever loaded successfully — i.e. `puckProps` are worth rendering */
|
|
109
|
+
hasContent: boolean;
|
|
96
110
|
/** Error from document loading, if any */
|
|
97
111
|
error: Error | null;
|
|
98
112
|
/** React key — pass directly as `<Puck key={puckKey} {...puckProps} />` to force a clean remount on role change (document switches sync in place) */
|
|
@@ -123,15 +137,21 @@ export interface UseP1EditorReturn {
|
|
|
123
137
|
* @example
|
|
124
138
|
* ```tsx
|
|
125
139
|
* function Editor() {
|
|
126
|
-
* const { loading, error, puckProps } = useP1Editor({
|
|
140
|
+
* const { loading, reloading, hasContent, error, puckProps } = useP1Editor({
|
|
127
141
|
* documentPath: '/home',
|
|
128
142
|
* puckConfig: config,
|
|
129
143
|
* });
|
|
130
144
|
*
|
|
131
145
|
* if (loading) return <Loading />;
|
|
132
|
-
* if (error) return <Error error={error} />;
|
|
146
|
+
* if (error && !hasContent) return <Error error={error} />;
|
|
133
147
|
*
|
|
134
|
-
*
|
|
148
|
+
* // Reloads keep the previous page on screen under an overlay.
|
|
149
|
+
* return (
|
|
150
|
+
* <>
|
|
151
|
+
* <EditorReloadOverlay reloading={reloading} />
|
|
152
|
+
* <Puck {...puckProps} />
|
|
153
|
+
* </>
|
|
154
|
+
* );
|
|
135
155
|
* }
|
|
136
156
|
* ```
|
|
137
157
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useP1Editor.d.ts","sourceRoot":"","sources":["../../src/editor/useP1Editor.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,KAAK,EAAE,QAAQ,EAAmB,MAAM,8BAA8B,CAAC;AAC9E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAIhD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"useP1Editor.d.ts","sourceRoot":"","sources":["../../src/editor/useP1Editor.ts"],"names":[],"mappings":"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"}
|