@pantheon-systems/puck-css 0.12.0 → 0.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (466) hide show
  1. package/README.md +1 -1
  2. package/dist/agent/components/AgentActionButton.js +0 -13
  3. package/dist/agent/components/AgentActionButton.js.map +1 -1
  4. package/dist/agent/components/AgentActionModal.js +0 -13
  5. package/dist/agent/components/AgentActionModal.js.map +1 -1
  6. package/dist/agent/components/AgentStatusPanel.js +0 -10
  7. package/dist/agent/components/AgentStatusPanel.js.map +1 -1
  8. package/dist/agent/components/index.js +0 -5
  9. package/dist/agent/components/index.js.map +1 -1
  10. package/dist/agent/useAgentEdit.js +0 -12
  11. package/dist/agent/useAgentEdit.js.map +1 -1
  12. package/dist/agent/useAgentTrigger.js +0 -29
  13. package/dist/agent/useAgentTrigger.js.map +1 -1
  14. package/dist/auth/P1AuthProvider.d.ts +9 -2
  15. package/dist/auth/P1AuthProvider.d.ts.map +1 -1
  16. package/dist/auth/P1AuthProvider.js +21 -44
  17. package/dist/auth/P1AuthProvider.js.map +1 -1
  18. package/dist/auth/P1LoginPage.js +0 -18
  19. package/dist/auth/P1LoginPage.js.map +1 -1
  20. package/dist/auth/index.d.ts +2 -0
  21. package/dist/auth/index.d.ts.map +1 -1
  22. package/dist/auth/index.js +1 -9
  23. package/dist/auth/index.js.map +1 -1
  24. package/dist/auth/logout.d.ts +23 -0
  25. package/dist/auth/logout.d.ts.map +1 -0
  26. package/dist/auth/logout.js +14 -0
  27. package/dist/auth/logout.js.map +1 -0
  28. package/dist/auth/storage-keys.d.ts +5 -0
  29. package/dist/auth/storage-keys.d.ts.map +1 -0
  30. package/dist/auth/storage-keys.js +3 -0
  31. package/dist/auth/storage-keys.js.map +1 -0
  32. package/dist/collaboration/components/AgentActivityBanner.js +0 -15
  33. package/dist/collaboration/components/AgentActivityBanner.js.map +1 -1
  34. package/dist/collaboration/components/CollaboratorAvatars.js +0 -17
  35. package/dist/collaboration/components/CollaboratorAvatars.js.map +1 -1
  36. package/dist/collaboration/components/FocusRegionHighlight.js +0 -9
  37. package/dist/collaboration/components/FocusRegionHighlight.js.map +1 -1
  38. package/dist/collaboration/components/PresenceIndicator.js +0 -9
  39. package/dist/collaboration/components/PresenceIndicator.js.map +1 -1
  40. package/dist/collaboration/useBranchPresence.js +0 -36
  41. package/dist/collaboration/useBranchPresence.js.map +1 -1
  42. package/dist/collaboration/useFocusRegionReporting.js +0 -75
  43. package/dist/collaboration/useFocusRegionReporting.js.map +1 -1
  44. package/dist/collaboration/usePresence.js +0 -37
  45. package/dist/collaboration/usePresence.js.map +1 -1
  46. package/dist/collaboration/useSitePresence.js +0 -36
  47. package/dist/collaboration/useSitePresence.js.map +1 -1
  48. package/dist/collaboration/utils/avatarColor.js +0 -3
  49. package/dist/collaboration/utils/avatarColor.js.map +1 -1
  50. package/dist/collaboration/utils/focusHighlightConfig.js +0 -61
  51. package/dist/collaboration/utils/focusHighlightConfig.js.map +1 -1
  52. package/dist/collaboration/utils/focusRegionMap.js +1 -80
  53. package/dist/collaboration/utils/focusRegionMap.js.map +1 -1
  54. package/dist/collaboration/utils/initials.js +0 -14
  55. package/dist/collaboration/utils/initials.js.map +1 -1
  56. package/dist/collaboration/utils/presenceIdentity.js +0 -26
  57. package/dist/collaboration/utils/presenceIdentity.js.map +1 -1
  58. package/dist/core/FocusHighlightContext.js +0 -31
  59. package/dist/core/FocusHighlightContext.js.map +1 -1
  60. package/dist/core/NotificationContext.js +2 -67
  61. package/dist/core/NotificationContext.js.map +1 -1
  62. package/dist/core/P1PuckContext.js +0 -31
  63. package/dist/core/P1PuckContext.js.map +1 -1
  64. package/dist/core/PresenceContext.js +0 -18
  65. package/dist/core/PresenceContext.js.map +1 -1
  66. package/dist/core/config.js +0 -11
  67. package/dist/core/config.js.map +1 -1
  68. package/dist/core/featureConfig.js +0 -32
  69. package/dist/core/featureConfig.js.map +1 -1
  70. package/dist/core/types.d.ts +1 -1
  71. package/dist/core/types.js +0 -3
  72. package/dist/core/types.js.map +1 -1
  73. package/dist/core/utils/debounce.js +0 -18
  74. package/dist/core/utils/debounce.js.map +1 -1
  75. package/dist/core/utils/requestError.js +0 -5
  76. package/dist/core/utils/requestError.js.map +1 -1
  77. package/dist/core/utils/retry.js +0 -31
  78. package/dist/core/utils/retry.js.map +1 -1
  79. package/dist/core/utils/throttle.js +0 -24
  80. package/dist/core/utils/throttle.js.map +1 -1
  81. package/dist/data/cross-reference-resolve.js +0 -6
  82. package/dist/data/cross-reference-resolve.js.map +1 -1
  83. package/dist/data/cross-reference.js +0 -15
  84. package/dist/data/cross-reference.js.map +1 -1
  85. package/dist/data/css-queries/css-query-registry.d.ts +2 -2
  86. package/dist/data/css-queries/css-query-registry.js +1 -1
  87. package/dist/data/css-queries/css-query-registry.js.map +1 -1
  88. package/dist/data/dal/index.js +0 -21
  89. package/dist/data/dal/index.js.map +1 -1
  90. package/dist/data/dal/init.js +0 -40
  91. package/dist/data/dal/init.js.map +1 -1
  92. package/dist/data/dal/p1-store.d.ts.map +1 -1
  93. package/dist/data/dal/p1-store.js +11 -41
  94. package/dist/data/dal/p1-store.js.map +1 -1
  95. package/dist/data/data-list-block/create-data-list-block.js +0 -7
  96. package/dist/data/data-list-block/create-data-list-block.js.map +1 -1
  97. package/dist/data/data-list-block/utils.js +0 -1
  98. package/dist/data/data-list-block/utils.js.map +1 -1
  99. package/dist/data/fields/pds-field-helpers.js +1 -4
  100. package/dist/data/fields/pds-field-helpers.js.map +1 -1
  101. package/dist/data/fields/visible-when.js +0 -5
  102. package/dist/data/fields/visible-when.js.map +1 -1
  103. package/dist/data/fields.js +0 -12
  104. package/dist/data/fields.js.map +1 -1
  105. package/dist/data/get-page.js +0 -1
  106. package/dist/data/get-page.js.map +1 -1
  107. package/dist/data/page-editor-meta.js +0 -7
  108. package/dist/data/page-editor-meta.js.map +1 -1
  109. package/dist/data/page-store.js +0 -32
  110. package/dist/data/page-store.js.map +1 -1
  111. package/dist/data/page-structure.js +0 -3
  112. package/dist/data/page-structure.js.map +1 -1
  113. package/dist/data/paths.js +0 -16
  114. package/dist/data/paths.js.map +1 -1
  115. package/dist/data/remote-datasources/fetch-http-json.js +0 -5
  116. package/dist/data/remote-datasources/fetch-http-json.js.map +1 -1
  117. package/dist/data/remote-datasources/loader.js +0 -21
  118. package/dist/data/remote-datasources/loader.js.map +1 -1
  119. package/dist/data/remote-datasources/remote-datasource-registry.js +0 -4
  120. package/dist/data/remote-datasources/remote-datasource-registry.js.map +1 -1
  121. package/dist/data/resolve-data-templates.js +0 -24
  122. package/dist/data/resolve-data-templates.js.map +1 -1
  123. package/dist/data/route-templates.js +0 -29
  124. package/dist/data/route-templates.js.map +1 -1
  125. package/dist/data/semantic-ops.js +0 -11
  126. package/dist/data/semantic-ops.js.map +1 -1
  127. package/dist/data/styles.js +0 -2
  128. package/dist/data/styles.js.map +1 -1
  129. package/dist/data/template-autocomplete.js +0 -8
  130. package/dist/data/template-autocomplete.js.map +1 -1
  131. package/dist/data/utils.d.ts +2 -0
  132. package/dist/data/utils.d.ts.map +1 -1
  133. package/dist/data/utils.js +3 -1
  134. package/dist/data/utils.js.map +1 -1
  135. package/dist/editor/P1App.d.ts.map +1 -1
  136. package/dist/editor/P1App.js +6 -45
  137. package/dist/editor/P1App.js.map +1 -1
  138. package/dist/editor/P1PuckProvider.d.ts +1 -1
  139. package/dist/editor/P1PuckProvider.js +39 -556
  140. package/dist/editor/P1PuckProvider.js.map +1 -1
  141. package/dist/editor/aiPanelStore.js +0 -7
  142. package/dist/editor/aiPanelStore.js.map +1 -1
  143. package/dist/editor/components/BranchSelector.js +0 -21
  144. package/dist/editor/components/BranchSelector.js.map +1 -1
  145. package/dist/editor/components/CollapsibleSectionHeader.js +1 -4
  146. package/dist/editor/components/CollapsibleSectionHeader.js.map +1 -1
  147. package/dist/editor/components/DraggableRow.js +0 -1
  148. package/dist/editor/components/DraggableRow.js.map +1 -1
  149. package/dist/editor/components/EditorReloadOverlay.d.ts +16 -0
  150. package/dist/editor/components/EditorReloadOverlay.d.ts.map +1 -0
  151. package/dist/editor/components/EditorReloadOverlay.js +13 -0
  152. package/dist/editor/components/EditorReloadOverlay.js.map +1 -0
  153. package/dist/editor/components/NotificationContainer.js +0 -20
  154. package/dist/editor/components/NotificationContainer.js.map +1 -1
  155. package/dist/editor/components/OutlinePanel.js +1 -12
  156. package/dist/editor/components/OutlinePanel.js.map +1 -1
  157. package/dist/editor/components/P1InspectorFields.d.ts.map +1 -1
  158. package/dist/editor/components/P1InspectorFields.js +12 -14
  159. package/dist/editor/components/P1InspectorFields.js.map +1 -1
  160. package/dist/editor/components/P1TemplateFields.js +6 -12
  161. package/dist/editor/components/P1TemplateFields.js.map +1 -1
  162. package/dist/editor/components/PanelHeader.d.ts.map +1 -1
  163. package/dist/editor/components/PanelHeader.js +3 -2
  164. package/dist/editor/components/PanelHeader.js.map +1 -1
  165. package/dist/editor/components/PublishButton.js +0 -21
  166. package/dist/editor/components/PublishButton.js.map +1 -1
  167. package/dist/editor/components/PuckDataCapture.js +0 -14
  168. package/dist/editor/components/PuckDataCapture.js.map +1 -1
  169. package/dist/editor/components/PuckDataSynchronizer.js +0 -67
  170. package/dist/editor/components/PuckDataSynchronizer.js.map +1 -1
  171. package/dist/editor/components/PuckSelectionTracker.js +0 -62
  172. package/dist/editor/components/PuckSelectionTracker.js.map +1 -1
  173. package/dist/editor/components/SaveIndicator.js +0 -41
  174. package/dist/editor/components/SaveIndicator.js.map +1 -1
  175. package/dist/editor/components/Toast.js +1 -32
  176. package/dist/editor/components/Toast.js.map +1 -1
  177. package/dist/editor/components/VersionBannerOverride.js +2 -14
  178. package/dist/editor/components/VersionBannerOverride.js.map +1 -1
  179. package/dist/editor/components/collapsibleSectionContext.js +0 -10
  180. package/dist/editor/components/collapsibleSectionContext.js.map +1 -1
  181. package/dist/editor/components/componentIconName.js +0 -23
  182. package/dist/editor/components/componentIconName.js.map +1 -1
  183. package/dist/editor/components/connectable.js +0 -5
  184. package/dist/editor/components/connectable.js.map +1 -1
  185. package/dist/editor/components/merge-preview/MergePreviewRenderer.js +2 -74
  186. package/dist/editor/components/merge-preview/MergePreviewRenderer.js.map +1 -1
  187. package/dist/editor/components/merge-preview/ScaledContent.js +0 -6
  188. package/dist/editor/components/merge-preview/ScaledContent.js.map +1 -1
  189. package/dist/editor/components/merge-preview/index.js +0 -5
  190. package/dist/editor/components/merge-preview/index.js.map +1 -1
  191. package/dist/editor/components/outlineTree.js +0 -31
  192. package/dist/editor/components/outlineTree.js.map +1 -1
  193. package/dist/editor/components/useDragReorder.js +0 -1
  194. package/dist/editor/components/useDragReorder.js.map +1 -1
  195. package/dist/editor/defaultPlugins.d.ts +1 -1
  196. package/dist/editor/defaultPlugins.js +1 -1
  197. package/dist/editor/logout-store.d.ts +13 -0
  198. package/dist/editor/logout-store.d.ts.map +1 -0
  199. package/dist/editor/logout-store.js +23 -0
  200. package/dist/editor/logout-store.js.map +1 -0
  201. package/dist/editor/plugin/P1Plugin.d.ts +6 -3
  202. package/dist/editor/plugin/P1Plugin.d.ts.map +1 -1
  203. package/dist/editor/plugin/P1Plugin.js +20 -170
  204. package/dist/editor/plugin/P1Plugin.js.map +1 -1
  205. package/dist/editor/plugin/context-sync-key.js +0 -19
  206. package/dist/editor/plugin/context-sync-key.js.map +1 -1
  207. package/dist/editor/plugin/createP1Overrides.js +1 -49
  208. package/dist/editor/plugin/createP1Overrides.js.map +1 -1
  209. package/dist/editor/plugin/document-sync-plugin.js +0 -50
  210. package/dist/editor/plugin/document-sync-plugin.js.map +1 -1
  211. package/dist/editor/plugin/fieldGuidance.js +0 -5
  212. package/dist/editor/plugin/fieldGuidance.js.map +1 -1
  213. package/dist/editor/plugin/index.js +0 -6
  214. package/dist/editor/plugin/index.js.map +1 -1
  215. package/dist/editor/plugin/selectHeaderCollaborators.js +0 -8
  216. package/dist/editor/plugin/selectHeaderCollaborators.js.map +1 -1
  217. package/dist/editor/presets.js +2 -2
  218. package/dist/editor/thumbnails/LiveThumbnail.js +1 -49
  219. package/dist/editor/thumbnails/LiveThumbnail.js.map +1 -1
  220. package/dist/editor/thumbnails/ThumbnailCard.js +0 -25
  221. package/dist/editor/thumbnails/ThumbnailCard.js.map +1 -1
  222. package/dist/editor/thumbnails/buildLiveThumbnailDrawer.js +0 -21
  223. package/dist/editor/thumbnails/buildLiveThumbnailDrawer.js.map +1 -1
  224. package/dist/editor/thumbnails/humanizeComponentName.js +0 -17
  225. package/dist/editor/thumbnails/humanizeComponentName.js.map +1 -1
  226. package/dist/editor/thumbnails/resolveLiveThumbnailDrawer.js +0 -11
  227. package/dist/editor/thumbnails/resolveLiveThumbnailDrawer.js.map +1 -1
  228. package/dist/editor/thumbnails/thumbnailCache.js +0 -38
  229. package/dist/editor/thumbnails/thumbnailCache.js.map +1 -1
  230. package/dist/editor/useAutoSave.js +0 -32
  231. package/dist/editor/useAutoSave.js.map +1 -1
  232. package/dist/editor/useBranches.js +0 -30
  233. package/dist/editor/useBranches.js.map +1 -1
  234. package/dist/editor/useComponentRegistry.d.ts +1 -1
  235. package/dist/editor/useComponentRegistry.js +0 -28
  236. package/dist/editor/useComponentRegistry.js.map +1 -1
  237. package/dist/editor/useDocuments.js +0 -51
  238. package/dist/editor/useDocuments.js.map +1 -1
  239. package/dist/editor/useMergePreview.js +8 -12
  240. package/dist/editor/useMergePreview.js.map +1 -1
  241. package/dist/editor/useP1Editor.d.ts +27 -7
  242. package/dist/editor/useP1Editor.d.ts.map +1 -1
  243. package/dist/editor/useP1Editor.js +106 -239
  244. package/dist/editor/useP1Editor.js.map +1 -1
  245. package/dist/editor/useP1Overrides.js +15 -50
  246. package/dist/editor/useP1Overrides.js.map +1 -1
  247. package/dist/editor/useP1Plugin.d.ts +7 -3
  248. package/dist/editor/useP1Plugin.d.ts.map +1 -1
  249. package/dist/editor/useP1Plugin.js +28 -56
  250. package/dist/editor/useP1Plugin.js.map +1 -1
  251. package/dist/editor/useRealtime.d.ts +15 -3
  252. package/dist/editor/useRealtime.d.ts.map +1 -1
  253. package/dist/editor/useRealtime.js +12 -91
  254. package/dist/editor/useRealtime.js.map +1 -1
  255. package/dist/editor/useResponsivePanels.js +2 -35
  256. package/dist/editor/useResponsivePanels.js.map +1 -1
  257. package/dist/editor/useSidebarScrollPreservation.js +0 -14
  258. package/dist/editor/useSidebarScrollPreservation.js.map +1 -1
  259. package/dist/editor/utils/buildThumbnailOverride.js +0 -9
  260. package/dist/editor/utils/buildThumbnailOverride.js.map +1 -1
  261. package/dist/editor/utils/componentRegistry.d.ts +6 -11
  262. package/dist/editor/utils/componentRegistry.d.ts.map +1 -1
  263. package/dist/editor/utils/componentRegistry.js +1 -71
  264. package/dist/editor/utils/componentRegistry.js.map +1 -1
  265. package/dist/editor/utils/createStablePluginArray.js +0 -27
  266. package/dist/editor/utils/createStablePluginArray.js.map +1 -1
  267. package/dist/editor/utils/path.js +0 -6
  268. package/dist/editor/utils/path.js.map +1 -1
  269. package/dist/editor/utils/puckYjsBinding.d.ts +1 -1
  270. package/dist/editor/utils/puckYjsBinding.js +0 -99
  271. package/dist/editor/utils/puckYjsBinding.js.map +1 -1
  272. package/dist/editor/utils/restoreDocumentVersion.js +0 -12
  273. package/dist/editor/utils/restoreDocumentVersion.js.map +1 -1
  274. package/dist/editor/utils/sanitizeRichtextDefaults.js +0 -26
  275. package/dist/editor/utils/sanitizeRichtextDefaults.js.map +1 -1
  276. package/dist/editor/utils/snapshotToPuckData.js +0 -8
  277. package/dist/editor/utils/snapshotToPuckData.js.map +1 -1
  278. package/dist/editor/utils/syncComponentRegistry.d.ts +2 -2
  279. package/dist/editor/utils/syncComponentRegistry.js +1 -76
  280. package/dist/editor/utils/syncComponentRegistry.js.map +1 -1
  281. package/dist/editor/utils/syncComponentRegistryWriteOnly.d.ts +7 -7
  282. package/dist/editor/utils/syncComponentRegistryWriteOnly.js +0 -22
  283. package/dist/editor/utils/syncComponentRegistryWriteOnly.js.map +1 -1
  284. package/dist/editor/utils/templatePath.js +0 -5
  285. package/dist/editor/utils/templatePath.js.map +1 -1
  286. package/dist/features/content-type-templates/editor/useTemplatePermissions.js +0 -3
  287. package/dist/features/content-type-templates/editor/useTemplatePermissions.js.map +1 -1
  288. package/dist/features/content-type-templates/hooks/useTemplateList.js +0 -30
  289. package/dist/features/content-type-templates/hooks/useTemplateList.js.map +1 -1
  290. package/dist/features/content-type-templates/index.js +0 -8
  291. package/dist/features/content-type-templates/index.js.map +1 -1
  292. package/dist/features/content-type-templates/permissions/createPuckPermissions.js +1 -43
  293. package/dist/features/content-type-templates/permissions/createPuckPermissions.js.map +1 -1
  294. package/dist/features/content-type-templates/permissions/role-permissions.js +0 -29
  295. package/dist/features/content-type-templates/permissions/role-permissions.js.map +1 -1
  296. package/dist/features/content-type-templates/permissions/useContentRole.js +0 -24
  297. package/dist/features/content-type-templates/permissions/useContentRole.js.map +1 -1
  298. package/dist/features/content-type-templates/permissions/useResolveContentRole.d.ts +5 -5
  299. package/dist/features/content-type-templates/permissions/useResolveContentRole.js +2 -22
  300. package/dist/features/content-type-templates/permissions/useResolveContentRole.js.map +1 -1
  301. package/dist/features/content-type-templates/stores/index.js +0 -5
  302. package/dist/features/content-type-templates/stores/index.js.map +1 -1
  303. package/dist/features/content-type-templates/stores/template-store-api.js +0 -14
  304. package/dist/features/content-type-templates/stores/template-store-api.js.map +1 -1
  305. package/dist/features/content-type-templates/stores/template-store.d.ts +1 -1
  306. package/dist/features/content-type-templates/stores/template-store.js +0 -12
  307. package/dist/features/content-type-templates/stores/template-store.js.map +1 -1
  308. package/dist/features/content-type-templates/types.js +0 -5
  309. package/dist/features/content-type-templates/types.js.map +1 -1
  310. package/dist/features/content-type-templates/ui/ActionBarPinButton.js +12 -21
  311. package/dist/features/content-type-templates/ui/ActionBarPinButton.js.map +1 -1
  312. package/dist/features/content-type-templates/ui/TemplateDetailsPanel.js +0 -23
  313. package/dist/features/content-type-templates/ui/TemplateDetailsPanel.js.map +1 -1
  314. package/dist/features/content-type-templates/ui/TemplateSelector.js +0 -19
  315. package/dist/features/content-type-templates/ui/TemplateSelector.js.map +1 -1
  316. package/dist/features/content-type-templates/validation/structural-validation.js +0 -40
  317. package/dist/features/content-type-templates/validation/structural-validation.js.map +1 -1
  318. package/dist/index.d.ts +6 -4
  319. package/dist/index.d.ts.map +1 -1
  320. package/dist/index.js +2 -43
  321. package/dist/index.js.map +1 -1
  322. package/dist/merge/components/conflict-notifications/ConflictNotificationToast.js +0 -19
  323. package/dist/merge/components/conflict-notifications/ConflictNotificationToast.js.map +1 -1
  324. package/dist/merge/components/conflict-notifications/index.js +0 -5
  325. package/dist/merge/components/conflict-notifications/index.js.map +1 -1
  326. package/dist/merge/components/conflict-notifications/useConflictNotifications.js +0 -48
  327. package/dist/merge/components/conflict-notifications/useConflictNotifications.js.map +1 -1
  328. package/dist/merge/components/conflict-resolution/ComponentConflictGroup.js +0 -36
  329. package/dist/merge/components/conflict-resolution/ComponentConflictGroup.js.map +1 -1
  330. package/dist/merge/components/conflict-resolution/PuckFieldResolutionPanel.js +0 -40
  331. package/dist/merge/components/conflict-resolution/PuckFieldResolutionPanel.js.map +1 -1
  332. package/dist/merge/components/conflict-resolution/RenderedResolutionPreview.js +0 -21
  333. package/dist/merge/components/conflict-resolution/RenderedResolutionPreview.js.map +1 -1
  334. package/dist/merge/components/conflict-resolution/index.js +0 -5
  335. package/dist/merge/components/conflict-resolution/index.js.map +1 -1
  336. package/dist/merge/components/merge-resolution/CherryPickVisualPanel.js +0 -44
  337. package/dist/merge/components/merge-resolution/CherryPickVisualPanel.js.map +1 -1
  338. package/dist/merge/components/merge-resolution/ComponentClickOverlay.js +0 -24
  339. package/dist/merge/components/merge-resolution/ComponentClickOverlay.js.map +1 -1
  340. package/dist/merge/components/merge-resolution/DocumentResolutionDetail.d.ts.map +1 -1
  341. package/dist/merge/components/merge-resolution/DocumentResolutionDetail.js +6 -31
  342. package/dist/merge/components/merge-resolution/DocumentResolutionDetail.js.map +1 -1
  343. package/dist/merge/components/merge-resolution/index.js +0 -3
  344. package/dist/merge/components/merge-resolution/index.js.map +1 -1
  345. package/dist/merge/useMergeResolution.d.ts +1 -1
  346. package/dist/merge/useMergeResolution.d.ts.map +1 -1
  347. package/dist/merge/useMergeResolution.js +6 -75
  348. package/dist/merge/useMergeResolution.js.map +1 -1
  349. package/dist/merge/utils/namespacePuckData.d.ts.map +1 -1
  350. package/dist/merge/utils/namespacePuckData.js +8 -8
  351. package/dist/merge/utils/namespacePuckData.js.map +1 -1
  352. package/dist/merge/utils/puckFieldClassifier.js +0 -183
  353. package/dist/merge/utils/puckFieldClassifier.js.map +1 -1
  354. package/dist/p1/editor/connect/connect-preview-config.js +0 -5
  355. package/dist/p1/editor/connect/connect-preview-config.js.map +1 -1
  356. package/dist/p1/editor/connect/field-connect-plugin.js +0 -6
  357. package/dist/p1/editor/connect/field-connect-plugin.js.map +1 -1
  358. package/dist/p1/editor/editor-preview-resolve.js +0 -13
  359. package/dist/p1/editor/editor-preview-resolve.js.map +1 -1
  360. package/dist/p1/editor/hooks/api-hooks.js +0 -7
  361. package/dist/p1/editor/hooks/api-hooks.js.map +1 -1
  362. package/dist/p1/editor/hooks/useLiveEditorContext.js +0 -12
  363. package/dist/p1/editor/hooks/useLiveEditorContext.js.map +1 -1
  364. package/dist/p1/editor/hooks/useLiveRemoteDatasources.js +0 -22
  365. package/dist/p1/editor/hooks/useLiveRemoteDatasources.js.map +1 -1
  366. package/dist/p1/editor/hooks/useP1Plugins.js +0 -5
  367. package/dist/p1/editor/hooks/useP1Plugins.js.map +1 -1
  368. package/dist/p1/editor/remote-datasources/remote-datasource-explorer-plugin.js +0 -7
  369. package/dist/p1/editor/remote-datasources/remote-datasource-explorer-plugin.js.map +1 -1
  370. package/dist/p1/editor/template-autocomplete-layer.js +0 -4
  371. package/dist/p1/editor/template-autocomplete-layer.js.map +1 -1
  372. package/dist/pds/components/AgentChip.js +0 -3
  373. package/dist/pds/components/AgentChip.js.map +1 -1
  374. package/dist/pds/components/CreatePageModal.js +1 -97
  375. package/dist/pds/components/CreatePageModal.js.map +1 -1
  376. package/dist/pds/components/LoadingMessage.d.ts.map +1 -1
  377. package/dist/pds/components/LoadingMessage.js +2 -1
  378. package/dist/pds/components/LoadingMessage.js.map +1 -1
  379. package/dist/pds/components/LoadingMessage.module.css +2 -21
  380. package/dist/pds/components/LoadingOverlay.d.ts +17 -0
  381. package/dist/pds/components/LoadingOverlay.d.ts.map +1 -0
  382. package/dist/pds/components/LoadingOverlay.js +7 -0
  383. package/dist/pds/components/LoadingOverlay.js.map +1 -0
  384. package/dist/pds/components/LoadingOverlay.module.css +28 -0
  385. package/dist/pds/components/P1EditorHeader.d.ts +9 -2
  386. package/dist/pds/components/P1EditorHeader.d.ts.map +1 -1
  387. package/dist/pds/components/P1EditorHeader.js +6 -26
  388. package/dist/pds/components/P1EditorHeader.js.map +1 -1
  389. package/dist/pds/components/P1EditorHeader.module.css +26 -0
  390. package/dist/pds/components/PageNavigator.js +0 -16
  391. package/dist/pds/components/PageNavigator.js.map +1 -1
  392. package/dist/pds/components/PresenceStack.js +0 -9
  393. package/dist/pds/components/PresenceStack.js.map +1 -1
  394. package/dist/pds/components/PublishControl.js +0 -6
  395. package/dist/pds/components/PublishControl.js.map +1 -1
  396. package/dist/pds/components/WorkstreamSwitcher.js +1 -25
  397. package/dist/pds/components/WorkstreamSwitcher.js.map +1 -1
  398. package/dist/pds/index.d.ts +2 -0
  399. package/dist/pds/index.d.ts.map +1 -1
  400. package/dist/pds/index.js +1 -29
  401. package/dist/pds/index.js.map +1 -1
  402. package/dist/pds/theme/pds-core-content.js +0 -5
  403. package/dist/pds/theme/pds-core-content.js.map +1 -1
  404. package/dist/pds/utils/deriveDocState.js +0 -1
  405. package/dist/pds/utils/deriveDocState.js.map +1 -1
  406. package/dist/pds/utils/deriveLiveDocState.js +0 -13
  407. package/dist/pds/utils/deriveLiveDocState.js.map +1 -1
  408. package/dist/registry-sync.js +0 -4
  409. package/dist/registry-sync.js.map +1 -1
  410. package/dist/server.js +0 -7
  411. package/dist/server.js.map +1 -1
  412. package/dist/versioning/components/ReadOnlyFieldsGuard.js +0 -3
  413. package/dist/versioning/components/ReadOnlyFieldsGuard.js.map +1 -1
  414. package/dist/versioning/components/VersionBannerActions.js +0 -1
  415. package/dist/versioning/components/VersionBannerActions.js.map +1 -1
  416. package/dist/versioning/components/version-compare/BranchDiffHeader.js +0 -7
  417. package/dist/versioning/components/version-compare/BranchDiffHeader.js.map +1 -1
  418. package/dist/versioning/components/version-compare/BranchMergeCompare.js +0 -19
  419. package/dist/versioning/components/version-compare/BranchMergeCompare.js.map +1 -1
  420. package/dist/versioning/components/version-compare/ComponentNode.js +0 -8
  421. package/dist/versioning/components/version-compare/ComponentNode.js.map +1 -1
  422. package/dist/versioning/components/version-compare/ComponentTree.js +0 -10
  423. package/dist/versioning/components/version-compare/ComponentTree.js.map +1 -1
  424. package/dist/versioning/components/version-compare/DiffHeader.js +0 -3
  425. package/dist/versioning/components/version-compare/DiffHeader.js.map +1 -1
  426. package/dist/versioning/components/version-compare/DocumentDiffList.js +0 -14
  427. package/dist/versioning/components/version-compare/DocumentDiffList.js.map +1 -1
  428. package/dist/versioning/components/version-compare/PropDiffPanel.js +0 -7
  429. package/dist/versioning/components/version-compare/PropDiffPanel.js.map +1 -1
  430. package/dist/versioning/components/version-compare/PropDiffRow.js +0 -3
  431. package/dist/versioning/components/version-compare/PropDiffRow.js.map +1 -1
  432. package/dist/versioning/components/version-compare/PropValueDisplay.js +0 -22
  433. package/dist/versioning/components/version-compare/PropValueDisplay.js.map +1 -1
  434. package/dist/versioning/components/version-compare/VersionComparePage.js +0 -13
  435. package/dist/versioning/components/version-compare/VersionComparePage.js.map +1 -1
  436. package/dist/versioning/components/version-compare/VisualBranchCompare.js +0 -17
  437. package/dist/versioning/components/version-compare/VisualBranchCompare.js.map +1 -1
  438. package/dist/versioning/components/version-compare/VisualVersionCompare.js +0 -23
  439. package/dist/versioning/components/version-compare/VisualVersionCompare.js.map +1 -1
  440. package/dist/versioning/components/version-compare/index.js +0 -5
  441. package/dist/versioning/components/version-compare/index.js.map +1 -1
  442. package/dist/versioning/components/version-history/AgentCheckpointBadge.js +0 -14
  443. package/dist/versioning/components/version-history/AgentCheckpointBadge.js.map +1 -1
  444. package/dist/versioning/components/version-history/VersionItem.js +0 -7
  445. package/dist/versioning/components/version-history/VersionItem.js.map +1 -1
  446. package/dist/versioning/components/version-history/index.js +0 -5
  447. package/dist/versioning/components/version-history/index.js.map +1 -1
  448. package/dist/versioning/useCheckpoints.js +0 -28
  449. package/dist/versioning/useCheckpoints.js.map +1 -1
  450. package/dist/versioning/useVersions.js +0 -31
  451. package/dist/versioning/useVersions.js.map +1 -1
  452. package/dist/versioning/utils/branchDiff.js +0 -93
  453. package/dist/versioning/utils/branchDiff.js.map +1 -1
  454. package/dist/versioning/utils/diff.js +0 -79
  455. package/dist/versioning/utils/diff.js.map +1 -1
  456. package/dist/versioning/utils/formatVersionDate.js +0 -12
  457. package/dist/versioning/utils/formatVersionDate.js.map +1 -1
  458. package/dist/versioning/utils/highlightConfig.js +0 -42
  459. package/dist/versioning/utils/highlightConfig.js.map +1 -1
  460. package/dist/versioning/utils/versionKind.js +0 -10
  461. package/dist/versioning/utils/versionKind.js.map +1 -1
  462. package/package.json +7 -7
  463. package/src/pds/theme/PuckEditorTheme.css +5 -5
  464. package/src/styles.css +1 -1
  465. package/src/pds/theme/PuckEditorTheme.test.ts +0 -195
  466. package/src/pds/theme/pds-core-content.ts +0 -8
