@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,15 +1,10 @@
|
|
|
1
1
|
import { useEffect, useRef, useState } from 'react';
|
|
2
|
-
// Measured against the running editor at 1600px, where Puck's grid resolves to
|
|
3
|
-
// `68px 320px 892px 320px`.
|
|
4
2
|
const RAIL_W = 68;
|
|
5
3
|
const LEFT_PANEL_W = 320;
|
|
6
4
|
const RIGHT_PANEL_W = 320;
|
|
7
5
|
const CANVAS_MIN = 600;
|
|
8
|
-
|
|
9
|
-
const
|
|
10
|
-
/** Below this the right panel can no longer afford its column either. */
|
|
11
|
-
const DOCKED_BUDGET = RAIL_W + RIGHT_PANEL_W + CANVAS_MIN; // 988
|
|
12
|
-
/** localStorage is already origin-scoped and an origin serves one site. */
|
|
6
|
+
const ALL_OPEN_BUDGET = RAIL_W + LEFT_PANEL_W + RIGHT_PANEL_W + CANVAS_MIN;
|
|
7
|
+
const DOCKED_BUDGET = RAIL_W + RIGHT_PANEL_W + CANVAS_MIN;
|
|
13
8
|
const STORAGE_KEY = 'p1-sidebar';
|
|
14
9
|
const UI_KEY = { left: 'leftSideBarVisible', right: 'rightSideBarVisible' };
|
|
15
10
|
const SIDES = ['left', 'right'];
|
|
@@ -28,7 +23,6 @@ function readPersisted() {
|
|
|
28
23
|
if (!stored)
|
|
29
24
|
return {};
|
|
30
25
|
const parsed = JSON.parse(stored);
|
|
31
|
-
// A hand-edited or truncated value must not crash the editor.
|
|
32
26
|
if (typeof parsed !== 'object' || parsed === null)
|
|
33
27
|
return {};
|
|
34
28
|
return parsed;
|
|
@@ -42,7 +36,6 @@ function writePersisted(value) {
|
|
|
42
36
|
localStorage.setItem(STORAGE_KEY, JSON.stringify(value));
|
|
43
37
|
}
|
|
44
38
|
catch {
|
|
45
|
-
/* private browsing and quota exhaustion throw; neither is worth failing over */
|
|
46
39
|
}
|
|
47
40
|
}
|
|
48
41
|
export function initialPanelUi() {
|
|
@@ -53,10 +46,6 @@ export function initialPanelUi() {
|
|
|
53
46
|
rightSideBarVisible: (persisted.right ?? true) && budget.right,
|
|
54
47
|
};
|
|
55
48
|
}
|
|
56
|
-
/**
|
|
57
|
-
* Seeded from the first load: a panel the budget closed against a stored
|
|
58
|
-
* preference of open is auto's to reopen. One already stored closed is not.
|
|
59
|
-
*/
|
|
60
49
|
function initialAutoState() {
|
|
61
50
|
const persisted = readPersisted();
|
|
62
51
|
const budget = panelsForWidth(viewportWidth());
|
|
@@ -71,7 +60,6 @@ function initialAutoState() {
|
|
|
71
60
|
prevObserved: null,
|
|
72
61
|
};
|
|
73
62
|
}
|
|
74
|
-
/** Divergence from what auto wrote is a user action; auto hands that side back. */
|
|
75
63
|
function releaseUserChangedSides(auto, observed) {
|
|
76
64
|
for (const side of SIDES) {
|
|
77
65
|
if (auto.lastApplied[side] !== undefined && observed[side] !== auto.lastApplied[side]) {
|
|
@@ -80,7 +68,6 @@ function releaseUserChangedSides(auto, observed) {
|
|
|
80
68
|
}
|
|
81
69
|
}
|
|
82
70
|
}
|
|
83
|
-
/** A threshold crossing earns auto one fresh enforcement of that side. */
|
|
84
71
|
function rearmOnThresholdCross(auto, target) {
|
|
85
72
|
for (const side of SIDES) {
|
|
86
73
|
if (auto.prevTarget && auto.prevTarget[side] !== target[side])
|
|
@@ -88,7 +75,6 @@ function rearmOnThresholdCross(auto, target) {
|
|
|
88
75
|
}
|
|
89
76
|
auto.prevTarget = target;
|
|
90
77
|
}
|
|
91
|
-
/** Close what the budget can no longer afford; reopen only what auto closed. */
|
|
92
78
|
function budgetUi(auto, target, observed) {
|
|
93
79
|
const ui = {};
|
|
94
80
|
for (const side of SIDES) {
|
|
@@ -111,10 +97,6 @@ function budgetUi(auto, target, observed) {
|
|
|
111
97
|
}
|
|
112
98
|
return ui;
|
|
113
99
|
}
|
|
114
|
-
/**
|
|
115
|
-
* Save only at widths where auto closes nothing, so a narrow session never
|
|
116
|
-
* overwrites the wide-screen preference.
|
|
117
|
-
*/
|
|
118
100
|
function persistIfDeliberate(width, ui, observed, observedChanged) {
|
|
119
101
|
const dispatched = Object.keys(ui).length > 0;
|
|
120
102
|
if (!shouldPersist(width) || (!dispatched && !observedChanged))
|
|
@@ -124,21 +106,8 @@ function persistIfDeliberate(width, ui, observed, observedChanged) {
|
|
|
124
106
|
right: ui.rightSideBarVisible ?? observed.right,
|
|
125
107
|
});
|
|
126
108
|
}
|
|
127
|
-
/**
|
|
128
|
-
* Collapses the left panel then the right as the window narrows, and reopens
|
|
129
|
-
* them as it widens again.
|
|
130
|
-
*
|
|
131
|
-
* Divergence from the last auto-dispatched value is how a user action is
|
|
132
|
-
* detected, which covers every mutation path — the subheader toggles, Puck's own
|
|
133
|
-
* in-panel collapse buttons, the AI panel's rail bridge — without threading a
|
|
134
|
-
* flag through each handler.
|
|
135
|
-
*/
|
|
136
109
|
export function useResponsivePanels({ leftVisible, rightVisible, dispatch, }) {
|
|
137
|
-
// Hold the derived target rather than the raw width: a drag fires hundreds of
|
|
138
|
-
// resize events but crosses a threshold at most twice.
|
|
139
110
|
const [target, setTarget] = useState(() => panelsForWidth(viewportWidth()));
|
|
140
|
-
// The raw width, in a ref so the persistence gate can read it without
|
|
141
|
-
// re-rendering on every resize event.
|
|
142
111
|
const widthRef = useRef(viewportWidth());
|
|
143
112
|
useEffect(() => {
|
|
144
113
|
const onResize = () => {
|
|
@@ -159,8 +128,6 @@ export function useResponsivePanels({ leftVisible, rightVisible, dispatch, }) {
|
|
|
159
128
|
return;
|
|
160
129
|
const auto = autoRef.current;
|
|
161
130
|
const observed = { left: leftVisible, right: rightVisible };
|
|
162
|
-
// Captured before it is overwritten: a null previous means the initial
|
|
163
|
-
// render, where mounting must not overwrite a stored preference.
|
|
164
131
|
const prevObserved = auto.prevObserved;
|
|
165
132
|
auto.prevObserved = observed;
|
|
166
133
|
releaseUserChangedSides(auto, observed);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useResponsivePanels.js","sourceRoot":"","sources":["../../src/editor/useResponsivePanels.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"useResponsivePanels.js","sourceRoot":"","sources":["../../src/editor/useResponsivePanels.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,5 @@
|
|
|
1
1
|
import { useRef, useLayoutEffect } from 'react';
|
|
2
2
|
const SIDEBAR_SELECTOR = '[class*="_Sidebar--right_"]';
|
|
3
|
-
/**
|
|
4
|
-
* Keeps the inspector sidebar's scroll position across re-renders that rebuild
|
|
5
|
-
* the field list (collapsing a section, switching a block's view mode), which
|
|
6
|
-
* otherwise snap it back to the top.
|
|
7
|
-
*
|
|
8
|
-
* Selecting a different block deliberately does not restore — a new block
|
|
9
|
-
* starts at the top rather than inheriting the previous one's offset.
|
|
10
|
-
*/
|
|
11
3
|
export function useSidebarScrollPreservation(itemSelector, containerSelector = SIDEBAR_SELECTOR) {
|
|
12
4
|
const savedScrollRef = useRef(0);
|
|
13
5
|
const prevSelectorKeyRef = useRef('');
|
|
@@ -16,10 +8,6 @@ export function useSidebarScrollPreservation(itemSelector, containerSelector = S
|
|
|
16
8
|
: document.querySelector(containerSelector);
|
|
17
9
|
const selectorKey = itemSelector ? JSON.stringify(itemSelector) : '';
|
|
18
10
|
const selectionChanged = selectorKey !== prevSelectorKeyRef.current;
|
|
19
|
-
// Captured during render, which runs before React commits DOM changes, so this
|
|
20
|
-
// is always the live pre-update offset. Reading it from a `scroll` listener
|
|
21
|
-
// instead would leave it stale whenever a background re-render (presence,
|
|
22
|
-
// document sync) landed before the event dispatched.
|
|
23
11
|
if (container && !selectionChanged) {
|
|
24
12
|
savedScrollRef.current = container.scrollTop;
|
|
25
13
|
}
|
|
@@ -29,8 +17,6 @@ export function useSidebarScrollPreservation(itemSelector, containerSelector = S
|
|
|
29
17
|
savedScrollRef.current = 0;
|
|
30
18
|
return;
|
|
31
19
|
}
|
|
32
|
-
// Restore only when the commit actually reset the scroll. Writing on any
|
|
33
|
-
// mismatch would yank the user mid-scroll on unrelated re-renders.
|
|
34
20
|
if (container && container.scrollTop === 0 && savedScrollRef.current > 0) {
|
|
35
21
|
container.scrollTop = savedScrollRef.current;
|
|
36
22
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSidebarScrollPreservation.js","sourceRoot":"","sources":["../../src/editor/useSidebarScrollPreservation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AAEhD,MAAM,gBAAgB,GAAG,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"useSidebarScrollPreservation.js","sourceRoot":"","sources":["../../src/editor/useSidebarScrollPreservation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AAEhD,MAAM,gBAAgB,GAAG,6BAA6B,CAAC;AAUvD,MAAM,UAAU,4BAA4B,CAC1C,YAAqB,EACrB,oBAA4B,gBAAgB;IAE5C,MAAM,cAAc,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACjC,MAAM,kBAAkB,GAAG,MAAM,CAAS,EAAE,CAAC,CAAC;IAE9C,MAAM,SAAS,GACb,OAAO,QAAQ,KAAK,WAAW;QAC7B,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAc,iBAAiB,CAAC,CAAC;IAE7D,MAAM,WAAW,GAAG,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACrE,MAAM,gBAAgB,GAAG,WAAW,KAAK,kBAAkB,CAAC,OAAO,CAAC;IAMpE,IAAI,SAAS,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACnC,cAAc,CAAC,OAAO,GAAG,SAAS,CAAC,SAAS,CAAC;IAC/C,CAAC;IAED,eAAe,CAAC,GAAG,EAAE;QACnB,IAAI,gBAAgB,EAAE,CAAC;YACrB,kBAAkB,CAAC,OAAO,GAAG,WAAW,CAAC;YACzC,cAAc,CAAC,OAAO,GAAG,CAAC,CAAC;YAC3B,OAAO;QACT,CAAC;QAGD,IAAI,SAAS,IAAI,SAAS,CAAC,SAAS,KAAK,CAAC,IAAI,cAAc,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC;YACzE,SAAS,CAAC,SAAS,GAAG,cAAc,CAAC,OAAO,CAAC;QAC/C,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1,19 +1,10 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { GenericThumbnailIcon } from '../icons/GenericThumbnailIcon.js';
|
|
3
3
|
import { GripHandleIcon } from '../icons/GripHandleIcon.js';
|
|
4
|
-
// ─── Thumbnail wrapper ─────────────────────────────────────────────────────────
|
|
5
4
|
function Thumbnail({ name, thumbnailMap }) {
|
|
6
5
|
const ThumbnailFn = thumbnailMap[name] ?? GenericThumbnailIcon;
|
|
7
6
|
return (_jsx("div", { style: { width: 48, height: 32, flexShrink: 0, borderRadius: 3, overflow: 'hidden' }, "aria-label": `${name} layout preview`, children: _jsx(ThumbnailFn, {}) }));
|
|
8
7
|
}
|
|
9
|
-
// ─── Public builder ───────────────────────────────────────────────────────────
|
|
10
|
-
/**
|
|
11
|
-
* Returns a partial `PuckOverrides` object containing a `componentItem` override
|
|
12
|
-
* that renders a thumbnail, the component name, and a drag-handle affordance.
|
|
13
|
-
*
|
|
14
|
-
* Pass the result to `useP1Editor`'s `additionalOverrides` or merge it with
|
|
15
|
-
* your existing overrides.
|
|
16
|
-
*/
|
|
17
8
|
export function buildThumbnailOverride(thumbnailMap) {
|
|
18
9
|
return {
|
|
19
10
|
drawerItem: ({ name }) => (_jsxs("div", { style: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildThumbnailOverride.js","sourceRoot":"","sources":["../../../src/editor/utils/buildThumbnailOverride.tsx"],"names":[],"mappings":";AAgBA,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"buildThumbnailOverride.js","sourceRoot":"","sources":["../../../src/editor/utils/buildThumbnailOverride.tsx"],"names":[],"mappings":";AAgBA,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAU5D,SAAS,SAAS,CAAC,EAAE,IAAI,EAAE,YAAY,EAAgD;IACrF,MAAM,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,oBAAoB,CAAC;IAC/D,OAAO,CACL,cACE,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,gBACxE,GAAG,IAAI,iBAAiB,YAEpC,KAAC,WAAW,KAAG,GACX,CACP,CAAC;AACJ,CAAC;AAWD,MAAM,UAAU,sBAAsB,CAAC,YAA0B;IAC/D,OAAO;QACL,UAAU,EAAE,CAAC,EAAE,IAAI,EAA+C,EAAE,EAAE,CAAC,CACrE,eACE,KAAK,EAAE;gBACL,OAAO,EAAE,MAAM;gBACf,UAAU,EAAE,QAAQ;gBACpB,GAAG,EAAE,EAAE;gBACP,KAAK,EAAE,MAAM;gBACb,OAAO,EAAE,SAAS;gBAClB,YAAY,EAAE,CAAC;gBACf,MAAM,EAAE,MAAM;gBACd,SAAS,EAAE,YAAY;aACxB,aAED,KAAC,SAAS,IAAC,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,GAAI,EACrD,eACE,KAAK,EAAE;wBACL,IAAI,EAAE,CAAC;wBACP,QAAQ,EAAE,EAAE;wBACZ,UAAU,EAAE,GAAG;wBACf,KAAK,EAAE,SAAS;wBAChB,QAAQ,EAAE,QAAQ;wBAClB,YAAY,EAAE,UAAU;wBACxB,UAAU,EAAE,QAAQ;qBACrB,YAEA,IAAI,GACA,EACP,KAAC,cAAc,KAAG,IACd,CACP;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -103,15 +103,10 @@ export interface RegistryIndex {
|
|
|
103
103
|
hashes?: Record<string, string>;
|
|
104
104
|
/**
|
|
105
105
|
* Timestamp of the last full, per-component verification of every hash in
|
|
106
|
-
* `hashes` against its component document's own stored content
|
|
107
|
-
*
|
|
108
|
-
*
|
|
109
|
-
*
|
|
110
|
-
* never told about), the fast path has no way to detect this on its own
|
|
111
|
-
* and would skip forever. Once `verifiedAt` is older than
|
|
112
|
-
* REGISTRY_VERIFICATION_INTERVAL_MS, the hook forces a real per-component
|
|
113
|
-
* check instead of trusting `hashes`, bounding how long such a desync can
|
|
114
|
-
* persist. Carried forward unchanged on fast-path runs; only refreshed
|
|
106
|
+
* `hashes` against its component document's own stored content.
|
|
107
|
+
* Once `verifiedAt` is older than REGISTRY_VERIFICATION_INTERVAL_MS, the
|
|
108
|
+
* hook forces a real per-component check instead of trusting `hashes`.
|
|
109
|
+
* Carried forward unchanged on fast-path runs; only refreshed
|
|
115
110
|
* when a full per-component verification actually just ran.
|
|
116
111
|
*/
|
|
117
112
|
verifiedAt?: string;
|
|
@@ -153,8 +148,8 @@ export declare function extractDescriptors(puckConfig: unknown, upstreamConfig?:
|
|
|
153
148
|
/**
|
|
154
149
|
* Builds the RegistryIndex from a list of extracted descriptors.
|
|
155
150
|
*
|
|
156
|
-
* @param verifiedAt - Pass when a full per-component verification just ran
|
|
157
|
-
*
|
|
151
|
+
* @param verifiedAt - Pass when a full per-component verification just ran,
|
|
152
|
+
* to stamp the index with that confirmation time. Omit to
|
|
158
153
|
* carry an existing value forward unchanged on a fast-path-only run.
|
|
159
154
|
*/
|
|
160
155
|
export declare function buildRegistryIndex(descriptors: ComponentDescriptor[], siteId: string, branchId: string, verifiedAt?: string): RegistryIndex;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"componentRegistry.d.ts","sourceRoot":"","sources":["../../../src/editor/utils/componentRegistry.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,UAAU,GAAG,YAAY,CAAC;AAErE,MAAM,WAAW,WAAW;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,+HAA+H;IAC/H,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,sFAAsF;IACtF,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,eAAe,GACvB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,EAAE,CAAC,EAAE,WAAW,CAAA;CAAE,GAChE;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,EAAE,CAAC,EAAE,WAAW,CAAA;CAAE,GACpE;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,EAAE,CAAC,EAAE,WAAW,CAAA;CAAE,GAC9F;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAA;KAAE,EAAE,CAAC;IAAC,EAAE,CAAC,EAAE,WAAW,CAAA;CAAE,GAClI;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAA;KAAE,EAAE,CAAC;IAAC,EAAE,CAAC,EAAE,WAAW,CAAA;CAAE,GACjI;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,eAAe,EAAE,CAAC;IAAC,EAAE,CAAC,EAAE,WAAW,CAAA;CAAE,GACjG;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,eAAe,EAAE,CAAC;IAAC,EAAE,CAAC,EAAE,WAAW,CAAA;CAAE,GACnG;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,EAAE,CAAC,EAAE,WAAW,CAAA;CAAE,CAAC;AAEvE,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,EAAE,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IACxE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/F,UAAU,EAAE,mBAAmB,CAAC;IAChC,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IAChD;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC
|
|
1
|
+
{"version":3,"file":"componentRegistry.d.ts","sourceRoot":"","sources":["../../../src/editor/utils/componentRegistry.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,UAAU,GAAG,YAAY,CAAC;AAErE,MAAM,WAAW,WAAW;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,+HAA+H;IAC/H,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,sFAAsF;IACtF,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,eAAe,GACvB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,EAAE,CAAC,EAAE,WAAW,CAAA;CAAE,GAChE;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,EAAE,CAAC,EAAE,WAAW,CAAA;CAAE,GACpE;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,EAAE,CAAC,EAAE,WAAW,CAAA;CAAE,GAC9F;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAA;KAAE,EAAE,CAAC;IAAC,EAAE,CAAC,EAAE,WAAW,CAAA;CAAE,GAClI;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAA;KAAE,EAAE,CAAC;IAAC,EAAE,CAAC,EAAE,WAAW,CAAA;CAAE,GACjI;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,eAAe,EAAE,CAAC;IAAC,EAAE,CAAC,EAAE,WAAW,CAAA;CAAE,GACjG;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,eAAe,EAAE,CAAC;IAAC,EAAE,CAAC,EAAE,WAAW,CAAA;CAAE,GACnG;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,EAAE,CAAC,EAAE,WAAW,CAAA;CAAE,CAAC;AAEvE,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,EAAE,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IACxE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/F,UAAU,EAAE,mBAAmB,CAAC;IAChC,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IAChD;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAMD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,eAAe,CA8D5F;AAsBD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,cAAc,CAC5B,UAAU,EAAE,IAAI,CAAC,mBAAmB,EAAE,gBAAgB,CAAC,GAAG;IAAE,cAAc,CAAC,EAAE,MAAM,CAAA;CAAE,GACpF,MAAM,CAUR;AAgCD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,OAAO,EACnB,cAAc,CAAC,EAAE,OAAO,GACvB,mBAAmB,EAAE,CA0EvB;AAMD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,mBAAmB,EAAE,EAClC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,UAAU,CAAC,EAAE,MAAM,GAClB,aAAa,CAUf"}
|
|
@@ -1,18 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Component Registry Utilities
|
|
3
|
-
*
|
|
4
|
-
* Utilities for serialising Puck component configs into machine-readable
|
|
5
|
-
* ComponentDescriptor objects, hashing them for change detection, and
|
|
6
|
-
* building the RegistryIndex stored at /_registry/index.
|
|
7
|
-
*/
|
|
8
|
-
// =============================================================================
|
|
9
|
-
// Field serialization
|
|
10
|
-
// =============================================================================
|
|
11
|
-
/**
|
|
12
|
-
* Converts a Puck field definition to a JSON-serializable SerializedField.
|
|
13
|
-
* Strips non-serializable properties (render functions, getItemSummary, etc.).
|
|
14
|
-
* Recursively handles array.arrayFields and object.objectFields.
|
|
15
|
-
*/
|
|
16
1
|
export function serializeField(field, name) {
|
|
17
2
|
const ai = field.ai;
|
|
18
3
|
switch (field.type) {
|
|
@@ -70,7 +55,6 @@ export function serializeField(field, name) {
|
|
|
70
55
|
};
|
|
71
56
|
}
|
|
72
57
|
default:
|
|
73
|
-
// Treat all unrecognised types (including custom with render functions) as 'custom'
|
|
74
58
|
return {
|
|
75
59
|
type: 'custom',
|
|
76
60
|
name,
|
|
@@ -79,13 +63,6 @@ export function serializeField(field, name) {
|
|
|
79
63
|
};
|
|
80
64
|
}
|
|
81
65
|
}
|
|
82
|
-
// =============================================================================
|
|
83
|
-
// Hash computation
|
|
84
|
-
// =============================================================================
|
|
85
|
-
/**
|
|
86
|
-
* Sorts object keys recursively to produce a canonical JSON representation.
|
|
87
|
-
* This ensures hash stability regardless of key insertion order.
|
|
88
|
-
*/
|
|
89
66
|
function sortKeys(value) {
|
|
90
67
|
if (Array.isArray(value))
|
|
91
68
|
return value.map(sortKeys);
|
|
@@ -96,37 +73,16 @@ function sortKeys(value) {
|
|
|
96
73
|
}
|
|
97
74
|
return value;
|
|
98
75
|
}
|
|
99
|
-
/**
|
|
100
|
-
* djb2 hash over the canonical JSON of a descriptor.
|
|
101
|
-
*
|
|
102
|
-
* The following fields are intentionally excluded from the hash input:
|
|
103
|
-
* - `descriptorHash`: the hash itself must not feed into its own computation.
|
|
104
|
-
* - `registeredAt`: a timestamp that changes on every registration run; including
|
|
105
|
-
* it would make every component appear "changed" on every editor open.
|
|
106
|
-
* - `provenance`: a classification artifact derived from comparing site vs upstream
|
|
107
|
-
* schemas; it does not describe the component's own shape and should not affect
|
|
108
|
-
* whether a write is triggered.
|
|
109
|
-
* - `upstreamHash`: similarly a comparative artifact, not part of the schema identity.
|
|
110
|
-
*
|
|
111
|
-
* This is an intentional improvement over the plan (which only called out
|
|
112
|
-
* `descriptorHash` and `registeredAt`). Excluding `provenance` and `upstreamHash`
|
|
113
|
-
* prevents spurious re-writes when the upstream config changes but the site
|
|
114
|
-
* component schema is unchanged.
|
|
115
|
-
*/
|
|
116
76
|
export function hashDescriptor(descriptor) {
|
|
117
77
|
const { descriptorHash: _ignored, registeredAt: _ts, provenance: _prov, upstreamHash: _up, ...hashable } = descriptor;
|
|
118
78
|
const json = JSON.stringify(sortKeys(hashable));
|
|
119
79
|
let hash = 5381;
|
|
120
80
|
for (let i = 0; i < json.length; i++) {
|
|
121
81
|
hash = ((hash << 5) + hash) ^ json.charCodeAt(i);
|
|
122
|
-
hash = hash >>> 0;
|
|
82
|
+
hash = hash >>> 0;
|
|
123
83
|
}
|
|
124
84
|
return hash.toString(16);
|
|
125
85
|
}
|
|
126
|
-
// =============================================================================
|
|
127
|
-
// Descriptor extraction
|
|
128
|
-
// =============================================================================
|
|
129
|
-
/** Builds a descriptor without provenance/hash/timestamp fields (used for hashing) */
|
|
130
86
|
function buildPartialDescriptor(name, compConfig) {
|
|
131
87
|
const rawFields = (compConfig.fields ?? {});
|
|
132
88
|
const fields = Object.entries(rawFields).map(([k, v]) => serializeField(v, k));
|
|
@@ -136,27 +92,17 @@ function buildPartialDescriptor(name, compConfig) {
|
|
|
136
92
|
fields,
|
|
137
93
|
defaultProps: compConfig.defaultProps ?? {},
|
|
138
94
|
};
|
|
139
|
-
// AI metadata (from @puckeditor/plugin-ai convention)
|
|
140
95
|
const ai = compConfig.ai;
|
|
141
96
|
if (ai !== undefined)
|
|
142
97
|
result.ai = ai;
|
|
143
|
-
// Slot constraints
|
|
144
98
|
const slots = compConfig.slots;
|
|
145
99
|
if (slots !== undefined)
|
|
146
100
|
result.slots = slots;
|
|
147
101
|
return result;
|
|
148
102
|
}
|
|
149
|
-
/**
|
|
150
|
-
* Extracts ComponentDescriptors from a Puck config object.
|
|
151
|
-
* Optionally classifies provenance against an upstream Puck config.
|
|
152
|
-
*
|
|
153
|
-
* @param puckConfig - The site's Puck config (as passed to <Puck config={...} />)
|
|
154
|
-
* @param upstreamConfig - Optional Custom Upstream's Puck config for provenance comparison
|
|
155
|
-
*/
|
|
156
103
|
export function extractDescriptors(puckConfig, upstreamConfig) {
|
|
157
104
|
const config = puckConfig;
|
|
158
105
|
const components = (config.components ?? {});
|
|
159
|
-
// Pre-compute upstream descriptors for O(1) hash lookup
|
|
160
106
|
let upstreamDescriptors = null;
|
|
161
107
|
if (upstreamConfig !== undefined) {
|
|
162
108
|
const upstream = upstreamConfig;
|
|
@@ -171,7 +117,6 @@ export function extractDescriptors(puckConfig, upstreamConfig) {
|
|
|
171
117
|
registeredAt: '',
|
|
172
118
|
});
|
|
173
119
|
}
|
|
174
|
-
// Also index upstream root if present
|
|
175
120
|
const upstreamRoot = (upstream.root ?? null);
|
|
176
121
|
if (upstreamRoot !== null) {
|
|
177
122
|
const partial = buildPartialDescriptor('__root__', { ...upstreamRoot, label: 'Page Root' });
|
|
@@ -185,7 +130,6 @@ export function extractDescriptors(puckConfig, upstreamConfig) {
|
|
|
185
130
|
}
|
|
186
131
|
const now = new Date().toISOString();
|
|
187
132
|
const results = [];
|
|
188
|
-
// Build a combined map: root (as __root__) + named components
|
|
189
133
|
const allComponents = new Map();
|
|
190
134
|
const rootConfig = (config.root ?? null);
|
|
191
135
|
if (rootConfig !== null) {
|
|
@@ -196,10 +140,6 @@ export function extractDescriptors(puckConfig, upstreamConfig) {
|
|
|
196
140
|
}
|
|
197
141
|
for (const [name, compConfig] of allComponents.entries()) {
|
|
198
142
|
const partial = buildPartialDescriptor(name, compConfig);
|
|
199
|
-
// Hash is computed from schema identity only (name, label, fields, defaultProps, ai, slots).
|
|
200
|
-
// `provenance` and `registeredAt` are passed here only to satisfy the TypeScript type signature
|
|
201
|
-
// of hashDescriptor; they are immediately stripped inside hashDescriptor before hashing begins.
|
|
202
|
-
// The same applies to `upstreamHash` and `descriptorHash` (when present).
|
|
203
143
|
const siteHash = hashDescriptor({ ...partial, provenance: 'site', registeredAt: now });
|
|
204
144
|
let provenance = 'site';
|
|
205
145
|
let upstreamHash;
|
|
@@ -220,16 +160,6 @@ export function extractDescriptors(puckConfig, upstreamConfig) {
|
|
|
220
160
|
}
|
|
221
161
|
return results;
|
|
222
162
|
}
|
|
223
|
-
// =============================================================================
|
|
224
|
-
// Registry index
|
|
225
|
-
// =============================================================================
|
|
226
|
-
/**
|
|
227
|
-
* Builds the RegistryIndex from a list of extracted descriptors.
|
|
228
|
-
*
|
|
229
|
-
* @param verifiedAt - Pass when a full per-component verification just ran
|
|
230
|
-
* (PCC-3430), to stamp the index with that confirmation time. Omit to
|
|
231
|
-
* carry an existing value forward unchanged on a fast-path-only run.
|
|
232
|
-
*/
|
|
233
163
|
export function buildRegistryIndex(descriptors, siteId, branchId, verifiedAt) {
|
|
234
164
|
return {
|
|
235
165
|
siteId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"componentRegistry.js","sourceRoot":"","sources":["../../../src/editor/utils/componentRegistry.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"componentRegistry.js","sourceRoot":"","sources":["../../../src/editor/utils/componentRegistry.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,38 +1,11 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* createStablePluginArray
|
|
3
|
-
*
|
|
4
|
-
* Creates a memoized plugin array that only changes identity when
|
|
5
|
-
* the plugin references change. Filters out null/undefined entries.
|
|
6
|
-
*/
|
|
7
1
|
let lastPlugins = [];
|
|
8
2
|
let lastResult = [];
|
|
9
|
-
/**
|
|
10
|
-
* Creates a stable plugin array from the given plugins.
|
|
11
|
-
*
|
|
12
|
-
* Returns the same array reference if the same plugin instances
|
|
13
|
-
* are passed in the same order. Filters out null/undefined entries.
|
|
14
|
-
*
|
|
15
|
-
* This is useful for consumers who manually assemble plugin arrays
|
|
16
|
-
* outside of useP1Editor and want to avoid unnecessary Puck re-renders.
|
|
17
|
-
*
|
|
18
|
-
* @param plugins - Plugin instances to include
|
|
19
|
-
* @returns A stable array of non-null plugins
|
|
20
|
-
*
|
|
21
|
-
* @example
|
|
22
|
-
* ```tsx
|
|
23
|
-
* const plugins = createStablePluginArray(p1Plugin, aiPlugin, pccPlugin);
|
|
24
|
-
* return <Puck plugins={plugins} />;
|
|
25
|
-
* ```
|
|
26
|
-
*/
|
|
27
3
|
export function createStablePluginArray(...plugins) {
|
|
28
|
-
// Filter out null/undefined
|
|
29
4
|
const filtered = plugins.filter(Boolean);
|
|
30
|
-
// Check if the plugins are the same as last call
|
|
31
5
|
if (filtered.length === lastPlugins.length &&
|
|
32
6
|
filtered.every((p, i) => p === lastPlugins[i])) {
|
|
33
7
|
return lastResult;
|
|
34
8
|
}
|
|
35
|
-
// Cache and return new array
|
|
36
9
|
lastPlugins = filtered;
|
|
37
10
|
lastResult = [...filtered];
|
|
38
11
|
return lastResult;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createStablePluginArray.js","sourceRoot":"","sources":["../../../src/editor/utils/createStablePluginArray.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"createStablePluginArray.js","sourceRoot":"","sources":["../../../src/editor/utils/createStablePluginArray.ts"],"names":[],"mappings":"AASA,IAAI,WAAW,GAAiB,EAAE,CAAC;AACnC,IAAI,UAAU,GAAiB,EAAE,CAAC;AAoBlC,MAAM,UAAU,uBAAuB,CAAC,GAAG,OAAqB;IAE9D,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAGzC,IACE,QAAQ,CAAC,MAAM,KAAK,WAAW,CAAC,MAAM;QACtC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,EAC9C,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;IAGD,WAAW,GAAG,QAAQ,CAAC;IACvB,UAAU,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC;IAC3B,OAAO,UAAU,CAAC;AACpB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"path.js","sourceRoot":"","sources":["../../../src/editor/utils/path.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"path.js","sourceRoot":"","sources":["../../../src/editor/utils/path.ts"],"names":[],"mappings":"AAMA,SAAS,WAAW,CAAC,KAAa;IAChC,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC;IACvB,OAAO,KAAK,GAAG,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG;QAAE,KAAK,EAAE,CAAC;IACpD,OAAO,GAAG,GAAG,KAAK,IAAI,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,GAAG;QAAE,GAAG,EAAE,CAAC;IACpD,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,SAAiB;IACxC,MAAM,OAAO,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;IACvC,OAAO,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;AAC3C,CAAC"}
|