@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,112 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* useP1Plugin Hook
|
|
3
|
+
*
|
|
4
|
+
* Creates a referentially stable CSS plugin instance for Puck.
|
|
5
|
+
* Internally reads context values and wires them through a Proxy pattern
|
|
6
|
+
* so the plugin object never changes identity, avoiding Puck re-renders.
|
|
7
|
+
*/
|
|
8
|
+
import { useRef, useMemo } from 'react';
|
|
9
|
+
import { useP1Puck } from '../core/P1PuckContext.js';
|
|
10
|
+
import { createP1Plugin } from './plugin/P1Plugin.js';
|
|
11
|
+
/**
|
|
12
|
+
* Creates a referentially stable CSS plugin for Puck.
|
|
13
|
+
*
|
|
14
|
+
* Reads branches, documents, and other state from P1PuckProvider context.
|
|
15
|
+
* The returned plugin object is stable across re-renders — it uses a Proxy
|
|
16
|
+
* pattern to always delegate to the latest options without changing identity.
|
|
17
|
+
*
|
|
18
|
+
* Must be used inside a P1PuckProvider.
|
|
19
|
+
*
|
|
20
|
+
* @param options - Optional customization (selection tracking, version display, etc.)
|
|
21
|
+
* @returns A stable PuckPlugin instance
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* ```tsx
|
|
25
|
+
* function Editor() {
|
|
26
|
+
* const plugin = useP1Plugin();
|
|
27
|
+
* return <Puck plugins={[plugin]} config={config} data={data} />;
|
|
28
|
+
* }
|
|
29
|
+
* ```
|
|
30
|
+
*/
|
|
31
|
+
export function useP1Plugin(options = {}) {
|
|
32
|
+
const css = useP1Puck();
|
|
33
|
+
const fc = css.featureConfig ?? {
|
|
34
|
+
enableBranchSelector: true,
|
|
35
|
+
enableDocumentBrowser: true,
|
|
36
|
+
enableVersionHistory: true,
|
|
37
|
+
enableMergeControl: true,
|
|
38
|
+
enableAutoSave: true,
|
|
39
|
+
enablePublishButton: true,
|
|
40
|
+
enableCollaboratorAvatars: true,
|
|
41
|
+
enableAgentBanner: true,
|
|
42
|
+
enableFocusHighlighting: true,
|
|
43
|
+
enableRealtime: true,
|
|
44
|
+
presenceEnabled: true,
|
|
45
|
+
agentModeEnabled: false,
|
|
46
|
+
};
|
|
47
|
+
// Build the full plugin options from context + consumer options,
|
|
48
|
+
// gating features by the resolved featureConfig flags.
|
|
49
|
+
const pluginOptions = {
|
|
50
|
+
branches: fc.enableBranchSelector ? css.branches : [],
|
|
51
|
+
currentBranch: fc.enableBranchSelector ? css.currentBranch : null,
|
|
52
|
+
onBranchSwitch: fc.enableBranchSelector ? css.switchBranch : () => { },
|
|
53
|
+
getHasUnsavedChanges: css.getHasUnsavedChanges,
|
|
54
|
+
documents: fc.enableDocumentBrowser ? css.documents : [],
|
|
55
|
+
selectedDocumentPath: options.selectedDocumentPath ?? css.currentDocument?.path ?? null,
|
|
56
|
+
onDocumentSelect: fc.enableDocumentBrowser
|
|
57
|
+
? (options.onDocumentSelect ?? css.loadDocument) : undefined,
|
|
58
|
+
onDocumentCreate: fc.enableDocumentBrowser
|
|
59
|
+
? (options.onDocumentCreate ?? css.createDocument) : undefined,
|
|
60
|
+
onDocumentDelete: fc.enableDocumentBrowser
|
|
61
|
+
? (options.onDocumentDelete ?? css.deleteDocument) : undefined,
|
|
62
|
+
documentsLoading: css.documentsLoading,
|
|
63
|
+
versions: fc.enableVersionHistory ? options.versions : undefined,
|
|
64
|
+
versionsLoading: fc.enableVersionHistory ? options.versionsLoading : false,
|
|
65
|
+
selectedVersionId: fc.enableVersionHistory ? options.selectedVersionId : undefined,
|
|
66
|
+
onVersionSelect: fc.enableVersionHistory ? options.onVersionSelect : undefined,
|
|
67
|
+
// Context-based sync is the default — no need for getter or legacy sync
|
|
68
|
+
useContextSync: true,
|
|
69
|
+
// Selection tracking
|
|
70
|
+
onSelectionChange: options.onSelectionChange,
|
|
71
|
+
// Merge comparison — gated by enableMergeControl
|
|
72
|
+
puckConfig: options.puckConfig,
|
|
73
|
+
onCompareWithLive: fc.enableMergeControl ? options.onCompareWithLive : undefined,
|
|
74
|
+
// Presence/Agent features — gated by featureConfig flags
|
|
75
|
+
showPresenceIndicator: fc.enableCollaboratorAvatars
|
|
76
|
+
? options.showPresenceIndicator : false,
|
|
77
|
+
presence: fc.enableCollaboratorAvatars
|
|
78
|
+
? (options.presence ?? css.presence?.actors) : undefined,
|
|
79
|
+
showAgentActivity: fc.enableAgentBanner ? options.showAgentActivity : false,
|
|
80
|
+
activeAgents: fc.enableAgentBanner
|
|
81
|
+
? (options.activeAgents ?? css.presence?.agents?.filter(a => a.state === 'editing'))
|
|
82
|
+
: undefined,
|
|
83
|
+
showAgentActions: options.showAgentActions,
|
|
84
|
+
availableAgents: options.availableAgents,
|
|
85
|
+
onAgentAction: options.onAgentAction,
|
|
86
|
+
onStopAgent: css.stopAgent,
|
|
87
|
+
showFocusRegions: fc.enableFocusHighlighting ? options.showFocusRegions : false,
|
|
88
|
+
agentEditingRegions: options.agentEditingRegions,
|
|
89
|
+
// P1 Editor Header / Subheader
|
|
90
|
+
siteName: options.siteName,
|
|
91
|
+
siteMenuItems: options.siteMenuItems,
|
|
92
|
+
currentUser: options.currentUser,
|
|
93
|
+
onLogout: options.onLogout,
|
|
94
|
+
onPublish: fc.enablePublishButton ? options.onPublish : undefined,
|
|
95
|
+
onReviewAndPublish: options.onReviewAndPublish,
|
|
96
|
+
onCreateWorkstream: options.onCreateWorkstream,
|
|
97
|
+
onCreateBranch: options.onCreateBranch,
|
|
98
|
+
};
|
|
99
|
+
// Store options in a ref updated each render
|
|
100
|
+
const optionsRef = useRef(pluginOptions);
|
|
101
|
+
optionsRef.current = pluginOptions;
|
|
102
|
+
// Create a stable Proxy-backed options object that always reads from the ref
|
|
103
|
+
const stableOptions = useMemo(() => new Proxy({}, {
|
|
104
|
+
get(_target, prop) {
|
|
105
|
+
return optionsRef.current[prop];
|
|
106
|
+
},
|
|
107
|
+
}), []);
|
|
108
|
+
// Create plugin once with stable proxy options
|
|
109
|
+
const plugin = useMemo(() => createP1Plugin(stableOptions), [stableOptions]);
|
|
110
|
+
return plugin;
|
|
111
|
+
}
|
|
112
|
+
//# sourceMappingURL=useP1Plugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useP1Plugin.js","sourceRoot":"","sources":["../../src/editor/useP1Plugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Phase 3.2: useRealtime Hook
|
|
3
|
+
*
|
|
4
|
+
* React hook for real-time collaborative editing with Puck.
|
|
5
|
+
* Manages WebSocket connection and Yjs CRDT synchronization.
|
|
6
|
+
*/
|
|
7
|
+
import type { PuckData, ActorPresence, ActorState, PublishResult } from '@pantheon-systems/css-client';
|
|
8
|
+
/**
|
|
9
|
+
* Parameters for the useRealtime hook.
|
|
10
|
+
*/
|
|
11
|
+
export interface UseRealtimeParams {
|
|
12
|
+
/** WebSocket base URL (ws:// or wss://) */
|
|
13
|
+
baseUrl: string;
|
|
14
|
+
/** API key for authentication */
|
|
15
|
+
apiKey?: string;
|
|
16
|
+
/** Site ID */
|
|
17
|
+
siteId: string;
|
|
18
|
+
/** Branch ID */
|
|
19
|
+
branchId: string;
|
|
20
|
+
/** Document path (null means no document loaded yet) */
|
|
21
|
+
documentPath: string | null;
|
|
22
|
+
/** Actor ID (user or agent ID) */
|
|
23
|
+
actorId: string;
|
|
24
|
+
/** Actor type */
|
|
25
|
+
actorType: 'user' | 'agent';
|
|
26
|
+
/**
|
|
27
|
+
* Session ID for agent authorization.
|
|
28
|
+
* Obtained from startEdit() response.
|
|
29
|
+
* When provided, enables server-side enforcement of Agent Politeness Protocol.
|
|
30
|
+
*/
|
|
31
|
+
sessionId?: string;
|
|
32
|
+
/**
|
|
33
|
+
* Initial data to seed the Y.Doc with before connecting.
|
|
34
|
+
* When provided, the Y.Doc will be populated with this data before
|
|
35
|
+
* the WebSocket connects, allowing the server to send only a delta
|
|
36
|
+
* instead of the full CRDT state. This eliminates the redundant
|
|
37
|
+
* full-doc re-render on page load.
|
|
38
|
+
*
|
|
39
|
+
* Tracked via ref (not in effect deps) to avoid triggering reconnection
|
|
40
|
+
* when data changes during editing.
|
|
41
|
+
*/
|
|
42
|
+
initialData?: PuckData | null;
|
|
43
|
+
/** Whether real-time is enabled */
|
|
44
|
+
enabled?: boolean;
|
|
45
|
+
/** Callback when remote changes arrive */
|
|
46
|
+
onRemoteUpdate?: (data: PuckData) => void;
|
|
47
|
+
/**
|
|
48
|
+
* Callback when presence update is received from server via WebSocket.
|
|
49
|
+
* Called with the full list of actors in the document.
|
|
50
|
+
*/
|
|
51
|
+
onPresenceUpdate?: (actors: ActorPresence[]) => void;
|
|
52
|
+
/**
|
|
53
|
+
* Callback when another actor updates their focus regions.
|
|
54
|
+
* Called with the actor ID and their new focus regions.
|
|
55
|
+
*/
|
|
56
|
+
onFocusRegionBroadcast?: (actorId: string, focusRegions: string[]) => void;
|
|
57
|
+
/**
|
|
58
|
+
* Optional token refresher for WebSocket reconnection.
|
|
59
|
+
* Called when the WebSocket connection closes unexpectedly.
|
|
60
|
+
* Should return a fresh token or null if the session cannot be refreshed.
|
|
61
|
+
*/
|
|
62
|
+
tokenRefresher?: () => Promise<string | null>;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Return value from the useRealtime hook.
|
|
66
|
+
*/
|
|
67
|
+
export interface UseRealtimeReturn {
|
|
68
|
+
/** Whether currently connected to the real-time session */
|
|
69
|
+
connected: boolean;
|
|
70
|
+
/** Apply a local change (will be synced to other clients) */
|
|
71
|
+
applyLocalChange: (data: PuckData, actionMeta?: {
|
|
72
|
+
actionType: string;
|
|
73
|
+
actionMetadata: Record<string, unknown>;
|
|
74
|
+
}) => void;
|
|
75
|
+
/** Get the current snapshot from the Yjs document. Returns null if not connected. */
|
|
76
|
+
getSnapshot: () => PuckData | null;
|
|
77
|
+
/** Any error that occurred */
|
|
78
|
+
error: Error | null;
|
|
79
|
+
/**
|
|
80
|
+
* Send focus regions update to the server.
|
|
81
|
+
* @param regions - JSON paths the actor is focused on
|
|
82
|
+
* @returns true if message was sent, false if not connected
|
|
83
|
+
*/
|
|
84
|
+
sendFocusRegions: (regions: string[]) => boolean;
|
|
85
|
+
/**
|
|
86
|
+
* Send a presence heartbeat to keep the connection alive.
|
|
87
|
+
* @param state - Optional state update (active, idle, editing)
|
|
88
|
+
*/
|
|
89
|
+
sendHeartbeat: (state?: ActorState) => void;
|
|
90
|
+
/**
|
|
91
|
+
* Whether presence updates are available via WebSocket.
|
|
92
|
+
* Returns true when connected and able to send/receive presence messages.
|
|
93
|
+
*/
|
|
94
|
+
presenceViaWebSocket: boolean;
|
|
95
|
+
/**
|
|
96
|
+
* The document path that the realtime connection is currently bound to.
|
|
97
|
+
* Captured at the moment of connection establishment. Returns null when
|
|
98
|
+
* disconnected or during connection transitions. Used by callers to verify
|
|
99
|
+
* that data being sent matches the active connection's document.
|
|
100
|
+
*/
|
|
101
|
+
connectedDocumentPath: string | null;
|
|
102
|
+
/**
|
|
103
|
+
* Wait for the server to acknowledge that all preceding WebSocket messages
|
|
104
|
+
* have been processed. Used before publish to ensure the DO has the latest edits.
|
|
105
|
+
* @returns Promise that resolves when the server confirms delivery
|
|
106
|
+
* @throws Error if not connected or if timeout expires
|
|
107
|
+
*/
|
|
108
|
+
waitForDelivery: () => Promise<void>;
|
|
109
|
+
/**
|
|
110
|
+
* Request the server to publish the current document via WebSocket.
|
|
111
|
+
* The Durable Object handles flush + publish internally, eliminating
|
|
112
|
+
* client-side orchestration and race conditions.
|
|
113
|
+
* @returns Promise that resolves with the publish result
|
|
114
|
+
* @throws Error if not connected or if timeout expires
|
|
115
|
+
*/
|
|
116
|
+
requestPublish: () => Promise<PublishResult>;
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Hook for real-time collaborative editing with Puck.
|
|
120
|
+
*
|
|
121
|
+
* @example
|
|
122
|
+
* ```tsx
|
|
123
|
+
* function Editor() {
|
|
124
|
+
* const realtime = useRealtime({
|
|
125
|
+
* baseUrl: 'wss://api.example.com',
|
|
126
|
+
* siteId: 'site-123',
|
|
127
|
+
* branchId: 'branch-456',
|
|
128
|
+
* documentPath: 'pages/home',
|
|
129
|
+
* actorId: 'user-789',
|
|
130
|
+
* actorType: 'user',
|
|
131
|
+
* enabled: true,
|
|
132
|
+
* onRemoteUpdate: (data) => setPuckData(data),
|
|
133
|
+
* });
|
|
134
|
+
*
|
|
135
|
+
* return (
|
|
136
|
+
* <Puck
|
|
137
|
+
* data={puckData}
|
|
138
|
+
* onChange={(data) => {
|
|
139
|
+
* setPuckData(data);
|
|
140
|
+
* realtime.applyLocalChange(data);
|
|
141
|
+
* }}
|
|
142
|
+
* />
|
|
143
|
+
* );
|
|
144
|
+
* }
|
|
145
|
+
* ```
|
|
146
|
+
*/
|
|
147
|
+
export declare function useRealtime(params: UseRealtimeParams): UseRealtimeReturn;
|
|
148
|
+
//# sourceMappingURL=useRealtime.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useRealtime.d.ts","sourceRoot":"","sources":["../../src/editor/useRealtime.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAMvG;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,2CAA2C;IAC3C,OAAO,EAAE,MAAM,CAAC;IAEhB,iCAAiC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,cAAc;IACd,MAAM,EAAE,MAAM,CAAC;IAEf,gBAAgB;IAChB,QAAQ,EAAE,MAAM,CAAC;IAEjB,wDAAwD;IACxD,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAE5B,kCAAkC;IAClC,OAAO,EAAE,MAAM,CAAC;IAEhB,iBAAiB;IACjB,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;IAE5B;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;;;;;;OASG;IACH,WAAW,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC;IAE9B,mCAAmC;IACnC,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,0CAA0C;IAC1C,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IAE1C;;;OAGG;IACH,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,IAAI,CAAC;IAErD;;;OAGG;IACH,sBAAsB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAE3E;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;CAC/C;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,2DAA2D;IAC3D,SAAS,EAAE,OAAO,CAAC;IAEnB,6DAA6D;IAC7D,gBAAgB,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,UAAU,CAAC,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,KAAK,IAAI,CAAC;IAEzH,qFAAqF;IACrF,WAAW,EAAE,MAAM,QAAQ,GAAG,IAAI,CAAC;IAEnC,8BAA8B;IAC9B,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAEpB;;;;OAIG;IACH,gBAAgB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC;IAEjD;;;OAGG;IACH,aAAa,EAAE,CAAC,KAAK,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;IAE5C;;;OAGG;IACH,oBAAoB,EAAE,OAAO,CAAC;IAE9B;;;;;OAKG;IACH,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAC;IAErC;;;;;OAKG;IACH,eAAe,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAErC;;;;;;OAMG;IACH,cAAc,EAAE,MAAM,OAAO,CAAC,aAAa,CAAC,CAAC;CAC9C;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,iBAAiB,GAAG,iBAAiB,CAkPxE"}
|
|
@@ -0,0 +1,244 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Phase 3.2: useRealtime Hook
|
|
3
|
+
*
|
|
4
|
+
* React hook for real-time collaborative editing with Puck.
|
|
5
|
+
* Manages WebSocket connection and Yjs CRDT synchronization.
|
|
6
|
+
*/
|
|
7
|
+
import { useState, useEffect, useLayoutEffect, useRef, useCallback } from 'react';
|
|
8
|
+
import { RealtimeClient } from '@pantheon-systems/css-client';
|
|
9
|
+
import { createPuckYjsBinding, } from './utils/puckYjsBinding.js';
|
|
10
|
+
/**
|
|
11
|
+
* Hook for real-time collaborative editing with Puck.
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```tsx
|
|
15
|
+
* function Editor() {
|
|
16
|
+
* const realtime = useRealtime({
|
|
17
|
+
* baseUrl: 'wss://api.example.com',
|
|
18
|
+
* siteId: 'site-123',
|
|
19
|
+
* branchId: 'branch-456',
|
|
20
|
+
* documentPath: 'pages/home',
|
|
21
|
+
* actorId: 'user-789',
|
|
22
|
+
* actorType: 'user',
|
|
23
|
+
* enabled: true,
|
|
24
|
+
* onRemoteUpdate: (data) => setPuckData(data),
|
|
25
|
+
* });
|
|
26
|
+
*
|
|
27
|
+
* return (
|
|
28
|
+
* <Puck
|
|
29
|
+
* data={puckData}
|
|
30
|
+
* onChange={(data) => {
|
|
31
|
+
* setPuckData(data);
|
|
32
|
+
* realtime.applyLocalChange(data);
|
|
33
|
+
* }}
|
|
34
|
+
* />
|
|
35
|
+
* );
|
|
36
|
+
* }
|
|
37
|
+
* ```
|
|
38
|
+
*/
|
|
39
|
+
export function useRealtime(params) {
|
|
40
|
+
const { baseUrl, apiKey, tokenRefresher, siteId, branchId, documentPath, actorId, actorType, sessionId, enabled = true, onRemoteUpdate, onPresenceUpdate, onFocusRegionBroadcast, } = params;
|
|
41
|
+
const [connected, setConnected] = useState(false);
|
|
42
|
+
const [error, setError] = useState(null);
|
|
43
|
+
const [presenceViaWebSocket, setPresenceViaWebSocket] = useState(false);
|
|
44
|
+
// Track the document path that the active connection is bound to.
|
|
45
|
+
// Captured at connection time, cleared on disconnect. Used to prevent
|
|
46
|
+
// cross-document state bleed: callers can compare this against their
|
|
47
|
+
// current document path before sending data through the binding.
|
|
48
|
+
const connectedDocumentPathRef = useRef(null);
|
|
49
|
+
// Refs to avoid recreating callbacks
|
|
50
|
+
const clientRef = useRef(null);
|
|
51
|
+
const bindingRef = useRef(null);
|
|
52
|
+
const onRemoteUpdateRef = useRef(onRemoteUpdate);
|
|
53
|
+
const onPresenceUpdateRef = useRef(onPresenceUpdate);
|
|
54
|
+
const onFocusRegionBroadcastRef = useRef(onFocusRegionBroadcast);
|
|
55
|
+
// Keep tokenRefresher in a ref so the RealtimeClient always calls the
|
|
56
|
+
// latest version without needing to be recreated on reference changes.
|
|
57
|
+
const tokenRefresherRef = useRef(tokenRefresher);
|
|
58
|
+
tokenRefresherRef.current = tokenRefresher;
|
|
59
|
+
const initialDataRef = useRef(params.initialData);
|
|
60
|
+
// Keep ref in sync but do NOT add to effect deps — changing data
|
|
61
|
+
// during editing must not trigger a WebSocket reconnection.
|
|
62
|
+
initialDataRef.current = params.initialData;
|
|
63
|
+
// Keep callback refs up to date
|
|
64
|
+
useEffect(() => {
|
|
65
|
+
onRemoteUpdateRef.current = onRemoteUpdate;
|
|
66
|
+
}, [onRemoteUpdate]);
|
|
67
|
+
useEffect(() => {
|
|
68
|
+
onPresenceUpdateRef.current = onPresenceUpdate;
|
|
69
|
+
}, [onPresenceUpdate]);
|
|
70
|
+
useEffect(() => {
|
|
71
|
+
onFocusRegionBroadcastRef.current = onFocusRegionBroadcast;
|
|
72
|
+
}, [onFocusRegionBroadcast]);
|
|
73
|
+
// Eagerly clean up binding and client refs when dependencies change.
|
|
74
|
+
// useLayoutEffect cleanup runs BEFORE regular useEffect callbacks (including
|
|
75
|
+
// children's effects like PuckDataSynchronizer). This prevents a race condition
|
|
76
|
+
// where PuckDataSynchronizer dispatches setData during a document switch, Puck
|
|
77
|
+
// fires onChange, and saveData sends data through a stale binding that still
|
|
78
|
+
// points to the previous document's Y.Doc — causing cross-document state bleed.
|
|
79
|
+
useLayoutEffect(() => {
|
|
80
|
+
return () => {
|
|
81
|
+
connectedDocumentPathRef.current = null;
|
|
82
|
+
bindingRef.current?.destroy();
|
|
83
|
+
bindingRef.current = null;
|
|
84
|
+
clientRef.current?.disconnect();
|
|
85
|
+
clientRef.current = null;
|
|
86
|
+
};
|
|
87
|
+
}, [baseUrl, apiKey, siteId, branchId, documentPath, actorId, actorType, sessionId, enabled]);
|
|
88
|
+
// Effect to manage connection lifecycle
|
|
89
|
+
useEffect(() => {
|
|
90
|
+
// Don't connect if disabled, no document path, or missing required params
|
|
91
|
+
if (!enabled || !documentPath || !branchId || !siteId) {
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
// Create new client
|
|
95
|
+
// NOTE: We don't use RealtimeClient.onUpdate because it would cause double callbacks.
|
|
96
|
+
// The Puck-Yjs binding observer already handles remote updates properly by checking
|
|
97
|
+
// transaction origin to distinguish local vs remote changes.
|
|
98
|
+
const client = new RealtimeClient({
|
|
99
|
+
baseUrl,
|
|
100
|
+
apiKey,
|
|
101
|
+
// Use ref-wrapped refresher so the client always calls the latest version
|
|
102
|
+
// without needing to be recreated when the function reference changes.
|
|
103
|
+
tokenRefresher: tokenRefresherRef.current
|
|
104
|
+
? () => {
|
|
105
|
+
const refresher = tokenRefresherRef.current;
|
|
106
|
+
return refresher ? refresher() : Promise.resolve(null);
|
|
107
|
+
}
|
|
108
|
+
: undefined,
|
|
109
|
+
onConnect: () => {
|
|
110
|
+
// Guard: ignore callbacks from stale clients.
|
|
111
|
+
// When dependencies change, the old client is destroyed and a new one
|
|
112
|
+
// created. The old WebSocket's close event fires asynchronously and may
|
|
113
|
+
// arrive AFTER the new client has already connected. Without this guard,
|
|
114
|
+
// the stale onDisconnect would overwrite the new client's connection
|
|
115
|
+
// state (connectedDocumentPathRef, connected, presenceViaWebSocket),
|
|
116
|
+
// permanently breaking sync in one direction and corrupting presence.
|
|
117
|
+
if (clientRef.current !== client)
|
|
118
|
+
return;
|
|
119
|
+
// Capture the document path this connection is bound to.
|
|
120
|
+
// documentPath here is from the effect closure — it's the value
|
|
121
|
+
// that was current when this effect ran, which is the document
|
|
122
|
+
// the WebSocket was created for.
|
|
123
|
+
connectedDocumentPathRef.current = documentPath;
|
|
124
|
+
setConnected(true);
|
|
125
|
+
setPresenceViaWebSocket(true);
|
|
126
|
+
setError(null);
|
|
127
|
+
},
|
|
128
|
+
onDisconnect: () => {
|
|
129
|
+
// Guard: ignore callbacks from stale clients (see onConnect comment).
|
|
130
|
+
if (clientRef.current !== client)
|
|
131
|
+
return;
|
|
132
|
+
connectedDocumentPathRef.current = null;
|
|
133
|
+
setConnected(false);
|
|
134
|
+
setPresenceViaWebSocket(false);
|
|
135
|
+
},
|
|
136
|
+
onError: (err) => {
|
|
137
|
+
setError(err);
|
|
138
|
+
},
|
|
139
|
+
// onUpdate intentionally omitted - binding handles this
|
|
140
|
+
onPresenceUpdate: (actors) => {
|
|
141
|
+
onPresenceUpdateRef.current?.(actors);
|
|
142
|
+
},
|
|
143
|
+
onFocusRegionBroadcast: (actorId, focusRegions) => {
|
|
144
|
+
onFocusRegionBroadcastRef.current?.(actorId, focusRegions);
|
|
145
|
+
},
|
|
146
|
+
});
|
|
147
|
+
clientRef.current = client;
|
|
148
|
+
// Create Puck-Yjs binding - this is the ONLY place that calls onRemoteUpdate
|
|
149
|
+
// The binding observes Yjs changes and filters out local changes (origin === 'local')
|
|
150
|
+
const binding = createPuckYjsBinding(client.getYDoc(), (data) => {
|
|
151
|
+
onRemoteUpdateRef.current?.(data);
|
|
152
|
+
});
|
|
153
|
+
bindingRef.current = binding;
|
|
154
|
+
// Seed Y.Doc with initial REST data before connecting.
|
|
155
|
+
// This populates the client's Y.Doc so the server can send a delta
|
|
156
|
+
// instead of the full CRDT state on initial connect.
|
|
157
|
+
// Safe because:
|
|
158
|
+
// - applyLocalChange uses LOCAL_ORIGIN (observer ignores local changes)
|
|
159
|
+
// - this.ws is null at this point (update listener won't try to send)
|
|
160
|
+
if (initialDataRef.current) {
|
|
161
|
+
binding.applyLocalChange(initialDataRef.current);
|
|
162
|
+
}
|
|
163
|
+
// Connect to the document session
|
|
164
|
+
client.connect({
|
|
165
|
+
siteId,
|
|
166
|
+
branchId,
|
|
167
|
+
documentPath,
|
|
168
|
+
actorId,
|
|
169
|
+
actorType,
|
|
170
|
+
sessionId,
|
|
171
|
+
});
|
|
172
|
+
// Cleanup on unmount or when dependencies change
|
|
173
|
+
return () => {
|
|
174
|
+
connectedDocumentPathRef.current = null;
|
|
175
|
+
binding.destroy();
|
|
176
|
+
bindingRef.current = null;
|
|
177
|
+
client.disconnect();
|
|
178
|
+
clientRef.current = null;
|
|
179
|
+
setConnected(false);
|
|
180
|
+
setPresenceViaWebSocket(false);
|
|
181
|
+
};
|
|
182
|
+
}, [baseUrl, apiKey, siteId, branchId, documentPath, actorId, actorType, sessionId, enabled]);
|
|
183
|
+
// Apply local change function
|
|
184
|
+
const applyLocalChange = useCallback((data, actionMeta) => {
|
|
185
|
+
if (bindingRef.current) {
|
|
186
|
+
// Set action metadata on the RealtimeClient before applying the change.
|
|
187
|
+
// The client's ydoc 'update' handler will send it after the CRDT update.
|
|
188
|
+
if (actionMeta && clientRef.current) {
|
|
189
|
+
clientRef.current.setActionMetadata(actionMeta);
|
|
190
|
+
}
|
|
191
|
+
bindingRef.current.applyLocalChange(data);
|
|
192
|
+
}
|
|
193
|
+
}, [connected]);
|
|
194
|
+
// Get current snapshot from Yjs document
|
|
195
|
+
const getSnapshot = useCallback(() => {
|
|
196
|
+
if (clientRef.current) {
|
|
197
|
+
const snapshot = clientRef.current.getSnapshot();
|
|
198
|
+
if (snapshot && (snapshot.content || snapshot.root)) {
|
|
199
|
+
return snapshot;
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
return null;
|
|
203
|
+
}, []);
|
|
204
|
+
// Send focus regions update to server
|
|
205
|
+
const sendFocusRegions = useCallback((regions) => {
|
|
206
|
+
if (clientRef.current) {
|
|
207
|
+
return clientRef.current.sendFocusRegions(regions);
|
|
208
|
+
}
|
|
209
|
+
return false;
|
|
210
|
+
}, []);
|
|
211
|
+
// Send presence heartbeat to server
|
|
212
|
+
const sendHeartbeat = useCallback((state) => {
|
|
213
|
+
if (clientRef.current) {
|
|
214
|
+
clientRef.current.sendHeartbeat(state);
|
|
215
|
+
}
|
|
216
|
+
}, []);
|
|
217
|
+
// Wait for delivery acknowledgment from server
|
|
218
|
+
const waitForDelivery = useCallback(() => {
|
|
219
|
+
if (clientRef.current) {
|
|
220
|
+
return clientRef.current.waitForDelivery();
|
|
221
|
+
}
|
|
222
|
+
return Promise.reject(new Error('Not connected'));
|
|
223
|
+
}, []);
|
|
224
|
+
// Request publish via WebSocket (DO handles flush + publish)
|
|
225
|
+
const requestPublish = useCallback(() => {
|
|
226
|
+
if (clientRef.current) {
|
|
227
|
+
return clientRef.current.requestPublish();
|
|
228
|
+
}
|
|
229
|
+
return Promise.reject(new Error('Not connected'));
|
|
230
|
+
}, []);
|
|
231
|
+
return {
|
|
232
|
+
connected,
|
|
233
|
+
applyLocalChange,
|
|
234
|
+
getSnapshot,
|
|
235
|
+
error,
|
|
236
|
+
sendFocusRegions,
|
|
237
|
+
sendHeartbeat,
|
|
238
|
+
presenceViaWebSocket,
|
|
239
|
+
connectedDocumentPath: connectedDocumentPathRef.current,
|
|
240
|
+
waitForDelivery,
|
|
241
|
+
requestPublish,
|
|
242
|
+
};
|
|
243
|
+
}
|
|
244
|
+
//# sourceMappingURL=useRealtime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useRealtime.js","sourceRoot":"","sources":["../../src/editor/useRealtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* buildThumbnailOverride
|
|
3
|
+
*
|
|
4
|
+
* Builds a Puck `componentItem` override that shows a schematic SVG thumbnail
|
|
5
|
+
* alongside the component name and a drag-handle affordance.
|
|
6
|
+
*
|
|
7
|
+
* The caller provides a `thumbnailMap` — a plain record from component name to
|
|
8
|
+
* a zero-argument React function component that renders the SVG wireframe.
|
|
9
|
+
* Unknown names fall back to a generic line-stub placeholder so the drawer
|
|
10
|
+
* always looks consistent even if a thumbnail hasn't been designed yet.
|
|
11
|
+
*
|
|
12
|
+
* Layout: [thumbnail 48×32] [name — flex 1] [grip dots]
|
|
13
|
+
*/
|
|
14
|
+
import React from 'react';
|
|
15
|
+
import type { PuckOverrides } from '../plugin/index.js';
|
|
16
|
+
/** A zero-argument React component that renders a thumbnail SVG. */
|
|
17
|
+
export type ThumbnailFC = React.FC;
|
|
18
|
+
/** Map from Puck component name to its thumbnail component. */
|
|
19
|
+
export type ThumbnailMap = Record<string, ThumbnailFC>;
|
|
20
|
+
/**
|
|
21
|
+
* Returns a partial `PuckOverrides` object containing a `componentItem` override
|
|
22
|
+
* that renders a thumbnail, the component name, and a drag-handle affordance.
|
|
23
|
+
*
|
|
24
|
+
* Pass the result to `useP1Editor`'s `additionalOverrides` or merge it with
|
|
25
|
+
* your existing overrides.
|
|
26
|
+
*/
|
|
27
|
+
export declare function buildThumbnailOverride(thumbnailMap: ThumbnailMap): Partial<PuckOverrides>;
|
|
28
|
+
//# sourceMappingURL=buildThumbnailOverride.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buildThumbnailOverride.d.ts","sourceRoot":"","sources":["../../../src/editor/utils/buildThumbnailOverride.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAIxD,oEAAoE;AACpE,MAAM,MAAM,WAAW,GAAG,KAAK,CAAC,EAAE,CAAC;AAEnC,+DAA+D;AAC/D,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;AAkBvD;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC,CAiCzF"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { GenericThumbnailIcon } from '../icons/GenericThumbnailIcon.js';
|
|
3
|
+
import { GripHandleIcon } from '../icons/GripHandleIcon.js';
|
|
4
|
+
// ─── Thumbnail wrapper ─────────────────────────────────────────────────────────
|
|
5
|
+
function Thumbnail({ name, thumbnailMap }) {
|
|
6
|
+
const ThumbnailFn = thumbnailMap[name] ?? GenericThumbnailIcon;
|
|
7
|
+
return (_jsx("div", { style: { width: 48, height: 32, flexShrink: 0, borderRadius: 3, overflow: 'hidden' }, "aria-label": `${name} layout preview`, children: _jsx(ThumbnailFn, {}) }));
|
|
8
|
+
}
|
|
9
|
+
// ─── Public builder ───────────────────────────────────────────────────────────
|
|
10
|
+
/**
|
|
11
|
+
* Returns a partial `PuckOverrides` object containing a `componentItem` override
|
|
12
|
+
* that renders a thumbnail, the component name, and a drag-handle affordance.
|
|
13
|
+
*
|
|
14
|
+
* Pass the result to `useP1Editor`'s `additionalOverrides` or merge it with
|
|
15
|
+
* your existing overrides.
|
|
16
|
+
*/
|
|
17
|
+
export function buildThumbnailOverride(thumbnailMap) {
|
|
18
|
+
return {
|
|
19
|
+
drawerItem: ({ name }) => (_jsxs("div", { style: {
|
|
20
|
+
display: 'flex',
|
|
21
|
+
alignItems: 'center',
|
|
22
|
+
gap: 10,
|
|
23
|
+
width: '100%',
|
|
24
|
+
padding: '6px 8px',
|
|
25
|
+
borderRadius: 6,
|
|
26
|
+
cursor: 'grab',
|
|
27
|
+
boxSizing: 'border-box',
|
|
28
|
+
}, children: [_jsx(Thumbnail, { name: name, thumbnailMap: thumbnailMap }), _jsx("span", { style: {
|
|
29
|
+
flex: 1,
|
|
30
|
+
fontSize: 13,
|
|
31
|
+
fontWeight: 500,
|
|
32
|
+
color: 'inherit',
|
|
33
|
+
overflow: 'hidden',
|
|
34
|
+
textOverflow: 'ellipsis',
|
|
35
|
+
whiteSpace: 'nowrap',
|
|
36
|
+
}, children: name }), _jsx(GripHandleIcon, {})] })),
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=buildThumbnailOverride.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buildThumbnailOverride.js","sourceRoot":"","sources":["../../../src/editor/utils/buildThumbnailOverride.tsx"],"names":[],"mappings":";AAgBA,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAQ5D,kFAAkF;AAElF,SAAS,SAAS,CAAC,EAAE,IAAI,EAAE,YAAY,EAAgD;IACrF,MAAM,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,oBAAoB,CAAC;IAC/D,OAAO,CACL,cACE,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,gBACxE,GAAG,IAAI,iBAAiB,YAEpC,KAAC,WAAW,KAAG,GACX,CACP,CAAC;AACJ,CAAC;AAED,iFAAiF;AAEjF;;;;;;GAMG;AACH,MAAM,UAAU,sBAAsB,CAAC,YAA0B;IAC/D,OAAO;QACL,UAAU,EAAE,CAAC,EAAE,IAAI,EAA+C,EAAE,EAAE,CAAC,CACrE,eACE,KAAK,EAAE;gBACL,OAAO,EAAE,MAAM;gBACf,UAAU,EAAE,QAAQ;gBACpB,GAAG,EAAE,EAAE;gBACP,KAAK,EAAE,MAAM;gBACb,OAAO,EAAE,SAAS;gBAClB,YAAY,EAAE,CAAC;gBACf,MAAM,EAAE,MAAM;gBACd,SAAS,EAAE,YAAY;aACxB,aAED,KAAC,SAAS,IAAC,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,GAAI,EACrD,eACE,KAAK,EAAE;wBACL,IAAI,EAAE,CAAC;wBACP,QAAQ,EAAE,EAAE;wBACZ,UAAU,EAAE,GAAG;wBACf,KAAK,EAAE,SAAS;wBAChB,QAAQ,EAAE,QAAQ;wBAClB,YAAY,EAAE,UAAU;wBACxB,UAAU,EAAE,QAAQ;qBACrB,YAEA,IAAI,GACA,EACP,KAAC,cAAc,KAAG,IACd,CACP;KACF,CAAC;AACJ,CAAC"}
|