@@ -1,16 +1,9 @@
1
1
  "use client";
2
- /**
3
- * useP1Editor Hook
4
- *
5
- * All-in-one hook for setting up a P1-enabled Puck editor.
6
- * Composes useP1Plugin and useP1Overrides internally, handles
7
- * document loading, version management, historical version protection,
8
- * and provides everything needed to render <Puck>.
9
- */
10
2
  import { useState, useEffect, useRef, useMemo, useCallback } from 'react';
11
3
  import { useP1Puck } from '../core/P1PuckContext.js';
12
4
  import { useVersions } from '../versioning/useVersions.js';
13
5
  import { useP1Auth } from '../auth/index.js';
6
+ import { isDocumentGoneError } from '../data/utils.js';
14
7
  import { useP1Plugin } from './useP1Plugin.js';
15
8
  import { useP1Overrides } from './useP1Overrides.js';
16
9
  import { useComponentRegistry } from './useComponentRegistry.js';
@@ -20,67 +13,35 @@ import { restoreDocumentVersion } from './utils/restoreDocumentVersion.js';
20
13
  import { initialPanelUi } from './useResponsivePanels.js';
21
14
  import { createDocumentSyncStore, createDocumentSyncPlugin, documentSyncKey, BLANK_SYNC_KEY, } from './plugin/document-sync-plugin.js';
