@pantheon-systems/puck-css 0.12.0 → 0.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/agent/components/AgentActionButton.js +0 -13
- package/dist/agent/components/AgentActionButton.js.map +1 -1
- package/dist/agent/components/AgentActionModal.js +0 -13
- package/dist/agent/components/AgentActionModal.js.map +1 -1
- package/dist/agent/components/AgentStatusPanel.js +0 -10
- package/dist/agent/components/AgentStatusPanel.js.map +1 -1
- package/dist/agent/components/index.js +0 -5
- package/dist/agent/components/index.js.map +1 -1
- package/dist/agent/useAgentEdit.js +0 -12
- package/dist/agent/useAgentEdit.js.map +1 -1
- package/dist/agent/useAgentTrigger.js +0 -29
- package/dist/agent/useAgentTrigger.js.map +1 -1
- package/dist/auth/P1AuthProvider.d.ts +9 -2
- package/dist/auth/P1AuthProvider.d.ts.map +1 -1
- package/dist/auth/P1AuthProvider.js +21 -44
- package/dist/auth/P1AuthProvider.js.map +1 -1
- package/dist/auth/P1LoginPage.js +0 -18
- package/dist/auth/P1LoginPage.js.map +1 -1
- package/dist/auth/index.d.ts +2 -0
- package/dist/auth/index.d.ts.map +1 -1
- package/dist/auth/index.js +1 -9
- package/dist/auth/index.js.map +1 -1
- package/dist/auth/logout.d.ts +23 -0
- package/dist/auth/logout.d.ts.map +1 -0
- package/dist/auth/logout.js +14 -0
- package/dist/auth/logout.js.map +1 -0
- package/dist/auth/storage-keys.d.ts +5 -0
- package/dist/auth/storage-keys.d.ts.map +1 -0
- package/dist/auth/storage-keys.js +3 -0
- package/dist/auth/storage-keys.js.map +1 -0
- package/dist/collaboration/components/AgentActivityBanner.js +0 -15
- package/dist/collaboration/components/AgentActivityBanner.js.map +1 -1
- package/dist/collaboration/components/CollaboratorAvatars.js +0 -17
- package/dist/collaboration/components/CollaboratorAvatars.js.map +1 -1
- package/dist/collaboration/components/FocusRegionHighlight.js +0 -9
- package/dist/collaboration/components/FocusRegionHighlight.js.map +1 -1
- package/dist/collaboration/components/PresenceIndicator.js +0 -9
- package/dist/collaboration/components/PresenceIndicator.js.map +1 -1
- package/dist/collaboration/useBranchPresence.js +0 -36
- package/dist/collaboration/useBranchPresence.js.map +1 -1
- package/dist/collaboration/useFocusRegionReporting.js +0 -75
- package/dist/collaboration/useFocusRegionReporting.js.map +1 -1
- package/dist/collaboration/usePresence.js +0 -37
- package/dist/collaboration/usePresence.js.map +1 -1
- package/dist/collaboration/useSitePresence.js +0 -36
- package/dist/collaboration/useSitePresence.js.map +1 -1
- package/dist/collaboration/utils/avatarColor.js +0 -3
- package/dist/collaboration/utils/avatarColor.js.map +1 -1
- package/dist/collaboration/utils/focusHighlightConfig.js +0 -61
- package/dist/collaboration/utils/focusHighlightConfig.js.map +1 -1
- package/dist/collaboration/utils/focusRegionMap.js +1 -80
- package/dist/collaboration/utils/focusRegionMap.js.map +1 -1
- package/dist/collaboration/utils/initials.js +0 -14
- package/dist/collaboration/utils/initials.js.map +1 -1
- package/dist/collaboration/utils/presenceIdentity.js +0 -26
- package/dist/collaboration/utils/presenceIdentity.js.map +1 -1
- package/dist/core/FocusHighlightContext.js +0 -31
- package/dist/core/FocusHighlightContext.js.map +1 -1
- package/dist/core/NotificationContext.js +2 -67
- package/dist/core/NotificationContext.js.map +1 -1
- package/dist/core/P1PuckContext.js +0 -31
- package/dist/core/P1PuckContext.js.map +1 -1
- package/dist/core/PresenceContext.js +0 -18
- package/dist/core/PresenceContext.js.map +1 -1
- package/dist/core/config.js +0 -11
- package/dist/core/config.js.map +1 -1
- package/dist/core/featureConfig.js +0 -32
- package/dist/core/featureConfig.js.map +1 -1
- package/dist/core/index.d.ts +1 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/plugin-types.d.ts +9 -0
- package/dist/core/plugin-types.d.ts.map +1 -1
- package/dist/core/types.d.ts +7 -1
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js +0 -3
- package/dist/core/types.js.map +1 -1
- package/dist/core/utils/debounce.js +0 -18
- package/dist/core/utils/debounce.js.map +1 -1
- package/dist/core/utils/requestError.js +0 -5
- package/dist/core/utils/requestError.js.map +1 -1
- package/dist/core/utils/retry.js +0 -31
- package/dist/core/utils/retry.js.map +1 -1
- package/dist/core/utils/throttle.js +0 -24
- package/dist/core/utils/throttle.js.map +1 -1
- package/dist/data/cross-reference-resolve.js +0 -6
- package/dist/data/cross-reference-resolve.js.map +1 -1
- package/dist/data/cross-reference.js +0 -15
- package/dist/data/cross-reference.js.map +1 -1
- package/dist/data/css-queries/css-query-registry.d.ts +2 -2
- package/dist/data/css-queries/css-query-registry.js +1 -1
- package/dist/data/css-queries/css-query-registry.js.map +1 -1
- package/dist/data/dal/index.js +0 -21
- package/dist/data/dal/index.js.map +1 -1
- package/dist/data/dal/init.js +0 -40
- package/dist/data/dal/init.js.map +1 -1
- package/dist/data/dal/p1-store.d.ts.map +1 -1
- package/dist/data/dal/p1-store.js +11 -41
- package/dist/data/dal/p1-store.js.map +1 -1
- package/dist/data/data-list-block/builtin-components/cards.d.ts +1 -0
- package/dist/data/data-list-block/builtin-components/cards.d.ts.map +1 -1
- package/dist/data/data-list-block/builtin-components/cards.js +16 -16
- package/dist/data/data-list-block/builtin-components/cards.js.map +1 -1
- package/dist/data/data-list-block/builtin-components/listing.d.ts +1 -0
- package/dist/data/data-list-block/builtin-components/listing.d.ts.map +1 -1
- package/dist/data/data-list-block/builtin-components/listing.js +4 -3
- package/dist/data/data-list-block/builtin-components/listing.js.map +1 -1
- package/dist/data/data-list-block/builtin-components/rows.d.ts +1 -0
- package/dist/data/data-list-block/builtin-components/rows.d.ts.map +1 -1
- package/dist/data/data-list-block/builtin-components/rows.js +3 -3
- package/dist/data/data-list-block/builtin-components/rows.js.map +1 -1
- package/dist/data/data-list-block/create-data-list-block.d.ts +1 -0
- package/dist/data/data-list-block/create-data-list-block.d.ts.map +1 -1
- package/dist/data/data-list-block/create-data-list-block.js +7 -11
- package/dist/data/data-list-block/create-data-list-block.js.map +1 -1
- package/dist/data/data-list-block/data-list.css +314 -0
- package/dist/data/data-list-block/utils.js +0 -1
- package/dist/data/data-list-block/utils.js.map +1 -1
- package/dist/data/fields/pds-field-helpers.js +1 -4
- package/dist/data/fields/pds-field-helpers.js.map +1 -1
- package/dist/data/fields/visible-when.js +0 -5
- package/dist/data/fields/visible-when.js.map +1 -1
- package/dist/data/fields.d.ts.map +1 -1
- package/dist/data/fields.js +7 -14
- package/dist/data/fields.js.map +1 -1
- package/dist/data/get-page.js +0 -1
- package/dist/data/get-page.js.map +1 -1
- package/dist/data/page-editor-meta.js +0 -7
- package/dist/data/page-editor-meta.js.map +1 -1
- package/dist/data/page-store.js +0 -32
- package/dist/data/page-store.js.map +1 -1
- package/dist/data/page-structure.js +0 -3
- package/dist/data/page-structure.js.map +1 -1
- package/dist/data/paths.d.ts +6 -0
- package/dist/data/paths.d.ts.map +1 -1
- package/dist/data/paths.js +3 -16
- package/dist/data/paths.js.map +1 -1
- package/dist/data/query-provider.d.ts +14 -0
- package/dist/data/query-provider.d.ts.map +1 -1
- package/dist/data/query-provider.js +20 -9
- package/dist/data/query-provider.js.map +1 -1
- package/dist/data/remote-datasources/fetch-http-json.js +0 -5
- package/dist/data/remote-datasources/fetch-http-json.js.map +1 -1
- package/dist/data/remote-datasources/loader.js +0 -21
- package/dist/data/remote-datasources/loader.js.map +1 -1
- package/dist/data/remote-datasources/remote-datasource-registry.js +0 -4
- package/dist/data/remote-datasources/remote-datasource-registry.js.map +1 -1
- package/dist/data/resolve-data-templates.js +0 -24
- package/dist/data/resolve-data-templates.js.map +1 -1
- package/dist/data/route-templates.js +0 -29
- package/dist/data/route-templates.js.map +1 -1
- package/dist/data/semantic-ops.js +0 -11
- package/dist/data/semantic-ops.js.map +1 -1
- package/dist/data/styles.js +0 -2
- package/dist/data/styles.js.map +1 -1
- package/dist/data/template-autocomplete.js +0 -8
- package/dist/data/template-autocomplete.js.map +1 -1
- package/dist/data/utils.d.ts +16 -0
- package/dist/data/utils.d.ts.map +1 -1
- package/dist/data/utils.js +21 -1
- package/dist/data/utils.js.map +1 -1
- package/dist/editor/P1App.d.ts.map +1 -1
- package/dist/editor/P1App.js +6 -45
- package/dist/editor/P1App.js.map +1 -1
- package/dist/editor/P1PuckProvider.d.ts +1 -1
- package/dist/editor/P1PuckProvider.d.ts.map +1 -1
- package/dist/editor/P1PuckProvider.js +54 -561
- package/dist/editor/P1PuckProvider.js.map +1 -1
- package/dist/editor/aiPanelStore.js +0 -7
- package/dist/editor/aiPanelStore.js.map +1 -1
- package/dist/editor/components/BranchSelector.js +0 -21
- package/dist/editor/components/BranchSelector.js.map +1 -1
- package/dist/editor/components/CollapsibleSectionHeader.js +1 -4
- package/dist/editor/components/CollapsibleSectionHeader.js.map +1 -1
- package/dist/editor/components/DraggableRow.js +0 -1
- package/dist/editor/components/DraggableRow.js.map +1 -1
- package/dist/editor/components/EditorReloadOverlay.d.ts +16 -0
- package/dist/editor/components/EditorReloadOverlay.d.ts.map +1 -0
- package/dist/editor/components/EditorReloadOverlay.js +13 -0
- package/dist/editor/components/EditorReloadOverlay.js.map +1 -0
- package/dist/editor/components/NotificationContainer.js +0 -20
- package/dist/editor/components/NotificationContainer.js.map +1 -1
- package/dist/editor/components/OutlinePanel.js +1 -12
- package/dist/editor/components/OutlinePanel.js.map +1 -1
- package/dist/editor/components/P1InspectorFields.d.ts.map +1 -1
- package/dist/editor/components/P1InspectorFields.js +12 -14
- package/dist/editor/components/P1InspectorFields.js.map +1 -1
- package/dist/editor/components/P1TemplateFields.js +6 -12
- package/dist/editor/components/P1TemplateFields.js.map +1 -1
- package/dist/editor/components/PanelHeader.d.ts.map +1 -1
- package/dist/editor/components/PanelHeader.js +3 -2
- package/dist/editor/components/PanelHeader.js.map +1 -1
- package/dist/editor/components/PublishButton.js +0 -21
- package/dist/editor/components/PublishButton.js.map +1 -1
- package/dist/editor/components/PuckDataCapture.js +0 -14
- package/dist/editor/components/PuckDataCapture.js.map +1 -1
- package/dist/editor/components/PuckDataSynchronizer.js +0 -67
- package/dist/editor/components/PuckDataSynchronizer.js.map +1 -1
- package/dist/editor/components/PuckSelectionTracker.js +0 -62
- package/dist/editor/components/PuckSelectionTracker.js.map +1 -1
- package/dist/editor/components/SaveIndicator.js +0 -41
- package/dist/editor/components/SaveIndicator.js.map +1 -1
- package/dist/editor/components/Toast.js +1 -32
- package/dist/editor/components/Toast.js.map +1 -1
- package/dist/editor/components/VersionBannerOverride.d.ts +7 -1
- package/dist/editor/components/VersionBannerOverride.d.ts.map +1 -1
- package/dist/editor/components/VersionBannerOverride.js +17 -24
- package/dist/editor/components/VersionBannerOverride.js.map +1 -1
- package/dist/editor/components/collapsibleSectionContext.js +0 -10
- package/dist/editor/components/collapsibleSectionContext.js.map +1 -1
- package/dist/editor/components/componentIconName.js +0 -23
- package/dist/editor/components/componentIconName.js.map +1 -1
- package/dist/editor/components/connectable.js +0 -5
- package/dist/editor/components/connectable.js.map +1 -1
- package/dist/editor/components/merge-preview/MergePreviewRenderer.js +2 -74
- package/dist/editor/components/merge-preview/MergePreviewRenderer.js.map +1 -1
- package/dist/editor/components/merge-preview/ScaledContent.js +0 -6
- package/dist/editor/components/merge-preview/ScaledContent.js.map +1 -1
- package/dist/editor/components/merge-preview/index.js +0 -5
- package/dist/editor/components/merge-preview/index.js.map +1 -1
- package/dist/editor/components/outlineTree.js +0 -31
- package/dist/editor/components/outlineTree.js.map +1 -1
- package/dist/editor/components/useDragReorder.js +0 -1
- package/dist/editor/components/useDragReorder.js.map +1 -1
- package/dist/editor/composePlugins.d.ts +9 -3
- package/dist/editor/composePlugins.d.ts.map +1 -1
- package/dist/editor/composePlugins.js +3 -8
- package/dist/editor/composePlugins.js.map +1 -1
- package/dist/editor/defaultPlugins.d.ts +1 -1
- package/dist/editor/defaultPlugins.d.ts.map +1 -1
- package/dist/editor/defaultPlugins.js +3 -1
- package/dist/editor/defaultPlugins.js.map +1 -1
- package/dist/editor/freshFieldTypes.d.ts +12 -0
- package/dist/editor/freshFieldTypes.d.ts.map +1 -0
- package/dist/editor/freshFieldTypes.js +11 -0
- package/dist/editor/freshFieldTypes.js.map +1 -0
- package/dist/editor/logout-store.d.ts +13 -0
- package/dist/editor/logout-store.d.ts.map +1 -0
- package/dist/editor/logout-store.js +23 -0
- package/dist/editor/logout-store.js.map +1 -0
- package/dist/editor/plugin/P1Plugin.d.ts +16 -3
- package/dist/editor/plugin/P1Plugin.d.ts.map +1 -1
- package/dist/editor/plugin/P1Plugin.js +21 -171
- package/dist/editor/plugin/P1Plugin.js.map +1 -1
- package/dist/editor/plugin/context-sync-key.js +0 -19
- package/dist/editor/plugin/context-sync-key.js.map +1 -1
- package/dist/editor/plugin/createP1Overrides.js +1 -49
- package/dist/editor/plugin/createP1Overrides.js.map +1 -1
- package/dist/editor/plugin/document-sync-plugin.js +0 -50
- package/dist/editor/plugin/document-sync-plugin.js.map +1 -1
- package/dist/editor/plugin/fieldGuidance.js +0 -5
- package/dist/editor/plugin/fieldGuidance.js.map +1 -1
- package/dist/editor/plugin/index.js +0 -6
- package/dist/editor/plugin/index.js.map +1 -1
- package/dist/editor/plugin/selectHeaderCollaborators.js +0 -8
- package/dist/editor/plugin/selectHeaderCollaborators.js.map +1 -1
- package/dist/editor/presets.js +2 -2
- package/dist/editor/stablePluginDeps.d.ts +9 -0
- package/dist/editor/stablePluginDeps.d.ts.map +1 -0
- package/dist/editor/stablePluginDeps.js +15 -0
- package/dist/editor/stablePluginDeps.js.map +1 -0
- package/dist/editor/thumbnails/LiveThumbnail.js +1 -49
- package/dist/editor/thumbnails/LiveThumbnail.js.map +1 -1
- package/dist/editor/thumbnails/ThumbnailCard.js +0 -25
- package/dist/editor/thumbnails/ThumbnailCard.js.map +1 -1
- package/dist/editor/thumbnails/buildLiveThumbnailDrawer.js +0 -21
- package/dist/editor/thumbnails/buildLiveThumbnailDrawer.js.map +1 -1
- package/dist/editor/thumbnails/humanizeComponentName.js +0 -17
- package/dist/editor/thumbnails/humanizeComponentName.js.map +1 -1
- package/dist/editor/thumbnails/resolveLiveThumbnailDrawer.js +0 -11
- package/dist/editor/thumbnails/resolveLiveThumbnailDrawer.js.map +1 -1
- package/dist/editor/thumbnails/thumbnailCache.js +0 -38
- package/dist/editor/thumbnails/thumbnailCache.js.map +1 -1
- package/dist/editor/useAutoSave.js +0 -32
- package/dist/editor/useAutoSave.js.map +1 -1
- package/dist/editor/useBranches.js +0 -30
- package/dist/editor/useBranches.js.map +1 -1
- package/dist/editor/useComponentRegistry.d.ts +1 -1
- package/dist/editor/useComponentRegistry.js +0 -28
- package/dist/editor/useComponentRegistry.js.map +1 -1
- package/dist/editor/useDocuments.js +0 -51
- package/dist/editor/useDocuments.js.map +1 -1
- package/dist/editor/useMergePreview.js +8 -12
- package/dist/editor/useMergePreview.js.map +1 -1
- package/dist/editor/useP1Editor.d.ts +35 -7
- package/dist/editor/useP1Editor.d.ts.map +1 -1
- package/dist/editor/useP1Editor.js +146 -243
- package/dist/editor/useP1Editor.js.map +1 -1
- package/dist/editor/useP1Overrides.js +15 -50
- package/dist/editor/useP1Overrides.js.map +1 -1
- package/dist/editor/useP1Plugin.d.ts +10 -4
- package/dist/editor/useP1Plugin.d.ts.map +1 -1
- package/dist/editor/useP1Plugin.js +34 -56
- package/dist/editor/useP1Plugin.js.map +1 -1
- package/dist/editor/useRealtime.d.ts +15 -3
- package/dist/editor/useRealtime.d.ts.map +1 -1
- package/dist/editor/useRealtime.js +12 -91
- package/dist/editor/useRealtime.js.map +1 -1
- package/dist/editor/useResponsivePanels.js +2 -35
- package/dist/editor/useResponsivePanels.js.map +1 -1
- package/dist/editor/useSidebarScrollPreservation.js +0 -14
- package/dist/editor/useSidebarScrollPreservation.js.map +1 -1
- package/dist/editor/utils/buildThumbnailOverride.js +0 -9
- package/dist/editor/utils/buildThumbnailOverride.js.map +1 -1
- package/dist/editor/utils/componentRegistry.d.ts +6 -11
- package/dist/editor/utils/componentRegistry.d.ts.map +1 -1
- package/dist/editor/utils/componentRegistry.js +1 -71
- package/dist/editor/utils/componentRegistry.js.map +1 -1
- package/dist/editor/utils/createStablePluginArray.js +0 -27
- package/dist/editor/utils/createStablePluginArray.js.map +1 -1
- package/dist/editor/utils/path.js +0 -6
- package/dist/editor/utils/path.js.map +1 -1
- package/dist/editor/utils/puckYjsBinding.d.ts +1 -1
- package/dist/editor/utils/puckYjsBinding.js +0 -99
- package/dist/editor/utils/puckYjsBinding.js.map +1 -1
- package/dist/editor/utils/restoreDocumentVersion.js +0 -12
- package/dist/editor/utils/restoreDocumentVersion.js.map +1 -1
- package/dist/editor/utils/sanitizeRichtextDefaults.js +0 -26
- package/dist/editor/utils/sanitizeRichtextDefaults.js.map +1 -1
- package/dist/editor/utils/snapshotToPuckData.js +0 -8
- package/dist/editor/utils/snapshotToPuckData.js.map +1 -1
- package/dist/editor/utils/syncComponentRegistry.d.ts +2 -2
- package/dist/editor/utils/syncComponentRegistry.js +1 -76
- package/dist/editor/utils/syncComponentRegistry.js.map +1 -1
- package/dist/editor/utils/syncComponentRegistryWriteOnly.d.ts +7 -7
- package/dist/editor/utils/syncComponentRegistryWriteOnly.js +0 -22
- package/dist/editor/utils/syncComponentRegistryWriteOnly.js.map +1 -1
- package/dist/editor/utils/templatePath.js +0 -5
- package/dist/editor/utils/templatePath.js.map +1 -1
- package/dist/features/content-type-templates/editor/useTemplatePermissions.js +0 -3
- package/dist/features/content-type-templates/editor/useTemplatePermissions.js.map +1 -1
- package/dist/features/content-type-templates/hooks/useTemplateList.js +0 -30
- package/dist/features/content-type-templates/hooks/useTemplateList.js.map +1 -1
- package/dist/features/content-type-templates/index.js +0 -8
- package/dist/features/content-type-templates/index.js.map +1 -1
- package/dist/features/content-type-templates/permissions/createPuckPermissions.js +1 -43
- package/dist/features/content-type-templates/permissions/createPuckPermissions.js.map +1 -1
- package/dist/features/content-type-templates/permissions/role-permissions.d.ts +8 -0
- package/dist/features/content-type-templates/permissions/role-permissions.d.ts.map +1 -1
- package/dist/features/content-type-templates/permissions/role-permissions.js +3 -29
- package/dist/features/content-type-templates/permissions/role-permissions.js.map +1 -1
- package/dist/features/content-type-templates/permissions/useContentRole.js +0 -24
- package/dist/features/content-type-templates/permissions/useContentRole.js.map +1 -1
- package/dist/features/content-type-templates/permissions/useResolveContentRole.d.ts +5 -5
- package/dist/features/content-type-templates/permissions/useResolveContentRole.js +2 -22
- package/dist/features/content-type-templates/permissions/useResolveContentRole.js.map +1 -1
- package/dist/features/content-type-templates/stores/index.js +0 -5
- package/dist/features/content-type-templates/stores/index.js.map +1 -1
- package/dist/features/content-type-templates/stores/template-store-api.js +0 -14
- package/dist/features/content-type-templates/stores/template-store-api.js.map +1 -1
- package/dist/features/content-type-templates/stores/template-store.d.ts +1 -1
- package/dist/features/content-type-templates/stores/template-store.js +0 -12
- package/dist/features/content-type-templates/stores/template-store.js.map +1 -1
- package/dist/features/content-type-templates/types.js +0 -5
- package/dist/features/content-type-templates/types.js.map +1 -1
- package/dist/features/content-type-templates/ui/ActionBarPinButton.js +12 -21
- package/dist/features/content-type-templates/ui/ActionBarPinButton.js.map +1 -1
- package/dist/features/content-type-templates/ui/TemplateDetailsPanel.js +0 -23
- package/dist/features/content-type-templates/ui/TemplateDetailsPanel.js.map +1 -1
- package/dist/features/content-type-templates/ui/TemplateSelector.js +0 -19
- package/dist/features/content-type-templates/ui/TemplateSelector.js.map +1 -1
- package/dist/features/content-type-templates/validation/structural-validation.js +0 -40
- package/dist/features/content-type-templates/validation/structural-validation.js.map +1 -1
- package/dist/features/localization/authority.d.ts +26 -0
- package/dist/features/localization/authority.d.ts.map +1 -0
- package/dist/features/localization/authority.js +17 -0
- package/dist/features/localization/authority.js.map +1 -0
- package/dist/features/localization/index.d.ts +11 -0
- package/dist/features/localization/index.d.ts.map +1 -0
- package/dist/features/localization/index.js +7 -0
- package/dist/features/localization/index.js.map +1 -0
- package/dist/features/localization/prop-target.d.ts +26 -0
- package/dist/features/localization/prop-target.d.ts.map +1 -0
- package/dist/features/localization/prop-target.js +15 -0
- package/dist/features/localization/prop-target.js.map +1 -0
- package/dist/features/localization/puck-overrides.d.ts +12 -0
- package/dist/features/localization/puck-overrides.d.ts.map +1 -0
- package/dist/features/localization/puck-overrides.js +12 -0
- package/dist/features/localization/puck-overrides.js.map +1 -0
- package/dist/features/localization/relation.d.ts +14 -0
- package/dist/features/localization/relation.d.ts.map +1 -0
- package/dist/features/localization/relation.js +7 -0
- package/dist/features/localization/relation.js.map +1 -0
- package/dist/features/localization/translatable.d.ts +24 -0
- package/dist/features/localization/translatable.d.ts.map +1 -0
- package/dist/features/localization/translatable.js +30 -0
- package/dist/features/localization/translatable.js.map +1 -0
- package/dist/features/localization/types.d.ts +17 -0
- package/dist/features/localization/types.d.ts.map +1 -0
- package/dist/features/localization/types.js +2 -0
- package/dist/features/localization/types.js.map +1 -0
- package/dist/features/localization/ui/AuthorityFieldControl.d.ts +32 -0
- package/dist/features/localization/ui/AuthorityFieldControl.d.ts.map +1 -0
- package/dist/features/localization/ui/AuthorityFieldControl.js +36 -0
- package/dist/features/localization/ui/AuthorityFieldControl.js.map +1 -0
- package/dist/features/localization/ui/TranslatabilityToggle.d.ts +17 -0
- package/dist/features/localization/ui/TranslatabilityToggle.d.ts.map +1 -0
- package/dist/features/localization/ui/TranslatabilityToggle.js +16 -0
- package/dist/features/localization/ui/TranslatabilityToggle.js.map +1 -0
- package/dist/features/localization/useLocalizationData.d.ts +37 -0
- package/dist/features/localization/useLocalizationData.d.ts.map +1 -0
- package/dist/features/localization/useLocalizationData.js +88 -0
- package/dist/features/localization/useLocalizationData.js.map +1 -0
- package/dist/index.d.ts +6 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -43
- package/dist/index.js.map +1 -1
- package/dist/merge/components/conflict-notifications/ConflictNotificationToast.js +0 -19
- package/dist/merge/components/conflict-notifications/ConflictNotificationToast.js.map +1 -1
- package/dist/merge/components/conflict-notifications/index.js +0 -5
- package/dist/merge/components/conflict-notifications/index.js.map +1 -1
- package/dist/merge/components/conflict-notifications/useConflictNotifications.js +0 -48
- package/dist/merge/components/conflict-notifications/useConflictNotifications.js.map +1 -1
- package/dist/merge/components/conflict-resolution/ComponentConflictGroup.js +0 -36
- package/dist/merge/components/conflict-resolution/ComponentConflictGroup.js.map +1 -1
- package/dist/merge/components/conflict-resolution/PuckFieldResolutionPanel.js +0 -40
- package/dist/merge/components/conflict-resolution/PuckFieldResolutionPanel.js.map +1 -1
- package/dist/merge/components/conflict-resolution/RenderedResolutionPreview.js +0 -21
- package/dist/merge/components/conflict-resolution/RenderedResolutionPreview.js.map +1 -1
- package/dist/merge/components/conflict-resolution/index.js +0 -5
- package/dist/merge/components/conflict-resolution/index.js.map +1 -1
- package/dist/merge/components/merge-resolution/CherryPickVisualPanel.js +0 -44
- package/dist/merge/components/merge-resolution/CherryPickVisualPanel.js.map +1 -1
- package/dist/merge/components/merge-resolution/ComponentClickOverlay.js +0 -24
- package/dist/merge/components/merge-resolution/ComponentClickOverlay.js.map +1 -1
- package/dist/merge/components/merge-resolution/DocumentResolutionDetail.d.ts.map +1 -1
- package/dist/merge/components/merge-resolution/DocumentResolutionDetail.js +6 -31
- package/dist/merge/components/merge-resolution/DocumentResolutionDetail.js.map +1 -1
- package/dist/merge/components/merge-resolution/index.js +0 -3
- package/dist/merge/components/merge-resolution/index.js.map +1 -1
- package/dist/merge/useMergeResolution.d.ts +1 -1
- package/dist/merge/useMergeResolution.d.ts.map +1 -1
- package/dist/merge/useMergeResolution.js +6 -75
- package/dist/merge/useMergeResolution.js.map +1 -1
- package/dist/merge/utils/namespacePuckData.d.ts.map +1 -1
- package/dist/merge/utils/namespacePuckData.js +8 -8
- package/dist/merge/utils/namespacePuckData.js.map +1 -1
- package/dist/merge/utils/puckFieldClassifier.js +0 -183
- package/dist/merge/utils/puckFieldClassifier.js.map +1 -1
- package/dist/p1/editor/connect/connect-preview-config.js +0 -5
- package/dist/p1/editor/connect/connect-preview-config.js.map +1 -1
- package/dist/p1/editor/connect/field-connect-plugin.js +0 -6
- package/dist/p1/editor/connect/field-connect-plugin.js.map +1 -1
- package/dist/p1/editor/editor-preview-resolve.js +0 -13
- package/dist/p1/editor/editor-preview-resolve.js.map +1 -1
- package/dist/p1/editor/hooks/api-hooks.js +0 -7
- package/dist/p1/editor/hooks/api-hooks.js.map +1 -1
- package/dist/p1/editor/hooks/useLiveEditorContext.d.ts.map +1 -1
- package/dist/p1/editor/hooks/useLiveEditorContext.js +2 -13
- package/dist/p1/editor/hooks/useLiveEditorContext.js.map +1 -1
- package/dist/p1/editor/hooks/useLiveRemoteDatasources.js +0 -22
- package/dist/p1/editor/hooks/useLiveRemoteDatasources.js.map +1 -1
- package/dist/p1/editor/hooks/useP1Plugins.js +0 -5
- package/dist/p1/editor/hooks/useP1Plugins.js.map +1 -1
- package/dist/p1/editor/remote-datasources/remote-datasource-explorer-plugin.js +0 -7
- package/dist/p1/editor/remote-datasources/remote-datasource-explorer-plugin.js.map +1 -1
- package/dist/p1/editor/template-autocomplete-layer.js +0 -4
- package/dist/p1/editor/template-autocomplete-layer.js.map +1 -1
- package/dist/pds/components/AgentChip.js +0 -3
- package/dist/pds/components/AgentChip.js.map +1 -1
- package/dist/pds/components/CreatePageModal.js +1 -97
- package/dist/pds/components/CreatePageModal.js.map +1 -1
- package/dist/pds/components/LoadingMessage.d.ts.map +1 -1
- package/dist/pds/components/LoadingMessage.js +2 -1
- package/dist/pds/components/LoadingMessage.js.map +1 -1
- package/dist/pds/components/LoadingMessage.module.css +2 -21
- package/dist/pds/components/LoadingOverlay.d.ts +17 -0
- package/dist/pds/components/LoadingOverlay.d.ts.map +1 -0
- package/dist/pds/components/LoadingOverlay.js +7 -0
- package/dist/pds/components/LoadingOverlay.js.map +1 -0
- package/dist/pds/components/LoadingOverlay.module.css +28 -0
- package/dist/pds/components/P1EditorHeader.d.ts +9 -2
- package/dist/pds/components/P1EditorHeader.d.ts.map +1 -1
- package/dist/pds/components/P1EditorHeader.js +6 -26
- package/dist/pds/components/P1EditorHeader.js.map +1 -1
- package/dist/pds/components/P1EditorHeader.module.css +26 -0
- package/dist/pds/components/PageNavigator.js +0 -16
- package/dist/pds/components/PageNavigator.js.map +1 -1
- package/dist/pds/components/PageNotFound.d.ts +27 -0
- package/dist/pds/components/PageNotFound.d.ts.map +1 -0
- package/dist/pds/components/PageNotFound.js +24 -0
- package/dist/pds/components/PageNotFound.js.map +1 -0
- package/dist/pds/components/PageNotFound.module.css +51 -0
- package/dist/pds/components/PresenceStack.js +0 -9
- package/dist/pds/components/PresenceStack.js.map +1 -1
- package/dist/pds/components/PublishControl.js +0 -6
- package/dist/pds/components/PublishControl.js.map +1 -1
- package/dist/pds/components/WorkstreamSwitcher.js +1 -25
- package/dist/pds/components/WorkstreamSwitcher.js.map +1 -1
- package/dist/pds/index.d.ts +4 -0
- package/dist/pds/index.d.ts.map +1 -1
- package/dist/pds/index.js +2 -29
- package/dist/pds/index.js.map +1 -1
- package/dist/pds/theme/pds-core-content.js +0 -5
- package/dist/pds/theme/pds-core-content.js.map +1 -1
- package/dist/pds/utils/deriveDocState.js +0 -1
- package/dist/pds/utils/deriveDocState.js.map +1 -1
- package/dist/pds/utils/deriveLiveDocState.js +0 -13
- package/dist/pds/utils/deriveLiveDocState.js.map +1 -1
- package/dist/registry-sync.js +0 -4
- package/dist/registry-sync.js.map +1 -1
- package/dist/server.js +0 -7
- package/dist/server.js.map +1 -1
- package/dist/versioning/components/ReadOnlyFieldsGuard.js +0 -3
- package/dist/versioning/components/ReadOnlyFieldsGuard.js.map +1 -1
- package/dist/versioning/components/VersionBannerActions.js +0 -1
- package/dist/versioning/components/VersionBannerActions.js.map +1 -1
- package/dist/versioning/components/version-compare/BranchDiffHeader.js +0 -7
- package/dist/versioning/components/version-compare/BranchDiffHeader.js.map +1 -1
- package/dist/versioning/components/version-compare/BranchMergeCompare.js +0 -19
- package/dist/versioning/components/version-compare/BranchMergeCompare.js.map +1 -1
- package/dist/versioning/components/version-compare/ComponentNode.js +0 -8
- package/dist/versioning/components/version-compare/ComponentNode.js.map +1 -1
- package/dist/versioning/components/version-compare/ComponentTree.js +0 -10
- package/dist/versioning/components/version-compare/ComponentTree.js.map +1 -1
- package/dist/versioning/components/version-compare/DiffHeader.js +0 -3
- package/dist/versioning/components/version-compare/DiffHeader.js.map +1 -1
- package/dist/versioning/components/version-compare/DocumentDiffList.js +0 -14
- package/dist/versioning/components/version-compare/DocumentDiffList.js.map +1 -1
- package/dist/versioning/components/version-compare/PropDiffPanel.js +0 -7
- package/dist/versioning/components/version-compare/PropDiffPanel.js.map +1 -1
- package/dist/versioning/components/version-compare/PropDiffRow.js +0 -3
- package/dist/versioning/components/version-compare/PropDiffRow.js.map +1 -1
- package/dist/versioning/components/version-compare/PropValueDisplay.js +0 -22
- package/dist/versioning/components/version-compare/PropValueDisplay.js.map +1 -1
- package/dist/versioning/components/version-compare/VersionComparePage.js +0 -13
- package/dist/versioning/components/version-compare/VersionComparePage.js.map +1 -1
- package/dist/versioning/components/version-compare/VisualBranchCompare.js +0 -17
- package/dist/versioning/components/version-compare/VisualBranchCompare.js.map +1 -1
- package/dist/versioning/components/version-compare/VisualVersionCompare.js +0 -23
- package/dist/versioning/components/version-compare/VisualVersionCompare.js.map +1 -1
- package/dist/versioning/components/version-compare/index.js +0 -5
- package/dist/versioning/components/version-compare/index.js.map +1 -1
- package/dist/versioning/components/version-history/AgentCheckpointBadge.js +0 -14
- package/dist/versioning/components/version-history/AgentCheckpointBadge.js.map +1 -1
- package/dist/versioning/components/version-history/VersionItem.js +0 -7
- package/dist/versioning/components/version-history/VersionItem.js.map +1 -1
- package/dist/versioning/components/version-history/index.js +0 -5
- package/dist/versioning/components/version-history/index.js.map +1 -1
- package/dist/versioning/useCheckpoints.js +0 -28
- package/dist/versioning/useCheckpoints.js.map +1 -1
- package/dist/versioning/useVersions.js +0 -31
- package/dist/versioning/useVersions.js.map +1 -1
- package/dist/versioning/utils/branchDiff.js +0 -93
- package/dist/versioning/utils/branchDiff.js.map +1 -1
- package/dist/versioning/utils/diff.js +0 -79
- package/dist/versioning/utils/diff.js.map +1 -1
- package/dist/versioning/utils/formatVersionDate.js +0 -12
- package/dist/versioning/utils/formatVersionDate.js.map +1 -1
- package/dist/versioning/utils/highlightConfig.js +0 -42
- package/dist/versioning/utils/highlightConfig.js.map +1 -1
- package/dist/versioning/utils/versionKind.js +0 -10
- package/dist/versioning/utils/versionKind.js.map +1 -1
- package/package.json +7 -7
- package/src/data/data-list-block/data-list.css +314 -0
- package/src/pds/theme/PuckEditorTheme.css +5 -5
- package/src/styles.css +1 -1
- package/src/pds/theme/PuckEditorTheme.test.ts +0 -195
- package/src/pds/theme/pds-core-content.ts +0 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"P1InspectorFields.js","sourceRoot":"","sources":["../../../src/editor/components/P1InspectorFields.tsx"],"names":[],"mappings":";AAaA,OAAO,EAAE,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"P1InspectorFields.js","sourceRoot":"","sources":["../../../src/editor/components/P1InspectorFields.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,22 +1,16 @@
|
|
|
1
1
|
import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
-
import { createUsePuck
|
|
2
|
+
import { createUsePuck } from '@puckeditor/core';
|
|
3
3
|
import { useP1PuckOptional } from '../../core/P1PuckContext.js';
|
|
4
4
|
import { TemplateDetailsPanel } from '../../features/content-type-templates/ui/TemplateDetailsPanel.js';
|
|
5
5
|
import { templateFromRegistryPath } from '../utils/templatePath.js';
|
|
6
6
|
const useTemplateFieldsPuck = createUsePuck();
|
|
7
|
-
/**
|
|
8
|
-
* Right-sidebar fields override for template documents. When editing a template
|
|
9
|
-
* (`_registry/templates/<name>`) with the root selected, replaces the default
|
|
10
|
-
* "Page" root fields with the Template details panel (Label / Description / URL
|
|
11
|
-
* pattern). Otherwise renders Puck's default fields unchanged.
|
|
12
|
-
*/
|
|
13
7
|
export function P1TemplateFields({ children }) {
|
|
14
|
-
const
|
|
8
|
+
const ccr = useP1PuckOptional();
|
|
15
9
|
const itemSelector = useTemplateFieldsPuck((s) => s.appState?.ui?.itemSelector);
|
|
16
|
-
const
|
|
17
|
-
const template = templateFromRegistryPath(
|
|
18
|
-
if (template && !itemSelector &&
|
|
19
|
-
const updateTemplate =
|
|
10
|
+
const dispatch = useTemplateFieldsPuck((s) => s.dispatch);
|
|
11
|
+
const template = templateFromRegistryPath(ccr?.currentDocument?.path, ccr?.templates);
|
|
12
|
+
if (template && !itemSelector && ccr?.updateTemplate) {
|
|
13
|
+
const updateTemplate = ccr.updateTemplate;
|
|
20
14
|
return (_jsx(TemplateDetailsPanel, { template: template, onSave: async (details) => {
|
|
21
15
|
await updateTemplate(template.id, {
|
|
22
16
|
label: details.label,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"P1TemplateFields.js","sourceRoot":"","sources":["../../../src/editor/components/P1TemplateFields.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"P1TemplateFields.js","sourceRoot":"","sources":["../../../src/editor/components/P1TemplateFields.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,kEAAkE,CAAC;AACxG,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAEpE,MAAM,qBAAqB,GAAG,aAAa,EAAE,CAAC;AAQ9C,MAAM,UAAU,gBAAgB,CAAC,EAAE,QAAQ,EAAiC;IAC1E,MAAM,GAAG,GAAG,iBAAiB,EAAE,CAAC;IAChC,MAAM,YAAY,GAAG,qBAAqB,CACxC,CAAC,CAAC,EAAE,EAAE,CACH,CAAmE,CAAC,QAAQ,EAAE,EAAE,EAAE,YAAY,CAClG,CAAC;IACF,MAAM,QAAQ,GAAG,qBAAqB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAA8B,CAAC;IACvF,MAAM,QAAQ,GAAG,wBAAwB,CAAC,GAAG,EAAE,eAAe,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;IAEtF,IAAI,QAAQ,IAAI,CAAC,YAAY,IAAI,GAAG,EAAE,cAAc,EAAE,CAAC;QACrD,MAAM,cAAc,GAAG,GAAG,CAAC,cAAc,CAAC;QAC1C,OAAO,CACL,KAAC,oBAAoB,IACnB,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;gBACxB,MAAM,cAAc,CAAC,QAAQ,CAAC,EAAE,EAAE;oBAChC,KAAK,EAAE,OAAO,CAAC,KAAK;oBACpB,WAAW,EAAE,OAAO,CAAC,WAAW;oBAChC,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;iBAC7C,CAAC,CAAC;gBACH,QAAQ,CAAC;oBACP,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,CAAC,IAA6B,EAAE,EAAE;wBACtC,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAA4B,CAAC;wBAC1D,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAA4B,CAAC;wBAC5D,OAAO;4BACL,GAAG,IAAI;4BACP,IAAI,EAAE;gCACJ,GAAG,IAAI;gCACP,KAAK,EAAE;oCACL,GAAG,KAAK;oCACR,SAAS,EAAE;wCACT,GAAI,CAAC,KAAK,CAAC,SAAS,IAAI,EAAE,CAA6B;wCACvD,KAAK,EAAE,OAAO,CAAC,KAAK;wCACpB,WAAW,EAAE,OAAO,CAAC,WAAW;wCAChC,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;qCAC7C;iCACF;6BACF;yBACF,CAAC;oBACJ,CAAC;iBACO,CAAC,CAAC;YACd,CAAC,GACD,CACH,CAAC;IACJ,CAAC;IACD,OAAO,4BAAG,QAAQ,GAAI,CAAC;AACzB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PanelHeader.d.ts","sourceRoot":"","sources":["../../../src/editor/components/PanelHeader.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"PanelHeader.d.ts","sourceRoot":"","sources":["../../../src/editor/components/PanelHeader.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAO1B,MAAM,WAAW,gBAAgB;IAC/B,2CAA2C;IAC3C,KAAK,EAAE,MAAM,CAAC;IACd,2EAA2E;IAC3E,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,4EAA4E;IAC5E,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,UAAU,EACV,OAAO,GACR,EAAE,gBAAgB,GAAG,KAAK,CAAC,YAAY,CAoBvC"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { IconButton } from '@pantheon-systems/pds-toolkit-react';
|
|
3
|
-
import {
|
|
3
|
+
import { createUsePuck } from '@puckeditor/core';
|
|
4
4
|
import styles from './PanelHeader.module.css';
|
|
5
|
+
const usePanelHeaderPuck = createUsePuck();
|
|
5
6
|
export function PanelHeader({ title, onCollapse, actions, }) {
|
|
6
|
-
const
|
|
7
|
+
const dispatch = usePanelHeaderPuck((s) => s.dispatch);
|
|
7
8
|
return (_jsxs("div", { className: styles.header, children: [_jsx("span", { className: styles.title, children: title }), actions, _jsx(IconButton, { ariaLabel: "Collapse panel", iconName: "anglesLeft", size: "s", hasTooltip: true, hasBorder: false, onClick: () => {
|
|
8
9
|
dispatch({ type: 'setUi', ui: { leftSideBarVisible: false } });
|
|
9
10
|
onCollapse?.();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PanelHeader.js","sourceRoot":"","sources":["../../../src/editor/components/PanelHeader.tsx"],"names":[],"mappings":";AAgBA,OAAO,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AACjE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"PanelHeader.js","sourceRoot":"","sources":["../../../src/editor/components/PanelHeader.tsx"],"names":[],"mappings":";AAgBA,OAAO,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,MAAM,MAAM,0BAA0B,CAAC;AAE9C,MAAM,kBAAkB,GAAG,aAAa,EAAE,CAAC;AAW3C,MAAM,UAAU,WAAW,CAAC,EAC1B,KAAK,EACL,UAAU,EACV,OAAO,GACU;IACjB,MAAM,QAAQ,GAAG,kBAAkB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAA8B,CAAC;IAEpF,OAAO,CACL,eAAK,SAAS,EAAE,MAAM,CAAC,MAAM,aAC3B,eAAM,SAAS,EAAE,MAAM,CAAC,KAAK,YAAG,KAAK,GAAQ,EAC5C,OAAO,EACR,KAAC,UAAU,IACT,SAAS,EAAC,gBAAgB,EAC1B,QAAQ,EAAC,YAAY,EACrB,IAAI,EAAC,GAAG,EACR,UAAU,EAAE,IAAI,EAChB,SAAS,EAAE,KAAK,EAChB,OAAO,EAAE,GAAG,EAAE;oBACZ,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,kBAAkB,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;oBAC/D,UAAU,EAAE,EAAE,CAAC;gBACjB,CAAC,GACD,IACE,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -1,26 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
/**
|
|
3
|
-
* PublishButton Component
|
|
4
|
-
*
|
|
5
|
-
* Two-step button for publishing a document to the live site.
|
|
6
|
-
* First click shows a confirmation prompt, second click publishes.
|
|
7
|
-
*/
|
|
8
2
|
import { useState, useCallback } from 'react';
|
|
9
|
-
/**
|
|
10
|
-
* Two-step publish button. First click reveals a confirmation prompt
|
|
11
|
-
* warning that this publishes to the live site. Confirming triggers
|
|
12
|
-
* the actual publish.
|
|
13
|
-
*
|
|
14
|
-
* @example
|
|
15
|
-
* ```tsx
|
|
16
|
-
* <PublishButton
|
|
17
|
-
* onPublish={publishDocument}
|
|
18
|
-
* onSuccess={(cp) => console.log('Published:', cp.id)}
|
|
19
|
-
* >
|
|
20
|
-
* Publish
|
|
21
|
-
* </PublishButton>
|
|
22
|
-
* ```
|
|
23
|
-
*/
|
|
24
3
|
export function PublishButton({ onPublish, disabled = false, onSuccess, onError, className = '', children = 'Publish', }) {
|
|
25
4
|
const [isPublishing, setIsPublishing] = useState(false);
|
|
26
5
|
const [showConfirm, setShowConfirm] = useState(false);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PublishButton.js","sourceRoot":"","sources":["../../../src/editor/components/PublishButton.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"PublishButton.js","sourceRoot":"","sources":["../../../src/editor/components/PublishButton.tsx"],"names":[],"mappings":";AAOA,OAAc,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAkDrD,MAAM,UAAU,aAAa,CAAC,EAC5B,SAAS,EACT,QAAQ,GAAG,KAAK,EAChB,SAAS,EACT,OAAO,EACP,SAAS,GAAG,EAAE,EACd,QAAQ,GAAG,SAAS,GACD;IACnB,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxD,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEtD,MAAM,SAAS,GAAG,yBAAyB,CAAC;IAE5C,MAAM,aAAa,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QAC3C,eAAe,CAAC,IAAI,CAAC,CAAC;QAEtB,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,MAAM,SAAS,EAAE,CAAC;YACrC,cAAc,CAAC,KAAK,CAAC,CAAC;YACtB,SAAS,EAAE,CAAC,UAAU,CAAC,CAAC;QAC1B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,EAAE,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACvE,CAAC;gBAAS,CAAC;YACT,eAAe,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC;IACH,CAAC,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;IAEpC,MAAM,YAAY,GAAG,WAAW,CAAC,GAAG,EAAE;QACpC,cAAc,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,CACL,eAAK,SAAS,EAAE,GAAG,SAAS,aAAa,SAAS,EAAE,EAAE,KAAK,EAAE;gBAC3D,OAAO,EAAE,MAAM;gBACf,UAAU,EAAE,QAAQ;gBACpB,GAAG,EAAE,QAAQ;aACd,aACC,eAAM,KAAK,EAAE;wBACX,QAAQ,EAAE,SAAS;wBACnB,KAAK,EAAE,SAAS;wBAChB,UAAU,EAAE,GAAG;qBAChB,+CAEM,EACP,iBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,+CAA+C,EACzD,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,aAAa,EAAE,EACnC,QAAQ,EAAE,YAAY,EACtB,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,YAEnD,YAAY,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,GACpC,EACT,iBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,iDAAiD,EAC3D,OAAO,EAAE,YAAY,EACrB,QAAQ,EAAE,YAAY,uBAGf,IACL,CACP,CAAC;IACJ,CAAC;IAED,OAAO,CACL,iBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,iDAAiD,SAAS,EAAE,EACvE,OAAO,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,EACnC,QAAQ,EAAE,QAAQ,IAAI,YAAY,YAEjC,QAAQ,GACF,CACV,CAAC;AACJ,CAAC"}
|
|
@@ -1,19 +1,5 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* PuckDataCapture
|
|
3
|
-
*
|
|
4
|
-
* Captures Puck's actual current data after each React render and writes
|
|
5
|
-
* it to an external ref. This is necessary because Puck's onChange fires
|
|
6
|
-
* with data from the PREVIOUS render cycle (React state lags the DOM),
|
|
7
|
-
* so onChange data is always one keystroke behind.
|
|
8
|
-
*
|
|
9
|
-
* By reading via usePuck after React commits, we get the true current state.
|
|
10
|
-
* The ref is read by the realtime throttle callback at send time.
|
|
11
|
-
*
|
|
12
|
-
* Must be rendered inside the Puck component tree (e.g., via a plugin override).
|
|
13
|
-
*/
|
|
14
1
|
import { useRef, useEffect } from 'react';
|
|
15
2
|
import { createUsePuck } from '@puckeditor/core';
|
|
16
|
-
// Selector that reads Puck's current data
|
|
17
3
|
const usePuckData = createUsePuck();
|
|
18
4
|
export function PuckDataCapture({ dataRef, onDataChange }) {
|
|
19
5
|
const data = usePuckData((s) => s.appState.data);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PuckDataCapture.js","sourceRoot":"","sources":["../../../src/editor/components/PuckDataCapture.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"PuckDataCapture.js","sourceRoot":"","sources":["../../../src/editor/components/PuckDataCapture.tsx"],"names":[],"mappings":"AAcA,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAIjD,MAAM,WAAW,GAAG,aAAa,EAAE,CAAC;AASpC,MAAM,UAAU,eAAe,CAAC,EAAE,OAAO,EAAE,YAAY,EAAwB;IAC7E,MAAM,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAyB,CAAC;IACzE,MAAM,eAAe,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;IAC7C,eAAe,CAAC,OAAO,GAAG,YAAY,CAAC;IAEvC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,IAAI,EAAE,CAAC;YACT,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;YACvB,eAAe,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC;IACH,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IAEpB,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -1,36 +1,8 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
/**
|
|
3
|
-
* PuckDataSynchronizer
|
|
4
|
-
*
|
|
5
|
-
* A component that syncs external data changes to Puck's internal state
|
|
6
|
-
* without remounting the Puck component. This preserves UI state like
|
|
7
|
-
* which sidebar tab is active.
|
|
8
|
-
*
|
|
9
|
-
* This component must be rendered inside the Puck component tree
|
|
10
|
-
* (e.g., via a plugin or override) to access the usePuck hook.
|
|
11
|
-
* It safely handles cases where Puck's context isn't available yet.
|
|
12
|
-
*/
|
|
13
2
|
import { Component, useEffect, useState } from 'react';
|
|
14
3
|
import { createUsePuck } from '@puckeditor/core';
|
|
15
|
-
// Create a usePuck hook with selector to avoid unnecessary re-renders
|
|
16
|
-
// We only need dispatch, so we select just that
|
|
17
4
|
const usePuckDispatch = createUsePuck();
|
|
18
|
-
/**
|
|
19
|
-
* Track the last synced key at module level to survive component remounts.
|
|
20
|
-
* This is necessary because the plugin may be recreated frequently, which would
|
|
21
|
-
* reset any component-level refs and cause repeated syncs.
|
|
22
|
-
*
|
|
23
|
-
* The tracking is done inside useEffect (not during render) to be safe with
|
|
24
|
-
* React's concurrent features and strict mode.
|
|
25
|
-
*/
|
|
26
5
|
let lastSyncedKeyModule = null;
|
|
27
|
-
/**
|
|
28
|
-
* Reset the module-level sync tracking. This is only for testing purposes.
|
|
29
|
-
* In tests, the module state persists across test cases, which can cause
|
|
30
|
-
* unexpected behavior. Call this in beforeEach to start each test fresh.
|
|
31
|
-
*
|
|
32
|
-
* @internal
|
|
33
|
-
*/
|
|
34
6
|
export function _resetSyncTracking() {
|
|
35
7
|
lastSyncedKeyModule = null;
|
|
36
8
|
}
|
|
@@ -43,79 +15,40 @@ class PuckContextErrorBoundary extends Component {
|
|
|
43
15
|
return { hasError: true };
|
|
44
16
|
}
|
|
45
17
|
static getDerivedStateFromProps(props, state) {
|
|
46
|
-
// Reset error state when syncKey changes - allows retry on new sync attempts
|
|
47
18
|
if (props.syncKey !== state.lastSyncKey) {
|
|
48
19
|
return { hasError: false, lastSyncKey: props.syncKey };
|
|
49
20
|
}
|
|
50
21
|
return null;
|
|
51
22
|
}
|
|
52
23
|
componentDidCatch(error) {
|
|
53
|
-
// Only suppress "usePuck must be used inside <Puck>" errors
|
|
54
24
|
if (!error.message?.includes('usePuck')) {
|
|
55
|
-
// Re-throw other errors
|
|
56
25
|
throw error;
|
|
57
26
|
}
|
|
58
|
-
// Silently ignore usePuck context errors - the sync will work on subsequent renders
|
|
59
27
|
}
|
|
60
28
|
render() {
|
|
61
29
|
if (this.state.hasError) {
|
|
62
|
-
// Render nothing when there's an error - sync will be retried when syncKey changes
|
|
63
30
|
return null;
|
|
64
31
|
}
|
|
65
32
|
return this.props.children;
|
|
66
33
|
}
|
|
67
34
|
}
|
|
68
|
-
/**
|
|
69
|
-
* Inner component that uses usePuck (only rendered after mount when context is ready)
|
|
70
|
-
*/
|
|
71
35
|
function PuckDataSynchronizerInner({ data, syncKey, }) {
|
|
72
|
-
// Use selector to only subscribe to dispatch, avoiding re-renders on other state changes
|
|
73
36
|
const dispatch = usePuckDispatch((s) => s.dispatch);
|
|
74
37
|
useEffect(() => {
|
|
75
|
-
// Only sync when:
|
|
76
|
-
// 1. syncKey is a non-null value (null means "don't sync")
|
|
77
|
-
// 2. syncKey is different from what we last synced (using module-level tracking)
|
|
78
|
-
// 3. we have data to sync
|
|
79
|
-
//
|
|
80
|
-
// Module-level tracking is critical because:
|
|
81
|
-
// - The plugin may be recreated frequently, causing this component to remount
|
|
82
|
-
// - When remounted, component-level refs reset to null
|
|
83
|
-
// - This would cause duplicate syncs of the same data
|
|
84
|
-
// - Module-level tracking survives remounts and prevents this
|
|
85
38
|
if (syncKey !== null && syncKey !== lastSyncedKeyModule && data !== null) {
|
|
86
|
-
// Update module-level tracking BEFORE dispatching
|
|
87
|
-
// This is safe because we're in useEffect, not during render
|
|
88
39
|
lastSyncedKeyModule = syncKey;
|
|
89
|
-
// `setData` leaves `ui` alone and Puck is never remounted, so the old selector would point
|
|
90
|
-
// into the new document. Cleared first, so the new data never renders against it.
|
|
91
40
|
dispatch({ type: 'setUi', ui: { itemSelector: null } });
|
|
92
|
-
// Dispatch setData to update Puck's internal state
|
|
93
41
|
dispatch({
|
|
94
42
|
type: 'setData',
|
|
95
43
|
data: data,
|
|
96
44
|
});
|
|
97
45
|
}
|
|
98
46
|
}, [data, syncKey, dispatch]);
|
|
99
|
-
// This component renders nothing
|
|
100
47
|
return null;
|
|
101
48
|
}
|
|
102
|
-
/**
|
|
103
|
-
* Syncs external data changes to Puck without remounting.
|
|
104
|
-
*
|
|
105
|
-
* This component renders nothing but uses an effect to dispatch
|
|
106
|
-
* setData actions when the external data changes.
|
|
107
|
-
*
|
|
108
|
-
* It safely handles cases where Puck's context might not be ready yet
|
|
109
|
-
* by deferring the sync until after the first render using setTimeout
|
|
110
|
-
* to ensure Puck's context provider is fully initialized.
|
|
111
|
-
*
|
|
112
|
-
* An error boundary catches any "usePuck must be used inside <Puck>"
|
|
113
|
-
* errors for React 19 compatibility.
|
|
114
|
-
*/
|
|
115
49
|
export function PuckDataSynchronizer({ data, syncKey, }) {
|
|
116
50
|
const [isReady, setIsReady] = useState(false);
|
|
117
51
|
useEffect(() => {
|
|
118
|
-
// Use setTimeout to defer to a later tick, ensuring Puck's context is fully set up
|
|
119
52
|
const timer = setTimeout(() => {
|
|
120
53
|
setIsReady(true);
|
|
121
54
|
}, 0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PuckDataSynchronizer.js","sourceRoot":"","sources":["../../../src/editor/components/PuckDataSynchronizer.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"PuckDataSynchronizer.js","sourceRoot":"","sources":["../../../src/editor/components/PuckDataSynchronizer.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,93 +1,31 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* PuckSelectionTracker
|
|
3
|
-
*
|
|
4
|
-
* A component that watches Puck's selection state and reports changes.
|
|
5
|
-
* Must be rendered inside the Puck component tree to access the usePuck hook.
|
|
6
|
-
*
|
|
7
|
-
* This component enables proactive focus region reporting by converting
|
|
8
|
-
* Puck's internal selection format to JSON paths that the backend understands.
|
|
9
|
-
*/
|
|
10
1
|
import { useEffect, useRef } from 'react';
|
|
11
2
|
import { createUsePuck } from '@puckeditor/core';
|
|
12
|
-
// Create a usePuck hook with selector to watch selection state
|
|
13
3
|
const usePuckSelection = createUsePuck();
|
|
14
|
-
/**
|
|
15
|
-
* Convert Puck's zone/index selector to a JSON path that matches
|
|
16
|
-
* the document structure.
|
|
17
|
-
*
|
|
18
|
-
* Puck's itemSelector format:
|
|
19
|
-
* - Root zone: { zone: "root:default-zone", index: N } → data.content[N]
|
|
20
|
-
* - Nested zone: { zone: "{componentId}:{zoneName}", index: M } → data.zones[...][M]
|
|
21
|
-
*
|
|
22
|
-
* We convert to document paths that the backend can use for conflict detection:
|
|
23
|
-
* - Root zone → "/content/{index}"
|
|
24
|
-
* - Nested zone → "/zones/{componentId}:{zoneName}/{index}"
|
|
25
|
-
*/
|
|
26
4
|
function selectorToPath(zone, index) {
|
|
27
|
-
// Root zone: "root:default-zone" maps to data.content array
|
|
28
5
|
if (zone === 'root:default-zone') {
|
|
29
6
|
return `/content/${index}`;
|
|
30
7
|
}
|
|
31
|
-
// Legacy format: "content" also maps to data.content array
|
|
32
8
|
if (zone === 'content') {
|
|
33
9
|
return `/content/${index}`;
|
|
34
10
|
}
|
|
35
|
-
// Nested zones: "{componentId}:{zoneName}" format
|
|
36
|
-
// These map to data.zones["{componentId}:{zoneName}"]
|
|
37
|
-
// We preserve the zone compound as-is for conflict detection
|
|
38
11
|
return `/zones/${zone}/${index}`;
|
|
39
12
|
}
|
|
40
|
-
/**
|
|
41
|
-
* Watches Puck's selection state and calls onSelectionChange when it changes.
|
|
42
|
-
*
|
|
43
|
-
* This component renders nothing but uses Puck's internal state to track
|
|
44
|
-
* which component the user has selected. The path is formatted to match
|
|
45
|
-
* the JSON path format used by the backend for region conflict detection.
|
|
46
|
-
*
|
|
47
|
-
* @example
|
|
48
|
-
* ```tsx
|
|
49
|
-
* function PuckWithTracking() {
|
|
50
|
-
* const { setFocusRegions, clearFocus } = useFocusRegionReporting();
|
|
51
|
-
*
|
|
52
|
-
* const handleSelectionChange = (path, itemId) => {
|
|
53
|
-
* if (path) {
|
|
54
|
-
* setFocusRegions([path]);
|
|
55
|
-
* } else {
|
|
56
|
-
* clearFocus();
|
|
57
|
-
* }
|
|
58
|
-
* };
|
|
59
|
-
*
|
|
60
|
-
* return (
|
|
61
|
-
* <Puck {...config}>
|
|
62
|
-
* <PuckSelectionTracker onSelectionChange={handleSelectionChange} />
|
|
63
|
-
* </Puck>
|
|
64
|
-
* );
|
|
65
|
-
* }
|
|
66
|
-
* ```
|
|
67
|
-
*/
|
|
68
13
|
export function PuckSelectionTracker({ onSelectionChange, }) {
|
|
69
|
-
// Track previous values to detect changes (use undefined to distinguish from null)
|
|
70
14
|
const prevPathRef = useRef(undefined);
|
|
71
15
|
const prevItemIdRef = useRef(undefined);
|
|
72
|
-
// Use selector to get just the parts we need
|
|
73
16
|
const itemSelector = usePuckSelection((state) => state.appState.ui.itemSelector);
|
|
74
17
|
const selectedItem = usePuckSelection((state) => state.selectedItem);
|
|
75
|
-
// Convert to path and itemId
|
|
76
|
-
// Only create path if itemSelector has required fields (zone and index)
|
|
77
18
|
const path = itemSelector && itemSelector.zone !== undefined && itemSelector.index !== undefined
|
|
78
19
|
? selectorToPath(itemSelector.zone, itemSelector.index)
|
|
79
20
|
: null;
|
|
80
21
|
const itemId = selectedItem?.props?.id ?? null;
|
|
81
|
-
// Call onSelectionChange when values change (or on initial render)
|
|
82
22
|
useEffect(() => {
|
|
83
|
-
// Use undefined as initial state to ensure we call on first render
|
|
84
23
|
if (prevPathRef.current === undefined || path !== prevPathRef.current || itemId !== prevItemIdRef.current) {
|
|
85
24
|
prevPathRef.current = path;
|
|
86
25
|
prevItemIdRef.current = itemId;
|
|
87
26
|
onSelectionChange(path, itemId);
|
|
88
27
|
}
|
|
89
28
|
}, [path, itemId, onSelectionChange]);
|
|
90
|
-
// This component renders nothing
|
|
91
29
|
return null;
|
|
92
30
|
}
|
|
93
31
|
//# sourceMappingURL=PuckSelectionTracker.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PuckSelectionTracker.js","sourceRoot":"","sources":["../../../src/editor/components/PuckSelectionTracker.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"PuckSelectionTracker.js","sourceRoot":"","sources":["../../../src/editor/components/PuckSelectionTracker.tsx"],"names":[],"mappings":"AAUA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGjD,MAAM,gBAAgB,GAAG,aAAa,EAAE,CAAC;AAuBzC,SAAS,cAAc,CAAC,IAAY,EAAE,KAAa;IAEjD,IAAI,IAAI,KAAK,mBAAmB,EAAE,CAAC;QACjC,OAAO,YAAY,KAAK,EAAE,CAAC;IAC7B,CAAC;IAGD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,OAAO,YAAY,KAAK,EAAE,CAAC;IAC7B,CAAC;IAKD,OAAO,UAAU,IAAI,IAAI,KAAK,EAAE,CAAC;AACnC,CAAC;AA8BD,MAAM,UAAU,oBAAoB,CAAC,EACnC,iBAAiB,GACS;IAE1B,MAAM,WAAW,GAAG,MAAM,CAA4B,SAAS,CAAC,CAAC;IACjE,MAAM,aAAa,GAAG,MAAM,CAA4B,SAAS,CAAC,CAAC;IAGnE,MAAM,YAAY,GAAG,gBAAgB,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;IACjF,MAAM,YAAY,GAAG,gBAAgB,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAIrE,MAAM,IAAI,GAAG,YAAY,IAAI,YAAY,CAAC,IAAI,KAAK,SAAS,IAAI,YAAY,CAAC,KAAK,KAAK,SAAS;QAC9F,CAAC,CAAC,cAAc,CAAC,YAAY,CAAC,IAAI,EAAE,YAAY,CAAC,KAAK,CAAC;QACvD,CAAC,CAAC,IAAI,CAAC;IACT,MAAM,MAAM,GAAG,YAAY,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,CAAC;IAG/C,SAAS,CAAC,GAAG,EAAE;QAEb,IAAI,WAAW,CAAC,OAAO,KAAK,SAAS,IAAI,IAAI,KAAK,WAAW,CAAC,OAAO,IAAI,MAAM,KAAK,aAAa,CAAC,OAAO,EAAE,CAAC;YAC1G,WAAW,CAAC,OAAO,GAAG,IAAI,CAAC;YAC3B,aAAa,CAAC,OAAO,GAAG,MAAM,CAAC;YAC/B,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAClC,CAAC;IACH,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAGtC,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -1,15 +1,5 @@
|
|
|
1
1
|
import { jsxs as _jsxs, jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
-
/**
|
|
3
|
-
* SaveIndicator Component
|
|
4
|
-
*
|
|
5
|
-
* Displays the current save status.
|
|
6
|
-
* Supports both direct props (legacy) and getter functions (preferred for performance).
|
|
7
|
-
* Using getter functions avoids recreating parent components on status changes.
|
|
8
|
-
*/
|
|
9
2
|
import { useState, useEffect, useCallback } from 'react';
|
|
10
|
-
/**
|
|
11
|
-
* Formats a date as a relative time string (e.g., "2 minutes ago").
|
|
12
|
-
*/
|
|
13
3
|
function formatRelativeTime(date) {
|
|
14
4
|
const now = new Date();
|
|
15
5
|
const diffMs = now.getTime() - date.getTime();
|
|
@@ -30,39 +20,11 @@ function formatRelativeTime(date) {
|
|
|
30
20
|
}
|
|
31
21
|
return date.toLocaleString();
|
|
32
22
|
}
|
|
33
|
-
/**
|
|
34
|
-
* Component that displays the current save status.
|
|
35
|
-
* Supports both getter functions (preferred) and direct props (legacy).
|
|
36
|
-
* When using getters, the component polls for updates allowing parent components to remain stable.
|
|
37
|
-
*
|
|
38
|
-
* @example
|
|
39
|
-
* ```tsx
|
|
40
|
-
* // Preferred: using getters (avoids parent re-renders)
|
|
41
|
-
* <SaveIndicator
|
|
42
|
-
* getStatus={() => saveStatusRef.current}
|
|
43
|
-
* getLastSaved={() => lastSavedRef.current}
|
|
44
|
-
* getError={() => saveErrorRef.current}
|
|
45
|
-
* onRetry={saveNow}
|
|
46
|
-
* />
|
|
47
|
-
*
|
|
48
|
-
* // Legacy: using direct props
|
|
49
|
-
* <SaveIndicator
|
|
50
|
-
* status={saveStatus}
|
|
51
|
-
* lastSaved={lastSavedDate}
|
|
52
|
-
* error={saveError}
|
|
53
|
-
* onRetry={saveNow}
|
|
54
|
-
* />
|
|
55
|
-
* ```
|
|
56
|
-
*/
|
|
57
23
|
export function SaveIndicator({ getStatus, getLastSaved, getError, status: directStatus, lastSaved: directLastSaved, error: directError, onRetry, className = '', }) {
|
|
58
|
-
// Determine if using getter API or direct props API
|
|
59
24
|
const usingGetters = typeof getStatus === 'function';
|
|
60
|
-
// Internal state that triggers re-renders when values change
|
|
61
25
|
const [status, setStatus] = useState(usingGetters && getStatus ? getStatus() : (directStatus ?? 'idle'));
|
|
62
26
|
const [lastSaved, setLastSaved] = useState(usingGetters ? getLastSaved?.() ?? null : (directLastSaved ?? null));
|
|
63
27
|
const [error, setError] = useState(usingGetters ? getError?.() ?? null : (directError ?? null));
|
|
64
|
-
// Poll getters to update internal state (only when using getter API)
|
|
65
|
-
// This allows the component to re-render even though parent props are stable
|
|
66
28
|
const updateFromGetters = useCallback(() => {
|
|
67
29
|
if (!usingGetters)
|
|
68
30
|
return;
|
|
@@ -79,20 +41,17 @@ export function SaveIndicator({ getStatus, getLastSaved, getError, status: direc
|
|
|
79
41
|
setError(newError);
|
|
80
42
|
}
|
|
81
43
|
}, [usingGetters, getStatus, getLastSaved, getError, status, lastSaved, error]);
|
|
82
|
-
// Poll frequently to catch status changes quickly (getter API only)
|
|
83
44
|
useEffect(() => {
|
|
84
45
|
if (!usingGetters)
|
|
85
46
|
return;
|
|
86
47
|
const interval = setInterval(updateFromGetters, 100);
|
|
87
48
|
return () => clearInterval(interval);
|
|
88
49
|
}, [usingGetters, updateFromGetters]);
|
|
89
|
-
// Also update immediately on mount and when getters change
|
|
90
50
|
useEffect(() => {
|
|
91
51
|
if (usingGetters) {
|
|
92
52
|
updateFromGetters();
|
|
93
53
|
}
|
|
94
54
|
}, [usingGetters, updateFromGetters]);
|
|
95
|
-
// For direct props API, sync state when props change
|
|
96
55
|
useEffect(() => {
|
|
97
56
|
if (!usingGetters && directStatus !== undefined) {
|
|
98
57
|
setStatus(directStatus);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SaveIndicator.js","sourceRoot":"","sources":["../../../src/editor/components/SaveIndicator.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"SaveIndicator.js","sourceRoot":"","sources":["../../../src/editor/components/SaveIndicator.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
/**
|
|
3
|
-
* Toast Component
|
|
4
|
-
*
|
|
5
|
-
* Displays a single notification toast.
|
|
6
|
-
*/
|
|
7
2
|
import { useEffect, useState } from 'react';
|
|
8
|
-
/**
|
|
9
|
-
* Get the icon for a notification severity.
|
|
10
|
-
*/
|
|
11
3
|
function getSeverityIcon(severity) {
|
|
12
4
|
switch (severity) {
|
|
13
5
|
case 'success':
|
|
@@ -21,9 +13,6 @@ function getSeverityIcon(severity) {
|
|
|
21
13
|
return 'ℹ';
|
|
22
14
|
}
|
|
23
15
|
}
|
|
24
|
-
/**
|
|
25
|
-
* Get the accessible label for a severity.
|
|
26
|
-
*/
|
|
27
16
|
function getSeverityLabel(severity) {
|
|
28
17
|
switch (severity) {
|
|
29
18
|
case 'success':
|
|
@@ -37,46 +26,26 @@ function getSeverityLabel(severity) {
|
|
|
37
26
|
return 'Information';
|
|
38
27
|
}
|
|
39
28
|
}
|
|
40
|
-
/**
|
|
41
|
-
* Toast component that displays a single notification.
|
|
42
|
-
*
|
|
43
|
-
* @example
|
|
44
|
-
* ```tsx
|
|
45
|
-
* <Toast
|
|
46
|
-
* notification={{
|
|
47
|
-
* id: '1',
|
|
48
|
-
* message: 'Changes saved successfully',
|
|
49
|
-
* severity: 'success',
|
|
50
|
-
* createdAt: new Date(),
|
|
51
|
-
* }}
|
|
52
|
-
* onDismiss={(id) => removeNotification(id)}
|
|
53
|
-
* />
|
|
54
|
-
* ```
|
|
55
|
-
*/
|
|
56
29
|
export function Toast({ notification, onDismiss, className = '', }) {
|
|
57
30
|
const [isExiting, setIsExiting] = useState(false);
|
|
58
31
|
const baseClass = 'css-puck-toast';
|
|
59
|
-
// Handle dismiss with exit animation
|
|
60
32
|
const handleDismiss = () => {
|
|
61
33
|
setIsExiting(true);
|
|
62
|
-
// Allow animation to complete before removing
|
|
63
34
|
setTimeout(() => {
|
|
64
35
|
onDismiss(notification.id);
|
|
65
36
|
}, 200);
|
|
66
37
|
};
|
|
67
|
-
// Handle action click
|
|
68
38
|
const handleActionClick = (onClick) => {
|
|
69
39
|
onClick();
|
|
70
40
|
handleDismiss();
|
|
71
41
|
};
|
|
72
|
-
// Auto-dismiss progress indicator
|
|
73
42
|
const [progress, setProgress] = useState(100);
|
|
74
43
|
const autoDismissMs = notification.autoDismissMs ?? 0;
|
|
75
44
|
useEffect(() => {
|
|
76
45
|
if (autoDismissMs <= 0)
|
|
77
46
|
return;
|
|
78
47
|
const startTime = Date.now();
|
|
79
|
-
const updateInterval = 50;
|
|
48
|
+
const updateInterval = 50;
|
|
80
49
|
const timer = setInterval(() => {
|
|
81
50
|
const elapsed = Date.now() - startTime;
|
|
82
51
|
const remaining = Math.max(0, 100 - (elapsed / autoDismissMs) * 100);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Toast.js","sourceRoot":"","sources":["../../../src/editor/components/Toast.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"Toast.js","sourceRoot":"","sources":["../../../src/editor/components/Toast.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { DocumentVersion } from '@pantheon-systems/css-client';
|
|
3
|
+
import { type PageNotFoundProps } from '../../pds/components/PageNotFound.js';
|
|
3
4
|
export interface VersionBannerOverrideProps {
|
|
4
5
|
children: React.ReactNode;
|
|
5
6
|
versions: DocumentVersion[];
|
|
@@ -9,6 +10,11 @@ export interface VersionBannerOverrideProps {
|
|
|
9
10
|
canRevert?: boolean;
|
|
10
11
|
/** The currently filtered version list (from the panel filter). Steppers navigate within this list. */
|
|
11
12
|
filteredVersions?: DocumentVersion[];
|
|
13
|
+
/**
|
|
14
|
+
* Set when the open path has no page. Takes over the canvas — the chrome
|
|
15
|
+
* around it stays, so the user can pick another page or create this one.
|
|
16
|
+
*/
|
|
17
|
+
pageNotFound?: PageNotFoundProps | null;
|
|
12
18
|
}
|
|
13
|
-
export declare function VersionBannerOverride({ children, versions, selectedVersionId, onVersionSelect, onRestoreVersion, canRevert, filteredVersions, }: VersionBannerOverrideProps): React.ReactElement;
|
|
19
|
+
export declare function VersionBannerOverride({ children, versions, selectedVersionId, onVersionSelect, onRestoreVersion, canRevert, filteredVersions, pageNotFound, }: VersionBannerOverrideProps): React.ReactElement;
|
|
14
20
|
//# sourceMappingURL=VersionBannerOverride.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VersionBannerOverride.d.ts","sourceRoot":"","sources":["../../../src/editor/components/VersionBannerOverride.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyD,MAAM,OAAO,CAAC;AAG9E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"VersionBannerOverride.d.ts","sourceRoot":"","sources":["../../../src/editor/components/VersionBannerOverride.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyD,MAAM,OAAO,CAAC;AAG9E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAGpE,OAAO,EAAgB,KAAK,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAoC5F,MAAM,WAAW,0BAA0B;IACzC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,IAAI,CAAC;IACrD,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/D,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,uGAAuG;IACvG,gBAAgB,CAAC,EAAE,eAAe,EAAE,CAAC;IACrC;;;OAGG;IACH,YAAY,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC;CACzC;AAED,wBAAgB,qBAAqB,CAAC,EACpC,QAAQ,EACR,QAAQ,EACR,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,SAAiB,EACjB,gBAAgB,EAChB,YAAY,GACb,EAAE,0BAA0B,GAAG,KAAK,CAAC,YAAY,CA+FjD"}
|