@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,31 +1,5 @@
1
- /**
2
- * thumbnailCache
3
- *
4
- * In-memory, client-side cache for rendered component-preview HTML: a
5
- * module-level Map that survives editor/document remounts within a single
6
- * page load (Puck is force-remounted via `key` on every document switch,
7
- * which would otherwise re-render every preview from scratch).
8
- *
9
- * Deliberately NOT persisted to localStorage: the cached value is later
10
- * injected via `dangerouslySetInnerHTML` (see LiveThumbnail), and localStorage
11
- * is writable by any same-origin script. Persisting it would let a same-origin
12
- * write to a `p1-thumb:*` key plant markup that gets trusted and replayed on a
13
- * future load. Keeping the cache in-memory only means an attacker would need
14
- * live script execution in this exact session to influence it — at which
15
- * point they already have full DOM control and this cache buys them nothing.
16
- *
17
- * A preview depends only on component name + defaultProps, NOT on the document
18
- * being edited, so entries are reused across every page. The key embeds a hash
19
- * of the defaultProps plus a caller-supplied version so stale entries
20
- * invalidate when a component's inputs change.
21
- */
22
- // Legacy prefix from a prior localStorage-backed version of this cache.
23
- // clearThumbnailCache() still purges any stray entries left behind on a
24
- // user's machine, but nothing here reads or writes through it anymore.
25
1
  const LEGACY_LS_PREFIX = 'p1-thumb:';
26
- // In-memory only, lives as long as the JS runtime (browser tab).
27
2
  const memory = new Map();