22
15
  import { resolveLiveThumbnailDrawer } from './thumbnails/resolveLiveThumbnailDrawer.js';
23
- /**
24
- * All-in-one hook for setting up a P1-enabled Puck editor.
25
- *
26
- * Handles document loading, version management, plugin/overrides creation,
27
- * safe data, historical version protection, and plugin array assembly.
28
- * Returns everything needed to render <Puck> with minimal boilerplate.
29
- *
30
- * Must be used inside a P1PuckProvider.
31
- *
32
- * @param options - Editor configuration
33
- * @returns Loading state, puck props, and P1 context
34
- *
35
- * @example
36
- * ```tsx
37
- * function Editor() {
38
- * const { loading, error, puckProps } = useP1Editor({
39
- * documentPath: '/home',
40
- * puckConfig: config,
41
- * });
42
- *
43
- * if (loading) return <Loading />;
44
- * if (error) return <Error error={error} />;
45
- *
46
- * return <Puck {...puckProps} />;
47
- * }
48
- * ```
49
- */
50
16
  export function useP1Editor(options) {
51
17
  const { documentPath, puckConfig, additionalPlugins, additionalOverrides, thumbnails, liveThumbnailDrawer, overrideOptions, pluginOptions, onSelectionChange, onDocumentNotFound, } = options;
52
- const css = useP1Puck();
18
+ const ccr = useP1Puck();
53
19
  const { user, logout } = useP1Auth();
54
- // =========================================================================
55
- // Document Loading
56
- // =========================================================================
57
20
  const [loading, setLoading] = useState(true);
58
21
  const [error, setError] = useState(null);
59
22
  const [needsRedirect, setNeedsRedirect] = useState(false);
60
23
  const loadedPathRef = useRef(null);
61
- // Reset loaded path when branch changes so document reloads on the new branch
62
- const prevBranchRef = useRef(css.branchId);
63
- if (prevBranchRef.current !== css.branchId) {
64
- prevBranchRef.current = css.branchId;
24
+ const loadedBranchRef = useRef(null);
25
+ const prevBranchRef = useRef(ccr.branchId);
26
+ if (prevBranchRef.current !== ccr.branchId) {
27
+ prevBranchRef.current = ccr.branchId;
65
28
  loadedPathRef.current = null;
66
29
  }
67
- // Keep callback in a ref so the effect doesn't re-run when it changes
68
30
  const onDocumentNotFoundRef = useRef(onDocumentNotFound);
69
31
  onDocumentNotFoundRef.current = onDocumentNotFound;
70
32
  useEffect(() => {
71
- // Wait for branch resolution before loading documents
72
- if (!css.branchId)
33
+ if (!ccr.branchId)
73
34
  return;
74
- // Skip if already loaded this path on this branch
75
35
  if (loadedPathRef.current === documentPath)
76
36
  return;
77
37
  let cancelled = false;
78
38
  setLoading(true);
79
39
  setError(null);
80
- css.loadDocument(documentPath)
40
+ ccr.loadDocument(documentPath)
81
41
  .then(() => {
82
42
  if (!cancelled) {
83
43
  loadedPathRef.current = documentPath;
44
+ loadedBranchRef.current = ccr.branchId;
84
45
  setNeedsRedirect(false);
85
46
  setLoading(false);
86
47
  }
@@ -89,26 +50,28 @@ export function useP1Editor(options) {
89
50
  if (cancelled)
90
51
  return;
91
52
  const loadErr = err instanceof Error ? err : new Error(String(err));
92
- // Give the consumer a chance to handle the error (e.g. auto-create)
53
+ if (isDocumentGoneError(loadErr)) {
54
+ setNeedsRedirect(true);
55
+ return;
56
+ }
93
57
  if (onDocumentNotFoundRef.current) {
94
58
  try {
95
59
  const shouldRetry = await onDocumentNotFoundRef.current(documentPath, loadErr);
96
60
  if (!cancelled && shouldRetry) {
97
- await css.loadDocument(documentPath);
61
+ await ccr.loadDocument(documentPath);
98
62
  if (!cancelled) {
99
63
  loadedPathRef.current = documentPath;
64
+ loadedBranchRef.current = ccr.branchId;
100
65
  setNeedsRedirect(false);
101
66
  setLoading(false);
102
- void css.refreshDocuments();
67
+ void ccr.refreshDocuments();
103
68
  }
104
69
  return;
105
70
  }
106
71
  }
107
72
  catch {
108
- // callback itself failed — fall through to unload
109
73
  }
110
74
  }
111
- // Unload the editor; recovery effect will set an error if no docs exist
112
75
  if (!cancelled) {
113
76
  setNeedsRedirect(true);
114
77
  }
@@ -116,74 +79,48 @@ export function useP1Editor(options) {
116
79
  return () => {
117
80
  cancelled = true;
118
81
  };
119
- }, [documentPath, css.branchId, css.loadDocument]);
120
- // No branch means nothing can be opened, so an unresolved branch is fatal.
121
- // Derived rather than copied into state: a retry that clears the failure has
122
- // to stop being reported, which a mirrored copy would keep showing.
123
- const branchBootError = css.branchId ? null : css.branchResolutionError ?? null;
124
- // Recovery: document not found on this branch — unload the editor and let
125
- // the preview empty state guide the user to pick a page.
82
+ }, [documentPath, ccr.branchId, ccr.loadDocument]);
83
+ const branchBootError = ccr.branchId ? null : ccr.branchResolutionError ?? null;
126
84
  useEffect(() => {
127
85
  if (!needsRedirect)
128
86
  return;
129
- if (css.documentsLoading)
87
+ if (ccr.documentsLoading)
130
88
  return;
131
89
  setNeedsRedirect(false);
132
- if (css.documents.length === 0) {
133
- // An empty list because the request was refused is a different story from
134
- // a branch that genuinely holds nothing; saying "no documents" for the
135
- // former is how the real failure stays hidden.
136
- setError(css.documentsError ?? new Error('No documents found on this branch'));
90
+ if (ccr.documents.length === 0) {
91
+ setError(ccr.documentsError ?? new Error('No documents found on this branch'));
137
92
  }
138
93
  setLoading(false);
139
- }, [needsRedirect, css.documentsLoading, css.documents.length, css.documentsError]);
140
- // =========================================================================
141
- // Version Management
142
- // =========================================================================
94
+ }, [needsRedirect, ccr.documentsLoading, ccr.documents.length, ccr.documentsError]);
143
95
  const { versions, loading: versionsLoading, refresh: refreshVersions, } = useVersions({
144
- client: css.client,
145
- siteId: css.siteId,
146
- branchId: css.branchId,
147
- documentId: css.currentDocument?.id ?? null,
96
+ client: ccr.client,
97
+ siteId: ccr.siteId,
98
+ branchId: ccr.branchId,
99
+ documentId: ccr.currentDocument?.id ?? null,
148
100
  });
149
- // Refresh versions when document changes; also reset eager-version flag so a
150
- // stale post-publish signal from the previous document never fires on the new one.
151
101
  useEffect(() => {
152
102
  needsVersionRef.current = false;
153
- if (css.currentDocument?.id)
103
+ if (ccr.currentDocument?.id)
154
104
  void refreshVersions();
155
- }, [css.currentDocument?.id, refreshVersions]);
156
- // Refresh versions after a successful save so the publish badge reflects the
157
- // new unpublished draft (publishedStatus flips 'published' → 'unpublished-changes').
158
- // Without this the badge would keep reading "Live" after an edit on the Live branch.
105
+ }, [ccr.currentDocument?.id, refreshVersions]);
159
106
  useEffect(() => {
160
- if (css.saveStatus === 'saved')
107
+ if (ccr.saveStatus === 'saved')
161
108
  void refreshVersions();
162
- }, [css.saveStatus, refreshVersions]);
163
- // Select a version — latest returns to live editing, others load historical
109
+ }, [ccr.saveStatus, refreshVersions]);
164
110
  const handleVersionSelect = useCallback((version) => {
165
111
  const latestVersion = versions[0];
166
112
  if (latestVersion && version.id === latestVersion.id) {
167
- void css.returnToLatest();
113
+ void ccr.returnToLatest();
168
114
  }
169
115
  else {
170
- void css.loadVersion(version);
116
+ void ccr.loadVersion(version);
171
117
  }
172
- }, [versions, css.loadVersion, css.returnToLatest]);
173
- // Revert to a prior version.
174
- const handleRestoreVersion = useCallback((version) => restoreDocumentVersion(version, css, refreshVersions, () => { }), [css, refreshVersions]);
175
- // =========================================================================
176
- // Published Status (derived from version data)
177
- // =========================================================================
178
- // The backend includes isPublished on each DocumentVersion via an EXISTS
179
- // subquery against checkpoint_documents. No additional API calls needed.
180
- const currentVersionId = css.viewingVersion?.id ?? versions[0]?.id;
118
+ }, [versions, ccr.loadVersion, ccr.returnToLatest]);
119
+ const handleRestoreVersion = useCallback((version) => restoreDocumentVersion(version, ccr, refreshVersions, () => { }), [ccr, refreshVersions]);
120
+ const currentVersionId = ccr.viewingVersion?.id ?? versions[0]?.id;
181
121
  const currentVersionIsPublished = versions.find(v => v.id === currentVersionId)?.isPublished ?? false;
