@pantheon-systems/puck-css 0.12.0 → 0.14.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/index.d.ts +1 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/plugin-types.d.ts +9 -0
- package/dist/core/plugin-types.d.ts.map +1 -1
- package/dist/core/types.d.ts +7 -1
- package/dist/core/types.d.ts.map +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/builtin-components/cards.d.ts +1 -0
- package/dist/data/data-list-block/builtin-components/cards.d.ts.map +1 -1
- package/dist/data/data-list-block/builtin-components/cards.js +16 -16
- package/dist/data/data-list-block/builtin-components/cards.js.map +1 -1
- package/dist/data/data-list-block/builtin-components/listing.d.ts +1 -0
- package/dist/data/data-list-block/builtin-components/listing.d.ts.map +1 -1
- package/dist/data/data-list-block/builtin-components/listing.js +4 -3
- package/dist/data/data-list-block/builtin-components/listing.js.map +1 -1
- package/dist/data/data-list-block/builtin-components/rows.d.ts +1 -0
- package/dist/data/data-list-block/builtin-components/rows.d.ts.map +1 -1
- package/dist/data/data-list-block/builtin-components/rows.js +3 -3
- package/dist/data/data-list-block/builtin-components/rows.js.map +1 -1
- package/dist/data/data-list-block/create-data-list-block.d.ts +1 -0
- package/dist/data/data-list-block/create-data-list-block.d.ts.map +1 -1
- package/dist/data/data-list-block/create-data-list-block.js +7 -11
- package/dist/data/data-list-block/create-data-list-block.js.map +1 -1
- package/dist/data/data-list-block/data-list.css +314 -0
- 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.d.ts.map +1 -1
- package/dist/data/fields.js +7 -14
- 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.d.ts +6 -0
- package/dist/data/paths.d.ts.map +1 -1
- package/dist/data/paths.js +3 -16
- package/dist/data/paths.js.map +1 -1
- package/dist/data/query-provider.d.ts +14 -0
- package/dist/data/query-provider.d.ts.map +1 -1
- package/dist/data/query-provider.js +20 -9
- package/dist/data/query-provider.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 +16 -0
- package/dist/data/utils.d.ts.map +1 -1
- package/dist/data/utils.js +21 -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.d.ts.map +1 -1
- package/dist/editor/P1PuckProvider.js +54 -561
- 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.d.ts +7 -1
- package/dist/editor/components/VersionBannerOverride.d.ts.map +1 -1
- package/dist/editor/components/VersionBannerOverride.js +17 -24
- 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/composePlugins.d.ts +9 -3
- package/dist/editor/composePlugins.d.ts.map +1 -1
- package/dist/editor/composePlugins.js +3 -8
- package/dist/editor/composePlugins.js.map +1 -1
- package/dist/editor/defaultPlugins.d.ts +1 -1
- package/dist/editor/defaultPlugins.d.ts.map +1 -1
- package/dist/editor/defaultPlugins.js +3 -1
- package/dist/editor/defaultPlugins.js.map +1 -1
- package/dist/editor/freshFieldTypes.d.ts +12 -0
- package/dist/editor/freshFieldTypes.d.ts.map +1 -0
- package/dist/editor/freshFieldTypes.js +11 -0
- package/dist/editor/freshFieldTypes.js.map +1 -0
- 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 +16 -3
- package/dist/editor/plugin/P1Plugin.d.ts.map +1 -1
- package/dist/editor/plugin/P1Plugin.js +21 -171
- 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/stablePluginDeps.d.ts +9 -0
- package/dist/editor/stablePluginDeps.d.ts.map +1 -0
- package/dist/editor/stablePluginDeps.js +15 -0
- package/dist/editor/stablePluginDeps.js.map +1 -0
- 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 +35 -7
- package/dist/editor/useP1Editor.d.ts.map +1 -1
- package/dist/editor/useP1Editor.js +146 -243
- 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 +10 -4
- package/dist/editor/useP1Plugin.d.ts.map +1 -1
- package/dist/editor/useP1Plugin.js +34 -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.d.ts +8 -0
- package/dist/features/content-type-templates/permissions/role-permissions.d.ts.map +1 -1
- package/dist/features/content-type-templates/permissions/role-permissions.js +3 -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/features/localization/authority.d.ts +26 -0
- package/dist/features/localization/authority.d.ts.map +1 -0
- package/dist/features/localization/authority.js +17 -0
- package/dist/features/localization/authority.js.map +1 -0
- package/dist/features/localization/index.d.ts +11 -0
- package/dist/features/localization/index.d.ts.map +1 -0
- package/dist/features/localization/index.js +7 -0
- package/dist/features/localization/index.js.map +1 -0
- package/dist/features/localization/prop-target.d.ts +26 -0
- package/dist/features/localization/prop-target.d.ts.map +1 -0
- package/dist/features/localization/prop-target.js +15 -0
- package/dist/features/localization/prop-target.js.map +1 -0
- package/dist/features/localization/puck-overrides.d.ts +12 -0
- package/dist/features/localization/puck-overrides.d.ts.map +1 -0
- package/dist/features/localization/puck-overrides.js +12 -0
- package/dist/features/localization/puck-overrides.js.map +1 -0
- package/dist/features/localization/relation.d.ts +14 -0
- package/dist/features/localization/relation.d.ts.map +1 -0
- package/dist/features/localization/relation.js +7 -0
- package/dist/features/localization/relation.js.map +1 -0
- package/dist/features/localization/translatable.d.ts +24 -0
- package/dist/features/localization/translatable.d.ts.map +1 -0
- package/dist/features/localization/translatable.js +30 -0
- package/dist/features/localization/translatable.js.map +1 -0
- package/dist/features/localization/types.d.ts +17 -0
- package/dist/features/localization/types.d.ts.map +1 -0
- package/dist/features/localization/types.js +2 -0
- package/dist/features/localization/types.js.map +1 -0
- package/dist/features/localization/ui/AuthorityFieldControl.d.ts +32 -0
- package/dist/features/localization/ui/AuthorityFieldControl.d.ts.map +1 -0
- package/dist/features/localization/ui/AuthorityFieldControl.js +36 -0
- package/dist/features/localization/ui/AuthorityFieldControl.js.map +1 -0
- package/dist/features/localization/ui/TranslatabilityToggle.d.ts +17 -0
- package/dist/features/localization/ui/TranslatabilityToggle.d.ts.map +1 -0
- package/dist/features/localization/ui/TranslatabilityToggle.js +16 -0
- package/dist/features/localization/ui/TranslatabilityToggle.js.map +1 -0
- package/dist/features/localization/useLocalizationData.d.ts +37 -0
- package/dist/features/localization/useLocalizationData.d.ts.map +1 -0
- package/dist/features/localization/useLocalizationData.js +88 -0
- package/dist/features/localization/useLocalizationData.js.map +1 -0
- 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.d.ts.map +1 -1
- package/dist/p1/editor/hooks/useLiveEditorContext.js +2 -13
- 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/PageNotFound.d.ts +27 -0
- package/dist/pds/components/PageNotFound.d.ts.map +1 -0
- package/dist/pds/components/PageNotFound.js +24 -0
- package/dist/pds/components/PageNotFound.js.map +1 -0
- package/dist/pds/components/PageNotFound.module.css +51 -0
- 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 +4 -0
- package/dist/pds/index.d.ts.map +1 -1
- package/dist/pds/index.js +2 -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/data/data-list-block/data-list.css +314 -0
- 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
package/dist/core/utils/retry.js
CHANGED
|
@@ -1,45 +1,17 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Retry Utility
|
|
3
|
-
*
|
|
4
|
-
* Provides retry logic with exponential backoff for failed operations.
|
|
5
|
-
*/
|
|
6
1
|
const DEFAULT_OPTIONS = {
|
|
7
2
|
maxAttempts: 3,
|
|
8
3
|
baseDelayMs: 1000,
|
|
9
4
|
maxDelayMs: 10000,
|
|
10
5
|
backoffMultiplier: 2,
|
|
11
6
|
};
|
|
12
|
-
/**
|
|
13
|
-
* Calculates the delay for a given attempt using exponential backoff.
|
|
14
|
-
*/
|
|
15
7
|
function calculateDelay(attempt, baseDelayMs, maxDelayMs, backoffMultiplier) {
|
|
16
8
|
const delay = baseDelayMs * Math.pow(backoffMultiplier, attempt - 1);
|
|
17
|
-
// Add some jitter (±10%) to prevent thundering herd
|
|
18
9
|
const jitter = delay * 0.1 * (Math.random() * 2 - 1);
|
|
19
10
|
return Math.min(delay + jitter, maxDelayMs);
|
|
20
11
|
}
|
|
21
|
-
/**
|
|
22
|
-
* Sleeps for the specified number of milliseconds.
|
|
23
|
-
*/
|
|
24
12
|
function sleep(ms) {
|
|
25
13
|
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
26
14
|
}
|
|
27
|
-
/**
|
|
28
|
-
* Executes a function with retry logic and exponential backoff.
|
|
29
|
-
*
|
|
30
|
-
* @param fn - The async function to execute
|
|
31
|
-
* @param options - Retry configuration options
|
|
32
|
-
* @returns The result of the function
|
|
33
|
-
* @throws The last error if all retries are exhausted
|
|
34
|
-
*
|
|
35
|
-
* @example
|
|
36
|
-
* ```typescript
|
|
37
|
-
* const result = await withRetry(
|
|
38
|
-
* () => fetchData(),
|
|
39
|
-
* { maxAttempts: 3, baseDelayMs: 1000 }
|
|
40
|
-
* );
|
|
41
|
-
* ```
|
|
42
|
-
*/
|
|
43
15
|
export async function withRetry(fn, options = {}) {
|
|
44
16
|
const { maxAttempts = DEFAULT_OPTIONS.maxAttempts, baseDelayMs = DEFAULT_OPTIONS.baseDelayMs, maxDelayMs = DEFAULT_OPTIONS.maxDelayMs, backoffMultiplier = DEFAULT_OPTIONS.backoffMultiplier, shouldRetry = () => true, onRetry, } = options;
|
|
45
17
|
let lastError = null;
|
|
@@ -49,11 +21,9 @@ export async function withRetry(fn, options = {}) {
|
|
|
49
21
|
}
|
|
50
22
|
catch (error) {
|
|
51
23
|
lastError = error instanceof Error ? error : new Error(String(error));
|
|
52
|
-
// On last attempt, don't check shouldRetry - just throw
|
|
53
24
|
if (attempt >= maxAttempts) {
|
|
54
25
|
break;
|
|
55
26
|
}
|
|
56
|
-
// Check if we should retry
|
|
57
27
|
if (!shouldRetry(lastError, attempt)) {
|
|
58
28
|
break;
|
|
59
29
|
}
|
|
@@ -64,7 +34,6 @@ export async function withRetry(fn, options = {}) {
|
|
|
64
34
|
await sleep(delay);
|
|
65
35
|
}
|
|
66
36
|
}
|
|
67
|
-
// All retries exhausted or shouldRetry returned false
|
|
68
37
|
throw lastError;
|
|
69
38
|
}
|
|
70
39
|
//# sourceMappingURL=retry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"retry.js","sourceRoot":"","sources":["../../../src/core/utils/retry.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"retry.js","sourceRoot":"","sources":["../../../src/core/utils/retry.ts"],"names":[],"mappings":"AA8CA,MAAM,eAAe,GAA4D;IAC/E,WAAW,EAAE,CAAC;IACd,WAAW,EAAE,IAAI;IACjB,UAAU,EAAE,KAAK;IACjB,iBAAiB,EAAE,CAAC;CACrB,CAAC;AAKF,SAAS,cAAc,CACrB,OAAe,EACf,WAAmB,EACnB,UAAkB,EAClB,iBAAyB;IAEzB,MAAM,KAAK,GAAG,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC;IAErE,MAAM,MAAM,GAAG,KAAK,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IACrD,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,MAAM,EAAE,UAAU,CAAC,CAAC;AAC9C,CAAC;AAKD,SAAS,KAAK,CAAC,EAAU;IACvB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC;AAkBD,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,EAAoB,EACpB,UAAwB,EAAE;IAE1B,MAAM,EACJ,WAAW,GAAG,eAAe,CAAC,WAAW,EACzC,WAAW,GAAG,eAAe,CAAC,WAAW,EACzC,UAAU,GAAG,eAAe,CAAC,UAAU,EACvC,iBAAiB,GAAG,eAAe,CAAC,iBAAiB,EACrD,WAAW,GAAG,GAAG,EAAE,CAAC,IAAI,EACxB,OAAO,GACR,GAAG,OAAO,CAAC;IAEZ,IAAI,SAAS,GAAiB,IAAI,CAAC;IAEnC,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,WAAW,EAAE,OAAO,EAAE,EAAE,CAAC;QACxD,IAAI,CAAC;YACH,OAAO,MAAM,EAAE,EAAE,CAAC;QACpB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,SAAS,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YAGtE,IAAI,OAAO,IAAI,WAAW,EAAE,CAAC;gBAC3B,MAAM;YACR,CAAC;YAGD,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,CAAC;gBACrC,MAAM;YACR,CAAC;YAED,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,iBAAiB,CAAC,CAAC;YAElF,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,CAAC,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;YACrC,CAAC;YAED,MAAM,KAAK,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IAGD,MAAM,SAAS,CAAC;AAClB,CAAC"}
|
|
@@ -1,22 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Throttle Utility
|
|
3
|
-
*
|
|
4
|
-
* Creates a throttled version of a function that executes immediately
|
|
5
|
-
* on the first call (leading edge), then suppresses subsequent calls
|
|
6
|
-
* within the interval, firing once more after the interval with the
|
|
7
|
-
* latest arguments if any calls were made during the wait (trailing edge).
|
|
8
|
-
*/
|
|
9
|
-
/**
|
|
10
|
-
* Creates a throttled function that invokes func at most once per
|
|
11
|
-
* interval. The first call executes immediately (leading edge).
|
|
12
|
-
* Subsequent calls during the interval are coalesced, and the
|
|
13
|
-
* function fires once more after the interval with the latest
|
|
14
|
-
* arguments (trailing edge).
|
|
15
|
-
*
|
|
16
|
-
* @param func - The function to throttle
|
|
17
|
-
* @param interval - The minimum time between executions in milliseconds
|
|
18
|
-
* @returns A throttled version of the function with cancel, flush, and isPending methods
|
|
19
|
-
*/
|
|
20
1
|
export function throttle(func, interval) {
|
|
21
2
|
let timerId = null;
|
|
22
3
|
let storedArgs = null;
|
|
@@ -31,11 +12,6 @@ export function throttle(func, interval) {
|
|
|
31
12
|
}, interval);
|
|
32
13
|
};
|
|
33
14
|
const throttled = ((...args) => {
|
|
34
|
-
// Always store latest args — trailing-edge only.
|
|
35
|
-
// Leading edge is intentionally skipped because Puck's onChange fires
|
|
36
|
-
// with data one keystroke behind the actual input (React state lags
|
|
37
|
-
// the DOM). Deferring to the trailing edge ensures the next onChange
|
|
38
|
-
// has caught up before we send.
|
|
39
15
|
storedArgs = args;
|
|
40
16
|
if (timerId === null) {
|
|
41
17
|
startTimer();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"throttle.js","sourceRoot":"","sources":["../../../src/core/utils/throttle.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"throttle.js","sourceRoot":"","sources":["../../../src/core/utils/throttle.ts"],"names":[],"mappings":"AA8BA,MAAM,UAAU,QAAQ,CAAwB,IAAO,EAAE,QAAgB;IACvE,IAAI,OAAO,GAAyC,IAAI,CAAC;IACzD,IAAI,UAAU,GAAyB,IAAI,CAAC;IAE5C,MAAM,UAAU,GAAG,GAAS,EAAE;QAC5B,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;YACxB,OAAO,GAAG,IAAI,CAAC;YACf,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;gBACxB,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;gBACpB,UAAU,GAAG,IAAI,CAAC;gBAClB,UAAU,EAAE,CAAC;YACf,CAAC;QACH,CAAC,EAAE,QAAQ,CAAC,CAAC;IACf,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,CAAC,CAAC,GAAG,IAAmB,EAAQ,EAAE;QAMlD,UAAU,GAAG,IAAI,CAAC;QAClB,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACrB,UAAU,EAAE,CAAC;QACf,CAAC;IACH,CAAC,CAAyB,CAAC;IAE3B,SAAS,CAAC,MAAM,GAAG,GAAS,EAAE;QAC5B,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACrB,YAAY,CAAC,OAAO,CAAC,CAAC;YACtB,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC;QACD,UAAU,GAAG,IAAI,CAAC;IACpB,CAAC,CAAC;IAEF,SAAS,CAAC,KAAK,GAAG,GAAS,EAAE;QAC3B,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACrB,YAAY,CAAC,OAAO,CAAC,CAAC;YACtB,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC;QACD,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;YACxB,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;YACpB,UAAU,GAAG,IAAI,CAAC;QACpB,CAAC;IACH,CAAC,CAAC;IAEF,SAAS,CAAC,SAAS,GAAG,GAAY,EAAE;QAClC,OAAO,UAAU,KAAK,IAAI,CAAC;IAC7B,CAAC,CAAC;IAEF,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
|
@@ -2,23 +2,17 @@ import { getPage } from "./get-page";
|
|
|
2
2
|
import { getRawPropValue, MAX_XREF_DEPTH, CROSS_PAGE_REF_REGEX, } from "./cross-reference";
|
|
3
3
|
import { stripTrailingSlash } from "./paths";
|
|
4
4
|
import { rawValueToString } from "./utils";
|
|
5
|
-
/**
|
|
6
|
-
* Resolves `{{ pages["/"].blocks["id"].props.x }}` into raw values
|
|
7
|
-
* from other routes. Recurses until no tokens remain or depth limit. Does not apply datasource templates.
|
|
8
|
-
*/
|
|
9
5
|
export async function resolveCrossPageTemplates(input, depth = 0) {
|
|
10
6
|
if (depth > MAX_XREF_DEPTH)
|
|
11
7
|
return "";
|
|
12
8
|
if (input.search(CROSS_PAGE_REF_REGEX) === -1)
|
|
13
9
|
return input;
|
|
14
|
-
// Collect all matches
|
|
15
10
|
const matches = [];
|
|
16
11
|
let m;
|
|
17
12
|
const re = new RegExp(CROSS_PAGE_REF_REGEX.source, CROSS_PAGE_REF_REGEX.flags);
|
|
18
13
|
while ((m = re.exec(input)) !== null) {
|
|
19
14
|
matches.push({ whole: m[0], pathLit: m[1] ?? "", blockLit: m[2] ?? "", propKey: m[3] ?? "" });
|
|
20
15
|
}
|
|
21
|
-
// Deduplicate getPage calls — collect unique paths, fetch each once
|
|
22
16
|
const uniquePaths = new Set();
|
|
23
17
|
const parsedMatches = [];
|
|
24
18
|
for (const { whole, pathLit, blockLit, propKey } of matches) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cross-reference-resolve.js","sourceRoot":"","sources":["../../src/data/cross-reference-resolve.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EACL,eAAe,EACf,cAAc,EACd,oBAAoB,GACrB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"cross-reference-resolve.js","sourceRoot":"","sources":["../../src/data/cross-reference-resolve.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,4 @@
|
|
|
1
1
|
import { isComponentNode, isUnsafeKey, stripTrailingSlash } from "./paths";
|
|
2
|
-
/**
|
|
3
|
-
* Matches `{{ pages["/path"].blocks["blockId"].props.propOr.nested }}`.
|
|
4
|
-
* Path and block id are JSON string literals (same as `JSON.stringify`).
|
|
5
|
-
*/
|
|
6
2
|
export const CROSS_PAGE_REF_REGEX = /\{\{\s*pages\[("[^"\\]*(?:\\.[^"\\]*)*")\]\.blocks\[("[^"\\]*(?:\\.[^"\\]*)*")\]\.props\.([\w.]+)\s*\}\}/g;
|
|
7
3
|
const CONNECTABLE_FIELD_TYPES = new Set([
|
|
8
4
|
"text",
|
|
@@ -31,9 +27,6 @@ function findPropsByIdInNodes(nodes, id) {
|
|
|
31
27
|
}
|
|
32
28
|
return null;
|
|
33
29
|
}
|
|
34
|
-
/**
|
|
35
|
-
* Full saved props for a block by `props.id`, or root field props for `root` / `puck-root`.
|
|
36
|
-
*/
|
|
37
30
|
export function getBlockPropsById(data, componentId) {
|
|
38
31
|
if (componentId === "root" || componentId === "puck-root") {
|
|
39
32
|
const root = data.root;
|
|
@@ -70,10 +63,6 @@ function getPropFromObject(obj, propPath) {
|
|
|
70
63
|
}
|
|
71
64
|
return cur;
|
|
72
65
|
}
|
|
73
|
-
/**
|
|
74
|
-
* Raw prop value from saved Puck data (string/number/boolean or undefined).
|
|
75
|
-
* `propPath` may be dotted (e.g. `meta.alt`).
|
|
76
|
-
*/
|
|
77
66
|
export function getRawPropValue(data, componentId, propPath) {
|
|
78
67
|
if (componentId === "root") {
|
|
79
68
|
const root = data.root;
|
|
@@ -109,10 +98,6 @@ export function getRawPropValue(data, componentId, propPath) {
|
|
|
109
98
|
export function normalizeRoutePathForRef(p) {
|
|
110
99
|
return stripTrailingSlash(p);
|
|
111
100
|
}
|
|
112
|
-
/**
|
|
113
|
-
* Human-readable cross-page reference, e.g.
|
|
114
|
-
* `{{ pages["/"].blocks["ImageBlock-uuid"].props.src }}`
|
|
115
|
-
*/
|
|
116
101
|
export function encodePagesBlocksTemplate(path, blockId, propKey) {
|
|
117
102
|
const p = normalizeRoutePathForRef(path);
|
|
118
103
|
return `{{ pages[${JSON.stringify(p)}].blocks[${JSON.stringify(blockId)}].props.${propKey} }}`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cross-reference.js","sourceRoot":"","sources":["../../src/data/cross-reference.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"cross-reference.js","sourceRoot":"","sources":["../../src/data/cross-reference.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import type { RemoteDatasourceDefinition } from "../remote-datasources/remote-datasource-registry";
|
|
2
2
|
export declare const CSS_QUERY_ID_PREFIX = "templates.";
|
|
3
|
-
interface
|
|
3
|
+
interface CcrQueryInput {
|
|
4
4
|
name: string;
|
|
5
5
|
datasource: string;
|
|
6
6
|
includeMetadata: boolean;
|
|
7
7
|
includeSnapshot: boolean;
|
|
8
8
|
}
|
|
9
|
-
export declare function cssQueriesToDatasourceDefinitions(queries:
|
|
9
|
+
export declare function cssQueriesToDatasourceDefinitions(queries: CcrQueryInput[]): RemoteDatasourceDefinition[];
|
|
10
10
|
export {};
|
|
11
11
|
//# sourceMappingURL=css-query-registry.d.ts.map
|
|
@@ -23,7 +23,7 @@ export function cssQueriesToDatasourceDefinitions(queries) {
|
|
|
23
23
|
id: `${CSS_QUERY_ID_PREFIX}${query.name}`,
|
|
24
24
|
label: kebabToTitleCase(query.datasource),
|
|
25
25
|
description: `Content query for ${query.datasource} pages`,
|
|
26
|
-
resolution: "
|
|
26
|
+
resolution: "content query (auto-generated from content type template)",
|
|
27
27
|
fields: RESULT_FIELDS,
|
|
28
28
|
}));
|
|
29
29
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"css-query-registry.js","sourceRoot":"","sources":["../../../src/data/css-queries/css-query-registry.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,mBAAmB,GAAG,YAAY,CAAC;AAShD,SAAS,gBAAgB,CAAC,IAAY;IACpC,OAAO,IAAI;SACR,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SAC3D,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC;AAED,MAAM,aAAa,GAA4C;IAC7D,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,6BAA6B,EAAE;IAC7D,EAAE,IAAI,EAAE,eAAe,EAAE,WAAW,EAAE,0BAA0B,EAAE;IAClE,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE;IACjD,EAAE,IAAI,EAAE,gBAAgB,EAAE,WAAW,EAAE,oBAAoB,EAAE;IAC7D,EAAE,IAAI,EAAE,oBAAoB,EAAE,WAAW,EAAE,eAAe,EAAE;IAC5D,EAAE,IAAI,EAAE,cAAc,EAAE,WAAW,EAAE,eAAe,EAAE;IACtD,EAAE,IAAI,EAAE,mBAAmB,EAAE,WAAW,EAAE,6BAA6B,EAAE;IACzE,EAAE,IAAI,EAAE,kBAAkB,EAAE,WAAW,EAAE,0CAA0C,EAAE;IACrF,EAAE,IAAI,EAAE,wBAAwB,EAAE,WAAW,EAAE,YAAY,EAAE;IAC7D,EAAE,IAAI,EAAE,8BAA8B,EAAE,WAAW,EAAE,kBAAkB,EAAE;IACzE,EAAE,IAAI,EAAE,kBAAkB,EAAE,WAAW,EAAE,gCAAgC,EAAE;CAC5E,CAAC;AAEF,MAAM,UAAU,iCAAiC,CAC/C,OAAwB;IAExB,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC7B,EAAE,EAAE,GAAG,mBAAmB,GAAG,KAAK,CAAC,IAAI,EAAE;QACzC,KAAK,EAAE,gBAAgB,CAAC,KAAK,CAAC,UAAU,CAAC;QACzC,WAAW,EAAE,qBAAqB,KAAK,CAAC,UAAU,QAAQ;QAC1D,UAAU,EAAE
|
|
1
|
+
{"version":3,"file":"css-query-registry.js","sourceRoot":"","sources":["../../../src/data/css-queries/css-query-registry.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,mBAAmB,GAAG,YAAY,CAAC;AAShD,SAAS,gBAAgB,CAAC,IAAY;IACpC,OAAO,IAAI;SACR,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SAC3D,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC;AAED,MAAM,aAAa,GAA4C;IAC7D,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,6BAA6B,EAAE;IAC7D,EAAE,IAAI,EAAE,eAAe,EAAE,WAAW,EAAE,0BAA0B,EAAE;IAClE,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE;IACjD,EAAE,IAAI,EAAE,gBAAgB,EAAE,WAAW,EAAE,oBAAoB,EAAE;IAC7D,EAAE,IAAI,EAAE,oBAAoB,EAAE,WAAW,EAAE,eAAe,EAAE;IAC5D,EAAE,IAAI,EAAE,cAAc,EAAE,WAAW,EAAE,eAAe,EAAE;IACtD,EAAE,IAAI,EAAE,mBAAmB,EAAE,WAAW,EAAE,6BAA6B,EAAE;IACzE,EAAE,IAAI,EAAE,kBAAkB,EAAE,WAAW,EAAE,0CAA0C,EAAE;IACrF,EAAE,IAAI,EAAE,wBAAwB,EAAE,WAAW,EAAE,YAAY,EAAE;IAC7D,EAAE,IAAI,EAAE,8BAA8B,EAAE,WAAW,EAAE,kBAAkB,EAAE;IACzE,EAAE,IAAI,EAAE,kBAAkB,EAAE,WAAW,EAAE,gCAAgC,EAAE;CAC5E,CAAC;AAEF,MAAM,UAAU,iCAAiC,CAC/C,OAAwB;IAExB,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC7B,EAAE,EAAE,GAAG,mBAAmB,GAAG,KAAK,CAAC,IAAI,EAAE;QACzC,KAAK,EAAE,gBAAgB,CAAC,KAAK,CAAC,UAAU,CAAC;QACzC,WAAW,EAAE,qBAAqB,KAAK,CAAC,UAAU,QAAQ;QAC1D,UAAU,EAAE,2DAA2D;QACvE,MAAM,EAAE,aAAa;KACtB,CAAC,CAAC,CAAC;AACN,CAAC"}
|
package/dist/data/dal/index.js
CHANGED
|
@@ -1,11 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Data Access Layer — abstracts how page data, editor metadata, and
|
|
3
|
-
* datasource definitions are persisted.
|
|
4
|
-
*
|
|
5
|
-
* Stores must be initialized at startup via initializeStores()
|
|
6
|
-
* before any route handler or server component accesses them.
|
|
7
|
-
*/
|
|
8
|
-
// --- Lazy-initialized store instances ---
|
|
9
1
|
let _pageStore = null;
|
|
10
2
|
let _editorMetaStore = null;
|
|
11
3
|
let _remoteDatasourceDefStore = null;
|
|
@@ -30,13 +22,6 @@ export function getTemplateStore() {
|
|
|
30
22
|
throw new Error("Template store not initialized. Call ensureInitialized() first.");
|
|
31
23
|
return _templateStore;
|
|
32
24
|
}
|
|
33
|
-
/**
|
|
34
|
-
* Replace the active store instances. Call this at app startup
|
|
35
|
-
* before any route handlers or server components access the stores.
|
|
36
|
-
*
|
|
37
|
-
* Only the stores you provide are replaced; omitted stores keep
|
|
38
|
-
* their current value.
|
|
39
|
-
*/
|
|
40
25
|
export function initializeStores(stores) {
|
|
41
26
|
if (stores.pageStore)
|
|
42
27
|
_pageStore = stores.pageStore;
|
|
@@ -47,9 +32,6 @@ export function initializeStores(stores) {
|
|
|
47
32
|
if (stores.templateStore)
|
|
48
33
|
_templateStore = stores.templateStore;
|
|
49
34
|
}
|
|
50
|
-
/**
|
|
51
|
-
* Returns the capabilities of the current store backend.
|
|
52
|
-
*/
|
|
53
35
|
export function getCapabilities() {
|
|
54
36
|
return {
|
|
55
37
|
branching: true,
|
|
@@ -58,9 +40,6 @@ export function getCapabilities() {
|
|
|
58
40
|
merge: true,
|
|
59
41
|
};
|
|
60
42
|
}
|
|
61
|
-
// --- Backward-compatible singleton exports ---
|
|
62
|
-
// These call the getters on each access so they reflect any
|
|
63
|
-
// store swap made via initializeStores().
|
|
64
43
|
export const pageStore = {
|
|
65
44
|
get(path) { return getPageStore().get(path); },
|
|
66
45
|
set(path, value, options) { return getPageStore().set(path, value, options); },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/data/dal/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/data/dal/index.ts"],"names":[],"mappings":"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"}
|
package/dist/data/dal/init.js
CHANGED
|
@@ -1,10 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* SDK-internal data layer initialization.
|
|
3
|
-
*
|
|
4
|
-
* Called lazily by createP1Handler / createP1Pages on the first
|
|
5
|
-
* request. Deduplicates so the init runs at most once regardless
|
|
6
|
-
* of how many entry points import it.
|
|
7
|
-
*/
|
|
8
1
|
import { PRODUCTION_BASE_URL, nonEmpty } from "../../core/config.js";
|
|
9
2
|
import { createP1PageStore } from "./p1-store";
|
|
10
3
|
import { initializeStores } from "./index";
|
|
@@ -13,11 +6,6 @@ let _sharedClient = null;
|
|
|
13
6
|
let _sharedSiteId = null;
|
|
14
7
|
let _sharedBranchId = null;
|
|
15
8
|
let _sharedCreateAuthClient = null;
|
|
16
|
-
/**
|
|
17
|
-
* Ensures data stores are initialized. Safe to call from multiple
|
|
18
|
-
* entry points — runs only once and subsequent calls return the
|
|
19
|
-
* same resolved promise.
|
|
20
|
-
*/
|
|
21
9
|
export function ensureInitialized(dataConfig) {
|
|
22
10
|
if (!_initPromise) {
|
|
23
11
|
_initPromise = doInit(dataConfig).catch((err) => {
|
|
@@ -30,20 +18,11 @@ export function ensureInitialized(dataConfig) {
|
|
|
30
18
|
}
|
|
31
19
|
async function doInit(cfg) {
|
|
32
20
|
const { p1SiteId } = cfg;
|
|
33
|
-
// Callers pass `process.env.NEXT_PUBLIC_CSS_BRANCH_ID` (sometimes via `?? "main"`,
|
|
34
|
-
// which does not fire for ""), so a blank or whitespace value arrives here truthy and
|
|
35
|
-
// would be sent as a real branch ref. Normalizing once covers every p1BranchId
|
|
36
|
-
// consumer: the route handler, the pages handler, and published-page.
|
|
37
21
|
const p1BranchId = nonEmpty(cfg.p1BranchId);
|
|
38
|
-
// Same fallback as createNextConfig/createNextContentClient (PCC-3282):
|
|
39
|
-
// an unset p1BaseUrl (no CSS_BASE_URL / NEXT_PUBLIC_CSS_BASE_URL) should
|
|
40
|
-
// resolve to the production backend rather than leaving init — and every
|
|
41
|
-
// login/render request that awaits it — broken.
|
|
42
22
|
const p1BaseUrl = cfg.p1BaseUrl ?? PRODUCTION_BASE_URL;
|
|
43
23
|
if (!p1SiteId) {
|
|
44
24
|
throw new Error("Missing required config: p1SiteId must be set.");
|
|
45
25
|
}
|
|
46
|
-
// Dynamic import so @pantheon-systems/css-client is only loaded when needed.
|
|
47
26
|
const p1ClientModule = await import("@pantheon-systems/css-client");
|
|
48
27
|
const P1ClientCtor = p1ClientModule.P1Client;
|
|
49
28
|
const P1ContentClientCtor = p1ClientModule.P1ContentClient;
|
|
@@ -51,9 +30,6 @@ async function doInit(cfg) {
|
|
|
51
30
|
baseUrl: p1BaseUrl,
|
|
52
31
|
apiKey: cfg.p1ApiKey,
|
|
53
32
|
});
|
|
54
|
-
// Content client for published-only reads on public pages.
|
|
55
|
-
// No branchId: the content delivery API defaults to main, and passing
|
|
56
|
-
// ?branch= would cause a 403 for read:published tokens (mainBranchOnly enforcement).
|
|
57
33
|
const contentClient = new P1ContentClientCtor({
|
|
58
34
|
baseUrl: p1BaseUrl,
|
|
59
35
|
apiToken: cfg.p1ApiKey ?? "",
|
|
@@ -74,9 +50,6 @@ async function doInit(cfg) {
|
|
|
74
50
|
contentClient,
|
|
75
51
|
siteId: p1SiteId,
|
|
76
52
|
branchId: p1BranchId,
|
|
77
|
-
// Branch auto-detection deferred to the first editor request so it runs
|
|
78
|
-
// under the user's bearer token. A read:published sat_ token cannot reach
|
|
79
|
-
// the branches endpoint, so detection must not happen at init time.
|
|
80
53
|
resolveBranchId: async (bearerToken) => {
|
|
81
54
|
const authClient = new P1ClientCtor({
|
|
82
55
|
baseUrl: p1BaseUrl,
|
|
@@ -96,10 +69,6 @@ async function doInit(cfg) {
|
|
|
96
69
|
});
|
|
97
70
|
},
|
|
98
71
|
});
|
|
99
|
-
// In-memory stores for editor metadata and remote datasource definitions.
|
|
100
|
-
// These don't have P1-backed implementations yet — the in-memory defaults
|
|
101
|
-
// are sufficient for server-side rendering (SSR) and the editor persists
|
|
102
|
-
// its own state client-side.
|
|
103
72
|
const editorMetaData = new Map();
|
|
104
73
|
const editorMetaStore = {
|
|
105
74
|
get: (path) => editorMetaData.get(path),
|
|
@@ -113,11 +82,6 @@ async function doInit(cfg) {
|
|
|
113
82
|
};
|
|
114
83
|
initializeStores({ pageStore, editorMetaStore, remoteDatasourceDefStore });
|
|
115
84
|
}
|
|
116
|
-
/**
|
|
117
|
-
* Creates a PageStore scoped to a specific branch, reusing the
|
|
118
|
-
* shared P1Client and siteId from the initial ensureInitialized() call.
|
|
119
|
-
* Useful for the structure page to read/write routes on non-default branches.
|
|
120
|
-
*/
|
|
121
85
|
export function createPageStoreForBranch(branchId) {
|
|
122
86
|
if (!_sharedClient || !_sharedSiteId) {
|
|
123
87
|
throw new Error("Stores not initialized. Call ensureInitialized() first.");
|
|
@@ -136,9 +100,6 @@ export function getSharedP1Client() {
|
|
|
136
100
|
export function getSharedSiteId() {
|
|
137
101
|
return _sharedSiteId;
|
|
138
102
|
}
|
|
139
|
-
// Returns the branch ID configured via p1BranchId, or auto-detected on
|
|
140
|
-
// first editor request by resolveBranchId. Query fetchers and
|
|
141
|
-
// editor-context use this to target the active branch.
|
|
142
103
|
export function getSharedBranchId() {
|
|
143
104
|
return _sharedBranchId;
|
|
144
105
|
}
|
|
@@ -147,7 +108,6 @@ export function createAuthenticatedClient(bearerToken) {
|
|
|
147
108
|
return null;
|
|
148
109
|
return _sharedCreateAuthClient(bearerToken);
|
|
149
110
|
}
|
|
150
|
-
/** Reset for testing. */
|
|
151
111
|
export function _resetInit() {
|
|
152
112
|
_initPromise = null;
|
|
153
113
|
_sharedClient = null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/data/dal/init.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/data/dal/init.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"p1-store.d.ts","sourceRoot":"","sources":["../../../src/data/dal/p1-store.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"p1-store.d.ts","sourceRoot":"","sources":["../../../src/data/dal/p1-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
* P1-backed PageStore — per-operation API calls.
|
|
3
|
-
*
|
|
4
|
-
* Each read/write/delete makes a real API call to the P1 backend.
|
|
5
|
-
* No data is cached in memory — the backend is the source of truth.
|
|
6
|
-
*/
|
|
1
|
+
import { isDocumentGoneError } from "../utils";
|
|
7
2
|
import { getRequestAuthToken } from "./request-auth";
|
|
8
|
-
/**
|
|
9
|
-
* Creates an async PageStore backed by a P1 API client.
|
|
10
|
-
*
|
|
11
|
-
* get/set/delete/has hit the API directly per call.
|
|
12
|
-
* keys() is cached with a short TTL; on failure it serves the last successful
|
|
13
|
-
* result and backs off for a cooldown before querying again.
|
|
14
|
-
*/
|
|
15
3
|
function toDocPath(path) {
|
|
16
4
|
if (path === "/")
|
|
17
5
|
return "/";
|
|
@@ -24,7 +12,6 @@ const KEYS_CACHE_TTL_MS = 30_000;
|
|
|
24
12
|
const KEYS_MAX_RETRIES = 3;
|
|
25
13
|
const KEYS_RETRY_DELAY_MS = 500;
|
|
26
14
|
const KEYS_FAILURE_COOLDOWN_MS = 30_000;
|
|
27
|
-
/** A bad request will fail identically on every attempt — retrying only adds latency. */
|
|
28
15
|
function isBadRequest(err) {
|
|
29
16
|
return (typeof err === 'object' &&
|
|
30
17
|
err !== null &&
|
|
@@ -51,16 +38,9 @@ async function withRetry(fn, retries, delayMs) {
|
|
|
51
38
|
export function createP1PageStore(config) {
|
|
52
39
|
const { client, contentClient, siteId, createAuthClient, authenticatedReads } = config;
|
|
53
40
|
let _keysCache = null;
|
|
54
|
-
// Stale-while-error state: the last successful keys() result is kept and
|
|
55
|
-
// served when a refresh fails, and after retries are exhausted no new
|
|
56
|
-
// documents.list is issued until the cooldown expires. This stops DB
|
|
57
|
-
// slowness from being amplified into a retry storm by page renders.
|
|
58
41
|
let _lastGoodKeys = null;
|
|
59
42
|
let _keysCooldownUntil = 0;
|
|
60
43
|
let _resolvedBranchIdPromise = null;
|
|
61
|
-
// Returns the branch ID, resolving it lazily on the first editor request when
|
|
62
|
-
// not pre-configured. Resolution uses the request's bearer token so it never
|
|
63
|
-
// requires sat_ token access to the branches endpoint.
|
|
64
44
|
function getBranchId() {
|
|
65
45
|
if (config.branchId)
|
|
66
46
|
return Promise.resolve(config.branchId);
|
|
@@ -86,24 +66,18 @@ export function createP1PageStore(config) {
|
|
|
86
66
|
function readClient() {
|
|
87
67
|
return authenticatedReads ? requestClient() : client;
|
|
88
68
|
}
|
|
89
|
-
// Called after writes: forces the next keys() to refresh, including during a
|
|
90
|
-
// failure cooldown (a deliberate user write outranks brownout backoff).
|
|
91
69
|
function invalidateKeysCache() {
|
|
92
70
|
_keysCache = null;
|
|
93
71
|
_keysCooldownUntil = 0;
|
|
94
72
|
}
|
|
95
73
|
return {
|
|
96
74
|
async get(path) {
|
|
97
|
-
// Public rendering: no auth token in context — use content client which
|
|
98
|
-
// returns only published versions via the content delivery endpoint.
|
|
99
75
|
if (contentClient && !getRequestAuthToken()) {
|
|
100
76
|
try {
|
|
101
77
|
const result = await contentClient.getPage(toDocPath(path));
|
|
102
78
|
const data = result?.data;
|
|
103
79
|
if (!data)
|
|
104
80
|
return undefined;
|
|
105
|
-
// Fold SEO metadata onto root.props._seo so it flows through the Data
|
|
106
|
-
// pipeline to generateMetadata. Public reads only (PCC-3407).
|
|
107
81
|
if (result?.metadata) {
|
|
108
82
|
const root = (data.root ?? {});
|
|
109
83
|
const props = (root.props ?? {});
|
|
@@ -115,11 +89,10 @@ export function createP1PageStore(config) {
|
|
|
115
89
|
return data;
|
|
116
90
|
}
|
|
117
91
|
catch (err) {
|
|
118
|
-
console.info("[
|
|
92
|
+
console.info("[p1-store] get(%s) failed:", path, err.message);
|
|
119
93
|
return undefined;
|
|
120
94
|
}
|
|
121
95
|
}
|
|
122
|
-
// Editor context (auth token present) or no content client: return latest version.
|
|
123
96
|
try {
|
|
124
97
|
const branchId = await getBranchId();
|
|
125
98
|
const rc = readClient();
|
|
@@ -128,7 +101,7 @@ export function createP1PageStore(config) {
|
|
|
128
101
|
return version.snapshot;
|
|
129
102
|
}
|
|
130
103
|
catch (err) {
|
|
131
|
-
console.info("[
|
|
104
|
+
console.info("[p1-store] get(%s) failed:", path, err.message);
|
|
132
105
|
return undefined;
|
|
133
106
|
}
|
|
134
107
|
},
|
|
@@ -141,7 +114,10 @@ export function createP1PageStore(config) {
|
|
|
141
114
|
const existing = await readClient().documents.getByPath(siteId, dp, branchId);
|
|
142
115
|
docId = existing.id;
|
|
143
116
|
}
|
|
144
|
-
catch {
|
|
117
|
+
catch (err) {
|
|
118
|
+
if (isDocumentGoneError(err)) {
|
|
119
|
+
throw err;
|
|
120
|
+
}
|
|
145
121
|
const createParams = {
|
|
146
122
|
siteId, branchId, path: dp,
|
|
147
123
|
};
|
|
@@ -168,7 +144,7 @@ export function createP1PageStore(config) {
|
|
|
168
144
|
await requestClient().documents.delete(siteId, branchId, doc.id);
|
|
169
145
|
}
|
|
170
146
|
catch (err) {
|
|
171
|
-
console.info("[
|
|
147
|
+
console.info("[p1-store] delete(%s) — not found or failed:", path, err.message);
|
|
172
148
|
}
|
|
173
149
|
invalidateKeysCache();
|
|
174
150
|
},
|
|
@@ -178,7 +154,7 @@ export function createP1PageStore(config) {
|
|
|
178
154
|
return true;
|
|
179
155
|
}
|
|
180
156
|
catch (err) {
|
|
181
|
-
console.info("[
|
|
157
|
+
console.info("[p1-store] has(%s) — not found or failed:", path, err.message);
|
|
182
158
|
return false;
|
|
183
159
|
}
|
|
184
160
|
},
|
|
@@ -189,17 +165,12 @@ export function createP1PageStore(config) {
|
|
|
189
165
|
return _keysCache.promise;
|
|
190
166
|
}
|
|
191
167
|
if (!_keysCache.settled) {
|
|
192
|
-
// A refresh is still in flight past the TTL (slow DB). Never pile a
|
|
193
|
-
// second query on top of it — serve stale, or share the in-flight
|
|
194
|
-
// promise when there's nothing stale to serve.
|
|
195
168
|
return _lastGoodKeys ?? _keysCache.promise;
|
|
196
169
|
}
|
|
197
170
|
}
|
|
198
171
|
if (now < _keysCooldownUntil) {
|
|
199
172
|
return _lastGoodKeys ?? [];
|
|
200
173
|
}
|
|
201
|
-
// With a stale value to fall back on, fail fast (no retries) — the
|
|
202
|
-
// caller is a page render and each retry re-drives the heaviest query.
|
|
203
174
|
const retries = _lastGoodKeys ? 0 : KEYS_MAX_RETRIES;
|
|
204
175
|
const promise = getBranchId()
|
|
205
176
|
.then((branchId) => withRetry(() => readClient().documents.list(siteId, branchId), retries, KEYS_RETRY_DELAY_MS))
|
|
@@ -209,13 +180,12 @@ export function createP1PageStore(config) {
|
|
|
209
180
|
return keys;
|
|
210
181
|
})
|
|
211
182
|
.catch((err) => {
|
|
212
|
-
console.error("[
|
|
183
|
+
console.error("[p1-store] keys() failed:", err.message);
|
|
213
184
|
_keysCache = null;
|
|
214
185
|
_keysCooldownUntil = Date.now() + KEYS_FAILURE_COOLDOWN_MS;
|
|
215
186
|
return _lastGoodKeys ?? [];
|
|
216
187
|
});
|
|
217
188
|
const entry = { promise, ts: now, settled: false };
|
|
218
|
-
// The promise never rejects (the catch above returns a fallback).
|
|
219
189
|
void promise.then(() => { entry.settled = true; });
|
|
220
190
|
_keysCache = entry;
|
|
221
191
|
return promise;
|
|
@@ -230,7 +200,7 @@ export function createP1PageStore(config) {
|
|
|
230
200
|
}));
|
|
231
201
|
}
|
|
232
202
|
catch (err) {
|
|
233
|
-
console.error("[
|
|
203
|
+
console.error("[p1-store] listDocuments failed:", err.message);
|
|
234
204
|
return [];
|
|
235
205
|
}
|
|
236
206
|
},
|