@pantheon-systems/puck-css 0.4.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/dist/agent/agentPlugin.d.ts +3 -0
- package/dist/agent/agentPlugin.d.ts.map +1 -0
- package/dist/agent/agentPlugin.js +6 -0
- package/dist/agent/agentPlugin.js.map +1 -0
- package/dist/agent/components/AgentActionButton.d.ts +38 -0
- package/dist/agent/components/AgentActionButton.d.ts.map +1 -0
- package/dist/agent/components/AgentActionButton.js +76 -0
- package/dist/agent/components/AgentActionButton.js.map +1 -0
- package/dist/agent/components/AgentActionModal.d.ts +28 -0
- package/dist/agent/components/AgentActionModal.d.ts.map +1 -0
- package/dist/agent/components/AgentActionModal.js +85 -0
- package/dist/agent/components/AgentActionModal.js.map +1 -0
- package/dist/agent/components/AgentStatusPanel.d.ts +27 -0
- package/dist/agent/components/AgentStatusPanel.d.ts.map +1 -0
- package/dist/agent/components/AgentStatusPanel.js +51 -0
- package/dist/agent/components/AgentStatusPanel.js.map +1 -0
- package/dist/agent/components/index.d.ts +12 -0
- package/dist/agent/components/index.d.ts.map +1 -0
- package/dist/agent/components/index.js +9 -0
- package/dist/agent/components/index.js.map +1 -0
- package/dist/agent/index.d.ts +6 -0
- package/dist/agent/index.d.ts.map +1 -0
- package/dist/agent/index.js +4 -0
- package/dist/agent/index.js.map +1 -0
- package/dist/agent/useAgentEdit.d.ts +68 -0
- package/dist/agent/useAgentEdit.d.ts.map +1 -0
- package/dist/agent/useAgentEdit.js +125 -0
- package/dist/agent/useAgentEdit.js.map +1 -0
- package/dist/agent/useAgentTrigger.d.ts +69 -0
- package/dist/agent/useAgentTrigger.d.ts.map +1 -0
- package/dist/agent/useAgentTrigger.js +131 -0
- package/dist/agent/useAgentTrigger.js.map +1 -0
- package/dist/auth/AuthGate.d.ts +5 -0
- package/dist/auth/AuthGate.d.ts.map +1 -0
- package/dist/auth/AuthGate.js +17 -0
- package/dist/auth/AuthGate.js.map +1 -0
- package/dist/auth/P1AuthProvider.d.ts +59 -0
- package/dist/auth/P1AuthProvider.d.ts.map +1 -0
- package/dist/auth/P1AuthProvider.js +254 -0
- package/dist/auth/P1AuthProvider.js.map +1 -0
- package/dist/auth/P1LoginPage.d.ts +26 -0
- package/dist/auth/P1LoginPage.d.ts.map +1 -0
- package/dist/auth/P1LoginPage.js +105 -0
- package/dist/auth/P1LoginPage.js.map +1 -0
- package/dist/auth/index.d.ts +14 -0
- package/dist/auth/index.d.ts.map +1 -0
- package/dist/auth/index.js +12 -0
- package/dist/auth/index.js.map +1 -0
- package/dist/collaboration/collaborationPlugin.d.ts +3 -0
- package/dist/collaboration/collaborationPlugin.d.ts.map +1 -0
- package/dist/collaboration/collaborationPlugin.js +6 -0
- package/dist/collaboration/collaborationPlugin.js.map +1 -0
- package/dist/collaboration/components/AgentActivityBanner.d.ts +26 -0
- package/dist/collaboration/components/AgentActivityBanner.d.ts.map +1 -0
- package/dist/collaboration/components/AgentActivityBanner.js +50 -0
- package/dist/collaboration/components/AgentActivityBanner.js.map +1 -0
- package/dist/collaboration/components/CollaboratorAvatars.d.ts +25 -0
- package/dist/collaboration/components/CollaboratorAvatars.d.ts.map +1 -0
- package/dist/collaboration/components/CollaboratorAvatars.js +75 -0
- package/dist/collaboration/components/CollaboratorAvatars.js.map +1 -0
- package/dist/collaboration/components/FocusRegionHighlight.d.ts +20 -0
- package/dist/collaboration/components/FocusRegionHighlight.d.ts.map +1 -0
- package/dist/collaboration/components/FocusRegionHighlight.js +35 -0
- package/dist/collaboration/components/FocusRegionHighlight.js.map +1 -0
- package/dist/collaboration/components/PresenceIndicator.d.ts +23 -0
- package/dist/collaboration/components/PresenceIndicator.d.ts.map +1 -0
- package/dist/collaboration/components/PresenceIndicator.js +25 -0
- package/dist/collaboration/components/PresenceIndicator.js.map +1 -0
- package/dist/collaboration/index.d.ts +21 -0
- package/dist/collaboration/index.d.ts.map +1 -0
- package/dist/collaboration/index.js +12 -0
- package/dist/collaboration/index.js.map +1 -0
- package/dist/collaboration/useBranchPresence.d.ts +54 -0
- package/dist/collaboration/useBranchPresence.d.ts.map +1 -0
- package/dist/collaboration/useBranchPresence.js +94 -0
- package/dist/collaboration/useBranchPresence.js.map +1 -0
- package/dist/collaboration/useFocusRegionReporting.d.ts +69 -0
- package/dist/collaboration/useFocusRegionReporting.d.ts.map +1 -0
- package/dist/collaboration/useFocusRegionReporting.js +199 -0
- package/dist/collaboration/useFocusRegionReporting.js.map +1 -0
- package/dist/collaboration/usePresence.d.ts +62 -0
- package/dist/collaboration/usePresence.d.ts.map +1 -0
- package/dist/collaboration/usePresence.js +105 -0
- package/dist/collaboration/usePresence.js.map +1 -0
- package/dist/collaboration/useSitePresence.d.ts +54 -0
- package/dist/collaboration/useSitePresence.d.ts.map +1 -0
- package/dist/collaboration/useSitePresence.js +94 -0
- package/dist/collaboration/useSitePresence.js.map +1 -0
- package/dist/collaboration/utils/avatarColor.d.ts +11 -0
- package/dist/collaboration/utils/avatarColor.d.ts.map +1 -0
- package/dist/collaboration/utils/avatarColor.js +42 -0
- package/dist/collaboration/utils/avatarColor.js.map +1 -0
- package/dist/collaboration/utils/focusHighlightConfig.d.ts +54 -0
- package/dist/collaboration/utils/focusHighlightConfig.d.ts.map +1 -0
- package/dist/collaboration/utils/focusHighlightConfig.js +98 -0
- package/dist/collaboration/utils/focusHighlightConfig.js.map +1 -0
- package/dist/collaboration/utils/focusRegionMap.d.ts +82 -0
- package/dist/collaboration/utils/focusRegionMap.d.ts.map +1 -0
- package/dist/collaboration/utils/focusRegionMap.js +188 -0
- package/dist/collaboration/utils/focusRegionMap.js.map +1 -0
- package/dist/core/FocusHighlightContext.d.ts +54 -0
- package/dist/core/FocusHighlightContext.d.ts.map +1 -0
- package/dist/core/FocusHighlightContext.js +46 -0
- package/dist/core/FocusHighlightContext.js.map +1 -0
- package/dist/core/NotificationContext.d.ts +63 -0
- package/dist/core/NotificationContext.d.ts.map +1 -0
- package/dist/core/NotificationContext.js +194 -0
- package/dist/core/NotificationContext.js.map +1 -0
- package/dist/core/P1PuckContext.d.ts +36 -0
- package/dist/core/P1PuckContext.d.ts.map +1 -0
- package/dist/core/P1PuckContext.js +44 -0
- package/dist/core/P1PuckContext.js.map +1 -0
- package/dist/core/PresenceContext.d.ts +70 -0
- package/dist/core/PresenceContext.d.ts.map +1 -0
- package/dist/core/PresenceContext.js +31 -0
- package/dist/core/PresenceContext.js.map +1 -0
- package/dist/core/config.d.ts +26 -0
- package/dist/core/config.d.ts.map +1 -0
- package/dist/core/config.js +78 -0
- package/dist/core/config.js.map +1 -0
- package/dist/core/featureConfig.d.ts +56 -0
- package/dist/core/featureConfig.d.ts.map +1 -0
- package/dist/core/featureConfig.js +77 -0
- package/dist/core/featureConfig.js.map +1 -0
- package/dist/core/index.d.ts +17 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +11 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/plugin-types.d.ts +30 -0
- package/dist/core/plugin-types.d.ts.map +1 -0
- package/dist/core/plugin-types.js +2 -0
- package/dist/core/plugin-types.js.map +1 -0
- package/dist/core/types.d.ts +710 -0
- package/dist/core/types.d.ts.map +1 -0
- package/dist/core/types.js +5 -0
- package/dist/core/types.js.map +1 -0
- package/dist/core/utils/debounce.d.ts +27 -0
- package/dist/core/utils/debounce.d.ts.map +1 -0
- package/dist/core/utils/debounce.js +77 -0
- package/dist/core/utils/debounce.js.map +1 -0
- package/dist/core/utils/retry.d.ts +57 -0
- package/dist/core/utils/retry.d.ts.map +1 -0
- package/dist/core/utils/retry.js +70 -0
- package/dist/core/utils/retry.js.map +1 -0
- package/dist/core/utils/throttle.d.ts +29 -0
- package/dist/core/utils/throttle.d.ts.map +1 -0
- package/dist/core/utils/throttle.js +66 -0
- package/dist/core/utils/throttle.js.map +1 -0
- package/dist/data/cross-reference-resolve.d.ts +6 -0
- package/dist/data/cross-reference-resolve.d.ts.map +1 -0
- package/dist/data/cross-reference-resolve.js +58 -0
- package/dist/data/cross-reference-resolve.js.map +1 -0
- package/dist/data/cross-reference.d.ts +32 -0
- package/dist/data/cross-reference.d.ts.map +1 -0
- package/dist/data/cross-reference.js +188 -0
- package/dist/data/cross-reference.js.map +1 -0
- package/dist/data/dal/index.d.ts +32 -0
- package/dist/data/dal/index.d.ts.map +1 -0
- package/dist/data/dal/index.js +72 -0
- package/dist/data/dal/index.js.map +1 -0
- package/dist/data/dal/init.d.ts +28 -0
- package/dist/data/dal/init.d.ts.map +1 -0
- package/dist/data/dal/init.js +76 -0
- package/dist/data/dal/init.js.map +1 -0
- package/dist/data/dal/p1-store.d.ts +52 -0
- package/dist/data/dal/p1-store.d.ts.map +1 -0
- package/dist/data/dal/p1-store.js +121 -0
- package/dist/data/dal/p1-store.js.map +1 -0
- package/dist/data/dal/request-auth.d.ts +3 -0
- package/dist/data/dal/request-auth.d.ts.map +1 -0
- package/dist/data/dal/request-auth.js +9 -0
- package/dist/data/dal/request-auth.js.map +1 -0
- package/dist/data/dal/types.d.ts +31 -0
- package/dist/data/dal/types.d.ts.map +1 -0
- package/dist/data/dal/types.js +2 -0
- package/dist/data/dal/types.js.map +1 -0
- package/dist/data/get-page.d.ts +5 -0
- package/dist/data/get-page.d.ts.map +1 -0
- package/dist/data/get-page.js +5 -0
- package/dist/data/get-page.js.map +1 -0
- package/dist/data/page-editor-meta.d.ts +16 -0
- package/dist/data/page-editor-meta.d.ts.map +1 -0
- package/dist/data/page-editor-meta.js +99 -0
- package/dist/data/page-editor-meta.js.map +1 -0
- package/dist/data/page-store.d.ts +65 -0
- package/dist/data/page-store.d.ts.map +1 -0
- package/dist/data/page-store.js +302 -0
- package/dist/data/page-store.js.map +1 -0
- package/dist/data/page-structure.d.ts +13 -0
- package/dist/data/page-structure.d.ts.map +1 -0
- package/dist/data/page-structure.js +95 -0
- package/dist/data/page-structure.js.map +1 -0
- package/dist/data/paths.d.ts +16 -0
- package/dist/data/paths.d.ts.map +1 -0
- package/dist/data/paths.js +36 -0
- package/dist/data/paths.js.map +1 -0
- package/dist/data/query-provider.d.ts +5 -0
- package/dist/data/query-provider.d.ts.map +1 -0
- package/dist/data/query-provider.js +16 -0
- package/dist/data/query-provider.js.map +1 -0
- package/dist/data/remote-datasources/fetch-http-json.d.ts +8 -0
- package/dist/data/remote-datasources/fetch-http-json.d.ts.map +1 -0
- package/dist/data/remote-datasources/fetch-http-json.js +89 -0
- package/dist/data/remote-datasources/fetch-http-json.js.map +1 -0
- package/dist/data/remote-datasources/index.d.ts +5 -0
- package/dist/data/remote-datasources/index.d.ts.map +1 -0
- package/dist/data/remote-datasources/index.js +3 -0
- package/dist/data/remote-datasources/index.js.map +1 -0
- package/dist/data/remote-datasources/loader.d.ts +44 -0
- package/dist/data/remote-datasources/loader.d.ts.map +1 -0
- package/dist/data/remote-datasources/loader.js +126 -0
- package/dist/data/remote-datasources/loader.js.map +1 -0
- package/dist/data/remote-datasources/remote-datasource-registry.d.ts +21 -0
- package/dist/data/remote-datasources/remote-datasource-registry.d.ts.map +1 -0
- package/dist/data/remote-datasources/remote-datasource-registry.js +15 -0
- package/dist/data/remote-datasources/remote-datasource-registry.js.map +1 -0
- package/dist/data/remote-datasources/user-remote-datasource-store.d.ts +14 -0
- package/dist/data/remote-datasources/user-remote-datasource-store.d.ts.map +1 -0
- package/dist/data/remote-datasources/user-remote-datasource-store.js +125 -0
- package/dist/data/remote-datasources/user-remote-datasource-store.js.map +1 -0
- package/dist/data/remote-datasources/user-remote-datasource-types.d.ts +15 -0
- package/dist/data/remote-datasources/user-remote-datasource-types.d.ts.map +1 -0
- package/dist/data/remote-datasources/user-remote-datasource-types.js +2 -0
- package/dist/data/remote-datasources/user-remote-datasource-types.js.map +1 -0
- package/dist/data/resolve-data-templates.d.ts +12 -0
- package/dist/data/resolve-data-templates.d.ts.map +1 -0
- package/dist/data/resolve-data-templates.js +286 -0
- package/dist/data/resolve-data-templates.js.map +1 -0
- package/dist/data/route-templates.d.ts +43 -0
- package/dist/data/route-templates.d.ts.map +1 -0
- package/dist/data/route-templates.js +146 -0
- package/dist/data/route-templates.js.map +1 -0
- package/dist/data/semantic-ops.d.ts +47 -0
- package/dist/data/semantic-ops.d.ts.map +1 -0
- package/dist/data/semantic-ops.js +335 -0
- package/dist/data/semantic-ops.js.map +1 -0
- package/dist/data/styles.d.ts +87 -0
- package/dist/data/styles.d.ts.map +1 -0
- package/dist/data/styles.js +87 -0
- package/dist/data/styles.js.map +1 -0
- package/dist/data/template-autocomplete.d.ts +22 -0
- package/dist/data/template-autocomplete.d.ts.map +1 -0
- package/dist/data/template-autocomplete.js +71 -0
- package/dist/data/template-autocomplete.js.map +1 -0
- package/dist/data/template-functions.d.ts +5 -0
- package/dist/data/template-functions.d.ts.map +1 -0
- package/dist/data/template-functions.js +90 -0
- package/dist/data/template-functions.js.map +1 -0
- package/dist/data/utils.d.ts +3 -0
- package/dist/data/utils.d.ts.map +1 -0
- package/dist/data/utils.js +11 -0
- package/dist/data/utils.js.map +1 -0
- package/dist/editor/P1App.d.ts +14 -0
- package/dist/editor/P1App.d.ts.map +1 -0
- package/dist/editor/P1App.js +138 -0
- package/dist/editor/P1App.js.map +1 -0
- package/dist/editor/P1PuckProvider.d.ts +69 -0
- package/dist/editor/P1PuckProvider.d.ts.map +1 -0
- package/dist/editor/P1PuckProvider.js +1473 -0
- package/dist/editor/P1PuckProvider.js.map +1 -0
- package/dist/editor/components/BranchSelector.d.ts +49 -0
- package/dist/editor/components/BranchSelector.d.ts.map +1 -0
- package/dist/editor/components/BranchSelector.js +55 -0
- package/dist/editor/components/BranchSelector.js.map +1 -0
- package/dist/editor/components/NotificationContainer.d.ts +41 -0
- package/dist/editor/components/NotificationContainer.d.ts.map +1 -0
- package/dist/editor/components/NotificationContainer.js +32 -0
- package/dist/editor/components/NotificationContainer.js.map +1 -0
- package/dist/editor/components/PublishButton.d.ts +52 -0
- package/dist/editor/components/PublishButton.d.ts.map +1 -0
- package/dist/editor/components/PublishButton.js +58 -0
- package/dist/editor/components/PublishButton.js.map +1 -0
- package/dist/editor/components/PublishedStatusBadge.d.ts +6 -0
- package/dist/editor/components/PublishedStatusBadge.d.ts.map +1 -0
- package/dist/editor/components/PublishedStatusBadge.js +25 -0
- package/dist/editor/components/PublishedStatusBadge.js.map +1 -0
- package/dist/editor/components/PuckDataCapture.d.ts +22 -0
- package/dist/editor/components/PuckDataCapture.d.ts.map +1 -0
- package/dist/editor/components/PuckDataCapture.js +30 -0
- package/dist/editor/components/PuckDataCapture.js.map +1 -0
- package/dist/editor/components/PuckDataSynchronizer.d.ts +49 -0
- package/dist/editor/components/PuckDataSynchronizer.d.ts.map +1 -0
- package/dist/editor/components/PuckDataSynchronizer.js +126 -0
- package/dist/editor/components/PuckDataSynchronizer.js.map +1 -0
- package/dist/editor/components/PuckSelectionTracker.d.ts +47 -0
- package/dist/editor/components/PuckSelectionTracker.d.ts.map +1 -0
- package/dist/editor/components/PuckSelectionTracker.js +93 -0
- package/dist/editor/components/PuckSelectionTracker.js.map +1 -0
- package/dist/editor/components/SaveIndicator.d.ts +77 -0
- package/dist/editor/components/SaveIndicator.d.ts.map +1 -0
- package/dist/editor/components/SaveIndicator.js +114 -0
- package/dist/editor/components/SaveIndicator.js.map +1 -0
- package/dist/editor/components/Toast.d.ts +40 -0
- package/dist/editor/components/Toast.d.ts.map +1 -0
- package/dist/editor/components/Toast.js +92 -0
- package/dist/editor/components/Toast.js.map +1 -0
- package/dist/editor/components/VersionBannerOverride.d.ts +10 -0
- package/dist/editor/components/VersionBannerOverride.d.ts.map +1 -0
- package/dist/editor/components/VersionBannerOverride.js +22 -0
- package/dist/editor/components/VersionBannerOverride.js.map +1 -0
- package/dist/editor/components/connectable.d.ts +22 -0
- package/dist/editor/components/connectable.d.ts.map +1 -0
- package/dist/editor/components/connectable.js +84 -0
- package/dist/editor/components/connectable.js.map +1 -0
- package/dist/editor/components/merge-preview/MergePreviewPanel.d.ts +13 -0
- package/dist/editor/components/merge-preview/MergePreviewPanel.d.ts.map +1 -0
- package/dist/editor/components/merge-preview/MergePreviewPanel.js +32 -0
- package/dist/editor/components/merge-preview/MergePreviewPanel.js.map +1 -0
- package/dist/editor/components/merge-preview/MergePreviewRenderer.d.ts +58 -0
- package/dist/editor/components/merge-preview/MergePreviewRenderer.d.ts.map +1 -0
- package/dist/editor/components/merge-preview/MergePreviewRenderer.js +150 -0
- package/dist/editor/components/merge-preview/MergePreviewRenderer.js.map +1 -0
- package/dist/editor/components/merge-preview/ScaledContent.d.ts +11 -0
- package/dist/editor/components/merge-preview/ScaledContent.d.ts.map +1 -0
- package/dist/editor/components/merge-preview/ScaledContent.js +31 -0
- package/dist/editor/components/merge-preview/ScaledContent.js.map +1 -0
- package/dist/editor/components/merge-preview/ViewModeSelector.d.ts +8 -0
- package/dist/editor/components/merge-preview/ViewModeSelector.d.ts.map +1 -0
- package/dist/editor/components/merge-preview/ViewModeSelector.js +11 -0
- package/dist/editor/components/merge-preview/ViewModeSelector.js.map +1 -0
- package/dist/editor/components/merge-preview/index.d.ts +12 -0
- package/dist/editor/components/merge-preview/index.d.ts.map +1 -0
- package/dist/editor/components/merge-preview/index.js +9 -0
- package/dist/editor/components/merge-preview/index.js.map +1 -0
- package/dist/editor/composePlugins.d.ts +10 -0
- package/dist/editor/composePlugins.d.ts.map +1 -0
- package/dist/editor/composePlugins.js +47 -0
- package/dist/editor/composePlugins.js.map +1 -0
- package/dist/editor/defaultPlugins.d.ts +3 -0
- package/dist/editor/defaultPlugins.d.ts.map +1 -0
- package/dist/editor/defaultPlugins.js +7 -0
- package/dist/editor/defaultPlugins.js.map +1 -0
- package/dist/editor/icons/GenericThumbnailIcon.d.ts +3 -0
- package/dist/editor/icons/GenericThumbnailIcon.d.ts.map +1 -0
- package/dist/editor/icons/GenericThumbnailIcon.js +5 -0
- package/dist/editor/icons/GenericThumbnailIcon.js.map +1 -0
- package/dist/editor/icons/GripHandleIcon.d.ts +3 -0
- package/dist/editor/icons/GripHandleIcon.d.ts.map +1 -0
- package/dist/editor/icons/GripHandleIcon.js +5 -0
- package/dist/editor/icons/GripHandleIcon.js.map +1 -0
- package/dist/editor/icons/MergePreviewIcon.d.ts +3 -0
- package/dist/editor/icons/MergePreviewIcon.d.ts.map +1 -0
- package/dist/editor/icons/MergePreviewIcon.js +5 -0
- package/dist/editor/icons/MergePreviewIcon.js.map +1 -0
- package/dist/editor/icons/WarningTriangleIcon.d.ts +3 -0
- package/dist/editor/icons/WarningTriangleIcon.d.ts.map +1 -0
- package/dist/editor/icons/WarningTriangleIcon.js +5 -0
- package/dist/editor/icons/WarningTriangleIcon.js.map +1 -0
- package/dist/editor/icons/index.d.ts +5 -0
- package/dist/editor/icons/index.d.ts.map +1 -0
- package/dist/editor/icons/index.js +5 -0
- package/dist/editor/icons/index.js.map +1 -0
- package/dist/editor/index.d.ts +43 -0
- package/dist/editor/index.d.ts.map +1 -0
- package/dist/editor/index.js +30 -0
- package/dist/editor/index.js.map +1 -0
- package/dist/editor/plugin/P1Plugin.d.ts +161 -0
- package/dist/editor/plugin/P1Plugin.d.ts.map +1 -0
- package/dist/editor/plugin/P1Plugin.js +358 -0
- package/dist/editor/plugin/P1Plugin.js.map +1 -0
- package/dist/editor/plugin/createP1Overrides.d.ts +161 -0
- package/dist/editor/plugin/createP1Overrides.d.ts.map +1 -0
- package/dist/editor/plugin/createP1Overrides.js +103 -0
- package/dist/editor/plugin/createP1Overrides.js.map +1 -0
- package/dist/editor/plugin/index.d.ts +13 -0
- package/dist/editor/plugin/index.d.ts.map +1 -0
- package/dist/editor/plugin/index.js +10 -0
- package/dist/editor/plugin/index.js.map +1 -0
- package/dist/editor/plugin/mergePreviewPlugin.d.ts +9 -0
- package/dist/editor/plugin/mergePreviewPlugin.d.ts.map +1 -0
- package/dist/editor/plugin/mergePreviewPlugin.js +26 -0
- package/dist/editor/plugin/mergePreviewPlugin.js.map +1 -0
- package/dist/editor/presets.d.ts +8 -0
- package/dist/editor/presets.d.ts.map +1 -0
- package/dist/editor/presets.js +24 -0
- package/dist/editor/presets.js.map +1 -0
- package/dist/editor/useAutoSave.d.ts +37 -0
- package/dist/editor/useAutoSave.d.ts.map +1 -0
- package/dist/editor/useAutoSave.js +118 -0
- package/dist/editor/useAutoSave.js.map +1 -0
- package/dist/editor/useBranches.d.ts +67 -0
- package/dist/editor/useBranches.d.ts.map +1 -0
- package/dist/editor/useBranches.js +78 -0
- package/dist/editor/useBranches.js.map +1 -0
- package/dist/editor/useComponentRegistry.d.ts +31 -0
- package/dist/editor/useComponentRegistry.d.ts.map +1 -0
- package/dist/editor/useComponentRegistry.js +237 -0
- package/dist/editor/useComponentRegistry.js.map +1 -0
- package/dist/editor/useDocuments.d.ts +66 -0
- package/dist/editor/useDocuments.d.ts.map +1 -0
- package/dist/editor/useDocuments.js +112 -0
- package/dist/editor/useDocuments.js.map +1 -0
- package/dist/editor/useMergePreview.d.ts +15 -0
- package/dist/editor/useMergePreview.d.ts.map +1 -0
- package/dist/editor/useMergePreview.js +56 -0
- package/dist/editor/useMergePreview.js.map +1 -0
- package/dist/editor/useP1Editor.d.ts +125 -0
- package/dist/editor/useP1Editor.d.ts.map +1 -0
- package/dist/editor/useP1Editor.js +339 -0
- package/dist/editor/useP1Editor.js.map +1 -0
- package/dist/editor/useP1Overrides.d.ts +52 -0
- package/dist/editor/useP1Overrides.d.ts.map +1 -0
- package/dist/editor/useP1Overrides.js +74 -0
- package/dist/editor/useP1Overrides.js.map +1 -0
- package/dist/editor/useP1Plugin.d.ts +95 -0
- package/dist/editor/useP1Plugin.d.ts.map +1 -0
- package/dist/editor/useP1Plugin.js +112 -0
- package/dist/editor/useP1Plugin.js.map +1 -0
- package/dist/editor/useRealtime.d.ts +148 -0
- package/dist/editor/useRealtime.d.ts.map +1 -0
- package/dist/editor/useRealtime.js +244 -0
- package/dist/editor/useRealtime.js.map +1 -0
- package/dist/editor/utils/buildThumbnailOverride.d.ts +28 -0
- package/dist/editor/utils/buildThumbnailOverride.d.ts.map +1 -0
- package/dist/editor/utils/buildThumbnailOverride.js +39 -0
- package/dist/editor/utils/buildThumbnailOverride.js.map +1 -0
- package/dist/editor/utils/componentRegistry.d.ts +141 -0
- package/dist/editor/utils/componentRegistry.d.ts.map +1 -0
- package/dist/editor/utils/componentRegistry.js +238 -0
- package/dist/editor/utils/componentRegistry.js.map +1 -0
- package/dist/editor/utils/createStablePluginArray.d.ts +27 -0
- package/dist/editor/utils/createStablePluginArray.d.ts.map +1 -0
- package/dist/editor/utils/createStablePluginArray.js +40 -0
- package/dist/editor/utils/createStablePluginArray.js.map +1 -0
- package/dist/editor/utils/path.d.ts +2 -0
- package/dist/editor/utils/path.d.ts.map +1 -0
- package/dist/editor/utils/path.js +20 -0
- package/dist/editor/utils/path.js.map +1 -0
- package/dist/editor/utils/puckYjsBinding.d.ts +66 -0
- package/dist/editor/utils/puckYjsBinding.d.ts.map +1 -0
- package/dist/editor/utils/puckYjsBinding.js +272 -0
- package/dist/editor/utils/puckYjsBinding.js.map +1 -0
- package/dist/index.d.ts +121 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +109 -0
- package/dist/index.js.map +1 -0
- package/dist/merge/components/conflict-notifications/ConflictNotificationToast.d.ts +35 -0
- package/dist/merge/components/conflict-notifications/ConflictNotificationToast.d.ts.map +1 -0
- package/dist/merge/components/conflict-notifications/ConflictNotificationToast.js +59 -0
- package/dist/merge/components/conflict-notifications/ConflictNotificationToast.js.map +1 -0
- package/dist/merge/components/conflict-notifications/index.d.ts +10 -0
- package/dist/merge/components/conflict-notifications/index.d.ts.map +1 -0
- package/dist/merge/components/conflict-notifications/index.js +8 -0
- package/dist/merge/components/conflict-notifications/index.js.map +1 -0
- package/dist/merge/components/conflict-notifications/useConflictNotifications.d.ts +69 -0
- package/dist/merge/components/conflict-notifications/useConflictNotifications.d.ts.map +1 -0
- package/dist/merge/components/conflict-notifications/useConflictNotifications.js +151 -0
- package/dist/merge/components/conflict-notifications/useConflictNotifications.js.map +1 -0
- package/dist/merge/components/conflict-resolution/ComponentConflictGroup.d.ts +55 -0
- package/dist/merge/components/conflict-resolution/ComponentConflictGroup.d.ts.map +1 -0
- package/dist/merge/components/conflict-resolution/ComponentConflictGroup.js +112 -0
- package/dist/merge/components/conflict-resolution/ComponentConflictGroup.js.map +1 -0
- package/dist/merge/components/conflict-resolution/PuckFieldResolutionPanel.d.ts +51 -0
- package/dist/merge/components/conflict-resolution/PuckFieldResolutionPanel.d.ts.map +1 -0
- package/dist/merge/components/conflict-resolution/PuckFieldResolutionPanel.js +75 -0
- package/dist/merge/components/conflict-resolution/PuckFieldResolutionPanel.js.map +1 -0
- package/dist/merge/components/conflict-resolution/RenderedResolutionPreview.d.ts +37 -0
- package/dist/merge/components/conflict-resolution/RenderedResolutionPreview.d.ts.map +1 -0
- package/dist/merge/components/conflict-resolution/RenderedResolutionPreview.js +42 -0
- package/dist/merge/components/conflict-resolution/RenderedResolutionPreview.js.map +1 -0
- package/dist/merge/components/conflict-resolution/index.d.ts +12 -0
- package/dist/merge/components/conflict-resolution/index.d.ts.map +1 -0
- package/dist/merge/components/conflict-resolution/index.js +9 -0
- package/dist/merge/components/conflict-resolution/index.js.map +1 -0
- package/dist/merge/components/merge-resolution/CherryPickVisualPanel.d.ts +44 -0
- package/dist/merge/components/merge-resolution/CherryPickVisualPanel.d.ts.map +1 -0
- package/dist/merge/components/merge-resolution/CherryPickVisualPanel.js +186 -0
- package/dist/merge/components/merge-resolution/CherryPickVisualPanel.js.map +1 -0
- package/dist/merge/components/merge-resolution/ComponentClickOverlay.d.ts +34 -0
- package/dist/merge/components/merge-resolution/ComponentClickOverlay.d.ts.map +1 -0
- package/dist/merge/components/merge-resolution/ComponentClickOverlay.js +141 -0
- package/dist/merge/components/merge-resolution/ComponentClickOverlay.js.map +1 -0
- package/dist/merge/components/merge-resolution/DocumentResolutionDetail.d.ts +26 -0
- package/dist/merge/components/merge-resolution/DocumentResolutionDetail.d.ts.map +1 -0
- package/dist/merge/components/merge-resolution/DocumentResolutionDetail.js +167 -0
- package/dist/merge/components/merge-resolution/DocumentResolutionDetail.js.map +1 -0
- package/dist/merge/components/merge-resolution/DocumentResolutionList.d.ts +21 -0
- package/dist/merge/components/merge-resolution/DocumentResolutionList.d.ts.map +1 -0
- package/dist/merge/components/merge-resolution/DocumentResolutionList.js +106 -0
- package/dist/merge/components/merge-resolution/DocumentResolutionList.js.map +1 -0
- package/dist/merge/components/merge-resolution/MergeResolutionPage.d.ts +15 -0
- package/dist/merge/components/merge-resolution/MergeResolutionPage.d.ts.map +1 -0
- package/dist/merge/components/merge-resolution/MergeResolutionPage.js +90 -0
- package/dist/merge/components/merge-resolution/MergeResolutionPage.js.map +1 -0
- package/dist/merge/components/merge-resolution/MergeResolutionToolbar.d.ts +26 -0
- package/dist/merge/components/merge-resolution/MergeResolutionToolbar.d.ts.map +1 -0
- package/dist/merge/components/merge-resolution/MergeResolutionToolbar.js +23 -0
- package/dist/merge/components/merge-resolution/MergeResolutionToolbar.js.map +1 -0
- package/dist/merge/components/merge-resolution/MergeReviewPage.d.ts +11 -0
- package/dist/merge/components/merge-resolution/MergeReviewPage.d.ts.map +1 -0
- package/dist/merge/components/merge-resolution/MergeReviewPage.js +26 -0
- package/dist/merge/components/merge-resolution/MergeReviewPage.js.map +1 -0
- package/dist/merge/components/merge-resolution/ResolutionStrategyPicker.d.ts +16 -0
- package/dist/merge/components/merge-resolution/ResolutionStrategyPicker.d.ts.map +1 -0
- package/dist/merge/components/merge-resolution/ResolutionStrategyPicker.js +15 -0
- package/dist/merge/components/merge-resolution/ResolutionStrategyPicker.js.map +1 -0
- package/dist/merge/components/merge-resolution/index.d.ts +20 -0
- package/dist/merge/components/merge-resolution/index.d.ts.map +1 -0
- package/dist/merge/components/merge-resolution/index.js +12 -0
- package/dist/merge/components/merge-resolution/index.js.map +1 -0
- package/dist/merge/index.d.ts +8 -0
- package/dist/merge/index.d.ts.map +1 -0
- package/dist/merge/index.js +6 -0
- package/dist/merge/index.js.map +1 -0
- package/dist/merge/useMergeResolution.d.ts +65 -0
- package/dist/merge/useMergeResolution.d.ts.map +1 -0
- package/dist/merge/useMergeResolution.js +444 -0
- package/dist/merge/useMergeResolution.js.map +1 -0
- package/dist/merge/utils/puckFieldClassifier.d.ts +151 -0
- package/dist/merge/utils/puckFieldClassifier.d.ts.map +1 -0
- package/dist/merge/utils/puckFieldClassifier.js +427 -0
- package/dist/merge/utils/puckFieldClassifier.js.map +1 -0
- package/dist/p1/editor/client.d.ts +17 -0
- package/dist/p1/editor/client.d.ts.map +1 -0
- package/dist/p1/editor/client.js +79 -0
- package/dist/p1/editor/client.js.map +1 -0
- package/dist/p1/editor/connect/connect-field-modal.d.ts +11 -0
- package/dist/p1/editor/connect/connect-field-modal.d.ts.map +1 -0
- package/dist/p1/editor/connect/connect-field-modal.js +127 -0
- package/dist/p1/editor/connect/connect-field-modal.js.map +1 -0
- package/dist/p1/editor/connect/connect-preview-config.d.ts +7 -0
- package/dist/p1/editor/connect/connect-preview-config.d.ts.map +1 -0
- package/dist/p1/editor/connect/connect-preview-config.js +76 -0
- package/dist/p1/editor/connect/connect-preview-config.js.map +1 -0
- package/dist/p1/editor/connect/field-connect-plugin.d.ts +10 -0
- package/dist/p1/editor/connect/field-connect-plugin.d.ts.map +1 -0
- package/dist/p1/editor/connect/field-connect-plugin.js +46 -0
- package/dist/p1/editor/connect/field-connect-plugin.js.map +1 -0
- package/dist/p1/editor/editor-preview-resolve.d.ts +11 -0
- package/dist/p1/editor/editor-preview-resolve.d.ts.map +1 -0
- package/dist/p1/editor/editor-preview-resolve.js +115 -0
- package/dist/p1/editor/editor-preview-resolve.js.map +1 -0
- package/dist/p1/editor/hooks.d.ts +42 -0
- package/dist/p1/editor/hooks.d.ts.map +1 -0
- package/dist/p1/editor/hooks.js +219 -0
- package/dist/p1/editor/hooks.js.map +1 -0
- package/dist/p1/editor/icons/button-block-icon.d.ts +2 -0
- package/dist/p1/editor/icons/button-block-icon.d.ts.map +1 -0
- package/dist/p1/editor/icons/button-block-icon.js +5 -0
- package/dist/p1/editor/icons/button-block-icon.js.map +1 -0
- package/dist/p1/editor/icons/default-block-icon.d.ts +2 -0
- package/dist/p1/editor/icons/default-block-icon.d.ts.map +1 -0
- package/dist/p1/editor/icons/default-block-icon.js +5 -0
- package/dist/p1/editor/icons/default-block-icon.js.map +1 -0
- package/dist/p1/editor/icons/divider-block-icon.d.ts +2 -0
- package/dist/p1/editor/icons/divider-block-icon.d.ts.map +1 -0
- package/dist/p1/editor/icons/divider-block-icon.js +5 -0
- package/dist/p1/editor/icons/divider-block-icon.js.map +1 -0
- package/dist/p1/editor/icons/grid-block-icon.d.ts +2 -0
- package/dist/p1/editor/icons/grid-block-icon.d.ts.map +1 -0
- package/dist/p1/editor/icons/grid-block-icon.js +5 -0
- package/dist/p1/editor/icons/grid-block-icon.js.map +1 -0
- package/dist/p1/editor/icons/heading-block-icon.d.ts +2 -0
- package/dist/p1/editor/icons/heading-block-icon.d.ts.map +1 -0
- package/dist/p1/editor/icons/heading-block-icon.js +5 -0
- package/dist/p1/editor/icons/heading-block-icon.js.map +1 -0
- package/dist/p1/editor/icons/image-block-icon.d.ts +2 -0
- package/dist/p1/editor/icons/image-block-icon.d.ts.map +1 -0
- package/dist/p1/editor/icons/image-block-icon.js +5 -0
- package/dist/p1/editor/icons/image-block-icon.js.map +1 -0
- package/dist/p1/editor/icons/list-block-icon.d.ts +2 -0
- package/dist/p1/editor/icons/list-block-icon.d.ts.map +1 -0
- package/dist/p1/editor/icons/list-block-icon.js +5 -0
- package/dist/p1/editor/icons/list-block-icon.js.map +1 -0
- package/dist/p1/editor/icons/paragraph-block-icon.d.ts +2 -0
- package/dist/p1/editor/icons/paragraph-block-icon.d.ts.map +1 -0
- package/dist/p1/editor/icons/paragraph-block-icon.js +5 -0
- package/dist/p1/editor/icons/paragraph-block-icon.js.map +1 -0
- package/dist/p1/editor/icons/quote-block-icon.d.ts +2 -0
- package/dist/p1/editor/icons/quote-block-icon.d.ts.map +1 -0
- package/dist/p1/editor/icons/quote-block-icon.js +5 -0
- package/dist/p1/editor/icons/quote-block-icon.js.map +1 -0
- package/dist/p1/editor/icons/spacer-block-icon.d.ts +2 -0
- package/dist/p1/editor/icons/spacer-block-icon.d.ts.map +1 -0
- package/dist/p1/editor/icons/spacer-block-icon.js +5 -0
- package/dist/p1/editor/icons/spacer-block-icon.js.map +1 -0
- package/dist/p1/editor/index.d.ts +9 -0
- package/dist/p1/editor/index.d.ts.map +1 -0
- package/dist/p1/editor/index.js +9 -0
- package/dist/p1/editor/index.js.map +1 -0
- package/dist/p1/editor/json-tree.d.ts +6 -0
- package/dist/p1/editor/json-tree.d.ts.map +1 -0
- package/dist/p1/editor/json-tree.js +64 -0
- package/dist/p1/editor/json-tree.js.map +1 -0
- package/dist/p1/editor/remote-datasources/remote-datasource-explorer-plugin.d.ts +11 -0
- package/dist/p1/editor/remote-datasources/remote-datasource-explorer-plugin.d.ts.map +1 -0
- package/dist/p1/editor/remote-datasources/remote-datasource-explorer-plugin.js +62 -0
- package/dist/p1/editor/remote-datasources/remote-datasource-explorer-plugin.js.map +1 -0
- package/dist/p1/editor/remote-datasources/remote-datasource-form-helpers.d.ts +23 -0
- package/dist/p1/editor/remote-datasources/remote-datasource-form-helpers.d.ts.map +1 -0
- package/dist/p1/editor/remote-datasources/remote-datasource-form-helpers.js +39 -0
- package/dist/p1/editor/remote-datasources/remote-datasource-form-helpers.js.map +1 -0
- package/dist/p1/editor/remote-datasources/remote-datasource-manager.d.ts +4 -0
- package/dist/p1/editor/remote-datasources/remote-datasource-manager.d.ts.map +1 -0
- package/dist/p1/editor/remote-datasources/remote-datasource-manager.js +72 -0
- package/dist/p1/editor/remote-datasources/remote-datasource-manager.js.map +1 -0
- package/dist/p1/editor/remote-datasources/template-preview-params-toolbar.d.ts +6 -0
- package/dist/p1/editor/remote-datasources/template-preview-params-toolbar.d.ts.map +1 -0
- package/dist/p1/editor/remote-datasources/template-preview-params-toolbar.js +67 -0
- package/dist/p1/editor/remote-datasources/template-preview-params-toolbar.js.map +1 -0
- package/dist/p1/editor/template-autocomplete-layer.d.ts +11 -0
- package/dist/p1/editor/template-autocomplete-layer.d.ts.map +1 -0
- package/dist/p1/editor/template-autocomplete-layer.js +386 -0
- package/dist/p1/editor/template-autocomplete-layer.js.map +1 -0
- package/dist/p1/pages/add-override-for-template.d.ts +4 -0
- package/dist/p1/pages/add-override-for-template.d.ts.map +1 -0
- package/dist/p1/pages/add-override-for-template.js +47 -0
- package/dist/p1/pages/add-override-for-template.js.map +1 -0
- package/dist/p1/pages/create-page-form.d.ts +2 -0
- package/dist/p1/pages/create-page-form.d.ts.map +1 -0
- package/dist/p1/pages/create-page-form.js +28 -0
- package/dist/p1/pages/create-page-form.js.map +1 -0
- package/dist/p1/pages/create-template-form.d.ts +2 -0
- package/dist/p1/pages/create-template-form.d.ts.map +1 -0
- package/dist/p1/pages/create-template-form.js +36 -0
- package/dist/p1/pages/create-template-form.js.map +1 -0
- package/dist/p1/pages/delete-row-button.d.ts +7 -0
- package/dist/p1/pages/delete-row-button.d.ts.map +1 -0
- package/dist/p1/pages/delete-row-button.js +23 -0
- package/dist/p1/pages/delete-row-button.js.map +1 -0
- package/dist/p1/pages/hooks.d.ts +5 -0
- package/dist/p1/pages/hooks.d.ts.map +1 -0
- package/dist/p1/pages/hooks.js +55 -0
- package/dist/p1/pages/hooks.js.map +1 -0
- package/dist/p1/pages/index.d.ts +7 -0
- package/dist/p1/pages/index.d.ts.map +1 -0
- package/dist/p1/pages/index.js +7 -0
- package/dist/p1/pages/index.js.map +1 -0
- package/dist/p1/pages/render-client.d.ts +6 -0
- package/dist/p1/pages/render-client.d.ts.map +1 -0
- package/dist/p1/pages/render-client.js +7 -0
- package/dist/p1/pages/render-client.js.map +1 -0
- package/dist/p1/pages/structure-page.d.ts +2 -0
- package/dist/p1/pages/structure-page.d.ts.map +1 -0
- package/dist/p1/pages/structure-page.js +46 -0
- package/dist/p1/pages/structure-page.js.map +1 -0
- package/dist/p1/router-context.d.ts +11 -0
- package/dist/p1/router-context.d.ts.map +1 -0
- package/dist/p1/router-context.js +11 -0
- package/dist/p1/router-context.js.map +1 -0
- package/dist/pds/components/AgentChip.d.ts +26 -0
- package/dist/pds/components/AgentChip.d.ts.map +1 -0
- package/dist/pds/components/AgentChip.js +15 -0
- package/dist/pds/components/AgentChip.js.map +1 -0
- package/dist/pds/components/AgentChip.module.css +141 -0
- package/dist/pds/components/DocStateBadge.d.ts +7 -0
- package/dist/pds/components/DocStateBadge.d.ts.map +1 -0
- package/dist/pds/components/DocStateBadge.js +24 -0
- package/dist/pds/components/DocStateBadge.js.map +1 -0
- package/dist/pds/components/NavIcon.d.ts +7 -0
- package/dist/pds/components/NavIcon.d.ts.map +1 -0
- package/dist/pds/components/NavIcon.js +6 -0
- package/dist/pds/components/NavIcon.js.map +1 -0
- package/dist/pds/components/P1EditorHeader.d.ts +41 -0
- package/dist/pds/components/P1EditorHeader.d.ts.map +1 -0
- package/dist/pds/components/P1EditorHeader.js +138 -0
- package/dist/pds/components/P1EditorHeader.js.map +1 -0
- package/dist/pds/components/P1EditorHeader.module.css +253 -0
- package/dist/pds/components/P1EditorSubheader.d.ts +42 -0
- package/dist/pds/components/P1EditorSubheader.d.ts.map +1 -0
- package/dist/pds/components/P1EditorSubheader.js +27 -0
- package/dist/pds/components/P1EditorSubheader.js.map +1 -0
- package/dist/pds/components/P1EditorSubheader.module.css +81 -0
- package/dist/pds/components/PageNavigator.d.ts +38 -0
- package/dist/pds/components/PageNavigator.d.ts.map +1 -0
- package/dist/pds/components/PageNavigator.js +60 -0
- package/dist/pds/components/PageNavigator.js.map +1 -0
- package/dist/pds/components/PageNavigator.module.css +276 -0
- package/dist/pds/components/PresenceStack.d.ts +17 -0
- package/dist/pds/components/PresenceStack.d.ts.map +1 -0
- package/dist/pds/components/PresenceStack.js +14 -0
- package/dist/pds/components/PresenceStack.js.map +1 -0
- package/dist/pds/components/PresenceStack.module.css +48 -0
- package/dist/pds/components/PublishControl.d.ts +15 -0
- package/dist/pds/components/PublishControl.d.ts.map +1 -0
- package/dist/pds/components/PublishControl.js +46 -0
- package/dist/pds/components/PublishControl.js.map +1 -0
- package/dist/pds/components/PublishControl.module.css +36 -0
- package/dist/pds/components/WorkstreamSwitcher.d.ts +26 -0
- package/dist/pds/components/WorkstreamSwitcher.d.ts.map +1 -0
- package/dist/pds/components/WorkstreamSwitcher.js +134 -0
- package/dist/pds/components/WorkstreamSwitcher.js.map +1 -0
- package/dist/pds/components/WorkstreamSwitcher.module.css +320 -0
- package/dist/pds/index.d.ts +33 -0
- package/dist/pds/index.d.ts.map +1 -0
- package/dist/pds/index.js +46 -0
- package/dist/pds/index.js.map +1 -0
- package/dist/pds/theme/pds-core-content.d.ts +2 -0
- package/dist/pds/theme/pds-core-content.d.ts.map +1 -0
- package/dist/pds/theme/pds-core-content.js +8 -0
- package/dist/pds/theme/pds-core-content.js.map +1 -0
- package/dist/pds/types.d.ts +7 -0
- package/dist/pds/types.d.ts.map +1 -0
- package/dist/pds/types.js +2 -0
- package/dist/pds/types.js.map +1 -0
- package/dist/pds/utils/deriveDocState.d.ts +8 -0
- package/dist/pds/utils/deriveDocState.d.ts.map +1 -0
- package/dist/pds/utils/deriveDocState.js +14 -0
- package/dist/pds/utils/deriveDocState.js.map +1 -0
- package/dist/server.d.ts +23 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +24 -0
- package/dist/server.js.map +1 -0
- package/dist/versioning/components/HistoricalVersionBanner.d.ts +28 -0
- package/dist/versioning/components/HistoricalVersionBanner.d.ts.map +1 -0
- package/dist/versioning/components/HistoricalVersionBanner.js +23 -0
- package/dist/versioning/components/HistoricalVersionBanner.js.map +1 -0
- package/dist/versioning/components/VersionPublishedBadge.d.ts +5 -0
- package/dist/versioning/components/VersionPublishedBadge.d.ts.map +1 -0
- package/dist/versioning/components/VersionPublishedBadge.js +8 -0
- package/dist/versioning/components/VersionPublishedBadge.js.map +1 -0
- package/dist/versioning/components/version-compare/BranchDiffHeader.d.ts +53 -0
- package/dist/versioning/components/version-compare/BranchDiffHeader.d.ts.map +1 -0
- package/dist/versioning/components/version-compare/BranchDiffHeader.js +15 -0
- package/dist/versioning/components/version-compare/BranchDiffHeader.js.map +1 -0
- package/dist/versioning/components/version-compare/BranchMergeCompare.d.ts +43 -0
- package/dist/versioning/components/version-compare/BranchMergeCompare.d.ts.map +1 -0
- package/dist/versioning/components/version-compare/BranchMergeCompare.js +70 -0
- package/dist/versioning/components/version-compare/BranchMergeCompare.js.map +1 -0
- package/dist/versioning/components/version-compare/ComponentNode.d.ts +34 -0
- package/dist/versioning/components/version-compare/ComponentNode.d.ts.map +1 -0
- package/dist/versioning/components/version-compare/ComponentNode.js +40 -0
- package/dist/versioning/components/version-compare/ComponentNode.js.map +1 -0
- package/dist/versioning/components/version-compare/ComponentTree.d.ts +34 -0
- package/dist/versioning/components/version-compare/ComponentTree.d.ts.map +1 -0
- package/dist/versioning/components/version-compare/ComponentTree.js +35 -0
- package/dist/versioning/components/version-compare/ComponentTree.js.map +1 -0
- package/dist/versioning/components/version-compare/DiffHeader.d.ts +45 -0
- package/dist/versioning/components/version-compare/DiffHeader.d.ts.map +1 -0
- package/dist/versioning/components/version-compare/DiffHeader.js +11 -0
- package/dist/versioning/components/version-compare/DiffHeader.js.map +1 -0
- package/dist/versioning/components/version-compare/DocumentDiffList.d.ts +39 -0
- package/dist/versioning/components/version-compare/DocumentDiffList.d.ts.map +1 -0
- package/dist/versioning/components/version-compare/DocumentDiffList.js +32 -0
- package/dist/versioning/components/version-compare/DocumentDiffList.js.map +1 -0
- package/dist/versioning/components/version-compare/PropDiffPanel.d.ts +30 -0
- package/dist/versioning/components/version-compare/PropDiffPanel.d.ts.map +1 -0
- package/dist/versioning/components/version-compare/PropDiffPanel.js +34 -0
- package/dist/versioning/components/version-compare/PropDiffPanel.js.map +1 -0
- package/dist/versioning/components/version-compare/PropDiffRow.d.ts +22 -0
- package/dist/versioning/components/version-compare/PropDiffRow.d.ts.map +1 -0
- package/dist/versioning/components/version-compare/PropDiffRow.js +12 -0
- package/dist/versioning/components/version-compare/PropDiffRow.js.map +1 -0
- package/dist/versioning/components/version-compare/PropValueDisplay.d.ts +36 -0
- package/dist/versioning/components/version-compare/PropValueDisplay.d.ts.map +1 -0
- package/dist/versioning/components/version-compare/PropValueDisplay.js +79 -0
- package/dist/versioning/components/version-compare/PropValueDisplay.js.map +1 -0
- package/dist/versioning/components/version-compare/VersionComparePage.d.ts +34 -0
- package/dist/versioning/components/version-compare/VersionComparePage.d.ts.map +1 -0
- package/dist/versioning/components/version-compare/VersionComparePage.js +61 -0
- package/dist/versioning/components/version-compare/VersionComparePage.js.map +1 -0
- package/dist/versioning/components/version-compare/VisualBranchCompare.d.ts +41 -0
- package/dist/versioning/components/version-compare/VisualBranchCompare.d.ts.map +1 -0
- package/dist/versioning/components/version-compare/VisualBranchCompare.js +84 -0
- package/dist/versioning/components/version-compare/VisualBranchCompare.js.map +1 -0
- package/dist/versioning/components/version-compare/VisualVersionCompare.d.ts +67 -0
- package/dist/versioning/components/version-compare/VisualVersionCompare.d.ts.map +1 -0
- package/dist/versioning/components/version-compare/VisualVersionCompare.js +84 -0
- package/dist/versioning/components/version-compare/VisualVersionCompare.js.map +1 -0
- package/dist/versioning/components/version-compare/index.d.ts +30 -0
- package/dist/versioning/components/version-compare/index.d.ts.map +1 -0
- package/dist/versioning/components/version-compare/index.js +18 -0
- package/dist/versioning/components/version-compare/index.js.map +1 -0
- package/dist/versioning/components/version-history/AgentCheckpointBadge.d.ts +22 -0
- package/dist/versioning/components/version-history/AgentCheckpointBadge.d.ts.map +1 -0
- package/dist/versioning/components/version-history/AgentCheckpointBadge.js +55 -0
- package/dist/versioning/components/version-history/AgentCheckpointBadge.js.map +1 -0
- package/dist/versioning/components/version-history/VersionItem.d.ts +30 -0
- package/dist/versioning/components/version-history/VersionItem.d.ts.map +1 -0
- package/dist/versioning/components/version-history/VersionItem.js +39 -0
- package/dist/versioning/components/version-history/VersionItem.js.map +1 -0
- package/dist/versioning/components/version-history/index.d.ts +10 -0
- package/dist/versioning/components/version-history/index.d.ts.map +1 -0
- package/dist/versioning/components/version-history/index.js +8 -0
- package/dist/versioning/components/version-history/index.js.map +1 -0
- package/dist/versioning/index.d.ts +17 -0
- package/dist/versioning/index.d.ts.map +1 -0
- package/dist/versioning/index.js +10 -0
- package/dist/versioning/index.js.map +1 -0
- package/dist/versioning/useCheckpoints.d.ts +66 -0
- package/dist/versioning/useCheckpoints.d.ts.map +1 -0
- package/dist/versioning/useCheckpoints.js +100 -0
- package/dist/versioning/useCheckpoints.js.map +1 -0
- package/dist/versioning/useVersions.d.ts +81 -0
- package/dist/versioning/useVersions.d.ts.map +1 -0
- package/dist/versioning/useVersions.js +110 -0
- package/dist/versioning/useVersions.js.map +1 -0
- package/dist/versioning/utils/branchDiff.d.ts +136 -0
- package/dist/versioning/utils/branchDiff.d.ts.map +1 -0
- package/dist/versioning/utils/branchDiff.js +172 -0
- package/dist/versioning/utils/branchDiff.js.map +1 -0
- package/dist/versioning/utils/diff.d.ts +63 -0
- package/dist/versioning/utils/diff.d.ts.map +1 -0
- package/dist/versioning/utils/diff.js +318 -0
- package/dist/versioning/utils/diff.js.map +1 -0
- package/dist/versioning/utils/highlightConfig.d.ts +41 -0
- package/dist/versioning/utils/highlightConfig.d.ts.map +1 -0
- package/dist/versioning/utils/highlightConfig.js +130 -0
- package/dist/versioning/utils/highlightConfig.js.map +1 -0
- package/package.json +113 -0
- package/src/pds/theme/PuckEditorTheme.css +277 -0
- package/src/pds/theme/PuckEditorTheme.test.ts +136 -0
- package/src/pds/theme/pds-core-content.ts +7 -0
- package/src/pds/theme/pds-core.css +2 -0
- package/src/styles.css +2366 -0
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
const baseClass = 'css-puck-conflict-toast';
|
|
3
|
+
/**
|
|
4
|
+
* Get the icon for a notification type.
|
|
5
|
+
*/
|
|
6
|
+
function getTypeIcon(type) {
|
|
7
|
+
switch (type) {
|
|
8
|
+
case 'agent_editing':
|
|
9
|
+
return '🤖';
|
|
10
|
+
case 'human_conflict':
|
|
11
|
+
return '👥';
|
|
12
|
+
case 'agent_checkpoint':
|
|
13
|
+
return '✓';
|
|
14
|
+
case 'agent_kicked':
|
|
15
|
+
return '⚡';
|
|
16
|
+
default:
|
|
17
|
+
return '⚠';
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Get aria-live value for notification type.
|
|
22
|
+
*/
|
|
23
|
+
function getAriaLive(type) {
|
|
24
|
+
switch (type) {
|
|
25
|
+
case 'agent_editing':
|
|
26
|
+
case 'human_conflict':
|
|
27
|
+
return 'assertive';
|
|
28
|
+
default:
|
|
29
|
+
return 'polite';
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Toast component for conflict notifications.
|
|
34
|
+
*
|
|
35
|
+
* @example
|
|
36
|
+
* ```tsx
|
|
37
|
+
* <ConflictNotificationToast
|
|
38
|
+
* notification={notification}
|
|
39
|
+
* onDismiss={(id) => dismiss(id)}
|
|
40
|
+
* onAction={() => viewChanges()}
|
|
41
|
+
* actionLabel="View Changes"
|
|
42
|
+
* />
|
|
43
|
+
* ```
|
|
44
|
+
*/
|
|
45
|
+
export function ConflictNotificationToast({ notification, onDismiss, onAction, actionLabel, className = '', }) {
|
|
46
|
+
const handleDismiss = () => {
|
|
47
|
+
onDismiss(notification.id);
|
|
48
|
+
};
|
|
49
|
+
const containerClasses = [
|
|
50
|
+
baseClass,
|
|
51
|
+
`${baseClass}--${notification.type}`,
|
|
52
|
+
className,
|
|
53
|
+
]
|
|
54
|
+
.filter(Boolean)
|
|
55
|
+
.join(' ');
|
|
56
|
+
return (_jsxs("div", { className: containerClasses, role: "alert", "aria-live": getAriaLive(notification.type), children: [_jsx("span", { className: `${baseClass}__icon`, "aria-label": "Conflict notification", role: "img", children: getTypeIcon(notification.type) }), _jsxs("div", { className: `${baseClass}__content`, children: [notification.agentName && (_jsx("div", { className: `${baseClass}__agent-name`, children: notification.agentName })), _jsx("div", { className: `${baseClass}__message`, children: notification.message }), notification.conflictingRegions &&
|
|
57
|
+
notification.conflictingRegions.length > 0 && (_jsx("div", { className: `${baseClass}__regions`, children: notification.conflictingRegions.map((region) => (_jsx("span", { className: `${baseClass}__region`, children: region }, region))) })), onAction && actionLabel && (_jsx("div", { className: `${baseClass}__actions`, children: _jsx("button", { type: "button", className: `pds-button pds-button--subtle pds-button--sm ${baseClass}__action`, onClick: onAction, children: actionLabel }) }))] }), _jsx("button", { type: "button", className: `pds-button pds-button--subtle pds-button--sm ${baseClass}__dismiss`, onClick: handleDismiss, "aria-label": "Dismiss notification", children: "\u2715" })] }));
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=ConflictNotificationToast.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConflictNotificationToast.js","sourceRoot":"","sources":["../../../../src/merge/components/conflict-notifications/ConflictNotificationToast.tsx"],"names":[],"mappings":";AAuBA,MAAM,SAAS,GAAG,yBAAyB,CAAC;AAE5C;;GAEG;AACH,SAAS,WAAW,CAAC,IAA8B;IACjD,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,eAAe;YAClB,OAAO,IAAI,CAAC;QACd,KAAK,gBAAgB;YACnB,OAAO,IAAI,CAAC;QACd,KAAK,kBAAkB;YACrB,OAAO,GAAG,CAAC;QACb,KAAK,cAAc;YACjB,OAAO,GAAG,CAAC;QACb;YACE,OAAO,GAAG,CAAC;IACf,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,WAAW,CAAC,IAA8B;IACjD,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,eAAe,CAAC;QACrB,KAAK,gBAAgB;YACnB,OAAO,WAAW,CAAC;QACrB;YACE,OAAO,QAAQ,CAAC;IACpB,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,yBAAyB,CAAC,EACxC,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,WAAW,EACX,SAAS,GAAG,EAAE,GACiB;IAC/B,MAAM,aAAa,GAAG,GAAG,EAAE;QACzB,SAAS,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;IAC7B,CAAC,CAAC;IAEF,MAAM,gBAAgB,GAAG;QACvB,SAAS;QACT,GAAG,SAAS,KAAK,YAAY,CAAC,IAAI,EAAE;QACpC,SAAS;KACV;SACE,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,GAAG,CAAC,CAAC;IAEb,OAAO,CACL,eACE,SAAS,EAAE,gBAAgB,EAC3B,IAAI,EAAC,OAAO,eACD,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,aAGzC,eACE,SAAS,EAAE,GAAG,SAAS,QAAQ,gBACpB,uBAAuB,EAClC,IAAI,EAAC,KAAK,YAET,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,GAC1B,EAGP,eAAK,SAAS,EAAE,GAAG,SAAS,WAAW,aAEpC,YAAY,CAAC,SAAS,IAAI,CACzB,cAAK,SAAS,EAAE,GAAG,SAAS,cAAc,YACvC,YAAY,CAAC,SAAS,GACnB,CACP,EAGD,cAAK,SAAS,EAAE,GAAG,SAAS,WAAW,YAAG,YAAY,CAAC,OAAO,GAAO,EAGpE,YAAY,CAAC,kBAAkB;wBAC9B,YAAY,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,IAAI,CAC5C,cAAK,SAAS,EAAE,GAAG,SAAS,WAAW,YACpC,YAAY,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAC/C,eAAmB,SAAS,EAAE,GAAG,SAAS,UAAU,YACjD,MAAM,IADE,MAAM,CAEV,CACR,CAAC,GACE,CACP,EAGF,QAAQ,IAAI,WAAW,IAAI,CAC1B,cAAK,SAAS,EAAE,GAAG,SAAS,WAAW,YACrC,iBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,gDAAgD,SAAS,UAAU,EAC9E,OAAO,EAAE,QAAQ,YAEhB,WAAW,GACL,GACL,CACP,IACG,EAGN,iBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,gDAAgD,SAAS,WAAW,EAC/E,OAAO,EAAE,aAAa,gBACX,sBAAsB,uBAG1B,IACL,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Conflict Notifications
|
|
3
|
+
*
|
|
4
|
+
* Components and hooks for real-time conflict notifications.
|
|
5
|
+
*/
|
|
6
|
+
export { useConflictNotifications } from './useConflictNotifications.js';
|
|
7
|
+
export type { ConflictNotification, ConflictNotificationType, UseConflictNotificationsOptions, UseConflictNotificationsReturn, } from './useConflictNotifications.js';
|
|
8
|
+
export { ConflictNotificationToast } from './ConflictNotificationToast.js';
|
|
9
|
+
export type { ConflictNotificationToastProps } from './ConflictNotificationToast.js';
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/merge/components/conflict-notifications/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,YAAY,EACV,oBAAoB,EACpB,wBAAwB,EACxB,+BAA+B,EAC/B,8BAA8B,GAC/B,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,YAAY,EAAE,8BAA8B,EAAE,MAAM,gCAAgC,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Conflict Notifications
|
|
3
|
+
*
|
|
4
|
+
* Components and hooks for real-time conflict notifications.
|
|
5
|
+
*/
|
|
6
|
+
export { useConflictNotifications } from './useConflictNotifications.js';
|
|
7
|
+
export { ConflictNotificationToast } from './ConflictNotificationToast.js';
|
|
8
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/merge/components/conflict-notifications/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAQzE,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* useConflictNotifications Hook
|
|
3
|
+
*
|
|
4
|
+
* Hook for managing real-time conflict notifications.
|
|
5
|
+
* Listens to WebSocket events for collaboration conflicts.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Type of conflict notification.
|
|
9
|
+
*/
|
|
10
|
+
export type ConflictNotificationType = 'agent_editing' | 'human_conflict' | 'agent_checkpoint' | 'agent_kicked';
|
|
11
|
+
/**
|
|
12
|
+
* A conflict notification.
|
|
13
|
+
*/
|
|
14
|
+
export interface ConflictNotification {
|
|
15
|
+
id: string;
|
|
16
|
+
type: ConflictNotificationType;
|
|
17
|
+
agentId?: string;
|
|
18
|
+
agentName?: string;
|
|
19
|
+
conflictingRegions?: string[];
|
|
20
|
+
message: string;
|
|
21
|
+
timestamp: string;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Options for useConflictNotifications hook.
|
|
25
|
+
*/
|
|
26
|
+
export interface UseConflictNotificationsOptions {
|
|
27
|
+
/** Auto-dismiss checkpoint notifications */
|
|
28
|
+
autoDismissCheckpoints?: boolean;
|
|
29
|
+
/** Auto-dismiss delay in milliseconds */
|
|
30
|
+
autoDismissMs?: number;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Return type for useConflictNotifications hook.
|
|
34
|
+
*/
|
|
35
|
+
export interface UseConflictNotificationsReturn {
|
|
36
|
+
/** Active conflict notifications */
|
|
37
|
+
notifications: ConflictNotification[];
|
|
38
|
+
/** Dismiss a notification by ID */
|
|
39
|
+
dismiss: (id: string) => void;
|
|
40
|
+
/** Dismiss all notifications */
|
|
41
|
+
dismissAll: () => void;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Hook for managing real-time conflict notifications.
|
|
45
|
+
*
|
|
46
|
+
* Subscribes to the PresenceContext for WebSocket events and
|
|
47
|
+
* maintains a list of active conflict notifications.
|
|
48
|
+
*
|
|
49
|
+
* @example
|
|
50
|
+
* ```tsx
|
|
51
|
+
* function ConflictPanel() {
|
|
52
|
+
* const { notifications, dismiss, dismissAll } = useConflictNotifications();
|
|
53
|
+
*
|
|
54
|
+
* return (
|
|
55
|
+
* <div>
|
|
56
|
+
* {notifications.map((n) => (
|
|
57
|
+
* <ConflictNotificationToast
|
|
58
|
+
* key={n.id}
|
|
59
|
+
* notification={n}
|
|
60
|
+
* onDismiss={() => dismiss(n.id)}
|
|
61
|
+
* />
|
|
62
|
+
* ))}
|
|
63
|
+
* </div>
|
|
64
|
+
* );
|
|
65
|
+
* }
|
|
66
|
+
* ```
|
|
67
|
+
*/
|
|
68
|
+
export declare function useConflictNotifications(options?: UseConflictNotificationsOptions): UseConflictNotificationsReturn;
|
|
69
|
+
//# sourceMappingURL=useConflictNotifications.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useConflictNotifications.d.ts","sourceRoot":"","sources":["../../../../src/merge/components/conflict-notifications/useConflictNotifications.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH;;GAEG;AACH,MAAM,MAAM,wBAAwB,GAChC,eAAe,GACf,gBAAgB,GAChB,kBAAkB,GAClB,cAAc,CAAC;AAEnB;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,wBAAwB,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,+BAA+B;IAC9C,4CAA4C;IAC5C,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,yCAAyC;IACzC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,8BAA8B;IAC7C,oCAAoC;IACpC,aAAa,EAAE,oBAAoB,EAAE,CAAC;IACtC,mCAAmC;IACnC,OAAO,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9B,gCAAgC;IAChC,UAAU,EAAE,MAAM,IAAI,CAAC;CACxB;AAiFD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,GAAE,+BAAoC,GAC5C,8BAA8B,CAwEhC"}
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* useConflictNotifications Hook
|
|
3
|
+
*
|
|
4
|
+
* Hook for managing real-time conflict notifications.
|
|
5
|
+
* Listens to WebSocket events for collaboration conflicts.
|
|
6
|
+
*/
|
|
7
|
+
import { useState, useCallback, useEffect, useRef } from 'react';
|
|
8
|
+
import { usePresenceContext } from '../../../core/PresenceContext.js';
|
|
9
|
+
/**
|
|
10
|
+
* Generate a unique notification ID.
|
|
11
|
+
*/
|
|
12
|
+
function generateNotificationId() {
|
|
13
|
+
return `conflict-${Date.now()}-${Math.random().toString(36).slice(2, 9)}`;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Get a human-readable message for a conflict event.
|
|
17
|
+
*/
|
|
18
|
+
function getConflictMessage(event) {
|
|
19
|
+
if (event.type === 'conflict') {
|
|
20
|
+
switch (event.conflictType) {
|
|
21
|
+
case 'agent_editing':
|
|
22
|
+
return event.agentName
|
|
23
|
+
? `${event.agentName} is currently editing this region`
|
|
24
|
+
: 'An agent is currently editing this region';
|
|
25
|
+
case 'human_conflict':
|
|
26
|
+
return 'Another user is editing in the same area';
|
|
27
|
+
default:
|
|
28
|
+
return 'A conflict has occurred';
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
if (event.type === 'agent_checkpoint') {
|
|
32
|
+
return event.agentName
|
|
33
|
+
? `${event.agentName} has completed changes and created a checkpoint`
|
|
34
|
+
: 'An agent has completed changes and created a checkpoint';
|
|
35
|
+
}
|
|
36
|
+
if (event.type === 'agent_kicked') {
|
|
37
|
+
return event.agentName
|
|
38
|
+
? `${event.agentName} edit was interrupted due to human activity`
|
|
39
|
+
: 'Agent edit was interrupted due to human activity';
|
|
40
|
+
}
|
|
41
|
+
return 'A collaboration event occurred';
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Convert a WebSocket event to a ConflictNotification.
|
|
45
|
+
*/
|
|
46
|
+
function eventToNotification(event) {
|
|
47
|
+
let type;
|
|
48
|
+
if (event.type === 'conflict') {
|
|
49
|
+
type = event.conflictType ?? 'human_conflict';
|
|
50
|
+
}
|
|
51
|
+
else if (event.type === 'agent_checkpoint') {
|
|
52
|
+
type = 'agent_checkpoint';
|
|
53
|
+
}
|
|
54
|
+
else if (event.type === 'agent_kicked') {
|
|
55
|
+
type = 'agent_kicked';
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
type = 'human_conflict';
|
|
59
|
+
}
|
|
60
|
+
return {
|
|
61
|
+
id: generateNotificationId(),
|
|
62
|
+
type,
|
|
63
|
+
agentId: event.agentId,
|
|
64
|
+
agentName: event.agentName,
|
|
65
|
+
conflictingRegions: event.regions,
|
|
66
|
+
message: getConflictMessage(event),
|
|
67
|
+
timestamp: new Date().toISOString(),
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Hook for managing real-time conflict notifications.
|
|
72
|
+
*
|
|
73
|
+
* Subscribes to the PresenceContext for WebSocket events and
|
|
74
|
+
* maintains a list of active conflict notifications.
|
|
75
|
+
*
|
|
76
|
+
* @example
|
|
77
|
+
* ```tsx
|
|
78
|
+
* function ConflictPanel() {
|
|
79
|
+
* const { notifications, dismiss, dismissAll } = useConflictNotifications();
|
|
80
|
+
*
|
|
81
|
+
* return (
|
|
82
|
+
* <div>
|
|
83
|
+
* {notifications.map((n) => (
|
|
84
|
+
* <ConflictNotificationToast
|
|
85
|
+
* key={n.id}
|
|
86
|
+
* notification={n}
|
|
87
|
+
* onDismiss={() => dismiss(n.id)}
|
|
88
|
+
* />
|
|
89
|
+
* ))}
|
|
90
|
+
* </div>
|
|
91
|
+
* );
|
|
92
|
+
* }
|
|
93
|
+
* ```
|
|
94
|
+
*/
|
|
95
|
+
export function useConflictNotifications(options = {}) {
|
|
96
|
+
const { autoDismissCheckpoints = false, autoDismissMs = 5000 } = options;
|
|
97
|
+
const [notifications, setNotifications] = useState([]);
|
|
98
|
+
const timersRef = useRef(new Map());
|
|
99
|
+
const context = usePresenceContext();
|
|
100
|
+
// Dismiss a notification by ID
|
|
101
|
+
const dismiss = useCallback((id) => {
|
|
102
|
+
// Clear any auto-dismiss timer
|
|
103
|
+
const timer = timersRef.current.get(id);
|
|
104
|
+
if (timer) {
|
|
105
|
+
clearTimeout(timer);
|
|
106
|
+
timersRef.current.delete(id);
|
|
107
|
+
}
|
|
108
|
+
setNotifications((prev) => prev.filter((n) => n.id !== id));
|
|
109
|
+
}, []);
|
|
110
|
+
// Dismiss all notifications
|
|
111
|
+
const dismissAll = useCallback(() => {
|
|
112
|
+
timersRef.current.forEach((timer) => clearTimeout(timer));
|
|
113
|
+
timersRef.current.clear();
|
|
114
|
+
setNotifications([]);
|
|
115
|
+
}, []);
|
|
116
|
+
// Handle incoming events
|
|
117
|
+
const handleEvent = useCallback((event) => {
|
|
118
|
+
const conflictEvent = event;
|
|
119
|
+
// Only handle conflict-related events
|
|
120
|
+
if (conflictEvent.type !== 'conflict' &&
|
|
121
|
+
conflictEvent.type !== 'agent_checkpoint' &&
|
|
122
|
+
conflictEvent.type !== 'agent_kicked') {
|
|
123
|
+
return;
|
|
124
|
+
}
|
|
125
|
+
const notification = eventToNotification(conflictEvent);
|
|
126
|
+
setNotifications((prev) => [...prev, notification]);
|
|
127
|
+
// Set up auto-dismiss for checkpoint notifications
|
|
128
|
+
if (autoDismissCheckpoints && notification.type === 'agent_checkpoint') {
|
|
129
|
+
const timer = setTimeout(() => {
|
|
130
|
+
dismiss(notification.id);
|
|
131
|
+
}, autoDismissMs);
|
|
132
|
+
timersRef.current.set(notification.id, timer);
|
|
133
|
+
}
|
|
134
|
+
}, [autoDismissCheckpoints, autoDismissMs, dismiss]);
|
|
135
|
+
// Subscribe to presence events
|
|
136
|
+
useEffect(() => {
|
|
137
|
+
const unsubscribe = context.subscribe(handleEvent);
|
|
138
|
+
return () => {
|
|
139
|
+
unsubscribe();
|
|
140
|
+
// Clear all timers on unmount
|
|
141
|
+
timersRef.current.forEach((timer) => clearTimeout(timer));
|
|
142
|
+
timersRef.current.clear();
|
|
143
|
+
};
|
|
144
|
+
}, [context, handleEvent]);
|
|
145
|
+
return {
|
|
146
|
+
notifications,
|
|
147
|
+
dismiss,
|
|
148
|
+
dismissAll,
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
//# sourceMappingURL=useConflictNotifications.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useConflictNotifications.js","sourceRoot":"","sources":["../../../../src/merge/components/conflict-notifications/useConflictNotifications.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AA2DtE;;GAEG;AACH,SAAS,sBAAsB;IAC7B,OAAO,YAAY,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;AAC5E,CAAC;AAED;;GAEG;AACH,SAAS,kBAAkB,CAAC,KAAoB;IAC9C,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QAC9B,QAAQ,KAAK,CAAC,YAAY,EAAE,CAAC;YAC3B,KAAK,eAAe;gBAClB,OAAO,KAAK,CAAC,SAAS;oBACpB,CAAC,CAAC,GAAG,KAAK,CAAC,SAAS,mCAAmC;oBACvD,CAAC,CAAC,2CAA2C,CAAC;YAClD,KAAK,gBAAgB;gBACnB,OAAO,0CAA0C,CAAC;YACpD;gBACE,OAAO,yBAAyB,CAAC;QACrC,CAAC;IACH,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;QACtC,OAAO,KAAK,CAAC,SAAS;YACpB,CAAC,CAAC,GAAG,KAAK,CAAC,SAAS,iDAAiD;YACrE,CAAC,CAAC,yDAAyD,CAAC;IAChE,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;QAClC,OAAO,KAAK,CAAC,SAAS;YACpB,CAAC,CAAC,GAAG,KAAK,CAAC,SAAS,6CAA6C;YACjE,CAAC,CAAC,kDAAkD,CAAC;IACzD,CAAC;IAED,OAAO,gCAAgC,CAAC;AAC1C,CAAC;AAED;;GAEG;AACH,SAAS,mBAAmB,CAAC,KAAoB;IAC/C,IAAI,IAA8B,CAAC;IAEnC,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QAC9B,IAAI,GAAG,KAAK,CAAC,YAAY,IAAI,gBAAgB,CAAC;IAChD,CAAC;SAAM,IAAI,KAAK,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;QAC7C,IAAI,GAAG,kBAAkB,CAAC;IAC5B,CAAC;SAAM,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;QACzC,IAAI,GAAG,cAAc,CAAC;IACxB,CAAC;SAAM,CAAC;QACN,IAAI,GAAG,gBAAgB,CAAC;IAC1B,CAAC;IAED,OAAO;QACL,EAAE,EAAE,sBAAsB,EAAE;QAC5B,IAAI;QACJ,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,kBAAkB,EAAE,KAAK,CAAC,OAAO;QACjC,OAAO,EAAE,kBAAkB,CAAC,KAAK,CAAC;QAClC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACpC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,UAAU,wBAAwB,CACtC,UAA2C,EAAE;IAE7C,MAAM,EAAE,sBAAsB,GAAG,KAAK,EAAE,aAAa,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;IAEzE,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAyB,EAAE,CAAC,CAAC;IAC/E,MAAM,SAAS,GAAG,MAAM,CAA8B,IAAI,GAAG,EAAE,CAAC,CAAC;IACjE,MAAM,OAAO,GAAG,kBAAkB,EAAE,CAAC;IAErC,+BAA+B;IAC/B,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,EAAU,EAAE,EAAE;QACzC,+BAA+B;QAC/B,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACxC,IAAI,KAAK,EAAE,CAAC;YACV,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC/B,CAAC;QAED,gBAAgB,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IAC9D,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,4BAA4B;IAC5B,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE;QAClC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;QAC1D,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QAC1B,gBAAgB,CAAC,EAAE,CAAC,CAAC;IACvB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,yBAAyB;IACzB,MAAM,WAAW,GAAG,WAAW,CAC7B,CAAC,KAAc,EAAE,EAAE;QACjB,MAAM,aAAa,GAAG,KAAsB,CAAC;QAE7C,sCAAsC;QACtC,IACE,aAAa,CAAC,IAAI,KAAK,UAAU;YACjC,aAAa,CAAC,IAAI,KAAK,kBAAkB;YACzC,aAAa,CAAC,IAAI,KAAK,cAAc,EACrC,CAAC;YACD,OAAO;QACT,CAAC;QAED,MAAM,YAAY,GAAG,mBAAmB,CAAC,aAAa,CAAC,CAAC;QAExD,gBAAgB,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC;QAEpD,mDAAmD;QACnD,IAAI,sBAAsB,IAAI,YAAY,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;YACvE,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC5B,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;YAC3B,CAAC,EAAE,aAAa,CAAC,CAAC;YAClB,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QAChD,CAAC;IACH,CAAC,EACD,CAAC,sBAAsB,EAAE,aAAa,EAAE,OAAO,CAAC,CACjD,CAAC;IAEF,+BAA+B;IAC/B,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAEnD,OAAO,GAAG,EAAE;YACV,WAAW,EAAE,CAAC;YACd,8BAA8B;YAC9B,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;YAC1D,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QAC5B,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC;IAE3B,OAAO;QACL,aAAa;QACb,OAAO;QACP,UAAU;KACX,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ComponentConflictGroup Component
|
|
3
|
+
*
|
|
4
|
+
* Displays conflicts for a single Puck component, showing each conflicting
|
|
5
|
+
* prop with source and target values and radio buttons for resolution.
|
|
6
|
+
*
|
|
7
|
+
* All visual styling uses inline React styles. BEM class names are retained
|
|
8
|
+
* as secondary identifiers for test assertions.
|
|
9
|
+
*/
|
|
10
|
+
import React from 'react';
|
|
11
|
+
import type { PuckFieldClassification } from '../../utils/puckFieldClassifier.js';
|
|
12
|
+
/**
|
|
13
|
+
* Props for the ComponentConflictGroup component.
|
|
14
|
+
*/
|
|
15
|
+
export interface ComponentConflictGroupProps {
|
|
16
|
+
/** The Puck component type name (e.g. "Heading", "Text") */
|
|
17
|
+
componentType: string;
|
|
18
|
+
/** The Puck component ID */
|
|
19
|
+
componentId: string;
|
|
20
|
+
/** Classified fields for this component */
|
|
21
|
+
fields: PuckFieldClassification[];
|
|
22
|
+
/** Display name of the source branch */
|
|
23
|
+
sourceBranchName: string;
|
|
24
|
+
/** Display name of the target branch */
|
|
25
|
+
targetBranchName: string;
|
|
26
|
+
/** Current resolution choices keyed by propName */
|
|
27
|
+
resolutions: Record<string, 'source' | 'target'>;
|
|
28
|
+
/** Callback when a resolution radio is selected */
|
|
29
|
+
onResolutionChange: (componentId: string, propName: string, choice: 'source' | 'target') => void;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Renders a group of conflicting fields for a single Puck component.
|
|
33
|
+
*
|
|
34
|
+
* Shows the component type as a header, a conflict count badge, and
|
|
35
|
+
* for each field: the prop name, source/target values, and radio
|
|
36
|
+
* buttons to choose which side to keep.
|
|
37
|
+
*
|
|
38
|
+
* @param props - {@link ComponentConflictGroupProps}
|
|
39
|
+
* @returns A React element displaying the conflict group with resolution controls.
|
|
40
|
+
*
|
|
41
|
+
* @example
|
|
42
|
+
* ```tsx
|
|
43
|
+
* <ComponentConflictGroup
|
|
44
|
+
* componentType="Heading"
|
|
45
|
+
* componentId="h1"
|
|
46
|
+
* fields={conflictingFields}
|
|
47
|
+
* sourceBranchName="feature"
|
|
48
|
+
* targetBranchName="main"
|
|
49
|
+
* resolutions={resolutions}
|
|
50
|
+
* onResolutionChange={handleChange}
|
|
51
|
+
* />
|
|
52
|
+
* ```
|
|
53
|
+
*/
|
|
54
|
+
export declare function ComponentConflictGroup({ componentType, componentId, fields, sourceBranchName, targetBranchName, resolutions, onResolutionChange, }: ComponentConflictGroupProps): React.ReactElement;
|
|
55
|
+
//# sourceMappingURL=ComponentConflictGroup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ComponentConflictGroup.d.ts","sourceRoot":"","sources":["../../../../src/merge/components/conflict-resolution/ComponentConflictGroup.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAElF;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C,4DAA4D;IAC5D,aAAa,EAAE,MAAM,CAAC;IACtB,4BAA4B;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,2CAA2C;IAC3C,MAAM,EAAE,uBAAuB,EAAE,CAAC;IAClC,wCAAwC;IACxC,gBAAgB,EAAE,MAAM,CAAC;IACzB,wCAAwC;IACxC,gBAAgB,EAAE,MAAM,CAAC;IACzB,mDAAmD;IACnD,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,GAAG,QAAQ,CAAC,CAAC;IACjD,mDAAmD;IACnD,kBAAkB,EAAE,CAClB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,QAAQ,GAAG,QAAQ,KACxB,IAAI,CAAC;CACX;AA+FD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,sBAAsB,CAAC,EACrC,aAAa,EACb,WAAW,EACX,MAAM,EACN,gBAAgB,EAChB,gBAAgB,EAChB,WAAW,EACX,kBAAkB,GACnB,EAAE,2BAA2B,GAAG,KAAK,CAAC,YAAY,CAuElD"}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
const baseClass = 'component-conflict-group';
|
|
3
|
+
// =============================================================================
|
|
4
|
+
// Inline Style Constants
|
|
5
|
+
// =============================================================================
|
|
6
|
+
const containerStyle = {
|
|
7
|
+
marginBottom: '16px',
|
|
8
|
+
};
|
|
9
|
+
const headerStyle = {
|
|
10
|
+
display: 'flex',
|
|
11
|
+
alignItems: 'center',
|
|
12
|
+
gap: '8px',
|
|
13
|
+
marginBottom: '8px',
|
|
14
|
+
};
|
|
15
|
+
const titleStyle = {
|
|
16
|
+
fontSize: '15px',
|
|
17
|
+
fontWeight: 600,
|
|
18
|
+
margin: 0,
|
|
19
|
+
};
|
|
20
|
+
const conflictCountStyle = {
|
|
21
|
+
fontSize: '12px',
|
|
22
|
+
padding: '2px 8px',
|
|
23
|
+
borderRadius: '10px',
|
|
24
|
+
background: '#fef3c7',
|
|
25
|
+
color: '#92400e',
|
|
26
|
+
};
|
|
27
|
+
const fieldsContainerStyle = {
|
|
28
|
+
display: 'flex',
|
|
29
|
+
flexDirection: 'column',
|
|
30
|
+
gap: '8px',
|
|
31
|
+
};
|
|
32
|
+
const fieldRowStyle = {
|
|
33
|
+
padding: '8px 12px',
|
|
34
|
+
border: '1px solid #e5e7eb',
|
|
35
|
+
borderRadius: '6px',
|
|
36
|
+
};
|
|
37
|
+
const fieldNameStyle = {
|
|
38
|
+
fontWeight: 500,
|
|
39
|
+
fontSize: '13px',
|
|
40
|
+
marginBottom: '4px',
|
|
41
|
+
};
|
|
42
|
+
const fieldValuesStyle = {
|
|
43
|
+
display: 'flex',
|
|
44
|
+
flexDirection: 'column',
|
|
45
|
+
gap: '4px',
|
|
46
|
+
};
|
|
47
|
+
const optionLabelStyle = {
|
|
48
|
+
display: 'flex',
|
|
49
|
+
alignItems: 'center',
|
|
50
|
+
gap: '6px',
|
|
51
|
+
fontSize: '13px',
|
|
52
|
+
cursor: 'pointer',
|
|
53
|
+
};
|
|
54
|
+
const branchNameStyle = {
|
|
55
|
+
fontWeight: 500,
|
|
56
|
+
color: '#374151',
|
|
57
|
+
};
|
|
58
|
+
const valueStyle = {
|
|
59
|
+
color: '#6b7280',
|
|
60
|
+
fontFamily: 'monospace',
|
|
61
|
+
fontSize: '12px',
|
|
62
|
+
};
|
|
63
|
+
// =============================================================================
|
|
64
|
+
// Helpers
|
|
65
|
+
// =============================================================================
|
|
66
|
+
/**
|
|
67
|
+
* Formats a value for display. Objects and arrays are JSON-stringified;
|
|
68
|
+
* primitives are converted to string directly.
|
|
69
|
+
*/
|
|
70
|
+
function formatValue(value) {
|
|
71
|
+
if (value === undefined)
|
|
72
|
+
return 'undefined';
|
|
73
|
+
if (value === null)
|
|
74
|
+
return 'null';
|
|
75
|
+
if (typeof value === 'object')
|
|
76
|
+
return JSON.stringify(value);
|
|
77
|
+
return String(value);
|
|
78
|
+
}
|
|
79
|
+
// =============================================================================
|
|
80
|
+
// Component
|
|
81
|
+
// =============================================================================
|
|
82
|
+
/**
|
|
83
|
+
* Renders a group of conflicting fields for a single Puck component.
|
|
84
|
+
*
|
|
85
|
+
* Shows the component type as a header, a conflict count badge, and
|
|
86
|
+
* for each field: the prop name, source/target values, and radio
|
|
87
|
+
* buttons to choose which side to keep.
|
|
88
|
+
*
|
|
89
|
+
* @param props - {@link ComponentConflictGroupProps}
|
|
90
|
+
* @returns A React element displaying the conflict group with resolution controls.
|
|
91
|
+
*
|
|
92
|
+
* @example
|
|
93
|
+
* ```tsx
|
|
94
|
+
* <ComponentConflictGroup
|
|
95
|
+
* componentType="Heading"
|
|
96
|
+
* componentId="h1"
|
|
97
|
+
* fields={conflictingFields}
|
|
98
|
+
* sourceBranchName="feature"
|
|
99
|
+
* targetBranchName="main"
|
|
100
|
+
* resolutions={resolutions}
|
|
101
|
+
* onResolutionChange={handleChange}
|
|
102
|
+
* />
|
|
103
|
+
* ```
|
|
104
|
+
*/
|
|
105
|
+
export function ComponentConflictGroup({ componentType, componentId, fields, sourceBranchName, targetBranchName, resolutions, onResolutionChange, }) {
|
|
106
|
+
const conflictCount = fields.filter((f) => f.classification === 'conflicting').length;
|
|
107
|
+
return (_jsxs("div", { className: baseClass, style: containerStyle, children: [_jsxs("div", { className: `${baseClass}__header`, style: headerStyle, children: [_jsx("h3", { className: `${baseClass}__title`, style: titleStyle, children: componentType }), _jsxs("span", { className: `${baseClass}__conflict-count`, style: conflictCountStyle, children: [conflictCount, " ", conflictCount === 1 ? 'conflict' : 'conflicts'] })] }), _jsx("div", { className: `${baseClass}__fields`, style: fieldsContainerStyle, children: fields.map((field) => {
|
|
108
|
+
const radioName = `${componentId}-${field.propName}`;
|
|
109
|
+
return (_jsxs("div", { className: `${baseClass}__field`, style: fieldRowStyle, children: [_jsx("div", { className: `${baseClass}__field-name`, style: fieldNameStyle, children: field.propName }), _jsxs("div", { className: `${baseClass}__field-values`, style: fieldValuesStyle, children: [_jsxs("label", { className: `${baseClass}__option`, style: optionLabelStyle, children: [_jsx("input", { type: "radio", name: radioName, value: "source", checked: resolutions[field.propName] === 'source', onChange: () => onResolutionChange(componentId, field.propName, 'source') }), _jsxs("span", { className: `${baseClass}__branch-name`, style: branchNameStyle, children: [sourceBranchName, ":"] }), ' ', _jsx("span", { className: `${baseClass}__value`, style: valueStyle, children: formatValue(field.sourceValue) })] }), _jsxs("label", { className: `${baseClass}__option`, style: optionLabelStyle, children: [_jsx("input", { type: "radio", name: radioName, value: "target", checked: resolutions[field.propName] === 'target', onChange: () => onResolutionChange(componentId, field.propName, 'target') }), _jsxs("span", { className: `${baseClass}__branch-name`, style: branchNameStyle, children: [targetBranchName, ":"] }), ' ', _jsx("span", { className: `${baseClass}__value`, style: valueStyle, children: formatValue(field.targetValue) })] })] })] }, field.propName));
|
|
110
|
+
}) })] }));
|
|
111
|
+
}
|
|
112
|
+
//# sourceMappingURL=ComponentConflictGroup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ComponentConflictGroup.js","sourceRoot":"","sources":["../../../../src/merge/components/conflict-resolution/ComponentConflictGroup.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PuckFieldResolutionPanel Component
|
|
3
|
+
*
|
|
4
|
+
* Main panel for Puck-aware field-level conflict resolution. Groups
|
|
5
|
+
* conflicts by component, separates auto-merged fields from conflicting
|
|
6
|
+
* fields, and provides radio-button resolution for each conflict.
|
|
7
|
+
*/
|
|
8
|
+
import React from 'react';
|
|
9
|
+
import type { PuckData } from '@pantheon-systems/css-client';
|
|
10
|
+
/**
|
|
11
|
+
* Props for the PuckFieldResolutionPanel component.
|
|
12
|
+
*/
|
|
13
|
+
export interface PuckFieldResolutionPanelProps {
|
|
14
|
+
/** The source branch snapshot */
|
|
15
|
+
sourceSnapshot: PuckData;
|
|
16
|
+
/** The target branch snapshot */
|
|
17
|
+
targetSnapshot: PuckData;
|
|
18
|
+
/** The common ancestor snapshot (null for two-way comparison) */
|
|
19
|
+
baseSnapshot: PuckData | null;
|
|
20
|
+
/** Display name of the source branch */
|
|
21
|
+
sourceBranchName: string;
|
|
22
|
+
/** Display name of the target branch */
|
|
23
|
+
targetBranchName: string;
|
|
24
|
+
/** Callback with the merged PuckData when user applies resolutions */
|
|
25
|
+
onResolve: (merged: PuckData) => void;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Main panel for Puck-aware field-level conflict resolution.
|
|
29
|
+
*
|
|
30
|
+
* Classifies all field changes between source and target, separates
|
|
31
|
+
* auto-merged fields from true conflicts, and renders radio-button
|
|
32
|
+
* resolution UI grouped by component.
|
|
33
|
+
*
|
|
34
|
+
* @param props - {@link PuckFieldResolutionPanelProps}
|
|
35
|
+
* @returns A React element containing the resolution UI with auto-merge summary,
|
|
36
|
+
* conflict groups, and an apply button.
|
|
37
|
+
*
|
|
38
|
+
* @example
|
|
39
|
+
* ```tsx
|
|
40
|
+
* <PuckFieldResolutionPanel
|
|
41
|
+
* sourceSnapshot={sourceBranchData}
|
|
42
|
+
* targetSnapshot={targetBranchData}
|
|
43
|
+
* baseSnapshot={commonAncestor}
|
|
44
|
+
* sourceBranchName="feature-branch"
|
|
45
|
+
* targetBranchName="main"
|
|
46
|
+
* onResolve={(merged) => saveMerged(merged)}
|
|
47
|
+
* />
|
|
48
|
+
* ```
|
|
49
|
+
*/
|
|
50
|
+
export declare function PuckFieldResolutionPanel({ sourceSnapshot, targetSnapshot, baseSnapshot, sourceBranchName, targetBranchName, onResolve, }: PuckFieldResolutionPanelProps): React.ReactElement;
|
|
51
|
+
//# sourceMappingURL=PuckFieldResolutionPanel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PuckFieldResolutionPanel.d.ts","sourceRoot":"","sources":["../../../../src/merge/components/conflict-resolution/PuckFieldResolutionPanel.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAyC,MAAM,OAAO,CAAC;AAC9D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAS7D;;GAEG;AACH,MAAM,WAAW,6BAA6B;IAC5C,iCAAiC;IACjC,cAAc,EAAE,QAAQ,CAAC;IACzB,iCAAiC;IACjC,cAAc,EAAE,QAAQ,CAAC;IACzB,iEAAiE;IACjE,YAAY,EAAE,QAAQ,GAAG,IAAI,CAAC;IAC9B,wCAAwC;IACxC,gBAAgB,EAAE,MAAM,CAAC;IACzB,wCAAwC;IACxC,gBAAgB,EAAE,MAAM,CAAC;IACzB,sEAAsE;IACtE,SAAS,EAAE,CAAC,MAAM,EAAE,QAAQ,KAAK,IAAI,CAAC;CACvC;AAWD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,wBAAwB,CAAC,EACvC,cAAc,EACd,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EAChB,SAAS,GACV,EAAE,6BAA6B,GAAG,KAAK,CAAC,YAAY,CA2HpD"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
/**
|
|
3
|
+
* PuckFieldResolutionPanel Component
|
|
4
|
+
*
|
|
5
|
+
* Main panel for Puck-aware field-level conflict resolution. Groups
|
|
6
|
+
* conflicts by component, separates auto-merged fields from conflicting
|
|
7
|
+
* fields, and provides radio-button resolution for each conflict.
|
|
8
|
+
*/
|
|
9
|
+
import { useState, useMemo, useCallback } from 'react';
|
|
10
|
+
import { classifyPuckFields, groupFieldsByComponent, buildMergedSnapshot, } from '../../utils/puckFieldClassifier.js';
|
|
11
|
+
import { ComponentConflictGroup } from './ComponentConflictGroup.js';
|
|
12
|
+
const baseClass = 'puck-field-resolution-panel';
|
|
13
|
+
/**
|
|
14
|
+
* Builds a unique key for a field resolution entry.
|
|
15
|
+
*/
|
|
16
|
+
function fieldKey(componentId, propName) {
|
|
17
|
+
return `${componentId}:${propName}`;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Main panel for Puck-aware field-level conflict resolution.
|
|
21
|
+
*
|
|
22
|
+
* Classifies all field changes between source and target, separates
|
|
23
|
+
* auto-merged fields from true conflicts, and renders radio-button
|
|
24
|
+
* resolution UI grouped by component.
|
|
25
|
+
*
|
|
26
|
+
* @param props - {@link PuckFieldResolutionPanelProps}
|
|
27
|
+
* @returns A React element containing the resolution UI with auto-merge summary,
|
|
28
|
+
* conflict groups, and an apply button.
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
* ```tsx
|
|
32
|
+
* <PuckFieldResolutionPanel
|
|
33
|
+
* sourceSnapshot={sourceBranchData}
|
|
34
|
+
* targetSnapshot={targetBranchData}
|
|
35
|
+
* baseSnapshot={commonAncestor}
|
|
36
|
+
* sourceBranchName="feature-branch"
|
|
37
|
+
* targetBranchName="main"
|
|
38
|
+
* onResolve={(merged) => saveMerged(merged)}
|
|
39
|
+
* />
|
|
40
|
+
* ```
|
|
41
|
+
*/
|
|
42
|
+
export function PuckFieldResolutionPanel({ sourceSnapshot, targetSnapshot, baseSnapshot, sourceBranchName, targetBranchName, onResolve, }) {
|
|
43
|
+
// Classify all fields
|
|
44
|
+
const allFields = useMemo(() => classifyPuckFields(sourceSnapshot, targetSnapshot, baseSnapshot), [sourceSnapshot, targetSnapshot, baseSnapshot]);
|
|
45
|
+
// Separate auto-merged from conflicting
|
|
46
|
+
const autoMergedFields = useMemo(() => allFields.filter((f) => f.classification === 'source-only' ||
|
|
47
|
+
f.classification === 'target-only'), [allFields]);
|
|
48
|
+
const conflictingFields = useMemo(() => allFields.filter((f) => f.classification === 'conflicting'), [allFields]);
|
|
49
|
+
// Group conflicting fields by component
|
|
50
|
+
const conflictGroups = useMemo(() => groupFieldsByComponent(conflictingFields), [conflictingFields]);
|
|
51
|
+
// Resolution state
|
|
52
|
+
const [resolutions, setResolutions] = useState({});
|
|
53
|
+
// Check if all conflicts are resolved
|
|
54
|
+
const allResolved = useMemo(() => {
|
|
55
|
+
if (conflictingFields.length === 0)
|
|
56
|
+
return true;
|
|
57
|
+
return conflictingFields.every((f) => resolutions[fieldKey(f.componentId, f.propName)] !== undefined);
|
|
58
|
+
}, [conflictingFields, resolutions]);
|
|
59
|
+
// Handle resolution change
|
|
60
|
+
const handleResolutionChange = useCallback((componentId, propName, choice) => {
|
|
61
|
+
setResolutions((prev) => ({
|
|
62
|
+
...prev,
|
|
63
|
+
[fieldKey(componentId, propName)]: choice,
|
|
64
|
+
}));
|
|
65
|
+
}, []);
|
|
66
|
+
// Handle apply
|
|
67
|
+
const handleApply = useCallback(() => {
|
|
68
|
+
const merged = buildMergedSnapshot(sourceSnapshot, targetSnapshot, allFields, resolutions);
|
|
69
|
+
onResolve(merged);
|
|
70
|
+
}, [sourceSnapshot, targetSnapshot, allFields, resolutions, onResolve]);
|
|
71
|
+
return (_jsxs("div", { className: baseClass, children: [_jsx("h2", { className: `${baseClass}__title`, children: "Resolve field conflicts" }), autoMergedFields.length > 0 && (_jsx("div", { className: `${baseClass}__auto-merged`, children: _jsxs("p", { className: `${baseClass}__auto-merged-summary`, children: [autoMergedFields.length, ' ', autoMergedFields.length === 1 ? 'field was' : 'fields were', " auto-merged"] }) })), conflictGroups.length > 0 && (_jsxs("div", { className: `${baseClass}__conflicts`, children: [_jsx("h3", { className: `${baseClass}__conflicts-title`, children: "Conflicts requiring resolution" }), conflictGroups.map((group) => (_jsx(ComponentConflictGroup, { componentType: group.componentType, componentId: group.componentId, fields: group.fields, sourceBranchName: sourceBranchName, targetBranchName: targetBranchName, resolutions: Object.fromEntries(Object.entries(resolutions)
|
|
72
|
+
.filter(([k]) => k.startsWith(`${group.componentId}:`))
|
|
73
|
+
.map(([k, v]) => [k.split(':').slice(1).join(':'), v])), onResolutionChange: handleResolutionChange }, group.componentId)))] })), conflictGroups.length === 0 && autoMergedFields.length > 0 && (_jsx("p", { className: `${baseClass}__no-conflicts`, children: "All changes were auto-merged. No manual resolution needed." })), _jsx("div", { className: `${baseClass}__actions`, children: _jsx("button", { type: "button", className: `${baseClass}__apply-button`, disabled: !allResolved, onClick: handleApply, children: "Apply resolution" }) })] }));
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=PuckFieldResolutionPanel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PuckFieldResolutionPanel.js","sourceRoot":"","sources":["../../../../src/merge/components/conflict-resolution/PuckFieldResolutionPanel.tsx"],"names":[],"mappings":";AAAA;;;;;;GAMG;AAEH,OAAc,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAE9D,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,mBAAmB,GACpB,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAoBrE,MAAM,SAAS,GAAG,6BAA6B,CAAC;AAEhD;;GAEG;AACH,SAAS,QAAQ,CAAC,WAAmB,EAAE,QAAgB;IACrD,OAAO,GAAG,WAAW,IAAI,QAAQ,EAAE,CAAC;AACtC,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,wBAAwB,CAAC,EACvC,cAAc,EACd,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EAChB,SAAS,GACqB;IAC9B,sBAAsB;IACtB,MAAM,SAAS,GAAG,OAAO,CACvB,GAAG,EAAE,CAAC,kBAAkB,CAAC,cAAc,EAAE,cAAc,EAAE,YAAY,CAAC,EACtE,CAAC,cAAc,EAAE,cAAc,EAAE,YAAY,CAAC,CAC/C,CAAC;IAEF,wCAAwC;IACxC,MAAM,gBAAgB,GAAG,OAAO,CAC9B,GAAG,EAAE,CACH,SAAS,CAAC,MAAM,CACd,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,cAAc,KAAK,aAAa;QAClC,CAAC,CAAC,cAAc,KAAK,aAAa,CACrC,EACH,CAAC,SAAS,CAAC,CACZ,CAAC;IAEF,MAAM,iBAAiB,GAAG,OAAO,CAC/B,GAAG,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,KAAK,aAAa,CAAC,EACjE,CAAC,SAAS,CAAC,CACZ,CAAC;IAEF,wCAAwC;IACxC,MAAM,cAAc,GAAG,OAAO,CAC5B,GAAG,EAAE,CAAC,sBAAsB,CAAC,iBAAiB,CAAC,EAC/C,CAAC,iBAAiB,CAAC,CACpB,CAAC;IAEF,mBAAmB;IACnB,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAgB,EAAE,CAAC,CAAC;IAElE,sCAAsC;IACtC,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE;QAC/B,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAChD,OAAO,iBAAiB,CAAC,KAAK,CAC5B,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,KAAK,SAAS,CACtE,CAAC;IACJ,CAAC,EAAE,CAAC,iBAAiB,EAAE,WAAW,CAAC,CAAC,CAAC;IAErC,2BAA2B;IAC3B,MAAM,sBAAsB,GAAG,WAAW,CACxC,CAAC,WAAmB,EAAE,QAAgB,EAAE,MAA2B,EAAE,EAAE;QACrE,cAAc,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACxB,GAAG,IAAI;YACP,CAAC,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,EAAE,MAAM;SAC1C,CAAC,CAAC,CAAC;IACN,CAAC,EACD,EAAE,CACH,CAAC;IAEF,eAAe;IACf,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE;QACnC,MAAM,MAAM,GAAG,mBAAmB,CAChC,cAAc,EACd,cAAc,EACd,SAAS,EACT,WAAW,CACZ,CAAC;QACF,SAAS,CAAC,MAAM,CAAC,CAAC;IACpB,CAAC,EAAE,CAAC,cAAc,EAAE,cAAc,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC;IAExE,OAAO,CACL,eAAK,SAAS,EAAE,SAAS,aACvB,aAAI,SAAS,EAAE,GAAG,SAAS,SAAS,wCAA8B,EAGjE,gBAAgB,CAAC,MAAM,GAAG,CAAC,IAAI,CAC9B,cAAK,SAAS,EAAE,GAAG,SAAS,eAAe,YACzC,aAAG,SAAS,EAAE,GAAG,SAAS,uBAAuB,aAC9C,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAC5B,gBAAgB,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa,oBAC1D,GACA,CACP,EAGA,cAAc,CAAC,MAAM,GAAG,CAAC,IAAI,CAC5B,eAAK,SAAS,EAAE,GAAG,SAAS,aAAa,aACvC,aAAI,SAAS,EAAE,GAAG,SAAS,mBAAmB,+CAEzC,EACJ,cAAc,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAC7B,KAAC,sBAAsB,IAErB,aAAa,EAAE,KAAK,CAAC,aAAa,EAClC,WAAW,EAAE,KAAK,CAAC,WAAW,EAC9B,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,gBAAgB,EAAE,gBAAgB,EAClC,gBAAgB,EAAE,gBAAgB,EAClC,WAAW,EACT,MAAM,CAAC,WAAW,CAChB,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC;6BACxB,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,WAAW,GAAG,CAAC,CAAC;6BACtD,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CACzD,EAEH,kBAAkB,EAAE,sBAAsB,IAbrC,KAAK,CAAC,WAAW,CActB,CACH,CAAC,IACE,CACP,EAGA,cAAc,CAAC,MAAM,KAAK,CAAC,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,IAAI,CAC7D,YAAG,SAAS,EAAE,GAAG,SAAS,gBAAgB,2EAEtC,CACL,EAGD,cAAK,SAAS,EAAE,GAAG,SAAS,WAAW,YACrC,iBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,GAAG,SAAS,gBAAgB,EACvC,QAAQ,EAAE,CAAC,WAAW,EACtB,OAAO,EAAE,WAAW,iCAGb,GACL,IACF,CACP,CAAC;AACJ,CAAC"}
|