182
122
  const hasPublishedVersion = versions.some(v => v.isPublished);
183
- // Look up the current document from the branch document list, which includes
184
- // inherited and isPublished fields from the branch-level listing endpoint.
185
- // css.currentDocument comes from the site-level getByPath endpoint and lacks these.
186
- const branchDocument = css.documents.find(d => d.id === css.currentDocument?.id);
123
+ const branchDocument = ccr.documents.find(d => d.id === ccr.currentDocument?.id);
187
124
  const inheritedAndPublished = branchDocument?.inherited && branchDocument?.isPublished;
188
125
  const publishedStatus = versionsLoading
189
126
  ? undefined
@@ -194,60 +131,58 @@ export function useP1Editor(options) {
194
131
  : hasPublishedVersion
195
132
  ? 'unpublished-changes'
196
133
  : 'draft';
197
- // =========================================================================
198
- // Focus Region Reporting (outgoing — report local selection to server)
199
- // =========================================================================
200
- // Report selection changes to the presence system via WebSocket.
201
- // Wraps the consumer's onSelectionChange so both reporting and
202
- // the consumer callback are called.
203
134
  const onSelectionChangeRef = useRef(onSelectionChange);
204
135
  onSelectionChangeRef.current = onSelectionChange;
205
136
  const handleSelectionChange = useCallback((path, itemId) => {
206
- // Report to presence system via WebSocket (instant broadcast to other clients)
207
137
  const regions = path ? [path] : [];
208
- css.sendFocusRegions(regions);
209
- // Forward to consumer callback
138
+ ccr.sendFocusRegions(regions);
210
139
  onSelectionChangeRef.current?.(path, itemId);
211
- }, [css.sendFocusRegions]);
212
- // =========================================================================
213
- // Component Registry (runs at editor startup, writes descriptors to P1 backend)
214
- // =========================================================================
140
+ }, [ccr.sendFocusRegions]);
215
141
  useComponentRegistry({ puckConfig });