28
- /** Small, dependency-free djb2 string hash. */
29
3
  function hashString(input) {
30
4
  let hash = 5381;
31
5
  for (let i = 0; i < input.length; i++) {
@@ -33,7 +7,6 @@ function hashString(input) {
33
7
  }
34
8
  return (hash >>> 0).toString(36);
35
9
  }
36
- /** localStorage if available, else null (SSR / disabled / private mode). */
37
10
  function getStore() {
38
11
  try {
39
12
  return typeof globalThis !== 'undefined' && globalThis.localStorage
@@ -44,38 +17,28 @@ function getStore() {
44
17
  return null;
45
18
  }
46
19
  }
47
- /**
48
- * Build a cache key for a component preview. Changing `defaultProps` or
49
- * `version` yields a different key, so cached previews invalidate.
50
- */
51
20
  export function makeThumbnailKey(name, defaultProps, version = '2') {
52
21
  let serialized = '';
53
22
  try {
54
23
  serialized = JSON.stringify(defaultProps) ?? '';
55
24
  }
56
25
  catch {
57
- // Non-serializable props — fall back to name+version only.
58
26
  serialized = '';
59
27
  }
60
28
  return `${name}:${hashString(`${version}|${serialized}`)}`;
61
29
  }
62
- /** A component's defaultProps, resolved from its config entry. */
63
30
  function defaultPropsFor(config, name) {
64
31
  return config?.components?.[name]?.defaultProps ?? {};
65
32
  }
66
- /** Cache key for a component preview, shared by LiveThumbnail and ThumbnailCard. */
67
33
  export function getThumbnailCacheKey(config, name, version) {
68
34
  return makeThumbnailKey(name, defaultPropsFor(config, name), version);
69
35
  }
70
- /** Read a cached preview (in-memory only — see file header for why). */
71
36
  export function getCachedThumbnail(key) {
72
37
  return memory.get(key);
73
38
  }
74
- /** Write a preview to the in-memory cache. */
75
39
  export function setCachedThumbnail(key, html) {
76
40
  memory.set(key, html);
77
41
  }
78
- /** Clear the in-memory cache, plus any stray entries left by an older, localStorage-backed version of this cache. */
79
42
  export function clearThumbnailCache() {
80
43
  memory.clear();
81
44
  const store = getStore();
@@ -90,7 +53,6 @@ export function clearThumbnailCache() {
90
53
  keys.forEach((k) => store.removeItem(k));
91
54
  }
92
55
  catch {
93
- // ignore
94
56
  }
95
57
  }
96
58
  }
@@ -1 +1 @@
1
- {"version":3,"file":"thumbnailCache.js","sourceRoot":"","sources":["../../../src/editor/thumbnails/thumbnailCache.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"thumbnailCache.js","sourceRoot":"","sources":["../../../src/editor/thumbnails/thumbnailCache.ts"],"names":[],"mappings":"AAyBA,MAAM,gBAAgB,GAAG,WAAW,CAAC;AAGrC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;AAGzC,SAAS,UAAU,CAAC,KAAa;IAC/B,IAAI,IAAI,GAAG,IAAI,CAAC;IAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACxD,CAAC;IACD,OAAO,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AACnC,CAAC;AAGD,SAAS,QAAQ;IACf,IAAI,CAAC;QACH,OAAO,OAAO,UAAU,KAAK,WAAW,IAAI,UAAU,CAAC,YAAY;YACjE,CAAC,CAAC,UAAU,CAAC,YAAY;YACzB,CAAC,CAAC,IAAI,CAAC;IACX,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAMD,MAAM,UAAU,gBAAgB,CAAC,IAAY,EAAE,YAAqB,EAAE,OAAO,GAAG,GAAG;IACjF,IAAI,UAAU,GAAG,EAAE,CAAC;IACpB,IAAI,CAAC;QACH,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;IAClD,CAAC;IAAC,MAAM,CAAC;QAEP,UAAU,GAAG,EAAE,CAAC;IAClB,CAAC;IACD,OAAO,GAAG,IAAI,IAAI,UAAU,CAAC,GAAG,OAAO,IAAI,UAAU,EAAE,CAAC,EAAE,CAAC;AAC7D,CAAC;AAGD,SAAS,eAAe,CACtB,MAA+E,EAC/E,IAAY;IAEZ,OAAO,MAAM,EAAE,UAAU,EAAE,CAAC,IAAI,CAAC,EAAE,YAAY,IAAI,EAAE,CAAC;AACxD,CAAC;AAGD,MAAM,UAAU,oBAAoB,CAClC,MAA+E,EAC/E,IAAY,EACZ,OAAgB;IAEhB,OAAO,gBAAgB,CAAC,IAAI,EAAE,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;AACxE,CAAC;AAGD,MAAM,UAAU,kBAAkB,CAAC,GAAW;IAC5C,OAAO,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC;AAGD,MAAM,UAAU,kBAAkB,CAAC,GAAW,EAAE,IAAY;IAC1D,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AACxB,CAAC;AAGD,MAAM,UAAU,mBAAmB;IACjC,MAAM,CAAC,KAAK,EAAE,CAAC;IAEf,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,IAAI,KAAK,EAAE,CAAC;QACV,IAAI,CAAC;YACH,MAAM,IAAI,GAAa,EAAE,CAAC;YAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACtC,MAAM,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBACvB,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,gBAAgB,CAAC;oBAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACxD,CAAC;YACD,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3C,CAAC;QAAC,MAAM,CAAC;QAET,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -1,41 +1,14 @@
1
- /**
2
- * useAutoSave Hook
3
- *
4
- * Provides auto-save functionality with debouncing and retry logic.
5
- */
6
1
  import { useState, useRef, useCallback, useEffect } from 'react';
7
2
  import { debounce } from '../core/utils/debounce.js';
8
3
  import { withRetry } from '../core/utils/retry.js';
9
- /**
10
- * Hook for auto-saving Puck data with debouncing and retry logic.
11
- *
12
- * @param params - Configuration for auto-save
13
- * @returns Auto-save state and controls
14
- *
15
- * @example
16
- * ```tsx
17
- * const { save, status, lastSaved } = useAutoSave({
18
- * client,
19
- * siteId,
20
- * branchId,
21
- * documentId,
22
- * options: { debounceMs: 3000 },
23
- * });
24
- *
25
- * // In Puck onChange handler
26
- * <Puck onChange={(data) => save(data)} />
27
- * ```
28
- */
29
4
  export function useAutoSave({ client, siteId, branchId, documentId, options = {}, }) {
30
5
  const { debounceMs = 3000, maxRetries = 3, onSaveStart, onSaveSuccess, onSaveError, } = options;
31
6
  const [status, setStatus] = useState('idle');
32
7
  const [lastSaved, setLastSaved] = useState(null);
33
8
  const [error, setError] = useState(null);
34
9
  const [isDirty, setIsDirty] = useState(false);
35
- // Store the latest data for saving
36
10
  const pendingDataRef = useRef(null);
37
11
  const isSavingRef = useRef(false);
38
- // Core save function
39
12
  const performSave = useCallback(async () => {
40
13
  const dataToSave = pendingDataRef.current;
41
14
  if (!dataToSave || isSavingRef.current) {
@@ -56,7 +29,6 @@ export function useAutoSave({ client, siteId, branchId, documentId, options = {}
56
29
  maxAttempts: maxRetries,
57
30
  baseDelayMs: 1000,
58
31
  shouldRetry: (err) => {
59
- // Don't retry on validation errors
60
32
  if ('status' in err && err.status === 400) {
61
33
  return false;
62
34
  }
@@ -79,7 +51,6 @@ export function useAutoSave({ client, siteId, branchId, documentId, options = {}
79
51
  isSavingRef.current = false;
80
52
  }
81
53
  }, [client, siteId, branchId, documentId, maxRetries, onSaveStart, onSaveSuccess, onSaveError]);
82
- // Create debounced save function
83
54
  const debouncedSaveRef = useRef(null);
84
55
  useEffect(() => {
85
56
  debouncedSaveRef.current = debounce(() => {
@@ -89,18 +60,15 @@ export function useAutoSave({ client, siteId, branchId, documentId, options = {}
89
60
  debouncedSaveRef.current?.cancel();
90
61
  };
91
62
  }, [performSave, debounceMs]);
92
- // Public save function (debounced)
93
63
  const save = useCallback((data) => {
94
64
  pendingDataRef.current = data;
95
65
  setIsDirty(true);
96
66
  debouncedSaveRef.current?.();
97
67
  }, []);
98
- // Force immediate save
99
68
  const saveNow = useCallback(async () => {
100
69
  debouncedSaveRef.current?.cancel();
101
70
  await performSave();
102
71
  }, [performSave]);
103
- // Cleanup on unmount
104
72
  useEffect(() => {
105
73
  return () => {
106
74
  debouncedSaveRef.current?.cancel();
@@ -1 +1 @@
1
- {"version":3,"file":"useAutoSave.js","sourceRoot":"","sources":["../../src/editor/useAutoSave.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useAutoSave.js","sourceRoot":"","sources":["../../src/editor/useAutoSave.ts"],"names":[],"mappings":"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"}
@@ -1,33 +1,9 @@
1
- /**
2
- * useBranches Hook
3
- *
4
- * Provides branch management functionality.
5
- */
6
1
  import { useState, useCallback, useEffect } from 'react';
7
- /**
8
- * Hook for managing branches.
9
- *
10
- * @param params - Configuration for branch management
11
- * @returns Branch state and operations
12
- *
13
- * @example
14
- * ```tsx
15
- * const { branches, currentBranch, switchBranch } = useBranches({
16
- * client,
17
- * siteId,
18
- * initialBranchId,
19
- * });
20
- *
21
- * // Switch to a different branch
22
- * await switchBranch(otherBranchId);
23
- * ```
24
- */
25
2
  export function useBranches({ client, siteId, initialBranchId, }) {
26
3
  const [branches, setBranches] = useState([]);
27
4
  const [branchId, setBranchId] = useState(initialBranchId);
28
5
  const [loading, setLoading] = useState(true);
29
6
  const [error, setError] = useState(null);
30
- // Fetch branches
31
7
  const refresh = useCallback(async () => {
32
8
  setLoading(true);
33
9
  setError(null);
@@ -42,20 +18,14 @@ export function useBranches({ client, siteId, initialBranchId, }) {
42
18
  setLoading(false);
43
19
  }
44
20
  }, [client, siteId]);
45
- // Initial fetch
46
21
  useEffect(() => {
47
22
  void refresh();
48
23
  }, [refresh]);
49
- // Get current branch object
50
24
  const currentBranch = branches.find((b) => b.id === branchId) ?? null;
51
- // Get main branch
52
25
  const mainBranch = branches.find((b) => b.isMain) ?? null;
53
- // Switch branch
54
26
  const switchBranch = useCallback(async (newBranchId) => {
55
- // Verify the branch exists
56
27
  const branch = branches.find((b) => b.id === newBranchId);
57
28
  if (!branch) {
58
- // Try refreshing first
59
29
  await refresh();
60
30
  const refreshedBranch = branches.find((b) => b.id === newBranchId);
61
31
  if (!refreshedBranch) {
@@ -1 +1 @@
1
- {"version":3,"file":"useBranches.js","sourceRoot":"","sources":["../../src/editor/useBranches.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useBranches.js","sourceRoot":"","sources":["../../src/editor/useBranches.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAsEzD,MAAM,UAAU,WAAW,CAAC,EAC1B,MAAM,EACN,MAAM,EACN,eAAe,GACG;IAClB,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAW,EAAE,CAAC,CAAC;IACvD,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,eAAe,CAAC,CAAC;IAC1D,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAe,IAAI,CAAC,CAAC;IAGvD,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QACrC,UAAU,CAAC,IAAI,CAAC,CAAC;QACjB,QAAQ,CAAC,IAAI,CAAC,CAAC;QAEf,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACtD,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC;QAC3E,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,QAAQ,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAChE,CAAC;gBAAS,CAAC;YACT,UAAU,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC;IACH,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAGrB,SAAS,CAAC,GAAG,EAAE;QACb,KAAK,OAAO,EAAE,CAAC;IACjB,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAGd,MAAM,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,IAAI,IAAI,CAAC;IAGtE,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC;IAG1D,MAAM,YAAY,GAAG,WAAW,CAC9B,KAAK,EAAE,WAAmB,EAAiB,EAAE;QAE3C,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,WAAW,CAAC,CAAC;QAC1D,IAAI,CAAC,MAAM,EAAE,CAAC;YAEZ,MAAM,OAAO,EAAE,CAAC;YAChB,MAAM,eAAe,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,WAAW,CAAC,CAAC;YACnE,IAAI,CAAC,eAAe,EAAE,CAAC;gBACrB,MAAM,IAAI,KAAK,CAAC,qBAAqB,WAAW,EAAE,CAAC,CAAC;YACtD,CAAC;QACH,CAAC;QAED,WAAW,CAAC,WAAW,CAAC,CAAC;IAC3B,CAAC,EACD,CAAC,QAAQ,EAAE,OAAO,CAAC,CACpB,CAAC;IAEF,OAAO;QACL,QAAQ;QACR,aAAa;QACb,QAAQ;QACR,OAAO;QACP,KAAK;QACL,YAAY;QACZ,OAAO;QACP,UAAU;KACX,CAAC;AACJ,CAAC"}
@@ -2,7 +2,7 @@
2
2
  * useComponentRegistry Hook
3
3
  *
4
4
  * Runs at editor startup to serialise the Puck config into ComponentDescriptor
5
- * objects, hash-checks them for changes, and writes updated descriptors to CSS
5
+ * objects, hash-checks them for changes, and writes updated descriptors to the backend
6
6
  * documents under the /_registry/ path prefix.
7
7
  *
8
8
  * Uses the same P1PuckContext pattern as useVersions, useAutoSave, and useDocuments.
@@ -1,19 +1,7 @@
1
- /**
2
- * useComponentRegistry Hook
3
- *
4
- * Runs at editor startup to serialise the Puck config into ComponentDescriptor
5
- * objects, hash-checks them for changes, and writes updated descriptors to CSS
6
- * documents under the /_registry/ path prefix.
7
- *
8
- * Uses the same P1PuckContext pattern as useVersions, useAutoSave, and useDocuments.
9
- */
10
1
  import { useState, useEffect } from 'react';
11
2
  import { useP1Puck } from '../core/P1PuckContext.js';
12
3
  import { extractDescriptors } from './utils/componentRegistry.js';
13
4
  import { syncComponentRegistry, } from './utils/syncComponentRegistry.js';
14
- // =============================================================================
15
- // Hook
16
- // =============================================================================
17
5
  export function useComponentRegistry(options) {
18
6
  const { puckConfig, upstreamPuckConfig, onRegistered, onError } = options;
19
7
  const { client, siteId, branchId } = useP1Puck();
@@ -21,8 +9,6 @@ export function useComponentRegistry(options) {
21
9
  const [result, setResult] = useState(null);
22
10
  const [error, setError] = useState(null);
23
11
  useEffect(() => {
24
- // branchId starts as null and resolves asynchronously. Skip registration
25
- // until it is available to avoid a guaranteed 404 on every page load.
26
12
  if (!branchId)
27
13
  return;
28
14
  let cancelled = false;
@@ -43,25 +29,11 @@ export function useComponentRegistry(options) {
43
29
  setStatus('error');
44
30
  setError(registrationError);
45
31
  onError?.(registrationError);
46
- // Log but don't re-throw — a registry failure must not break the editor
47
32
  console.warn('[useComponentRegistry] Registration failed:', registrationError.message);
48
33
  });
49
34
  return () => {
50
35
  cancelled = true;
51
36
  };
52
- // Dependency array rationale:
53
- // - `puckConfig` / `upstreamPuckConfig`: re-run whenever the component schema changes.
54
- // - `siteId` / `branchId`: re-run when the user switches sites or branches.
55
- // - `client`: intentionally omitted — P1PuckContext provides a stable reference across renders;
56
- // including it would cause spurious re-registrations on every context re-render.
57
- // - `onRegistered` / `onError`: intentionally omitted — callback identity changes (e.g. from
58
- // an inline arrow function) must not trigger re-registration. Callers are expected to
59
- // memoize callbacks or accept that the latest callback at call-time is used.
60
- // - `puckConfigRef`: not used — `puckConfig` is expected to be a stable reference from the
61
- // consumer (same object passed to <Puck config={...} />). A ref guard was considered but
62
- // removed because consumers that inline config objects would be broken by design; the hook
63
- // documents the stable-reference expectation instead.
64
- // eslint-disable-next-line -- intentional omissions documented above
65
37
  }, [puckConfig, upstreamPuckConfig, siteId, branchId]);
66
38
  return { status, result, error };
67
39
  }
@@ -1 +1 @@
1
- {"version":3,"file":"useComponentRegistry.js","sourceRoot":"","sources":["../../src/editor/useComponentRegistry.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EACL,qBAAqB,GAEtB,MAAM,kCAAkC,CAAC;AAyB1C,gFAAgF;AAChF,OAAO;AACP,gFAAgF;AAEhF,MAAM,UAAU,oBAAoB,CAClC,OAAoC;IAEpC,MAAM,EAAE,UAAU,EAAE,kBAAkB,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAC1E,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,SAAS,EAAE,CAAC;IAEjD,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAuC,MAAM,CAAC,CAAC;IACnF,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAA4B,IAAI,CAAC,CAAC;IACtE,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAe,IAAI,CAAC,CAAC;IAEvD,SAAS,CAAC,GAAG,EAAE;QACb,yEAAyE;QACzE,sEAAsE;QACtE,IAAI,CAAC,QAAQ;YAAE,OAAO;QAEtB,IAAI,SAAS,GAAG,KAAK,CAAC;QAEtB,SAAS,CAAC,aAAa,CAAC,CAAC;QAEzB,MAAM,WAAW,GAAG,kBAAkB,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;QAEvE,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,CAAC;aACzD,IAAI,CAAC,CAAC,kBAAkB,EAAE,EAAE;YAC3B,IAAI,SAAS;gBAAE,OAAO;YACtB,SAAS,CAAC,YAAY,CAAC,CAAC;YACxB,SAAS,CAAC,kBAAkB,CAAC,CAAC;YAC9B,YAAY,EAAE,CAAC,kBAAkB,CAAC,CAAC;QACrC,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;YACtB,IAAI,SAAS;gBAAE,OAAO;YACtB,MAAM,iBAAiB,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YAC9E,SAAS,CAAC,OAAO,CAAC,CAAC;YACnB,QAAQ,CAAC,iBAAiB,CAAC,CAAC;YAC5B,OAAO,EAAE,CAAC,iBAAiB,CAAC,CAAC;YAC7B,wEAAwE;YACxE,OAAO,CAAC,IAAI,CAAC,6CAA6C,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC;QACzF,CAAC,CAAC,CAAC;QAEL,OAAO,GAAG,EAAE;YACV,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC;QACJ,8BAA8B;QAC9B,yFAAyF;QACzF,8EAA8E;QAC9E,kGAAkG;QAClG,qFAAqF;QACrF,+FAA+F;QAC/F,0FAA0F;QAC1F,iFAAiF;QACjF,6FAA6F;QAC7F,6FAA6F;QAC7F,+FAA+F;QAC/F,0DAA0D;QAC1D,qEAAqE;IACrE,CAAC,EAAE,CAAC,UAAU,EAAE,kBAAkB,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEvD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;AACnC,CAAC"}
1
+ {"version":3,"file":"useComponentRegistry.js","sourceRoot":"","sources":["../../src/editor/useComponentRegistry.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EACL,qBAAqB,GAEtB,MAAM,kCAAkC,CAAC;AA6B1C,MAAM,UAAU,oBAAoB,CAClC,OAAoC;IAEpC,MAAM,EAAE,UAAU,EAAE,kBAAkB,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAC1E,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,SAAS,EAAE,CAAC;IAEjD,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAuC,MAAM,CAAC,CAAC;IACnF,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAA4B,IAAI,CAAC,CAAC;IACtE,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAe,IAAI,CAAC,CAAC;IAEvD,SAAS,CAAC,GAAG,EAAE;QAGb,IAAI,CAAC,QAAQ;YAAE,OAAO;QAEtB,IAAI,SAAS,GAAG,KAAK,CAAC;QAEtB,SAAS,CAAC,aAAa,CAAC,CAAC;QAEzB,MAAM,WAAW,GAAG,kBAAkB,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;QAEvE,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,CAAC;aACzD,IAAI,CAAC,CAAC,kBAAkB,EAAE,EAAE;YAC3B,IAAI,SAAS;gBAAE,OAAO;YACtB,SAAS,CAAC,YAAY,CAAC,CAAC;YACxB,SAAS,CAAC,kBAAkB,CAAC,CAAC;YAC9B,YAAY,EAAE,CAAC,kBAAkB,CAAC,CAAC;QACrC,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;YACtB,IAAI,SAAS;gBAAE,OAAO;YACtB,MAAM,iBAAiB,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YAC9E,SAAS,CAAC,OAAO,CAAC,CAAC;YACnB,QAAQ,CAAC,iBAAiB,CAAC,CAAC;YAC5B,OAAO,EAAE,CAAC,iBAAiB,CAAC,CAAC;YAE7B,OAAO,CAAC,IAAI,CAAC,6CAA6C,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC;QACzF,CAAC,CAAC,CAAC;QAEL,OAAO,GAAG,EAAE;YACV,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC;IAcJ,CAAC,EAAE,CAAC,UAAU,EAAE,kBAAkB,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEvD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;AACnC,CAAC"}
@@ -1,55 +1,19 @@
1
- /**
2
- * useDocuments Hook
3
- *
4
- * Provides document management functionality.
5
- */
6
1
  import { useState, useCallback, useEffect, useRef } from 'react';
7
- /**
8
- * Default empty Puck data for new documents.
9
- */
10
2
  const DEFAULT_PUCK_DATA = {
11
3
  content: [],
12
4
  root: { props: {} },
13
5
  };
14
- /**
15
- * Hook for managing documents on a branch.
16
- *
17
- * @param params - Configuration for document management
18
- * @returns Document state and operations
19
- *
20
- * @example
21
- * ```tsx
22
- * const { documents, create, remove, loading } = useDocuments({
23
- * client,
24
- * siteId,
25
- * branchId,
26
- * });
27
- *
28
- * // Create a new page
29
- * await create('/new-page');
30
- *
31
- * // Delete a page
32
- * await remove(documentId);
33
- * ```
34
- */
35
6
  export function useDocuments({ client, siteId, branchId, }) {
36
7
  const [documents, setDocuments] = useState([]);
37
8
  const [loading, setLoading] = useState(true);
38
9
  const [error, setError] = useState(null);
39
- // Track the previous branchId to detect changes and reset state synchronously
40
10
  const prevBranchIdRef = useRef(branchId);
41
- // Reset state synchronously when branchId changes
42
- // This prevents race conditions where loadDocument is recreated with new branchId
43
- // but documents array still contains old branch's documents
44
11
  if (branchId !== prevBranchIdRef.current) {
45
12
  prevBranchIdRef.current = branchId;
46
- // Clear documents and set loading synchronously during render
47
- // This ensures consumers see loading=true immediately when branch changes
48
13
  setDocuments([]);
49
14
  setLoading(true);
50
15
  setError(null);
51
16
  }
52
- // Fetch documents
53
17
  const refresh = useCallback(async () => {
54
18
  setLoading(true);
55
19
  setError(null);
@@ -65,18 +29,12 @@ export function useDocuments({ client, siteId, branchId, }) {
65
29
  setLoading(false);
66
30
  }
67
31
  }, [client, siteId, branchId]);
68
- // Initial fetch and refetch when branchId changes
69
32
  useEffect(() => {
70
33
  if (branchId) {
71
34
  void refresh();
72
35
  }
73
36
  }, [refresh, branchId]);
74
- // Create a new document
75
37
  const create = useCallback(async (path, initialData, options) => {
76
- // Template pages get their initial version built by the backend from the
77
- // template, which preserves each component's durable slot id. A
78
- // client-built snapshot would be layered on top as a second version and
79
- // bury those ids, so it is rejected here.
80
38
  if (options?.templateId) {
81
39
  if (initialData !== undefined) {
82
40
  throw new Error('Cannot supply initialData when creating a document from a template; the backend builds the initial version from the template.');
@@ -92,9 +50,6 @@ export function useDocuments({ client, siteId, branchId, }) {
92
50
  await refresh();
93
51
  return doc;
94
52
  }
95
- // Blank pages build their initial version on the client. A title seeds
96
- // root.props.title (the same field Puck's root "title" input
97
- // reads/writes) so it persists in the initial snapshot.
98
53
  const baseData = initialData ?? DEFAULT_PUCK_DATA;
99
54
  const data = options?.title
100
55
  ? {
@@ -105,10 +60,6 @@ export function useDocuments({ client, siteId, branchId, }) {
105
60
  },
106
61
  }
107
62
  : baseData;
108
- // Create the document and its initial version in a SINGLE call by passing
109
- // the content inline as `snapshot`. Previously this was two calls
110
- // (documents.create with no snapshot, then a separate versions.create),
111
- // which produced two version rows for a brand-new page.
112
63
  const doc = await client.documents.create({
113
64
  siteId,
114
65
  branchId,
@@ -118,12 +69,10 @@ export function useDocuments({ client, siteId, branchId, }) {
118
69
  await refresh();
119
70
  return doc;
120
71
  }, [client, siteId, branchId, refresh]);
121
- // Delete a document
122
72
  const remove = useCallback(async (documentId) => {
123
73
  await client.documents.delete(siteId, branchId, documentId);
124
74
  await refresh();
125
75
  }, [client, siteId, branchId, refresh]);
126
- // Get document by path
127
76
  const getByPath = useCallback((path) => {
128
77
  return documents.find((doc) => doc.path === path);
129
78
  }, [documents]);
@@ -1 +1 @@
1
- {"version":3,"file":"useDocuments.js","sourceRoot":"","sources":["../../src/editor/useDocuments.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useDocuments.js","sourceRoot":"","sources":["../../src/editor/useDocuments.ts"],"names":[],"mappings":"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"}
@@ -1,20 +1,16 @@
1
1
  import { useState, useEffect } from 'react';
2
2
  import { useP1Puck } from '../core/P1PuckContext.js';
3
- /**
4
- * Automatically loads a merge preview comparing the current branch against main.
5
- * Must be used inside a P1PuckProvider.
6
- */
7
3
  export function useMergePreview() {
8
- const css = useP1Puck();
9
- const mainBranch = css.branches.find((b) => b.isMain) ?? null;
10
- const isMainBranch = css.currentBranch?.isMain ?? false;
4
+ const ccr = useP1Puck();
5
+ const mainBranch = ccr.branches.find((b) => b.isMain) ?? null;
6
+ const isMainBranch = ccr.currentBranch?.isMain ?? false;
11
7
  const [documents, setDocuments] = useState([]);
12
8
  const [loading, setLoading] = useState(true);
13
9
  const [error, setError] = useState(null);
14
- const sourceBranchName = css.currentBranch?.name ?? 'Draft';
10
+ const sourceBranchName = ccr.currentBranch?.name ?? 'Draft';
15
11
  const targetBranchName = mainBranch?.name ?? 'Live';
16
12
  useEffect(() => {
17
- if (css.branchesLoading)
13
+ if (ccr.branchesLoading)
18
14
  return;
19
15
  if (isMainBranch || !mainBranch) {
20
16
  setLoading(false);
@@ -24,8 +20,8 @@ export function useMergePreview() {
24
20
  let cancelled = false;
25
21
  setLoading(true);
26
22
  setError(null);
27
- css.client.merge
28
- .preview(css.siteId, css.branchId, mainBranch.id, {
23
+ ccr.client.merge
24
+ .preview(ccr.siteId, ccr.branchId, mainBranch.id, {
29
25
  includeContent: true,
30
26
  excludePathPrefixes: ['_registry/'],
31
27
  })
@@ -50,7 +46,7 @@ export function useMergePreview() {
50
46
  return () => {
51
47
  cancelled = true;
52
48
  };
53
- }, [css.siteId, css.branchId, mainBranch?.id, css.branchesLoading, isMainBranch]);
49
+ }, [ccr.siteId, ccr.branchId, mainBranch?.id, ccr.branchesLoading, isMainBranch]);
54
50
  return { documents, loading, error, sourceBranchName, targetBranchName, isMainBranch };
55
51
  }
56
52
  //# sourceMappingURL=useMergePreview.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useMergePreview.js","sourceRoot":"","sources":["../../src/editor/useMergePreview.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAYrD;;;GAGG;AACH,MAAM,UAAU,eAAe;IAC7B,MAAM,GAAG,GAAG,SAAS,EAAE,CAAC;IAExB,MAAM,UAAU,GAAG,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC;IAC9D,MAAM,YAAY,GAAG,GAAG,CAAC,aAAa,EAAE,MAAM,IAAI,KAAK,CAAC;IAExD,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAwB,EAAE,CAAC,CAAC;IACtE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAe,IAAI,CAAC,CAAC;IAEvD,MAAM,gBAAgB,GAAG,GAAG,CAAC,aAAa,EAAE,IAAI,IAAI,OAAO,CAAC;IAC5D,MAAM,gBAAgB,GAAG,UAAU,EAAE,IAAI,IAAI,MAAM,CAAC;IAEpD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,GAAG,CAAC,eAAe;YAAE,OAAO;QAEhC,IAAI,YAAY,IAAI,CAAC,UAAU,EAAE,CAAC;YAChC,UAAU,CAAC,KAAK,CAAC,CAAC;YAClB,YAAY,CAAC,EAAE,CAAC,CAAC;YACjB,OAAO;QACT,CAAC;QAED,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,UAAU,CAAC,IAAI,CAAC,CAAC;QACjB,QAAQ,CAAC,IAAI,CAAC,CAAC;QAEf,GAAG,CAAC,MAAM,CAAC,KAAK;aACb,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,EAAE;YAChD,cAAc,EAAE,IAAI;YACpB,mBAAmB,EAAE,CAAC,YAAY,CAAC;SACpC,CAAC;aACD,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;YAChB,IAAI,SAAS;gBAAE,OAAO;YACtB,MAAM,IAAI,GAA0B,CAAC,OAAO,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC5E,UAAU,EAAE,CAAC,CAAC,UAAU;gBACxB,YAAY,EAAE,CAAC,CAAC,YAAY;gBAC5B,cAAc,EAAE,CAAC,CAAC,cAAc;gBAChC,cAAc,EAAE,CAAC,CAAC,cAAc;aACjC,CAAC,CAAC,CAAC;YACJ,YAAY,CAAC,IAAI,CAAC,CAAC;YACnB,UAAU,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;YACtB,IAAI,SAAS;gBAAE,OAAO;YACtB,QAAQ,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC9D,UAAU,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC;QAEL,OAAO,GAAG,EAAE;YACV,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE,GAAG,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC,CAAC;IAElF,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,YAAY,EAAE,CAAC;AACzF,CAAC"}
1
+ {"version":3,"file":"useMergePreview.js","sourceRoot":"","sources":["../../src/editor/useMergePreview.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAgBrD,MAAM,UAAU,eAAe;IAC7B,MAAM,GAAG,GAAG,SAAS,EAAE,CAAC;IAExB,MAAM,UAAU,GAAG,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC;IAC9D,MAAM,YAAY,GAAG,GAAG,CAAC,aAAa,EAAE,MAAM,IAAI,KAAK,CAAC;IAExD,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAwB,EAAE,CAAC,CAAC;IACtE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAe,IAAI,CAAC,CAAC;IAEvD,MAAM,gBAAgB,GAAG,GAAG,CAAC,aAAa,EAAE,IAAI,IAAI,OAAO,CAAC;IAC5D,MAAM,gBAAgB,GAAG,UAAU,EAAE,IAAI,IAAI,MAAM,CAAC;IAEpD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,GAAG,CAAC,eAAe;YAAE,OAAO;QAEhC,IAAI,YAAY,IAAI,CAAC,UAAU,EAAE,CAAC;YAChC,UAAU,CAAC,KAAK,CAAC,CAAC;YAClB,YAAY,CAAC,EAAE,CAAC,CAAC;YACjB,OAAO;QACT,CAAC;QAED,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,UAAU,CAAC,IAAI,CAAC,CAAC;QACjB,QAAQ,CAAC,IAAI,CAAC,CAAC;QAEf,GAAG,CAAC,MAAM,CAAC,KAAK;aACb,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,EAAE;YAChD,cAAc,EAAE,IAAI;YACpB,mBAAmB,EAAE,CAAC,YAAY,CAAC;SACpC,CAAC;aACD,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;YAChB,IAAI,SAAS;gBAAE,OAAO;YACtB,MAAM,IAAI,GAA0B,CAAC,OAAO,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC5E,UAAU,EAAE,CAAC,CAAC,UAAU;gBACxB,YAAY,EAAE,CAAC,CAAC,YAAY;gBAC5B,cAAc,EAAE,CAAC,CAAC,cAAc;gBAChC,cAAc,EAAE,CAAC,CAAC,cAAc;aACjC,CAAC,CAAC,CAAC;YACJ,YAAY,CAAC,IAAI,CAAC,CAAC;YACnB,UAAU,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;YACtB,IAAI,SAAS;gBAAE,OAAO;YACtB,QAAQ,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC9D,UAAU,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC;QAEL,OAAO,GAAG,EAAE;YACV,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE,GAAG,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC,CAAC;IAElF,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,YAAY,EAAE,CAAC;AACzF,CAAC"}
@@ -15,7 +15,7 @@ export interface UseP1EditorOptions {
15
15
  documentPath: string;
16
16
  /** Puck component configuration */
17
17
  puckConfig: unknown;
18
- /** Additional plugins to include after the CSS plugin */
18
+ /** Additional plugins to include after the P1 plugin */
19
19
  additionalPlugins?: Plugin[];
20
20
  /**
21
21
  * Additional overrides to merge with P1 overrides.
@@ -49,7 +49,7 @@ export interface UseP1EditorOptions {
49
49
  liveThumbnailDrawer?: boolean | LiveThumbnailDrawerOptions;
50
50
  /** Customization options for overrides */
51
51
  overrideOptions?: UseP1OverridesOptions;
52
- /** Customization options for the CSS plugin (versions are managed internally) */
52
+ /** Customization options for the P1 plugin (versions are managed internally) */
53
53
  pluginOptions?: Omit<UseP1PluginOptions, 'versions' | 'versionsLoading' | 'selectedVersionId' | 'onVersionSelect'>;
54
54
  /** Callback when user selection changes */
55
55
  onSelectionChange?: (path: string | null, itemId: string | null) => void;
@@ -66,7 +66,7 @@ export interface PuckProps {
66
66
  data: PuckData;
67
67
  /** onChange handler wired to context saveData (disabled for historical versions) */
68
68
  onChange: (data: unknown) => void;
69
- /** Plugin array with CSS plugin first */
69
+ /** Plugin array with P1 plugin first */
70
70
  plugins: Plugin[];
71
71
  /** Overrides with header actions */
72
72
  overrides: PuckOverrides;
@@ -87,12 +87,26 @@ export interface PuckProps {
87
87
  /** Initial UI state (sidebar visibility etc.) — read from localStorage on each key-based remount */
88
88
  ui?: Partial<UiState>;
89
89
  }
90
+ /**
91
+ * Why a reload is in flight while the previous document is still on screen.
92
+ * The two reads differently to the user — a workstream switch replaces the
93
+ * whole site's content, a page switch only swaps the canvas — so the copy that
94
+ * covers the wait has to be able to tell them apart.
95
+ */
96
+ export type ReloadKind = 'branch' | 'document';
90
97
  /**
91
98
  * Return value from useP1Editor.
92
99
  */
93
100
  export interface UseP1EditorReturn {
94
- /** Whether the initial document is still loading */
101
+ /** Whether there is nothing to render yet — the first document has not loaded and has not failed */
95
102
  loading: boolean;
103
+ /**
104
+ * A reload running behind retained content, and why. Null when nothing is in
105
+ * flight or when there is no prior content to keep showing (that is `loading`).
106
+ */
107
+ reloading: ReloadKind | null;
108
+ /** Whether a document has ever loaded successfully — i.e. `puckProps` are worth rendering */
109
+ hasContent: boolean;
96
110
  /** Error from document loading, if any */
97
111
  error: Error | null;
98
112
  /** React key — pass directly as `<Puck key={puckKey} {...puckProps} />` to force a clean remount on role change (document switches sync in place) */
@@ -123,15 +137,21 @@ export interface UseP1EditorReturn {
123
137
  * @example
124
138
  * ```tsx
125
139
  * function Editor() {
126
- * const { loading, error, puckProps } = useP1Editor({
140
+ * const { loading, reloading, hasContent, error, puckProps } = useP1Editor({
127
141
  * documentPath: '/home',
128
142
  * puckConfig: config,
129
143
  * });
130
144
  *
131
145
  * if (loading) return <Loading />;
132
- * if (error) return <Error error={error} />;
146
+ * if (error && !hasContent) return <Error error={error} />;
133
147
  *
134
- * return <Puck {...puckProps} />;
148
+ * // Reloads keep the previous page on screen under an overlay.
149
+ * return (
150
+ * <>
151
+ * <EditorReloadOverlay reloading={reloading} />
152
+ * <Puck {...puckProps} />
153
+ * </>
154
+ * );
135
155
  * }
136
156
  * ```
137
157
  */
@@ -1 +1 @@
1
- {"version":3,"file":"useP1Editor.d.ts","sourceRoot":"","sources":["../../src/editor/useP1Editor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useP1Editor.d.ts","sourceRoot":"","sources":["../../src/editor/useP1Editor.ts"],"names":[],"mappings":"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"}