@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,126 @@
|
|
|
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
|
+
import { Component, useEffect, useState } from 'react';
|
|
14
|
+
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
|
+
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
|
+
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
|
+
export function _resetSyncTracking() {
|
|
35
|
+
lastSyncedKeyModule = null;
|
|
36
|
+
}
|
|
37
|
+
class PuckContextErrorBoundary extends Component {
|
|
38
|
+
constructor(props) {
|
|
39
|
+
super(props);
|
|
40
|
+
this.state = { hasError: false, lastSyncKey: props.syncKey };
|
|
41
|
+
}
|
|
42
|
+
static getDerivedStateFromError() {
|
|
43
|
+
return { hasError: true };
|
|
44
|
+
}
|
|
45
|
+
static getDerivedStateFromProps(props, state) {
|
|
46
|
+
// Reset error state when syncKey changes - allows retry on new sync attempts
|
|
47
|
+
if (props.syncKey !== state.lastSyncKey) {
|
|
48
|
+
return { hasError: false, lastSyncKey: props.syncKey };
|
|
49
|
+
}
|
|
50
|
+
return null;
|
|
51
|
+
}
|
|
52
|
+
componentDidCatch(error) {
|
|
53
|
+
// Only suppress "usePuck must be used inside <Puck>" errors
|
|
54
|
+
if (!error.message?.includes('usePuck')) {
|
|
55
|
+
// Re-throw other errors
|
|
56
|
+
throw error;
|
|
57
|
+
}
|
|
58
|
+
// Silently ignore usePuck context errors - the sync will work on subsequent renders
|
|
59
|
+
}
|
|
60
|
+
render() {
|
|
61
|
+
if (this.state.hasError) {
|
|
62
|
+
// Render nothing when there's an error - sync will be retried when syncKey changes
|
|
63
|
+
return null;
|
|
64
|
+
}
|
|
65
|
+
return this.props.children;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Inner component that uses usePuck (only rendered after mount when context is ready)
|
|
70
|
+
*/
|
|
71
|
+
function PuckDataSynchronizerInner({ data, syncKey, }) {
|
|
72
|
+
// Use selector to only subscribe to dispatch, avoiding re-renders on other state changes
|
|
73
|
+
const dispatch = usePuckDispatch((s) => s.dispatch);
|
|
74
|
+
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
|
+
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
|
+
lastSyncedKeyModule = syncKey;
|
|
89
|
+
// Dispatch setData to update Puck's internal state
|
|
90
|
+
dispatch({
|
|
91
|
+
type: 'setData',
|
|
92
|
+
data: data,
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
}, [data, syncKey, dispatch]);
|
|
96
|
+
// This component renders nothing
|
|
97
|
+
return null;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Syncs external data changes to Puck without remounting.
|
|
101
|
+
*
|
|
102
|
+
* This component renders nothing but uses an effect to dispatch
|
|
103
|
+
* setData actions when the external data changes.
|
|
104
|
+
*
|
|
105
|
+
* It safely handles cases where Puck's context might not be ready yet
|
|
106
|
+
* by deferring the sync until after the first render using setTimeout
|
|
107
|
+
* to ensure Puck's context provider is fully initialized.
|
|
108
|
+
*
|
|
109
|
+
* An error boundary catches any "usePuck must be used inside <Puck>"
|
|
110
|
+
* errors for React 19 compatibility.
|
|
111
|
+
*/
|
|
112
|
+
export function PuckDataSynchronizer({ data, syncKey, }) {
|
|
113
|
+
const [isReady, setIsReady] = useState(false);
|
|
114
|
+
useEffect(() => {
|
|
115
|
+
// Use setTimeout to defer to a later tick, ensuring Puck's context is fully set up
|
|
116
|
+
const timer = setTimeout(() => {
|
|
117
|
+
setIsReady(true);
|
|
118
|
+
}, 0);
|
|
119
|
+
return () => clearTimeout(timer);
|
|
120
|
+
}, []);
|
|
121
|
+
if (!isReady) {
|
|
122
|
+
return null;
|
|
123
|
+
}
|
|
124
|
+
return (_jsx(PuckContextErrorBoundary, { syncKey: syncKey, children: _jsx(PuckDataSynchronizerInner, { data: data, syncKey: syncKey }) }));
|
|
125
|
+
}
|
|
126
|
+
//# sourceMappingURL=PuckDataSynchronizer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PuckDataSynchronizer.js","sourceRoot":"","sources":["../../../src/editor/components/PuckDataSynchronizer.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,47 @@
|
|
|
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
|
+
export interface PuckSelectionTrackerProps {
|
|
11
|
+
/**
|
|
12
|
+
* Callback when selection changes.
|
|
13
|
+
* @param path - JSON path of the selected item (e.g., "/content/0"), or null if deselected
|
|
14
|
+
* @param itemId - The component's ID, or null if deselected
|
|
15
|
+
*/
|
|
16
|
+
onSelectionChange: (path: string | null, itemId: string | null) => void;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Watches Puck's selection state and calls onSelectionChange when it changes.
|
|
20
|
+
*
|
|
21
|
+
* This component renders nothing but uses Puck's internal state to track
|
|
22
|
+
* which component the user has selected. The path is formatted to match
|
|
23
|
+
* the JSON path format used by the backend for region conflict detection.
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* ```tsx
|
|
27
|
+
* function PuckWithTracking() {
|
|
28
|
+
* const { setFocusRegions, clearFocus } = useFocusRegionReporting();
|
|
29
|
+
*
|
|
30
|
+
* const handleSelectionChange = (path, itemId) => {
|
|
31
|
+
* if (path) {
|
|
32
|
+
* setFocusRegions([path]);
|
|
33
|
+
* } else {
|
|
34
|
+
* clearFocus();
|
|
35
|
+
* }
|
|
36
|
+
* };
|
|
37
|
+
*
|
|
38
|
+
* return (
|
|
39
|
+
* <Puck {...config}>
|
|
40
|
+
* <PuckSelectionTracker onSelectionChange={handleSelectionChange} />
|
|
41
|
+
* </Puck>
|
|
42
|
+
* );
|
|
43
|
+
* }
|
|
44
|
+
* ```
|
|
45
|
+
*/
|
|
46
|
+
export declare function PuckSelectionTracker({ onSelectionChange, }: PuckSelectionTrackerProps): null;
|
|
47
|
+
//# sourceMappingURL=PuckSelectionTracker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PuckSelectionTracker.d.ts","sourceRoot":"","sources":["../../../src/editor/components/PuckSelectionTracker.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAQH,MAAM,WAAW,yBAAyB;IACxC;;;;OAIG;IACH,iBAAiB,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;CACzE;AA+BD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,oBAAoB,CAAC,EACnC,iBAAiB,GAClB,EAAE,yBAAyB,GAAG,IAAI,CA4BlC"}
|
|
@@ -0,0 +1,93 @@
|
|
|
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
|
+
import { useEffect, useRef } from 'react';
|
|
11
|
+
import { createUsePuck } from '@puckeditor/core';
|
|
12
|
+
// Create a usePuck hook with selector to watch selection state
|
|
13
|
+
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
|
+
function selectorToPath(zone, index) {
|
|
27
|
+
// Root zone: "root:default-zone" maps to data.content array
|
|
28
|
+
if (zone === 'root:default-zone') {
|
|
29
|
+
return `/content/${index}`;
|
|
30
|
+
}
|
|
31
|
+
// Legacy format: "content" also maps to data.content array
|
|
32
|
+
if (zone === 'content') {
|
|
33
|
+
return `/content/${index}`;
|
|
34
|
+
}
|
|
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
|
+
return `/zones/${zone}/${index}`;
|
|
39
|
+
}
|
|
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
|
+
export function PuckSelectionTracker({ onSelectionChange, }) {
|
|
69
|
+
// Track previous values to detect changes (use undefined to distinguish from null)
|
|
70
|
+
const prevPathRef = useRef(undefined);
|
|
71
|
+
const prevItemIdRef = useRef(undefined);
|
|
72
|
+
// Use selector to get just the parts we need
|
|
73
|
+
const itemSelector = usePuckSelection((state) => state.appState.ui.itemSelector);
|
|
74
|
+
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
|
+
const path = itemSelector && itemSelector.zone !== undefined && itemSelector.index !== undefined
|
|
78
|
+
? selectorToPath(itemSelector.zone, itemSelector.index)
|
|
79
|
+
: null;
|
|
80
|
+
const itemId = selectedItem?.props?.id ?? null;
|
|
81
|
+
// Call onSelectionChange when values change (or on initial render)
|
|
82
|
+
useEffect(() => {
|
|
83
|
+
// Use undefined as initial state to ensure we call on first render
|
|
84
|
+
if (prevPathRef.current === undefined || path !== prevPathRef.current || itemId !== prevItemIdRef.current) {
|
|
85
|
+
prevPathRef.current = path;
|
|
86
|
+
prevItemIdRef.current = itemId;
|
|
87
|
+
onSelectionChange(path, itemId);
|
|
88
|
+
}
|
|
89
|
+
}, [path, itemId, onSelectionChange]);
|
|
90
|
+
// This component renders nothing
|
|
91
|
+
return null;
|
|
92
|
+
}
|
|
93
|
+
//# sourceMappingURL=PuckSelectionTracker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PuckSelectionTracker.js","sourceRoot":"","sources":["../../../src/editor/components/PuckSelectionTracker.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,+DAA+D;AAC/D,MAAM,gBAAgB,GAAG,aAAa,EAAE,CAAC;AAWzC;;;;;;;;;;;GAWG;AACH,SAAS,cAAc,CAAC,IAAY,EAAE,KAAa;IACjD,4DAA4D;IAC5D,IAAI,IAAI,KAAK,mBAAmB,EAAE,CAAC;QACjC,OAAO,YAAY,KAAK,EAAE,CAAC;IAC7B,CAAC;IAED,2DAA2D;IAC3D,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,OAAO,YAAY,KAAK,EAAE,CAAC;IAC7B,CAAC;IAED,kDAAkD;IAClD,sDAAsD;IACtD,6DAA6D;IAC7D,OAAO,UAAU,IAAI,IAAI,KAAK,EAAE,CAAC;AACnC,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,UAAU,oBAAoB,CAAC,EACnC,iBAAiB,GACS;IAC1B,mFAAmF;IACnF,MAAM,WAAW,GAAG,MAAM,CAA4B,SAAS,CAAC,CAAC;IACjE,MAAM,aAAa,GAAG,MAAM,CAA4B,SAAS,CAAC,CAAC;IAEnE,6CAA6C;IAC7C,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;IAErE,6BAA6B;IAC7B,wEAAwE;IACxE,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;IAE/C,mEAAmE;IACnE,SAAS,CAAC,GAAG,EAAE;QACb,mEAAmE;QACnE,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;IAEtC,iCAAiC;IACjC,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SaveIndicator Component
|
|
3
|
+
*
|
|
4
|
+
* Displays the current save status.
|
|
5
|
+
* Supports both direct props (legacy) and getter functions (preferred for performance).
|
|
6
|
+
* Using getter functions avoids recreating parent components on status changes.
|
|
7
|
+
*/
|
|
8
|
+
import React from 'react';
|
|
9
|
+
import type { SaveStatus } from '../../core/types.js';
|
|
10
|
+
interface SaveIndicatorProps {
|
|
11
|
+
/**
|
|
12
|
+
* Getter function for current save status.
|
|
13
|
+
* Using a getter instead of direct value allows parent components to remain stable.
|
|
14
|
+
* Preferred over `status` prop for performance.
|
|
15
|
+
*/
|
|
16
|
+
getStatus?: () => SaveStatus;
|
|
17
|
+
/**
|
|
18
|
+
* Getter function for last successful save timestamp.
|
|
19
|
+
* Preferred over `lastSaved` prop for performance.
|
|
20
|
+
*/
|
|
21
|
+
getLastSaved?: () => Date | null;
|
|
22
|
+
/**
|
|
23
|
+
* Getter function for last error (if status is 'error').
|
|
24
|
+
* Preferred over `error` prop for performance.
|
|
25
|
+
*/
|
|
26
|
+
getError?: () => Error | null;
|
|
27
|
+
/**
|
|
28
|
+
* Direct save status value (legacy API).
|
|
29
|
+
* @deprecated Use getStatus getter for better performance.
|
|
30
|
+
*/
|
|
31
|
+
status?: SaveStatus;
|
|
32
|
+
/**
|
|
33
|
+
* Direct last saved timestamp (legacy API).
|
|
34
|
+
* @deprecated Use getLastSaved getter for better performance.
|
|
35
|
+
*/
|
|
36
|
+
lastSaved?: Date | null;
|
|
37
|
+
/**
|
|
38
|
+
* Direct error value (legacy API).
|
|
39
|
+
* @deprecated Use getError getter for better performance.
|
|
40
|
+
*/
|
|
41
|
+
error?: Error | null;
|
|
42
|
+
/**
|
|
43
|
+
* Callback to retry save on error.
|
|
44
|
+
*/
|
|
45
|
+
onRetry?: () => void;
|
|
46
|
+
/**
|
|
47
|
+
* Additional CSS class name.
|
|
48
|
+
*/
|
|
49
|
+
className?: string;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Component that displays the current save status.
|
|
53
|
+
* Supports both getter functions (preferred) and direct props (legacy).
|
|
54
|
+
* When using getters, the component polls for updates allowing parent components to remain stable.
|
|
55
|
+
*
|
|
56
|
+
* @example
|
|
57
|
+
* ```tsx
|
|
58
|
+
* // Preferred: using getters (avoids parent re-renders)
|
|
59
|
+
* <SaveIndicator
|
|
60
|
+
* getStatus={() => saveStatusRef.current}
|
|
61
|
+
* getLastSaved={() => lastSavedRef.current}
|
|
62
|
+
* getError={() => saveErrorRef.current}
|
|
63
|
+
* onRetry={saveNow}
|
|
64
|
+
* />
|
|
65
|
+
*
|
|
66
|
+
* // Legacy: using direct props
|
|
67
|
+
* <SaveIndicator
|
|
68
|
+
* status={saveStatus}
|
|
69
|
+
* lastSaved={lastSavedDate}
|
|
70
|
+
* error={saveError}
|
|
71
|
+
* onRetry={saveNow}
|
|
72
|
+
* />
|
|
73
|
+
* ```
|
|
74
|
+
*/
|
|
75
|
+
export declare function SaveIndicator({ getStatus, getLastSaved, getError, status: directStatus, lastSaved: directLastSaved, error: directError, onRetry, className, }: SaveIndicatorProps): React.ReactElement;
|
|
76
|
+
export {};
|
|
77
|
+
//# sourceMappingURL=SaveIndicator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SaveIndicator.d.ts","sourceRoot":"","sources":["../../../src/editor/components/SaveIndicator.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAA2C,MAAM,OAAO,CAAC;AAChE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEtD,UAAU,kBAAkB;IAC1B;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,UAAU,CAAC;IAE7B;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;IAEjC;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,KAAK,GAAG,IAAI,CAAC;IAE9B;;;OAGG;IACH,MAAM,CAAC,EAAE,UAAU,CAAC;IAEpB;;;OAGG;IACH,SAAS,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAExB;;;OAGG;IACH,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC;IAErB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IAErB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AA+BD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,aAAa,CAAC,EAC5B,SAAS,EACT,YAAY,EACZ,QAAQ,EACR,MAAM,EAAE,YAAY,EACpB,SAAS,EAAE,eAAe,EAC1B,KAAK,EAAE,WAAW,EAClB,OAAO,EACP,SAAc,GACf,EAAE,kBAAkB,GAAG,KAAK,CAAC,YAAY,CAqHzC"}
|
|
@@ -0,0 +1,114 @@
|
|
|
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
|
+
import { useState, useEffect, useCallback } from 'react';
|
|
10
|
+
/**
|
|
11
|
+
* Formats a date as a relative time string (e.g., "2 minutes ago").
|
|
12
|
+
*/
|
|
13
|
+
function formatRelativeTime(date) {
|
|
14
|
+
const now = new Date();
|
|
15
|
+
const diffMs = now.getTime() - date.getTime();
|
|
16
|
+
const diffSeconds = Math.floor(diffMs / 1000);
|
|
17
|
+
if (diffSeconds < 5) {
|
|
18
|
+
return 'just now';
|
|
19
|
+
}
|
|
20
|
+
if (diffSeconds < 60) {
|
|
21
|
+
return `${diffSeconds} seconds ago`;
|
|
22
|
+
}
|
|
23
|
+
const diffMinutes = Math.floor(diffSeconds / 60);
|
|
24
|
+
if (diffMinutes < 60) {
|
|
25
|
+
return diffMinutes === 1 ? '1 minute ago' : `${diffMinutes} minutes ago`;
|
|
26
|
+
}
|
|
27
|
+
const diffHours = Math.floor(diffMinutes / 60);
|
|
28
|
+
if (diffHours < 24) {
|
|
29
|
+
return diffHours === 1 ? '1 hour ago' : `${diffHours} hours ago`;
|
|
30
|
+
}
|
|
31
|
+
return date.toLocaleString();
|
|
32
|
+
}
|
|
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
|
+
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
|
+
const usingGetters = typeof getStatus === 'function';
|
|
60
|
+
// Internal state that triggers re-renders when values change
|
|
61
|
+
const [status, setStatus] = useState(usingGetters && getStatus ? getStatus() : (directStatus ?? 'idle'));
|
|
62
|
+
const [lastSaved, setLastSaved] = useState(usingGetters ? getLastSaved?.() ?? null : (directLastSaved ?? null));
|
|
63
|
+
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
|
+
const updateFromGetters = useCallback(() => {
|
|
67
|
+
if (!usingGetters)
|
|
68
|
+
return;
|
|
69
|
+
const newStatus = getStatus();
|
|
70
|
+
const newLastSaved = getLastSaved?.() ?? null;
|
|
71
|
+
const newError = getError?.() ?? null;
|
|
72
|
+
if (newStatus !== status) {
|
|
73
|
+
setStatus(newStatus);
|
|
74
|
+
}
|
|
75
|
+
if (newLastSaved !== lastSaved) {
|
|
76
|
+
setLastSaved(newLastSaved);
|
|
77
|
+
}
|
|
78
|
+
if (newError !== error) {
|
|
79
|
+
setError(newError);
|
|
80
|
+
}
|
|
81
|
+
}, [usingGetters, getStatus, getLastSaved, getError, status, lastSaved, error]);
|
|
82
|
+
// Poll frequently to catch status changes quickly (getter API only)
|
|
83
|
+
useEffect(() => {
|
|
84
|
+
if (!usingGetters)
|
|
85
|
+
return;
|
|
86
|
+
const interval = setInterval(updateFromGetters, 100);
|
|
87
|
+
return () => clearInterval(interval);
|
|
88
|
+
}, [usingGetters, updateFromGetters]);
|
|
89
|
+
// Also update immediately on mount and when getters change
|
|
90
|
+
useEffect(() => {
|
|
91
|
+
if (usingGetters) {
|
|
92
|
+
updateFromGetters();
|
|
93
|
+
}
|
|
94
|
+
}, [usingGetters, updateFromGetters]);
|
|
95
|
+
// For direct props API, sync state when props change
|
|
96
|
+
useEffect(() => {
|
|
97
|
+
if (!usingGetters && directStatus !== undefined) {
|
|
98
|
+
setStatus(directStatus);
|
|
99
|
+
}
|
|
100
|
+
}, [usingGetters, directStatus]);
|
|
101
|
+
useEffect(() => {
|
|
102
|
+
if (!usingGetters) {
|
|
103
|
+
setLastSaved(directLastSaved ?? null);
|
|
104
|
+
}
|
|
105
|
+
}, [usingGetters, directLastSaved]);
|
|
106
|
+
useEffect(() => {
|
|
107
|
+
if (!usingGetters) {
|
|
108
|
+
setError(directError ?? null);
|
|
109
|
+
}
|
|
110
|
+
}, [usingGetters, directError]);
|
|
111
|
+
const baseClass = 'css-puck-save-indicator';
|
|
112
|
+
return (_jsxs("div", { className: `${baseClass} ${baseClass}--${status} ${className}`, children: [status === 'idle' && lastSaved && (_jsxs("span", { className: `${baseClass}__text`, children: ["Saved ", formatRelativeTime(lastSaved)] })), status === 'saving' && (_jsxs(_Fragment, { children: [_jsx("span", { className: `${baseClass}__spinner`, "aria-hidden": "true" }), _jsx("span", { className: `${baseClass}__text`, children: "Saving..." })] })), status === 'saved' && (_jsxs(_Fragment, { children: [_jsx("span", { className: `${baseClass}__icon ${baseClass}__icon--success`, "aria-hidden": "true", children: "\u2713" }), _jsxs("span", { className: `${baseClass}__text`, children: ["Saved ", lastSaved ? formatRelativeTime(lastSaved) : ''] })] })), status === 'error' && (_jsxs(_Fragment, { children: [_jsx("span", { className: `${baseClass}__icon ${baseClass}__icon--error`, "aria-hidden": "true", children: "\u2715" }), _jsxs("span", { className: `${baseClass}__text`, children: ["Save failed", error ? `: ${error.message}` : ''] }), onRetry && (_jsx("button", { type: "button", className: `pds-button pds-button--subtle pds-button--sm ${baseClass}__retry`, onClick: onRetry, "aria-label": "Retry save", children: "Retry" }))] }))] }));
|
|
113
|
+
}
|
|
114
|
+
//# sourceMappingURL=SaveIndicator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SaveIndicator.js","sourceRoot":"","sources":["../../../src/editor/components/SaveIndicator.tsx"],"names":[],"mappings":";AAAA;;;;;;GAMG;AAEH,OAAc,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAoDhE;;GAEG;AACH,SAAS,kBAAkB,CAAC,IAAU;IACpC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IACvB,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;IAC9C,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAE9C,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;QACpB,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,IAAI,WAAW,GAAG,EAAE,EAAE,CAAC;QACrB,OAAO,GAAG,WAAW,cAAc,CAAC;IACtC,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,EAAE,CAAC,CAAC;IACjD,IAAI,WAAW,GAAG,EAAE,EAAE,CAAC;QACrB,OAAO,WAAW,KAAK,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,WAAW,cAAc,CAAC;IAC3E,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,EAAE,CAAC,CAAC;IAC/C,IAAI,SAAS,GAAG,EAAE,EAAE,CAAC;QACnB,OAAO,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,SAAS,YAAY,CAAC;IACnE,CAAC;IAED,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC;AAC/B,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,UAAU,aAAa,CAAC,EAC5B,SAAS,EACT,YAAY,EACZ,QAAQ,EACR,MAAM,EAAE,YAAY,EACpB,SAAS,EAAE,eAAe,EAC1B,KAAK,EAAE,WAAW,EAClB,OAAO,EACP,SAAS,GAAG,EAAE,GACK;IACnB,oDAAoD;IACpD,MAAM,YAAY,GAAG,OAAO,SAAS,KAAK,UAAU,CAAC;IAErD,6DAA6D;IAC7D,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAClC,YAAY,IAAI,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,IAAI,MAAM,CAAC,CACnE,CAAC;IACF,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CACxC,YAAY,CAAC,CAAC,CAAC,YAAY,EAAE,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,eAAe,IAAI,IAAI,CAAC,CACpE,CAAC;IACF,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAChC,YAAY,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,IAAI,CAAC,CAC5D,CAAC;IAEF,qEAAqE;IACrE,6EAA6E;IAC7E,MAAM,iBAAiB,GAAG,WAAW,CAAC,GAAG,EAAE;QACzC,IAAI,CAAC,YAAY;YAAE,OAAO;QAE1B,MAAM,SAAS,GAAG,SAAS,EAAE,CAAC;QAC9B,MAAM,YAAY,GAAG,YAAY,EAAE,EAAE,IAAI,IAAI,CAAC;QAC9C,MAAM,QAAQ,GAAG,QAAQ,EAAE,EAAE,IAAI,IAAI,CAAC;QAEtC,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;YACzB,SAAS,CAAC,SAAS,CAAC,CAAC;QACvB,CAAC;QACD,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YAC/B,YAAY,CAAC,YAAY,CAAC,CAAC;QAC7B,CAAC;QACD,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;YACvB,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACrB,CAAC;IACH,CAAC,EAAE,CAAC,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;IAEhF,oEAAoE;IACpE,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,YAAY;YAAE,OAAO;QAE1B,MAAM,QAAQ,GAAG,WAAW,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC;QACrD,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC,EAAE,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAEtC,2DAA2D;IAC3D,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,YAAY,EAAE,CAAC;YACjB,iBAAiB,EAAE,CAAC;QACtB,CAAC;IACH,CAAC,EAAE,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAEtC,qDAAqD;IACrD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,YAAY,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YAChD,SAAS,CAAC,YAAY,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC,EAAE,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC;IAEjC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,YAAY,CAAC,eAAe,IAAI,IAAI,CAAC,CAAC;QACxC,CAAC;IACH,CAAC,EAAE,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC,CAAC;IAEpC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,QAAQ,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC;QAChC,CAAC;IACH,CAAC,EAAE,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC;IAEhC,MAAM,SAAS,GAAG,yBAAyB,CAAC;IAE5C,OAAO,CACL,eAAK,SAAS,EAAE,GAAG,SAAS,IAAI,SAAS,KAAK,MAAM,IAAI,SAAS,EAAE,aAChE,MAAM,KAAK,MAAM,IAAI,SAAS,IAAI,CACjC,gBAAM,SAAS,EAAE,GAAG,SAAS,QAAQ,uBAAS,kBAAkB,CAAC,SAAS,CAAC,IAAQ,CACpF,EAEA,MAAM,KAAK,QAAQ,IAAI,CACtB,8BACE,eAAM,SAAS,EAAE,GAAG,SAAS,WAAW,iBAAc,MAAM,GAAG,EAC/D,eAAM,SAAS,EAAE,GAAG,SAAS,QAAQ,0BAAkB,IACtD,CACJ,EAEA,MAAM,KAAK,OAAO,IAAI,CACrB,8BACE,eAAM,SAAS,EAAE,GAAG,SAAS,UAAU,SAAS,iBAAiB,iBAAc,MAAM,uBAE9E,EACP,gBAAM,SAAS,EAAE,GAAG,SAAS,QAAQ,uBAC5B,SAAS,CAAC,CAAC,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,IAChD,IACN,CACJ,EAEA,MAAM,KAAK,OAAO,IAAI,CACrB,8BACE,eAAM,SAAS,EAAE,GAAG,SAAS,UAAU,SAAS,eAAe,iBAAc,MAAM,uBAE5E,EACP,gBAAM,SAAS,EAAE,GAAG,SAAS,QAAQ,4BACvB,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,IACxC,EACN,OAAO,IAAI,CACV,iBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,gDAAgD,SAAS,SAAS,EAC7E,OAAO,EAAE,OAAO,gBACL,YAAY,sBAGhB,CACV,IACA,CACJ,IACG,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Toast Component
|
|
3
|
+
*
|
|
4
|
+
* Displays a single notification toast.
|
|
5
|
+
*/
|
|
6
|
+
import React from 'react';
|
|
7
|
+
import type { Notification } from '../../core/types.js';
|
|
8
|
+
interface ToastProps {
|
|
9
|
+
/**
|
|
10
|
+
* The notification to display.
|
|
11
|
+
*/
|
|
12
|
+
notification: Notification;
|
|
13
|
+
/**
|
|
14
|
+
* Callback when the toast is dismissed.
|
|
15
|
+
*/
|
|
16
|
+
onDismiss: (id: string) => void;
|
|
17
|
+
/**
|
|
18
|
+
* Additional CSS class name.
|
|
19
|
+
*/
|
|
20
|
+
className?: string;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Toast component that displays a single notification.
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* ```tsx
|
|
27
|
+
* <Toast
|
|
28
|
+
* notification={{
|
|
29
|
+
* id: '1',
|
|
30
|
+
* message: 'Changes saved successfully',
|
|
31
|
+
* severity: 'success',
|
|
32
|
+
* createdAt: new Date(),
|
|
33
|
+
* }}
|
|
34
|
+
* onDismiss={(id) => removeNotification(id)}
|
|
35
|
+
* />
|
|
36
|
+
* ```
|
|
37
|
+
*/
|
|
38
|
+
export declare function Toast({ notification, onDismiss, className, }: ToastProps): React.ReactElement;
|
|
39
|
+
export {};
|
|
40
|
+
//# sourceMappingURL=Toast.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Toast.d.ts","sourceRoot":"","sources":["../../../src/editor/components/Toast.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAA8B,MAAM,OAAO,CAAC;AACnD,OAAO,KAAK,EAAE,YAAY,EAAwB,MAAM,qBAAqB,CAAC;AAE9E,UAAU,UAAU;IAClB;;OAEG;IACH,YAAY,EAAE,YAAY,CAAC;IAE3B;;OAEG;IACH,SAAS,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAEhC;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAoCD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,KAAK,CAAC,EACpB,YAAY,EACZ,SAAS,EACT,SAAc,GACf,EAAE,UAAU,GAAG,KAAK,CAAC,YAAY,CAuGjC"}
|
|
@@ -0,0 +1,92 @@
|
|
|
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
|
+
import { useEffect, useState } from 'react';
|
|
8
|
+
/**
|
|
9
|
+
* Get the icon for a notification severity.
|
|
10
|
+
*/
|
|
11
|
+
function getSeverityIcon(severity) {
|
|
12
|
+
switch (severity) {
|
|
13
|
+
case 'success':
|
|
14
|
+
return '✓';
|
|
15
|
+
case 'error':
|
|
16
|
+
return '✕';
|
|
17
|
+
case 'warning':
|
|
18
|
+
return '⚠';
|
|
19
|
+
case 'info':
|
|
20
|
+
default:
|
|
21
|
+
return 'ℹ';
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Get the accessible label for a severity.
|
|
26
|
+
*/
|
|
27
|
+
function getSeverityLabel(severity) {
|
|
28
|
+
switch (severity) {
|
|
29
|
+
case 'success':
|
|
30
|
+
return 'Success';
|
|
31
|
+
case 'error':
|
|
32
|
+
return 'Error';
|
|
33
|
+
case 'warning':
|
|
34
|
+
return 'Warning';
|
|
35
|
+
case 'info':
|
|
36
|
+
default:
|
|
37
|
+
return 'Information';
|
|
38
|
+
}
|
|
39
|
+
}
|
|
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
|
+
export function Toast({ notification, onDismiss, className = '', }) {
|
|
57
|
+
const [isExiting, setIsExiting] = useState(false);
|
|
58
|
+
const baseClass = 'css-puck-toast';
|
|
59
|
+
// Handle dismiss with exit animation
|
|
60
|
+
const handleDismiss = () => {
|
|
61
|
+
setIsExiting(true);
|
|
62
|
+
// Allow animation to complete before removing
|
|
63
|
+
setTimeout(() => {
|
|
64
|
+
onDismiss(notification.id);
|
|
65
|
+
}, 200);
|
|
66
|
+
};
|
|
67
|
+
// Handle action click
|
|
68
|
+
const handleActionClick = (onClick) => {
|
|
69
|
+
onClick();
|
|
70
|
+
handleDismiss();
|
|
71
|
+
};
|
|
72
|
+
// Auto-dismiss progress indicator
|
|
73
|
+
const [progress, setProgress] = useState(100);
|
|
74
|
+
const autoDismissMs = notification.autoDismissMs ?? 0;
|
|
75
|
+
useEffect(() => {
|
|
76
|
+
if (autoDismissMs <= 0)
|
|
77
|
+
return;
|
|
78
|
+
const startTime = Date.now();
|
|
79
|
+
const updateInterval = 50; // Update every 50ms
|
|
80
|
+
const timer = setInterval(() => {
|
|
81
|
+
const elapsed = Date.now() - startTime;
|
|
82
|
+
const remaining = Math.max(0, 100 - (elapsed / autoDismissMs) * 100);
|
|
83
|
+
setProgress(remaining);
|
|
84
|
+
if (remaining <= 0) {
|
|
85
|
+
clearInterval(timer);
|
|
86
|
+
}
|
|
87
|
+
}, updateInterval);
|
|
88
|
+
return () => clearInterval(timer);
|
|
89
|
+
}, [autoDismissMs]);
|
|
90
|
+
return (_jsxs("div", { className: `${baseClass} ${baseClass}--${notification.severity} ${isExiting ? `${baseClass}--exiting` : ''} ${className}`, role: "alert", "aria-live": notification.severity === 'error' ? 'assertive' : 'polite', children: [_jsx("span", { className: `${baseClass}__icon ${baseClass}__icon--${notification.severity}`, "aria-label": getSeverityLabel(notification.severity), children: getSeverityIcon(notification.severity) }), _jsxs("div", { className: `${baseClass}__content`, children: [notification.title && (_jsx("div", { className: `${baseClass}__title`, children: notification.title })), _jsx("div", { className: `${baseClass}__message`, children: notification.message }), notification.actions && notification.actions.length > 0 && (_jsx("div", { className: `${baseClass}__actions`, children: notification.actions.map((action, index) => (_jsx("button", { type: "button", className: `pds-button pds-button--subtle pds-button--sm ${baseClass}__action`, onClick: () => handleActionClick(action.onClick), children: action.label }, index))) }))] }), _jsx("button", { type: "button", className: `pds-button pds-button--subtle pds-button--sm ${baseClass}__dismiss`, onClick: handleDismiss, "aria-label": "Dismiss notification", children: "\u2715" }), autoDismissMs > 0 && (_jsx("div", { className: `${baseClass}__progress`, style: { width: `${progress}%` }, role: "progressbar", "aria-valuenow": progress, "aria-valuemin": 0, "aria-valuemax": 100 }))] }));
|
|
91
|
+
}
|
|
92
|
+
//# sourceMappingURL=Toast.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Toast.js","sourceRoot":"","sources":["../../../src/editor/components/Toast.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { DocumentVersion } from '@pantheon-systems/css-client';
|
|
3
|
+
export interface VersionBannerOverrideProps {
|
|
4
|
+
children: React.ReactNode;
|
|
5
|
+
versions: DocumentVersion[];
|
|
6
|
+
selectedVersionId?: string;
|
|
7
|
+
onVersionSelect?: (version: DocumentVersion) => void;
|
|
8
|
+
}
|
|
9
|
+
export declare function VersionBannerOverride({ children, versions, selectedVersionId, onVersionSelect, }: VersionBannerOverrideProps): React.ReactElement;
|
|
10
|
+
//# sourceMappingURL=VersionBannerOverride.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VersionBannerOverride.d.ts","sourceRoot":"","sources":["../../../src/editor/components/VersionBannerOverride.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAIpE,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;CACtD;AAED,wBAAgB,qBAAqB,CAAC,EACpC,QAAQ,EACR,QAAQ,EACR,iBAAiB,EACjB,eAAe,GAChB,EAAE,0BAA0B,GAAG,KAAK,CAAC,YAAY,CA4DjD"}
|