216
- // =========================================================================
217
- // Plugin & Overrides (composed hooks)
218
- // =========================================================================
219
- // Set true after a successful publish; the next onChange fires the eager
220
- // version create and clears this immediately.
221
142
  const needsVersionRef = useRef(false);
222
- const eagerVersionParamsRef = useRef({ siteId: css.siteId, branchId: css.branchId, documentId: css.currentDocument?.id ?? null });
223
- eagerVersionParamsRef.current = { siteId: css.siteId, branchId: css.branchId, documentId: css.currentDocument?.id ?? null };
224
- // Wrap publish to refresh version list and call consumer callback after success.
143
+ const eagerVersionParamsRef = useRef({ siteId: ccr.siteId, branchId: ccr.branchId, documentId: ccr.currentDocument?.id ?? null });
144
+ eagerVersionParamsRef.current = { siteId: ccr.siteId, branchId: ccr.branchId, documentId: ccr.currentDocument?.id ?? null };
225
145
  const consumerOnPublishSuccessRef = useRef(overrideOptions?.onPublishSuccess);
226
146
  consumerOnPublishSuccessRef.current = overrideOptions?.onPublishSuccess;
227
147
  const handlePublish = useCallback(async () => {
228
- const checkpoint = await css.publishDocument();
148
+ const checkpoint = await ccr.publishDocument();
229
149
  needsVersionRef.current = true;
230
150
  void refreshVersions();
231
151
  consumerOnPublishSuccessRef.current?.(checkpoint);
232
- }, [css, refreshVersions]);
233
- const canRevert = css.userRole === 'admin' || css.userRole === 'editor' || css.userRole === 'author';
234
- // Pushes freshly loaded documents into the live Puck instance, replacing
235
- // the remount-on-document-switch behavior the old document-scoped puckKey
236
- // provided (see document-sync-plugin.tsx). Handed to the P1 plugin as well
237
- // so its context sync defers document switches to this store.
152
+ }, [ccr, refreshVersions]);
153
+ const canRevert = ccr.userRole === 'admin' || ccr.userRole === 'editor' || ccr.userRole === 'author';
238
154
  const [documentSyncStore] = useState(createDocumentSyncStore);
