@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,36 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
/**
|
|
3
|
-
* Notification Context
|
|
4
|
-
*
|
|
5
|
-
* React context for managing toast-style notifications.
|
|
6
|
-
*/
|
|
7
2
|
import { createContext, useContext, useState, useCallback, useMemo, useRef, useEffect } from 'react';
|
|
8
|
-
/**
|
|
9
|
-
* Context for notification management.
|
|
10
|
-
*/
|
|
11
3
|
export const NotificationContext = createContext(null);
|
|
12
|
-
/**
|
|
13
|
-
* Hook to access notification context.
|
|
14
|
-
*
|
|
15
|
-
* @throws Error if used outside of NotificationProvider
|
|
16
|
-
* @returns Notification context value
|
|
17
|
-
*
|
|
18
|
-
* @example
|
|
19
|
-
* ```tsx
|
|
20
|
-
* function MyComponent() {
|
|
21
|
-
* const { addError, addSuccess } = useNotifications();
|
|
22
|
-
*
|
|
23
|
-
* const handleSave = async () => {
|
|
24
|
-
* try {
|
|
25
|
-
* await save();
|
|
26
|
-
* addSuccess('Changes saved successfully');
|
|
27
|
-
* } catch (error) {
|
|
28
|
-
* addError('Failed to save changes', () => handleSave());
|
|
29
|
-
* }
|
|
30
|
-
* };
|
|
31
|
-
* }
|
|
32
|
-
* ```
|
|
33
|
-
*/
|
|
34
4
|
export function useNotifications() {
|
|
35
5
|
const context = useContext(NotificationContext);
|
|
36
6
|
if (context === null) {
|
|
@@ -38,51 +8,25 @@ export function useNotifications() {
|
|
|
38
8
|
}
|
|
39
9
|
return context;
|
|
40
10
|
}
|
|
41
|
-
/**
|
|
42
|
-
* Default auto-dismiss times by severity.
|
|
43
|
-
*/
|
|
44
11
|
const DEFAULT_AUTO_DISMISS_MS = {
|
|
45
12
|
success: 5000,
|
|
46
13
|
info: 5000,
|
|
47
|
-
warning: 0,
|
|
48
|
-
error: 0,
|
|
14
|
+
warning: 0,
|
|
15
|
+
error: 0,
|
|
49
16
|
};
|
|
50
|
-
/**
|
|
51
|
-
* Generate a unique notification ID.
|
|
52
|
-
*/
|
|
53
17
|
function generateNotificationId() {
|
|
54
18
|
return `notification-${Date.now()}-${Math.random().toString(36).slice(2, 9)}`;
|
|
55
19
|
}
|
|
56
|
-
/**
|
|
57
|
-
* Provider component for notification management.
|
|
58
|
-
*
|
|
59
|
-
* @example
|
|
60
|
-
* ```tsx
|
|
61
|
-
* import { NotificationProvider, NotificationContainer } from '@pantheon-systems/puck-css';
|
|
62
|
-
*
|
|
63
|
-
* function App() {
|
|
64
|
-
* return (
|
|
65
|
-
* <NotificationProvider>
|
|
66
|
-
* <YourApp />
|
|
67
|
-
* <NotificationContainer />
|
|
68
|
-
* </NotificationProvider>
|
|
69
|
-
* );
|
|
70
|
-
* }
|
|
71
|
-
* ```
|
|
72
|
-
*/
|
|
73
20
|
export function NotificationProvider({ children, maxNotifications = 5, }) {
|
|
74
21
|
const [notifications, setNotifications] = useState([]);
|
|
75
22
|
const timersRef = useRef(new Map());
|
|
76
|
-
// Cleanup timers on unmount
|
|
77
23
|
useEffect(() => {
|
|
78
24
|
return () => {
|
|
79
25
|
timersRef.current.forEach((timer) => clearTimeout(timer));
|
|
80
26
|
timersRef.current.clear();
|
|
81
27
|
};
|
|
82
28
|
}, []);
|
|
83
|
-
// Remove notification by ID
|
|
84
29
|
const removeNotification = useCallback((id) => {
|
|
85
|
-
// Clear any existing timer
|
|
86
30
|
const timer = timersRef.current.get(id);
|
|
87
31
|
if (timer) {
|
|
88
32
|
clearTimeout(timer);
|
|
@@ -90,7 +34,6 @@ export function NotificationProvider({ children, maxNotifications = 5, }) {
|
|
|
90
34
|
}
|
|
91
35
|
setNotifications((prev) => prev.filter((n) => n.id !== id));
|
|
92
36
|
}, []);
|
|
93
|
-
// Add notification
|
|
94
37
|
const addNotification = useCallback((options) => {
|
|
95
38
|
const severity = options.severity ?? 'info';
|
|
96
39
|
const autoDismissMs = options.autoDismissMs ?? DEFAULT_AUTO_DISMISS_MS[severity];
|
|
@@ -105,10 +48,8 @@ export function NotificationProvider({ children, maxNotifications = 5, }) {
|
|
|
105
48
|
createdAt: new Date(),
|
|
106
49
|
};
|
|
107
50
|
setNotifications((prev) => {
|
|
108
|
-
// Add new notification, then trim to max if needed
|
|
109
51
|
const updated = [...prev, notification];
|
|
110
52
|
if (updated.length > maxNotifications) {
|
|
111
|
-
// Remove oldest notifications that exceed the limit
|
|
112
53
|
const toRemove = updated.slice(0, updated.length - maxNotifications);
|
|
113
54
|
toRemove.forEach((n) => {
|
|
114
55
|
const timer = timersRef.current.get(n.id);
|
|
@@ -121,7 +62,6 @@ export function NotificationProvider({ children, maxNotifications = 5, }) {
|
|
|
121
62
|
}
|
|
122
63
|
return updated;
|
|
123
64
|
});
|
|
124
|
-
// Set up auto-dismiss timer if enabled
|
|
125
65
|
if (autoDismissMs > 0) {
|
|
126
66
|
const timer = setTimeout(() => {
|
|
127
67
|
removeNotification(id);
|
|
@@ -130,13 +70,11 @@ export function NotificationProvider({ children, maxNotifications = 5, }) {
|
|
|
130
70
|
}
|
|
131
71
|
return id;
|
|
132
72
|
}, [maxNotifications, removeNotification]);
|
|
133
|
-
// Clear all notifications
|
|
134
73
|
const clearNotifications = useCallback(() => {
|
|
135
74
|
timersRef.current.forEach((timer) => clearTimeout(timer));
|
|
136
75
|
timersRef.current.clear();
|
|
137
76
|
setNotifications([]);
|
|
138
77
|
}, []);
|
|
139
|
-
// Convenience method for error notifications with retry
|
|
140
78
|
const addError = useCallback((message, onRetry) => {
|
|
141
79
|
const actions = onRetry
|
|
142
80
|
? [{ label: 'Retry', onClick: onRetry }]
|
|
@@ -148,14 +86,12 @@ export function NotificationProvider({ children, maxNotifications = 5, }) {
|
|
|
148
86
|
actions,
|
|
149
87
|
});
|
|
150
88
|
}, [addNotification]);
|
|
151
|
-
// Convenience method for success notifications
|
|
152
89
|
const addSuccess = useCallback((message) => {
|
|
153
90
|
return addNotification({
|
|
154
91
|
message,
|
|
155
92
|
severity: 'success',
|
|
156
93
|
});
|
|
157
94
|
}, [addNotification]);
|
|
158
|
-
// Convenience method for warning notifications
|
|
159
95
|
const addWarning = useCallback((message) => {
|
|
160
96
|
return addNotification({
|
|
161
97
|
message,
|
|
@@ -163,7 +99,6 @@ export function NotificationProvider({ children, maxNotifications = 5, }) {
|
|
|
163
99
|
title: 'Warning',
|
|
164
100
|
});
|
|
165
101
|
}, [addNotification]);
|
|
166
|
-
// Convenience method for info notifications
|
|
167
102
|
const addInfo = useCallback((message) => {
|
|
168
103
|
return addNotification({
|
|
169
104
|
message,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NotificationContext.js","sourceRoot":"","sources":["../../src/core/NotificationContext.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"NotificationContext.js","sourceRoot":"","sources":["../../src/core/NotificationContext.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,32 +1,5 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* P1 Puck Context
|
|
3
|
-
*
|
|
4
|
-
* React context for sharing P1 state across Puck components.
|
|
5
|
-
*/
|
|
6
1
|
import { createContext, useContext } from 'react';
|
|
7
|
-
/**
|
|
8
|
-
* Context for P1 Puck integration state.
|
|
9
|
-
*/
|
|
10
2
|
export const P1PuckContext = createContext(null);
|
|
11
|
-
/**
|
|
12
|
-
* Hook to access P1 Puck context.
|
|
13
|
-
*
|
|
14
|
-
* @throws Error if used outside of P1PuckProvider
|
|
15
|
-
* @returns P1 Puck context value
|
|
16
|
-
*
|
|
17
|
-
* @example
|
|
18
|
-
* ```tsx
|
|
19
|
-
* function MyComponent() {
|
|
20
|
-
* const { saveStatus, createCheckpoint } = useP1Puck();
|
|
21
|
-
*
|
|
22
|
-
* return (
|
|
23
|
-
* <button onClick={() => createCheckpoint('Publish')}>
|
|
24
|
-
* {saveStatus === 'saving' ? 'Saving...' : 'Publish'}
|
|
25
|
-
* </button>
|
|
26
|
-
* );
|
|
27
|
-
* }
|
|
28
|
-
* ```
|
|
29
|
-
*/
|
|
30
3
|
export function useP1Puck() {
|
|
31
4
|
const context = useContext(P1PuckContext);
|
|
32
5
|
if (context === null) {
|
|
@@ -34,10 +7,6 @@ export function useP1Puck() {
|
|
|
34
7
|
}
|
|
35
8
|
return context;
|
|
36
9
|
}
|
|
37
|
-
/**
|
|
38
|
-
* Non-throwing variant of useP1Puck.
|
|
39
|
-
* Returns null when no P1PuckProvider is present instead of throwing.
|
|
40
|
-
*/
|
|
41
10
|
export function useP1PuckOptional() {
|
|
42
11
|
return useContext(P1PuckContext);
|
|
43
12
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"P1PuckContext.js","sourceRoot":"","sources":["../../src/core/P1PuckContext.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"P1PuckContext.js","sourceRoot":"","sources":["../../src/core/P1PuckContext.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAMlD,MAAM,CAAC,MAAM,aAAa,GAAG,aAAa,CAA4B,IAAI,CAAC,CAAC;AAqB5E,MAAM,UAAU,SAAS;IACvB,MAAM,OAAO,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;IAE1C,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;IACpE,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAMD,MAAM,UAAU,iBAAiB;IAC/B,OAAO,UAAU,CAAC,aAAa,CAAC,CAAC;AACnC,CAAC"}
|
|
@@ -1,19 +1,5 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Presence Context
|
|
3
|
-
*
|
|
4
|
-
* React context for providing presence-related dependencies to hooks.
|
|
5
|
-
*/
|
|
6
1
|
import { createContext, useContext } from 'react';
|
|
7
|
-
/**
|
|
8
|
-
* Context for presence hook dependencies.
|
|
9
|
-
*/
|
|
10
2
|
export const PresenceContext = createContext(null);
|
|
11
|
-
/**
|
|
12
|
-
* Hook to access presence context.
|
|
13
|
-
*
|
|
14
|
-
* @throws Error if used outside of PresenceProvider
|
|
15
|
-
* @returns Presence context value
|
|
16
|
-
*/
|
|
17
3
|
export function usePresenceContext() {
|
|
18
4
|
const context = useContext(PresenceContext);
|
|
19
5
|
if (context === null) {
|
|
@@ -21,10 +7,6 @@ export function usePresenceContext() {
|
|
|
21
7
|
}
|
|
22
8
|
return context;
|
|
23
9
|
}
|
|
24
|
-
/**
|
|
25
|
-
* Hook to optionally access presence context.
|
|
26
|
-
* Returns null if not within a PresenceProvider (no error thrown).
|
|
27
|
-
*/
|
|
28
10
|
export function useOptionalPresenceContext() {
|
|
29
11
|
return useContext(PresenceContext);
|
|
30
12
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PresenceContext.js","sourceRoot":"","sources":["../../src/core/PresenceContext.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"PresenceContext.js","sourceRoot":"","sources":["../../src/core/PresenceContext.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAgElD,MAAM,CAAC,MAAM,eAAe,GAAG,aAAa,CAA8B,IAAI,CAAC,CAAC;AAQhF,MAAM,UAAU,kBAAkB;IAChC,MAAM,OAAO,GAAG,UAAU,CAAC,eAAe,CAAC,CAAC;IAE5C,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CACb,yEAAyE,CAC1E,CAAC;IACJ,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAMD,MAAM,UAAU,0BAA0B;IACxC,OAAO,UAAU,CAAC,eAAe,CAAC,CAAC;AACrC,CAAC"}
|
package/dist/core/config.js
CHANGED
|
@@ -2,14 +2,6 @@ import { P1ContentClient } from '@pantheon-systems/css-client';
|
|
|
2
2
|
export const PRODUCTION_BASE_URL = 'https://ccr.p1.pantheon.io';
|
|
3
3
|
const VALID_AUTH_MODES = ['mock', 'broker'];
|
|
4
4
|
const DEFAULT_AUTH_MODE = 'broker';
|
|
5
|
-
/**
|
|
6
|
-
* An env var set to "" or " " is as good as unset. Whitespace matters: a blank-but-
|
|
7
|
-
* truthy branch id would slip past the `!branchId` guards downstream, and on the content
|
|
8
|
-
* path it reaches `?branch=` and 404s every published page.
|
|
9
|
-
*
|
|
10
|
-
* Exported for the data layer's own normalization; deliberately not part of the package's
|
|
11
|
-
* public surface.
|
|
12
|
-
*/
|
|
13
5
|
export function nonEmpty(value) {
|
|
14
6
|
const trimmed = value?.trim();
|
|
15
7
|
return trimmed === undefined || trimmed === '' ? undefined : trimmed;
|
|
@@ -50,9 +42,6 @@ export function createP1Config(envSource, options) {
|
|
|
50
42
|
siteId,
|
|
51
43
|
authMode: authModeRaw,
|
|
52
44
|
clientBaseUrl: overrides.clientBaseUrl ?? env('CSS_CLIENT_BASE_URL'),
|
|
53
|
-
// Deliberately left undefined when unset: P1PuckProvider owns branch precedence
|
|
54
|
-
// (deep link → this value → the branch the user switched to → the site's main
|
|
55
|
-
// branch), and a default here would outrank the user's own selection.
|
|
56
45
|
branchId: nonEmpty(overrides.branchId) ?? nonEmpty(env('CSS_BRANCH_ID')),
|
|
57
46
|
enableRealtime: overrides.enableRealtime ?? envBool('CSS_ENABLE_REALTIME') ?? true,
|
|
58
47
|
wsBaseUrl: overrides.wsBaseUrl ?? env('CSS_WS_BASE_URL') ?? httpToWs(baseUrl),
|
package/dist/core/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAkB/D,MAAM,CAAC,MAAM,mBAAmB,GAAG,4BAA4B,CAAC;AAEhE,MAAM,gBAAgB,GAAe,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AACxD,MAAM,iBAAiB,GAAa,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,26 +1,9 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* P1 Feature Configuration
|
|
3
|
-
*
|
|
4
|
-
* Configuration-driven feature enablement for the P1 Puck integration.
|
|
5
|
-
* Features can be toggled via config flags instead of manual code wiring.
|
|
6
|
-
*/
|
|
7
|
-
/**
|
|
8
|
-
* Preset configurations for common setups.
|
|
9
|
-
*/
|
|
10
1
|
export const P1_PRESETS = {
|
|
11
|
-
/**
|
|
12
|
-
* Basic preset: auto-save and publish only.
|
|
13
|
-
* Suitable for single-user editing without collaboration.
|
|
14
|
-
*/
|
|
15
2
|
basic: {
|
|
16
3
|
enableAutoSave: true,
|
|
17
4
|
enablePublishButton: true,
|
|
18
5
|
enableContentTypeTemplates: true,
|
|
19
6
|
},
|
|
20
|
-
/**
|
|
21
|
-
* Collaborative preset: adds real-time editing, presence, and focus highlighting.
|
|
22
|
-
* Suitable for multi-user editing scenarios.
|
|
23
|
-
*/
|
|
24
7
|
collaborative: {
|
|
25
8
|
enableRealtime: true,
|
|
26
9
|
presenceEnabled: true,
|
|
@@ -30,10 +13,6 @@ export const P1_PRESETS = {
|
|
|
30
13
|
enableFocusHighlighting: true,
|
|
31
14
|
enableContentTypeTemplates: true,
|
|
32
15
|
},
|
|
33
|
-
/**
|
|
34
|
-
* Full preset: all features enabled.
|
|
35
|
-
* Suitable for power-user or admin scenarios.
|
|
36
|
-
*/
|
|
37
16
|
full: {
|
|
38
17
|
enableRealtime: true,
|
|
39
18
|
presenceEnabled: true,
|
|
@@ -50,17 +29,6 @@ export const P1_PRESETS = {
|
|
|
50
29
|
enableContentTypeTemplates: true,
|
|
51
30
|
},
|
|
52
31
|
};
|
|
53
|
-
/**
|
|
54
|
-
* Resolves feature flags with defaults.
|
|
55
|
-
*
|
|
56
|
-
* Some flags have defaults that follow other flags:
|
|
57
|
-
* - enableCollaboratorAvatars defaults to presenceEnabled
|
|
58
|
-
* - enableAgentBanner defaults to agentModeEnabled
|
|
59
|
-
* - enableFocusHighlighting defaults to presenceEnabled
|
|
60
|
-
*
|
|
61
|
-
* @param config - Feature config with optional flags
|
|
62
|
-
* @returns Resolved config with all flags set
|
|
63
|
-
*/
|
|
64
32
|
export function resolveFeatureConfig(config) {
|
|
65
33
|
return {
|
|
66
34
|
enableRealtime: config.enableRealtime ?? true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"featureConfig.js","sourceRoot":"","sources":["../../src/core/featureConfig.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"featureConfig.js","sourceRoot":"","sources":["../../src/core/featureConfig.ts"],"names":[],"mappings":"AAuDA,MAAM,CAAC,MAAM,UAAU,GAAgE;IAKrF,KAAK,EAAE;QACL,cAAc,EAAE,IAAI;QACpB,mBAAmB,EAAE,IAAI;QACzB,0BAA0B,EAAE,IAAI;KACjC;IAMD,aAAa,EAAE;QACb,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,IAAI;QACrB,cAAc,EAAE,IAAI;QACpB,mBAAmB,EAAE,IAAI;QACzB,yBAAyB,EAAE,IAAI;QAC/B,uBAAuB,EAAE,IAAI;QAC7B,0BAA0B,EAAE,IAAI;KACjC;IAMD,IAAI,EAAE;QACJ,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,IAAI;QACrB,gBAAgB,EAAE,IAAI;QACtB,qBAAqB,EAAE,IAAI;QAC3B,oBAAoB,EAAE,IAAI;QAC1B,oBAAoB,EAAE,IAAI;QAC1B,kBAAkB,EAAE,IAAI;QACxB,cAAc,EAAE,IAAI;QACpB,mBAAmB,EAAE,IAAI;QACzB,yBAAyB,EAAE,IAAI;QAC/B,iBAAiB,EAAE,IAAI;QACvB,uBAAuB,EAAE,IAAI;QAC7B,0BAA0B,EAAE,IAAI;KACjC;CACF,CAAC;AAaF,MAAM,UAAU,oBAAoB,CAAC,MAAuB;IAC1D,OAAO;QACL,cAAc,EAAE,MAAM,CAAC,cAAc,IAAI,IAAI;QAC7C,eAAe,EAAE,MAAM,CAAC,eAAe,IAAI,IAAI;QAC/C,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,IAAI,KAAK;QAClD,qBAAqB,EAAE,MAAM,CAAC,qBAAqB,IAAI,IAAI;QAC3D,oBAAoB,EAAE,MAAM,CAAC,oBAAoB,IAAI,IAAI;QACzD,oBAAoB,EAAE,MAAM,CAAC,oBAAoB,IAAI,IAAI;QACzD,kBAAkB,EAAE,MAAM,CAAC,kBAAkB,IAAI,IAAI;QACrD,cAAc,EAAE,MAAM,CAAC,cAAc,IAAI,IAAI;QAC7C,mBAAmB,EAAE,MAAM,CAAC,mBAAmB,IAAI,IAAI;QACvD,yBAAyB,EAAE,MAAM,CAAC,yBAAyB,IAAI,MAAM,CAAC,eAAe,IAAI,KAAK;QAC9F,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,IAAI,MAAM,CAAC,gBAAgB,IAAI,KAAK;QAC/E,uBAAuB,EAAE,MAAM,CAAC,uBAAuB,IAAI,MAAM,CAAC,eAAe,IAAI,KAAK;QAC1F,0BAA0B,EAAE,MAAM,CAAC,0BAA0B,IAAI,IAAI;KACtE,CAAC;AACJ,CAAC"}
|
package/dist/core/types.d.ts
CHANGED
|
@@ -43,7 +43,7 @@ export interface P1PuckConfig {
|
|
|
43
43
|
maxRetries?: number;
|
|
44
44
|
/**
|
|
45
45
|
* Enable real-time collaborative editing.
|
|
46
|
-
* When enabled, changes are synced via WebSocket
|
|
46
|
+
* When enabled, changes are synced via WebSocket in real time.
|
|
47
47
|
* @default true
|
|
48
48
|
*/
|
|
49
49
|
enableRealtime?: boolean;
|
package/dist/core/types.js
CHANGED
package/dist/core/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":""}
|
|
@@ -1,18 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Debounce Utility
|
|
3
|
-
*
|
|
4
|
-
* Creates a debounced version of a function that delays execution
|
|
5
|
-
* until after a specified wait time has elapsed since the last call.
|
|
6
|
-
*/
|
|
7
|
-
/**
|
|
8
|
-
* Creates a debounced function that delays invoking func until after
|
|
9
|
-
* wait milliseconds have elapsed since the last time the debounced
|
|
10
|
-
* function was invoked.
|
|
11
|
-
*
|
|
12
|
-
* @param func - The function to debounce
|
|
13
|
-
* @param wait - The number of milliseconds to delay
|
|
14
|
-
* @returns A debounced version of the function
|
|
15
|
-
*/
|
|
16
1
|
export function debounce(func, wait) {
|
|
17
2
|
let timeoutId = null;
|
|
18
3
|
let lastArgs = null;
|
|
@@ -31,7 +16,6 @@ export function debounce(func, wait) {
|
|
|
31
16
|
};
|
|
32
17
|
const debounced = ((...args) => {
|
|
33
18
|
lastArgs = args;
|
|
34
|
-
// Don't start timer if paused, but still save args
|
|
35
19
|
if (paused) {
|
|
36
20
|
return;
|
|
37
21
|
}
|
|
@@ -56,7 +40,6 @@ export function debounce(func, wait) {
|
|
|
56
40
|
};
|
|
57
41
|
debounced.pause = () => {
|
|
58
42
|
paused = true;
|
|
59
|
-
// Cancel any pending timer
|
|
60
43
|
if (timeoutId !== null) {
|
|
61
44
|
clearTimeout(timeoutId);
|
|
62
45
|
timeoutId = null;
|
|
@@ -64,7 +47,6 @@ export function debounce(func, wait) {
|
|
|
64
47
|
};
|
|
65
48
|
debounced.resume = () => {
|
|
66
49
|
paused = false;
|
|
67
|
-
// If there are pending args, restart the timer
|
|
68
50
|
if (lastArgs !== null) {
|
|
69
51
|
startTimer();
|
|
70
52
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"debounce.js","sourceRoot":"","sources":["../../../src/core/utils/debounce.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"debounce.js","sourceRoot":"","sources":["../../../src/core/utils/debounce.ts"],"names":[],"mappings":"AA2BA,MAAM,UAAU,QAAQ,CAAwB,IAAO,EAAE,IAAY;IACnE,IAAI,SAAS,GAAyC,IAAI,CAAC;IAC3D,IAAI,QAAQ,GAAyB,IAAI,CAAC;IAC1C,IAAI,MAAM,GAAG,KAAK,CAAC;IAEnB,MAAM,UAAU,GAAG,GAAS,EAAE;QAC5B,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YACvB,YAAY,CAAC,SAAS,CAAC,CAAC;QAC1B,CAAC;QAED,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;YAC1B,SAAS,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,MAAM,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;gBACjC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;gBAClB,QAAQ,GAAG,IAAI,CAAC;YAClB,CAAC;QACH,CAAC,EAAE,IAAI,CAAC,CAAC;IACX,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,CAAC,CAAC,GAAG,IAAmB,EAAQ,EAAE;QAClD,QAAQ,GAAG,IAAI,CAAC;QAGhB,IAAI,MAAM,EAAE,CAAC;YACX,OAAO;QACT,CAAC;QAED,UAAU,EAAE,CAAC;IACf,CAAC,CAAyB,CAAC;IAE3B,SAAS,CAAC,MAAM,GAAG,GAAS,EAAE;QAC5B,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YACvB,YAAY,CAAC,SAAS,CAAC,CAAC;YACxB,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC;QACD,QAAQ,GAAG,IAAI,CAAC;IAClB,CAAC,CAAC;IAEF,SAAS,CAAC,KAAK,GAAG,GAAS,EAAE;QAC3B,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YACvB,YAAY,CAAC,SAAS,CAAC,CAAC;YACxB,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC;QACD,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YACtB,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;YAClB,QAAQ,GAAG,IAAI,CAAC;QAClB,CAAC;IACH,CAAC,CAAC;IAEF,SAAS,CAAC,KAAK,GAAG,GAAS,EAAE;QAC3B,MAAM,GAAG,IAAI,CAAC;QAEd,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YACvB,YAAY,CAAC,SAAS,CAAC,CAAC;YACxB,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC;IACH,CAAC,CAAC;IAEF,SAAS,CAAC,MAAM,GAAG,GAAS,EAAE;QAC5B,MAAM,GAAG,KAAK,CAAC;QAEf,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YACtB,UAAU,EAAE,CAAC;QACf,CAAC;IACH,CAAC,CAAC;IAEF,SAAS,CAAC,QAAQ,GAAG,GAAY,EAAE;QACjC,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;IAEF,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
|
@@ -1,8 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Wraps a failed API call in an Error whose message names the request and the
|
|
3
|
-
* HTTP status, so a boot failure is diagnosable from the editor's error screen
|
|
4
|
-
* without opening devtools.
|
|
5
|
-
*/
|
|
6
1
|
export function describeRequestFailure(request, error) {
|
|
7
2
|
const status = error?.status;
|
|
8
3
|
const statusPart = typeof status === 'number' ? ` (${status})` : '';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"requestError.js","sourceRoot":"","sources":["../../../src/core/utils/requestError.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"requestError.js","sourceRoot":"","sources":["../../../src/core/utils/requestError.ts"],"names":[],"mappings":"AAKA,MAAM,UAAU,sBAAsB,CAAC,OAAe,EAAE,KAAc;IACpE,MAAM,MAAM,GAAI,KAAqC,EAAE,MAAM,CAAC;IAC9D,MAAM,UAAU,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACpE,MAAM,MAAM,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACtE,OAAO,IAAI,KAAK,CAAC,GAAG,OAAO,UAAU,UAAU,KAAK,MAAM,EAAE,CAAC,CAAC;AAChE,CAAC"}
|
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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"}
|