155
+ const [logoutError, setLogoutError] = useState(null);
156
+ const [isLoggingOut, setIsLoggingOut] = useState(false);
157
+ const handleLogout = useCallback(async () => {
158
+ setIsLoggingOut(true);
159
+ setLogoutError(null);
160
+ try {
161
+ const outcome = await logout();
162
+ if (outcome.status === 'error') {
163
+ setLogoutError(outcome.message);
164
+ setIsLoggingOut(false);
165
+ }
166
+ }
167
+ catch (err) {
168
+ setLogoutError(err instanceof Error ? err.message : 'Logout failed');
169
+ setIsLoggingOut(false);
170
+ }
171
+ }, [logout]);
239
172
  const p1Plugin = useP1Plugin({
240
173
  documentSyncStore,
241
174
  onSelectionChange: handleSelectionChange,
242
- currentUser: user ? { id: css.userId, name: user.name, email: user.email, avatar: user.picture } : undefined,
243
- onLogout: logout,
175
+ currentUser: user ? { id: ccr.userId, name: user.name, email: user.email, avatar: user.picture } : undefined,
176
+ onLogout: handleLogout,
177
+ logoutError,
178
+ isLoggingOut,
244
179
  puckConfig,
245
180
  ...pluginOptions,
246
181
  onPublish: handlePublish,
247
182
  versions,
248
183
  versionsLoading,
249
184
  publishedStatus,
250
- selectedVersionId: css.viewingVersion?.id ?? undefined,
185
+ selectedVersionId: ccr.viewingVersion?.id ?? undefined,
251
186
  onVersionSelect: handleVersionSelect,
252
187
  onRestoreVersion: handleRestoreVersion,
253
188
  canRevert,
@@ -261,11 +196,7 @@ export function useP1Editor(options) {
261
196
  publishedStatus,
262
197
  ...(overrideOptions?.onPublishSuccess ? { onPublishSuccess: wrappedOnPublishSuccess } : {}),
263
198
  });
264
- // =========================================================================
265
- // Stable plugin array
266
- // =========================================================================
267
199
  if (process.env.NODE_ENV === "development") {
268
- // eslint-disable-next-line react-hooks/rules-of-hooks
269
200
  const prev = useRef(additionalPlugins);
270
201
  if (prev.current !== additionalPlugins) {
271
202
  const countChanged = (prev.current?.length ?? 0) !== (additionalPlugins?.length ?? 0);
@@ -280,43 +211,27 @@ export function useP1Editor(options) {
280
211
  additionalPluginsRef.current = additionalPlugins;
281
212
  const pluginCount = additionalPlugins?.length ?? 0;
282
213
  const documentSyncPlugin = useMemo(() => createDocumentSyncPlugin(documentSyncStore), [documentSyncStore]);
283
- // Publish the loaded document into the live Puck instance.
284
- //
285
- // Both the key and the data come from the payload's own origin, so a key can
286
- // never be paired with a different document's data. Keying off the live
287
- // branchId instead published the incoming branch's key beside the outgoing
288
- // branch's data the instant a switch began; the plugin applied that pairing,
289
- // recorded the new key as applied, and then ignored the correct document when
290
- // it arrived under the same key — leaving the canvas a workstream behind.
291
- //
292
- // safeData is read directly rather than through a ref: it only advances when
293
- // the provider loads a document (saveData deliberately never touches
294
- // currentData), so it cannot re-fire on every keystroke.
295
- const currentDocumentId = css.currentDocument?.id;
296
- const origin = css.currentDataOrigin;
214
+ const currentDocumentId = ccr.currentDocument?.id;
215
+ const origin = ccr.currentDataOrigin;
297
216
  useEffect(() => {
298
217
  if (loading || error || !origin)
299
218
  return;
300
- // Historical versions sync through ContextSyncBridge, which does not reset
301
- // the undo stack.
302
219
  if (origin.historical)
303
220
  return;
304
- // Mid-switch the payload still belongs to the outgoing branch or document.
305
- // Withholding it keeps the applied key naming what the canvas really shows.
306
- if (origin.branchId !== css.branchId)
221
+ if (origin.branchId !== ccr.branchId)
307
222
  return;
308
223
  if (origin.documentId !== currentDocumentId)
309
224
  return;
310
225
  documentSyncStore.publish({
311
226
  syncKey: documentSyncKey(origin.branchId, origin.documentId),
312
- data: css.safeData,
227
+ data: ccr.safeData,
313
228
  });
314
229
  }, [
315
230
  loading,
316
231
  error,
317
232
  origin,
318
- css.safeData,
319
- css.branchId,
233
+ ccr.safeData,
234
+ ccr.branchId,
320
235
  currentDocumentId,
321
236
  documentSyncStore,
322
237
  ]);
@@ -327,30 +242,20 @@ export function useP1Editor(options) {
327
242
  }
328
243
  return result;
329
244
  }, [p1Plugin, documentSyncPlugin, pluginCount]);
330
- // =========================================================================
331
- // Stable onChange (disabled for historical versions, guarded across
332
- // document switches)
333
- // =========================================================================
334
- const isViewingHistoricalRef = useRef(css.isViewingHistoricalVersion);
335
- isViewingHistoricalRef.current = css.isViewingHistoricalVersion;
336
- // With Puck surviving document switches, onChange can fire while the canvas
337
- // still shows the previous document but css already targets the new one
338
- // (load in flight, or loaded but not yet pushed by the sync plugin). Saving
339
- // then would write the old page's content into the new page — drop instead.
245
+ const isViewingHistoricalRef = useRef(ccr.isViewingHistoricalVersion);
246
+ isViewingHistoricalRef.current = ccr.isViewingHistoricalVersion;
340
247
  const saveTargetKeyRef = useRef(null);
341
- saveTargetKeyRef.current = css.currentDocument?.id
342
- ? documentSyncKey(css.branchId, css.currentDocument.id)
248
+ saveTargetKeyRef.current = ccr.currentDocument?.id
249
+ ? documentSyncKey(ccr.branchId, ccr.currentDocument.id)
343
250
  : null;
344
251
  const eagerVersionHandler = useMemo(() => makeEagerVersionHandler(needsVersionRef, () => eagerVersionParamsRef.current, {
345
- createVersion: (siteId, params) => css.client.versions.create(siteId, params),
252
+ createVersion: (siteId, params) => ccr.client.versions.create(siteId, params),
346
253
  refreshVersions,
347
- }), [css.client, refreshVersions]);
348
- const { saveData } = css;
254
+ }), [ccr.client, refreshVersions]);
255
+ const { saveData } = ccr;
349
256
  const onChange = useCallback((data) => {
350
257
  if (isViewingHistoricalRef.current)
351
258
  return;
352
- // The blank sentinel stays permissive so a consumer running without the
353
- // document-sync plugin is not frozen read-only.
354
259
  const appliedKey = documentSyncStore.getAppliedKey();
355
260
  if (appliedKey !== BLANK_SYNC_KEY && appliedKey !== saveTargetKeyRef.current) {
356
261
  console.warn('[useP1Editor] save SKIPPED: canvas/document mismatch during switch.', 'canvas:', appliedKey, 'target:', saveTargetKeyRef.current);
@@ -359,44 +264,21 @@ export function useP1Editor(options) {
359
264
  eagerVersionHandler(data);
360
265
  saveData(data);
361
266
  }, [saveData, documentSyncStore, eagerVersionHandler]);
362
- // =========================================================================
363
- // Permissions (read-only for historical versions)
364
- // =========================================================================
365
267
  const permissions = useMemo(() => {
366
- if (css.isViewingHistoricalVersion) {
367
- // Omit edit:false so page/root fields are never locked by Puck's own
368
- // readonly rendering. Interaction is blocked by ReadOnlyFieldsGuard
369
- // (inert attribute) instead, which also covers root fields without
370
- // requiring resolvePermissions on config.root.
268
+ if (ccr.isViewingHistoricalVersion) {
371
269
  return { delete: false, drag: false, duplicate: false, insert: false };
372
270
  }
373
271
  return { delete: true, drag: true, duplicate: true, edit: true, insert: true };
374
- }, [css.isViewingHistoricalVersion]);
375
- // =========================================================================
376
- // Stable merged overrides
377
- // =========================================================================
378
- // Merge additional overrides (e.g. from media plugins) with P1 overrides.
379
- // Uses ref pattern to keep the merge stable — only recomputes when
380
- // p1Overrides changes, not when additionalOverrides reference changes
381
- // (which would happen every render if the consumer doesn't memoize).
272
+ }, [ccr.isViewingHistoricalVersion]);
382
273
  const additionalOverridesRef = useRef(additionalOverrides);
383
274
  additionalOverridesRef.current = additionalOverrides;
384
- // Thumbnail override — built from the thumbnails map and merged between
385
- // p1Overrides and additionalOverrides so the site can still fully override
386
- // componentItem if needed.
387
275
  const thumbnailsRef = useRef(thumbnails);
388
276
  thumbnailsRef.current = thumbnails;
389
- // Live thumbnail drawer — default ON for every consumer. Uses raw puckConfig
390
- // (not configWithPermissions) so previews show all components regardless of
391
- // role. Because useMemo deps on p1Overrides (stable after mount), changes to
392
- // puckConfig or liveThumbnailDrawer after mount are not picked up.
393
277
  const puckConfigRef = useRef(puckConfig);
394
278
  puckConfigRef.current = puckConfig;
395
279
  const liveThumbnailDrawerRef = useRef(liveThumbnailDrawer);
396
280
  liveThumbnailDrawerRef.current = liveThumbnailDrawer;
397
281
  const mergedOverrides = useMemo(() => {
398
- // Layer order (last wins):
399
- // p1Overrides → liveThumbnailDrawer → thumbnailOverride → additionalOverrides
400
282
  const layers = [
401
283
  p1Overrides,
402
284
  resolveLiveThumbnailDrawer(puckConfigRef.current, liveThumbnailDrawerRef.current),
@@ -420,33 +302,14 @@ export function useP1Editor(options) {
420
302
  }
421
303
  return merged;
422
304
  }, [p1Overrides]);
423
- // =========================================================================
424
- // Assemble puckProps
425
- // =========================================================================
426
- // Key that forces Puck to remount on role change (let puck internally manage the change on document change),
427
- // ensuring clean undo history, sidebar state, and fresh permission cache.
428
- // Puck caches resolvePermissions results per component instance — the
429
- // cache is only invalidated when component data changes, not when the
430
- // resolver function changes. Including userRole in the key forces a
431
- // clean remount with an empty cache when roles switch.
432
- const puckKey = `css-${css.userRole}`;
433
- // Sidebar visibility for the initial mount. puckKey is the dependency on
434
- // purpose even though it is not read here: a new key remounts Puck, which
435
- // re-reads this as its initial `ui`, so the budget must be applied again.
436
- // eslint-disable-next-line react-hooks/exhaustive-deps
305
+ const puckKey = `p1-${ccr.userRole}`;
437
306
  const initialSidebarUi = useMemo(() => initialPanelUi(), [puckKey]);
438
- // Focus highlighting is handled via direct DOM manipulation in
439
- // PresenceFocusBridge (P1App.tsx) no config wrapping needed.
440
- // Inject per-component resolvePermissions into the Puck config.
441
- // Puck doesn't have a top-level resolvePermissions prop — permissions
442
- // must be resolved per-component via config[type].resolvePermissions.
443
- const resolvePermsRef = useRef(css.resolvePermissions);
444
- resolvePermsRef.current = css.resolvePermissions;
445
- // Template mode: editing a template document (path `_registry/templates/<name>`).
446
- const isTemplateMode = /^_registry\/templates\//.test(css.currentDocument?.path ?? '');
307
+ const resolvePermsRef = useRef(ccr.resolvePermissions);
308
+ resolvePermsRef.current = ccr.resolvePermissions;
309
+ const isTemplateMode = /^_registry\/templates\//.test(ccr.currentDocument?.path ?? '');
447
310
  const configWithPermissions = useMemo(() => {
448
311
  let cfg = puckConfig;
449
- if (css.resolvePermissions) {
312
+ if (ccr.resolvePermissions) {
450
313
  const components = (cfg.components ?? {});
451
314
  const wrapped = {};
452
315
  for (const [name, comp] of Object.entries(components)) {
@@ -457,12 +320,6 @@ export function useP1Editor(options) {
457
320
  if (!resolver)
458
321
  return params.permissions;
459
322
  const basePerms = resolver({ type: name, props: data?.props }, {});
460
- // Template-authoring mode: the context resolver only sees a
461
- // metadata summary (no pins), so the document's live _pinMap is the
462
- // pin source. On a bound page the resolver reads the live template
463
- // and already governs pins, so the page's own snapshot pinMap is
464
- // ignored — otherwise a stale pin would stay locked after the
465
- // template unpins it.
466
323
  if (isTemplateMode) {
467
324
  const pinMap = (params.appState?.data?.root?.props?._pinMap ?? {});
468
325
  const compId = data?.props?.id;
@@ -476,31 +333,41 @@ export function useP1Editor(options) {
476
333
  }
477
334
  cfg = { ...cfg, components: wrapped };
478
335
  }
479
- // In template mode, relabel the right-sidebar root header "Page" -> "Template".
480
- // Puck derives that heading from `config.root.label` (no override hook exists).
481
336
  if (isTemplateMode) {
482
337
  const root = (cfg.root ?? {});
483
338
  cfg = { ...cfg, root: { ...root, label: 'Template' } };
484
339
  }
485
340
  return cfg;
486
- }, [puckConfig, !!css.resolvePermissions, isTemplateMode]);
341
+ }, [puckConfig, !!ccr.resolvePermissions, isTemplateMode]);
487
342
  const puckProps = useMemo(() => ({
488
343
  config: configWithPermissions,
489
- data: css.safeData,
344
+ data: ccr.safeData,
490
345
  onChange,
491
346
  plugins,
492
347
  overrides: mergedOverrides,
493
348
  ui: initialSidebarUi,
494
349
  permissions,
495
- onAction: css.handleAction,
496
- }), [configWithPermissions, css.safeData, onChange, plugins, mergedOverrides, initialSidebarUi, permissions, css.handleAction]);
350
+ onAction: ccr.handleAction,
351
+ }), [configWithPermissions, ccr.safeData, onChange, plugins, mergedOverrides, initialSidebarUi, permissions, ccr.handleAction]);
352
+ const inFlight = branchBootError === null && loading;
353
+ const lastGoodRef = useRef(null);
354
+ const settled = loadedPathRef.current === documentPath && loadedBranchRef.current === ccr.branchId;
355
+ if (settled && !inFlight && !error && !branchBootError) {
356
+ lastGoodRef.current = { puckKey, puckProps };
357
+ }
358
+ const retained = lastGoodRef.current;
359
+ const hasContent = retained !== null;
360
+ const reloadKind = loadedBranchRef.current !== null && loadedBranchRef.current !== ccr.branchId
361
+ ? 'branch'
362
+ : 'document';
497
363
  return {
498
- loading: branchBootError === null && loading,
364
+ loading: inFlight && !hasContent,
365
+ reloading: inFlight && hasContent ? reloadKind : null,
366
+ hasContent,
499
367
  error: error ?? branchBootError,
500
- puckKey,
501
- puckProps,
502
- css,
503
- /** @deprecated No longer emitted — editor now shows an empty state when a document is not found on the current branch. */
368
+ puckKey: retained?.puckKey ?? puckKey,
369
+ puckProps: retained?.puckProps ?? puckProps,
370
+ css: ccr,
504
371
  redirectPath: null,
505
372
  };
506
373
  }
@@ -1 +1 @@
1
- {"version":3,"file":"useP1Editor.js","sourceRoot":"","sources":["../../src/editor/useP1Editor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useP1Editor.js","sourceRoot":"","sources":["../../src/editor/useP1Editor.ts"],"names":[],"mappings":"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"}