@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,21 +1,6 @@
1
- /**
2
- * Phase 3.1: Puck-Yjs Binding Utility
3
- *
4
- * Bidirectional binding between Puck data and Yjs CRDT.
5
- * Prevents sync loops by using Yjs transaction origins.
6
- */
7
1
  import * as Y from 'yjs';
8
- /**
9
- * Origin marker for local changes (prevents sync loops)
10
- */
11
2
  const LOCAL_ORIGIN = 'local';
12
- /**
13
- * Incrementally patch a Y.Map to match a plain object.
14
- * Only touches keys/values that actually differ, minimising Yjs operations
15
- * (and therefore the size of the update binary that is broadcast).
16
- */
17
3
  export function patchYMap(ymap, newObj) {
18
- // Remove keys that no longer exist
19
4
  for (const key of ymap.keys()) {
20
5
  if (!(key in newObj)) {
21
6
  ymap.delete(key);
@@ -23,7 +8,6 @@ export function patchYMap(ymap, newObj) {
23
8
  }
24
9
  for (const [key, newVal] of Object.entries(newObj)) {
25
10
  const curVal = ymap.get(key);
26
- // If both sides are Y.Map / plain-object, recurse
27
11
  if (curVal instanceof Y.Map &&
28
12
  newVal !== null &&
29
13
  typeof newVal === 'object' &&
@@ -31,31 +15,23 @@ export function patchYMap(ymap, newObj) {
31
15
  patchYMap(curVal, newVal);
32
16
  continue;
33
17
  }
34
- // If both sides are Y.Array / plain-array, patch the array
35
18
  if (curVal instanceof Y.Array && Array.isArray(newVal)) {
36
19
  patchYArray(curVal, newVal);
37
20
  continue;
38
21
  }
39
- // For primitives, skip if unchanged
40
22
  if (!(curVal instanceof Y.Map) &&
41
23
  !(curVal instanceof Y.Array) &&
42
24
  JSON.stringify(curVal) === JSON.stringify(newVal)) {
43
25
  continue;
44
26
  }
45
- // Value changed type or is a different primitive – replace wholesale
46
27
  ymap.set(key, toYjsValue(newVal));
47
28
  }
48
29
  }
49
- /**
50
- * Incrementally patch a Y.Array to match a plain array.
51
- * Patches items in-place where possible, appends/trims as needed.
52
- */
53
30
  export function patchYArray(yarr, newArr) {
54
31
  const minLen = Math.min(yarr.length, newArr.length);
55
32
  for (let i = 0; i < minLen; i++) {
56
33
  const curItem = yarr.get(i);
57
34
  const newItem = newArr[i];
58
- // If both are Y.Map / plain-object, patch in place
59
35
  if (curItem instanceof Y.Map &&
60
36
  newItem !== null &&
61
37
  typeof newItem === 'object' &&
@@ -63,43 +39,27 @@ export function patchYArray(yarr, newArr) {
63
39
  patchYMap(curItem, newItem);
64
40
  continue;
65
41
  }
66
- // If both are Y.Array / plain-array, patch in place
67
42
  if (curItem instanceof Y.Array && Array.isArray(newItem)) {
68
43
  patchYArray(curItem, newItem);
69
44
  continue;
70
45
  }
71
- // For primitives, skip if unchanged
72
46
  if (!(curItem instanceof Y.Map) &&
73
47
  !(curItem instanceof Y.Array) &&
74
48
  JSON.stringify(curItem) === JSON.stringify(newItem)) {
75
49
  continue;
76
50
  }
77
- // Different – delete and re-insert at same index
78
51
  yarr.delete(i, 1);
79
52
  yarr.insert(i, [toYjsValue(newItem)]);
80
53
  }
81
- // Append new items
82
54
  if (newArr.length > yarr.length) {
83
55
  const toAdd = newArr.slice(yarr.length).map((item) => toYjsValue(item));
84
56
  yarr.push(toAdd);
85
57
  }
86
- // Trim excess items from the end
87
58
  if (yarr.length > newArr.length) {
88
59
  yarr.delete(newArr.length, yarr.length - newArr.length);
89
60
  }
90
61
  }
91
- /**
92
- * Convert a Puck data structure to a Yjs Y.Map.
93
- * When the root map already has data, uses incremental patching to minimise
94
- * the number of Yjs operations (reducing flicker and broadcast size).
95
- *
96
- * @param data - The PuckData to convert
97
- * @param root - The Y.Map to populate
98
- */
99
62
  export function puckDataToYMap(data, root) {
100
- // Top-level no-op guard: if the Y.Doc already contains identical data,
101
- // skip the entire transaction. This prevents echo loops where a receiving
102
- // client's Puck onChange re-sends data that's already in the Y.Doc.
103
63
  if (root.size > 0) {
104
64
  const currentJson = JSON.stringify(root.toJSON());
105
65
  const newJson = JSON.stringify(data);
@@ -109,22 +69,15 @@ export function puckDataToYMap(data, root) {
109
69
  }
110
70
  root.doc?.transact(() => {
111
71
  if (root.size > 0) {
112
- // Incremental update – only touch what changed
113
72
  patchYMap(root, data);
114
73
  }
115
74
  else {
116
- // Full creation – first time populating the map.
117
- // Tolerate partial data (missing content/root) the same way
118
- // yMapToPuckData does on the read path: a document switch can seed a
119
- // fresh Y.Doc from a page object that has no content array yet.
120
75
  const contentArray = new Y.Array();
121
76
  for (const item of data.content ?? []) {
122
77
  contentArray.push([toYjsValue(item)]);
123
78
  }
124
79
  root.set('content', contentArray);
125
- // Convert root data
126
80
  root.set('root', toYjsValue(data.root ?? { props: {} }));
127
- // Convert zones if present
128
81
  if (data.zones) {
129
82
  const zonesMap = new Y.Map();
130
83
  for (const [key, components] of Object.entries(data.zones)) {
@@ -139,19 +92,11 @@ export function puckDataToYMap(data, root) {
139
92
  }
140
93
  }, LOCAL_ORIGIN);
141
94
  }
142
- /**
143
- * Convert a Yjs Y.Map to PuckData.
144
- *
145
- * @param root - The Y.Map containing Puck data
146
- * @returns The PuckData structure
147
- */
148
95
  export function yMapToPuckData(root) {
149
96
  const json = root.toJSON();
150
- // Ensure content is an array
151
97
  const content = Array.isArray(json.content)
152
98
  ? json.content
153
99
  : [];
154
- // Ensure root has props
155
100
  const rootData = json.root;
156
101
  const rootWithProps = {
157
102
  props: rootData?.props ?? {},
@@ -161,65 +106,33 @@ export function yMapToPuckData(root) {
161
106
  content,
162
107
  root: rootWithProps,
163
108
  };
164
- // Include zones if present
165
109
  if (json.zones) {
166
110
  result.zones = json.zones;
167
111
  }
168
112
  return result;
169
113
  }
170
- /**
171
- * Create a bidirectional binding between Puck data and a Y.Doc.
172
- *
173
- * Uses transaction origins to prevent sync loops:
174
- * - Local changes use 'local' origin and don't trigger onRemoteUpdate
175
- * - Remote changes (any other origin) trigger onRemoteUpdate
176
- *
177
- * @param ydoc - The Y.Doc to bind to
178
- * @param onRemoteUpdate - Callback when remote changes arrive
179
- * @returns Binding interface with applyLocalChange and destroy methods
180
- */
181
114
  export function createPuckYjsBinding(ydoc, onRemoteUpdate) {
182
115
  const root = ydoc.getMap('root');
183
- // Instance-specific state to prevent interference between multiple bindings
184
- // Previously this was a module-level variable which caused race conditions
185
- // when multiple binding instances existed in the same browser window
186
116
  const bindingState = {
187
117
  isApplyingLocalChange: false,
188
118
  destroyed: false,
189
119
  };
190
- // Observer for remote changes
191
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
192
120
  const observer = (_events, txn) => {
193
- // Double-check: skip if we're in the middle of applying a local change
194
- // This handles any edge cases where transaction origin might not be set correctly
195
121
  if (bindingState.isApplyingLocalChange) {
196
122
  return;
197
123
  }
198
- // Ignore local changes by transaction origin
199
124
  if (txn.origin === LOCAL_ORIGIN) {
200
125
  return;
201
126
  }
202
- // Convert Y.Map to PuckData and notify
203
127
  const puckData = yMapToPuckData(root);
204
- // Guard against empty Yjs initial sync state. When a new Yjs document
205
- // connects, the first sync may produce an empty snapshot ({} or
206
- // { content: [], root: { props: {} } }). Applying this would overwrite
207
- // real editor content and trigger a save loop.
208
128
  if (puckData.content.length === 0 && Object.keys(puckData.root.props).length === 0 && !puckData.zones) {
209
129
  return;
210
130
  }
211
131
  onRemoteUpdate(puckData);
212
132
  };
213
- // Subscribe to changes on root map
214
133
  root.observeDeep(observer);
215
134
  return {
216
- /**
217
- * Apply a local change to the Y.Doc.
218
- * Uses LOCAL_ORIGIN to prevent triggering onRemoteUpdate.
219
- * Also sets isApplyingLocalChange flag as a backup mechanism.
220
- */
221
135
  applyLocalChange: (data) => {
222
- // Prevent writes through a destroyed binding (cross-document state bleed guard)
223
136
  if (bindingState.destroyed) {
224
137
  return;
225
138
  }
@@ -231,12 +144,6 @@ export function createPuckYjsBinding(ydoc, onRemoteUpdate) {
231
144
  bindingState.isApplyingLocalChange = false;
232
145
  }
233
146
  },
234
- /**
235
- * Cleanup observers and mark as destroyed.
236
- * After destroy(), applyLocalChange becomes a no-op.
237
- * Idempotent: safe to call multiple times (e.g. React strict mode
238
- * double-unmount where both useLayoutEffect and useEffect cleanups fire).
239
- */
240
147
  destroy: () => {
241
148
  if (bindingState.destroyed)
242
149
  return;
@@ -245,12 +152,6 @@ export function createPuckYjsBinding(ydoc, onRemoteUpdate) {
245
152
  },
246
153
  };
247
154
  }
248
- /**
249
- * Convert a JavaScript value to a Yjs-compatible value.
250
- *
251
- * @param value - The value to convert
252
- * @returns The Yjs-compatible value
253
- */
254
155
  function toYjsValue(value) {
255
156
  if (value === null || value === undefined) {
256
157
  return value;
@@ -1 +1 @@
1
- {"version":3,"file":"puckYjsBinding.js","sourceRoot":"","sources":["../../../src/editor/utils/puckYjsBinding.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"puckYjsBinding.js","sourceRoot":"","sources":["../../../src/editor/utils/puckYjsBinding.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,3 @@
1
- /**
2
- * Reverts the document to a previous version.
3
- *
4
- * Flow:
5
- * 1. Pause auto-save and flush any pending edits (with a confirm fallback on flush failure).
6
- * 2. Call the restore API. On success, best-effort reload the document.
7
- * 3. Resume auto-save (always, in finally).
8
- * 4. Notify the caller whether the reload succeeded so it can refresh the
9
- * version list and remount Puck with clean state.
10
- *
11
- * @param onReloadSuccess - Called when the post-restore document reload succeeds.
12
- */
13
1
  export async function restoreDocumentVersion(version, deps, refreshVersions, onReloadSuccess) {
14
2
  const { client, siteId, branchId, currentDocument, pauseAutoSave, resumeAutoSave, persistCurrentEdits, loadDocument, notifications } = deps;
15
3
  if (!currentDocument)
@@ -1 +1 @@
1
- {"version":3,"file":"restoreDocumentVersion.js","sourceRoot":"","sources":["../../../src/editor/utils/restoreDocumentVersion.ts"],"names":[],"mappings":"AAgBA;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,OAAwB,EACxB,IAAiB,EACjB,eAAoC,EACpC,eAA2B;IAE3B,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,aAAa,EAAE,cAAc,EACxE,mBAAmB,EAAE,YAAY,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC;IAElE,IAAI,CAAC,eAAe;QAAE,OAAO;IAE7B,aAAa,EAAE,CAAC;IAEhB,IAAI,CAAC;QACH,MAAM,mBAAmB,EAAE,CAAC;IAC9B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAC5B,uEAAuE,CACxE,CAAC;QACF,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,cAAc,EAAE,CAAC;YACjB,OAAO;QACT,CAAC;IACH,CAAC;IAED,IAAI,eAAe,GAAG,KAAK,CAAC;IAC5B,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,eAAe,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;QAChF,IAAI,CAAC;YACH,MAAM,YAAY,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YACzC,eAAe,GAAG,IAAI,CAAC;QACzB,CAAC;QAAC,MAAM,CAAC;YACP,aAAa,CAAC,eAAe,CAAC;gBAC5B,QAAQ,EAAE,SAAS;gBACnB,OAAO,EAAE,0FAA0F;aACpG,CAAC,CAAC;QACL,CAAC;IACH,CAAC;YAAS,CAAC;QACT,cAAc,EAAE,CAAC;IACnB,CAAC;IAED,MAAM,eAAe,EAAE,CAAC;IACxB,IAAI,eAAe;QAAE,eAAe,EAAE,CAAC;AACzC,CAAC"}
1
+ {"version":3,"file":"restoreDocumentVersion.js","sourceRoot":"","sources":["../../../src/editor/utils/restoreDocumentVersion.ts"],"names":[],"mappings":"AA4BA,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,OAAwB,EACxB,IAAiB,EACjB,eAAoC,EACpC,eAA2B;IAE3B,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,aAAa,EAAE,cAAc,EACxE,mBAAmB,EAAE,YAAY,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC;IAElE,IAAI,CAAC,eAAe;QAAE,OAAO;IAE7B,aAAa,EAAE,CAAC;IAEhB,IAAI,CAAC;QACH,MAAM,mBAAmB,EAAE,CAAC;IAC9B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAC5B,uEAAuE,CACxE,CAAC;QACF,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,cAAc,EAAE,CAAC;YACjB,OAAO;QACT,CAAC;IACH,CAAC;IAED,IAAI,eAAe,GAAG,KAAK,CAAC;IAC5B,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,eAAe,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;QAChF,IAAI,CAAC;YACH,MAAM,YAAY,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YACzC,eAAe,GAAG,IAAI,CAAC;QACzB,CAAC;QAAC,MAAM,CAAC;YACP,aAAa,CAAC,eAAe,CAAC;gBAC5B,QAAQ,EAAE,SAAS;gBACnB,OAAO,EAAE,0FAA0F;aACpG,CAAC,CAAC;QACL,CAAC;IACH,CAAC;YAAS,CAAC;QACT,cAAc,EAAE,CAAC;IACnB,CAAC;IAED,MAAM,eAAe,EAAE,CAAC;IACxB,IAAI,eAAe;QAAE,eAAe,EAAE,CAAC;AACzC,CAAC"}
@@ -1,18 +1,3 @@
1
- /**
2
- * Strip empty-string defaults from richtext fields in a Puck config.
3
- *
4
- * Puck merges `defaultProps` underneath stored props on every render, so a
5
- * block whose stored props omit a richtext key silently renders that key's
6
- * default. An empty-string default is fatal there: Puck's RichTextRender wraps
7
- * any non-HTML string as `{type:"text", text: value}`, and prosemirror-model
8
- * rejects a zero-length text node with `RangeError: Empty text nodes are not
9
- * allowed` — taking down the whole subtree, since that render path has no error
10
- * boundary. `undefined` is safe (it normalizes to an empty doc), so dropping
11
- * the key is strictly better than defaulting to "".
12
- *
13
- * Runs over nested object/array fields too, since richtext commonly lives
14
- * inside array items.
15
- */
16
1
  const DROP = Symbol('drop');
17
2
  function sanitizeValue(field, value) {
18
3
  if (!field)
@@ -25,9 +10,6 @@ function sanitizeValue(field, value) {
25
10
  }
26
11
  if (field.type === 'array' && field.arrayFields && Array.isArray(value)) {
27
12
  const itemFields = field.arrayFields;
28
- // `map` always allocates, so compare item identity to decide whether the
29
- // array actually changed — otherwise the caller sees a new reference and
30
- // treats an untouched config as modified.
31
13
  let itemChanged = false;
32
14
  const next = value.map((item) => {
33
15
  if (!isPlainObject(item))
@@ -66,14 +48,6 @@ function sanitizeComponent(component) {
66
48
  const next = sanitizeProps(fields, defaultProps);
67
49
  return next === defaultProps ? component : { ...component, defaultProps: next };
68
50
  }
69
- /**
70
- * Return a config with empty-string richtext defaults removed. Returns the
71
- * input unchanged (same reference) when there is nothing to strip, so it is
72
- * safe to call in a render path without breaking Puck's memoization.
73
- */
74
- // Generic in T rather than constrained to ConfigLike: Puck's `Config` field
75
- // unions don't structurally satisfy the loose shape this walks, and callers
76
- // should get their own config type back untouched.
77
51
  export function sanitizeRichtextDefaults(config) {
78
52
  const input = config;
79
53
  let changed = false;
@@ -1 +1 @@
1
- {"version":3,"file":"sanitizeRichtextDefaults.js","sourceRoot":"","sources":["../../../src/editor/utils/sanitizeRichtextDefaults.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sanitizeRichtextDefaults.js","sourceRoot":"","sources":["../../../src/editor/utils/sanitizeRichtextDefaults.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,4 @@
1
1
  const EMPTY = { content: [], root: { props: {} } };
2
- /**
3
- * Coerce a stored version snapshot into PuckData. Snapshots are typed as
4
- * objects, but the backend sometimes returns them as a JSON string; parsing
5
- * here keeps every downstream consumer (currentData, safeData, the Yjs seed,
6
- * the document-sync store) working with a real object instead of spreading a
7
- * string character-by-character. Empty or invalid snapshots — including the
8
- * blank initial version — collapse to blank Puck data.
9
- */
10
2
  export function snapshotToPuckData(snapshot) {
11
3
  let value = snapshot;
12
4
  if (typeof value === "string") {
@@ -1 +1 @@
1
- {"version":3,"file":"snapshotToPuckData.js","sourceRoot":"","sources":["../../../src/editor/utils/snapshotToPuckData.ts"],"names":[],"mappings":"AAEA,MAAM,KAAK,GAAa,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC;AAE7D;;;;;;;GAOG;AACH,MAAM,UAAU,kBAAkB,CAAC,QAAiB;IAClD,IAAI,KAAK,GAAY,QAAQ,CAAC;IAC9B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,IAAI,CAAC;YACH,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IACD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACtD,MAAM,IAAI,GAAG,KAA0B,CAAC;IACxC,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IAC9C,OAAO,IAAgB,CAAC;AAC1B,CAAC"}
1
+ {"version":3,"file":"snapshotToPuckData.js","sourceRoot":"","sources":["../../../src/editor/utils/snapshotToPuckData.ts"],"names":[],"mappings":"AAEA,MAAM,KAAK,GAAa,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC;AAU7D,MAAM,UAAU,kBAAkB,CAAC,QAAiB;IAClD,IAAI,KAAK,GAAY,QAAQ,CAAC;IAC9B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,IAAI,CAAC;YACH,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IACD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACtD,MAAM,IAAI,GAAG,KAA0B,CAAC;IACxC,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IAC9C,OAAO,IAAgB,CAAC;AAC1B,CAAC"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * syncComponentRegistry
3
3
  *
4
- * Serialises ComponentDescriptor objects to CSS documents under the
4
+ * Serialises ComponentDescriptor objects to backend documents under the
5
5
  * /_registry/ path prefix, hash-checking to skip unchanged components.
6
6
  *
7
7
  * Extracted from useComponentRegistry.ts (verbatim, renamed) so it can run
@@ -19,7 +19,7 @@ export declare const COMPONENT_PREFIX = "_registry/components/";
19
19
  export declare const INDEX_PATH = "_registry/index";
20
20
  /**
21
21
  * Maximum age of the registry index's last full per-component verification
22
- * (PCC-3430) before the fast path is forced to re-verify every component's
22
+ * before the fast path is forced to re-verify every component's
23
23
  * actual document content instead of trusting the index's hashes map alone.
24
24
  * Bounds how long an index/document desync can persist undetected.
25
25
  */
@@ -1,51 +1,19 @@
1
- /**
2
- * syncComponentRegistry
3
- *
4
- * Serialises ComponentDescriptor objects to CSS documents under the
5
- * /_registry/ path prefix, hash-checking to skip unchanged components.
6
- *
7
- * Extracted from useComponentRegistry.ts (verbatim, renamed) so it can run
8
- * outside React — the browser hook and a headless CI sync script both call
9
- * this same function. No React import here by design.
10
- */
11
1
  import { ConflictError } from '@pantheon-systems/css-client';
12
2
  import { buildRegistryIndex, } from './componentRegistry.js';
13
- // =============================================================================
14
- // Registry path helpers
15
- // =============================================================================
16
3
  const REGISTRY_PREFIX = '_registry/';
17
4
  export const COMPONENT_PREFIX = '_registry/components/';
18
5
  export const INDEX_PATH = '_registry/index';
19
- /**
20
- * Maximum age of the registry index's last full per-component verification
21
- * (PCC-3430) before the fast path is forced to re-verify every component's
22
- * actual document content instead of trusting the index's hashes map alone.
23
- * Bounds how long an index/document desync can persist undetected.
24
- */
25
- export const REGISTRY_VERIFICATION_INTERVAL_MS = 24 * 60 * 60 * 1000; // 24 hours
6
+ export const REGISTRY_VERIFICATION_INTERVAL_MS = 24 * 60 * 60 * 1000;
26
7
  export function componentPath(name) {
27
8
  return `${COMPONENT_PREFIX}${name}`;
28
9
  }
29
- /**
30
- * Comparison key for matching a component name against server state.
31
- *
32
- * The server's normalizePath lowercases every document path on write, so a
33
- * component registered as HeroBlock lists back at _registry/components/heroblock.
34
- * Every in-memory lookup that matches descriptor names against path-derived
35
- * names (or index hash keys) must go through this key, or PascalCase components
36
- * never match their own documents and re-register on every load. Stored
37
- * formats are unchanged — index hashes stay keyed by original names, and
38
- * componentPath still sends the original name (the server normalizes it).
39
- */
40
10
  function registryComponentKey(name) {
41
11
  return name.toLowerCase();
42
12
  }
43
13
  export async function syncComponentRegistry(client, siteId, branchId, descriptors) {
44
- // Step 1: List all existing registry documents
45
14
  const existingDocs = (await client.documents.list(siteId, branchId, {
46
15
  pathPrefix: REGISTRY_PREFIX,
47
16
  }));
48
- // Step 2: Build lookup maps for existing component docs
49
17
  const docByName = new Map();
50
18
  let indexDoc;
51
19
  for (const doc of existingDocs) {
@@ -57,8 +25,6 @@ export async function syncComponentRegistry(client, siteId, branchId, descriptor
57
25
  docByName.set(registryComponentKey(name), doc);
58
26
  }
59
27
  }
60
- // Names that collide case-insensitively share one server document (the
61
- // server lowercases paths) and will silently overwrite each other.
62
28
  const namesByKey = new Map();
63
29
  for (const descriptor of descriptors) {
64
30
  const key = registryComponentKey(descriptor.name);
@@ -69,15 +35,6 @@ export async function syncComponentRegistry(client, siteId, branchId, descriptor
69
35
  console.warn('[syncComponentRegistry] Component names collide case-insensitively and will share one registry document (last write wins):', names);
70
36
  }
71
37
  }
72
- // Step 3: Resolve stored hashes — fast path (from index) or legacy (per-component).
73
- //
74
- // Fast path: if the index version has a `hashes` map, read all hashes from it
75
- // in a single request instead of fetching each component version individually.
76
- // This collapses N simultaneous getLatest calls (one per component) into 1.
77
- //
78
- // Legacy fallback: index exists but has no `hashes` field (written by an older
79
- // version of this hook), or no index exists yet. Falls back to per-component
80
- // fetches so existing registries continue to work on the first run after deploy.
81
38
  const storedHashByName = new Map();
82
39
  let gotHashesFromIndex = false;
83
40
  let existingVerifiedAt;
@@ -100,13 +57,6 @@ export async function syncComponentRegistry(client, siteId, branchId, descriptor
100
57
  console.debug('[syncComponentRegistry] Fast path: loaded', storedHashByName.size, 'hashes from index');
101
58
  }
102
59
  else if (verificationIsStale) {
103
- // PCC-3430: the fast path trusts `hashes` without ever reading the
104
- // documents it describes. If an entry ever comes to record a hash
105
- // that doesn't match its document's real content (e.g. an
106
- // out-of-band revert the index was never told about), the fast path
107
- // has no way to detect this on its own and would skip forever.
108
- // Periodically forcing a real per-component check bounds how long
109
- // such a desync can persist instead of letting it stick indefinitely.
110
60
  console.debug('[syncComponentRegistry] Registry verification is stale — forcing per-component fetch to self-heal any index/document desync');
111
61
  }
112
62
  else {
@@ -121,7 +71,6 @@ export async function syncComponentRegistry(client, siteId, branchId, descriptor
121
71
  console.debug('[syncComponentRegistry] No index document found — will create one after registration');
122
72
  }
123
73
  if (!gotHashesFromIndex) {
124
- // Legacy path: fetch each component version individually to get stored hash.
125
74
  console.debug('[syncComponentRegistry] Legacy path: fetching', docByName.size, 'component versions individually');
126
75
  await Promise.all(Array.from(docByName.entries()).map(async ([name, doc]) => {
127
76
  try {
@@ -132,27 +81,14 @@ export async function syncComponentRegistry(client, siteId, branchId, descriptor
132
81
  }
133
82
  }
134
83
  catch {
135
- // Version fetch failure → treat as hash mismatch, will overwrite
136
84
  }
137
85
  }));
138
86
  }
139
- // Step 4: Write only changed/new descriptors
140
87
  let registered = 0;
141
88
  let skipped = 0;
142
89
  await Promise.all(descriptors.map(async (descriptor) => {
143
90
  const storedHash = storedHashByName.get(registryComponentKey(descriptor.name));
144
91
  const existingDoc = docByName.get(registryComponentKey(descriptor.name));
145
- // Skip only when the hash is unchanged AND the component document still
146
- // exists on this branch. A hash-only check is unsafe: the index can drift
147
- // out of sync with on-disk component docs (e.g. a partial historical
148
- // write, an out-of-band deletion, or branch CoW interactions where the
149
- // index was inherited but its referenced component docs were not). In
150
- // that case the index reports a matching hash for a name whose document
151
- // is missing, and the registry stays permanently stuck at fewer
152
- // components than the running config defines. Requiring `existingDoc`
153
- // forces the missing component through the create path on the next run,
154
- // which self-heals the desync and rewrites the index from the full
155
- // descriptor set.
156
92
  if (existingDoc !== undefined && storedHash === descriptor.descriptorHash) {
157
93
  skipped++;
158
94
  return;
@@ -188,24 +124,13 @@ export async function syncComponentRegistry(client, siteId, branchId, descriptor
188
124
  registered++;
189
125
  }));
190
126
  console.debug('[syncComponentRegistry] Registration complete:', 'registered =', registered, 'skipped =', skipped, 'total =', descriptors.length, '| gotHashesFromIndex =', gotHashesFromIndex);
191
- // Detect hash instability: if we got hashes from the index but still had to register
192
- // components, log which components had mismatched hashes.
193
127
  if (gotHashesFromIndex && registered > 0) {
194
128
  const changed = descriptors.filter(d => storedHashByName.get(registryComponentKey(d.name)) !== d.descriptorHash);
195
129
  console.warn('[syncComponentRegistry] Hash mismatch detected for', changed.length, 'component(s) despite index being present.', 'These components will trigger a full re-registration on every load if their hashes are unstable:', changed.map(d => ({ name: d.name, stored: storedHashByName.get(registryComponentKey(d.name)), computed: d.descriptorHash })));
196
130
  }
197
- // Step 5: Write index when something changed, index doesn't exist yet, OR the existing
198
- // index lacks the `hashes` field (legacy format). The third condition promotes legacy
199
- // indexes to the fast-path format so that the next startup can skip per-component fetches.
200
131
  const indexNeedsWrite = registered > 0 || indexDoc === undefined || !gotHashesFromIndex;
201
132
  console.debug('[syncComponentRegistry] indexNeedsWrite =', indexNeedsWrite, '(registered > 0:', registered > 0, ', no indexDoc:', indexDoc === undefined, ', legacy format:', !gotHashesFromIndex, ')');
202
133
  if (indexNeedsWrite) {
203
- // A per-component verification just ran whenever we didn't trust the
204
- // fast path (missing index, legacy format, or forced by staleness) —
205
- // stamp verifiedAt as confirmed now. Otherwise carry the existing value
206
- // forward: a fast-path-only run (skips + a changed component or two)
207
- // doesn't verify every component's actual content, so it must not reset
208
- // the clock on the next forced verification.
209
134
  const verifiedAt = !gotHashesFromIndex ? new Date().toISOString() : existingVerifiedAt;
210
135
  const index = buildRegistryIndex(descriptors, siteId, branchId, verifiedAt);
211
136
  let indexDocId;
@@ -1 +1 @@
1
- {"version":3,"file":"syncComponentRegistry.js","sourceRoot":"","sources":["../../../src/editor/utils/syncComponentRegistry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"syncComponentRegistry.js","sourceRoot":"","sources":["../../../src/editor/utils/syncComponentRegistry.ts"],"names":[],"mappings":"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"}
@@ -4,13 +4,13 @@
4
4
  * A write-only variant of syncComponentRegistry for callers holding a
5
5
  * write:registry-scoped token, which has no read access at all by design
6
6
  * (see collaborative-state-system's §0 write:registry scope). Skips the
7
- * existence/hash-check reads entirely and always creates-or-versions every
8
- * descriptor, relying on the backend's upsert-on-conflict behavior for
9
- * _registry/* paths (a live conflict on these paths creates a new version
10
- * instead of erroring). Every run rewrites every component + the index,
11
- * whether or not anything changedaccepted as a low-volume cost (the CI
12
- * workflow only triggers on pushes touching component code) in exchange for
13
- * a token that genuinely cannot read anything.
7
+ * existence/hash-check reads entirely and posts every descriptor on every
8
+ * run, relying on the backend's upsert-on-conflict behavior for _registry/*
9
+ * paths. The backend compares the posted content against what the branch
10
+ * already stores and writes a version only when it differs, so posting
11
+ * unconditionally costs nothing but the request the skip-if-unchanged
12
+ * decision moved to the one side that can read, keeping this token unable
13
+ * to read anything.
14
14
  *
15
15
  * The interactive editor keeps using syncComponentRegistry, unmodified,
16
16
  * with its skip-if-unchanged behavior — this variant is CI-only.
@@ -1,20 +1,3 @@
1
- /**
2
- * syncComponentRegistryWriteOnly
3
- *
4
- * A write-only variant of syncComponentRegistry for callers holding a
5
- * write:registry-scoped token, which has no read access at all by design
6
- * (see collaborative-state-system's §0 write:registry scope). Skips the
7
- * existence/hash-check reads entirely and always creates-or-versions every
8
- * descriptor, relying on the backend's upsert-on-conflict behavior for
9
- * _registry/* paths (a live conflict on these paths creates a new version
10
- * instead of erroring). Every run rewrites every component + the index,
11
- * whether or not anything changed — accepted as a low-volume cost (the CI
12
- * workflow only triggers on pushes touching component code) in exchange for
13
- * a token that genuinely cannot read anything.
14
- *
15
- * The interactive editor keeps using syncComponentRegistry, unmodified,
16
- * with its skip-if-unchanged behavior — this variant is CI-only.
17
- */
18
1
  import { buildRegistryIndex } from './componentRegistry.js';
19
2
  import { componentPath, INDEX_PATH } from './syncComponentRegistry.js';
20
3
  export async function syncComponentRegistryWriteOnly(client, siteId, branchId, descriptors) {
@@ -24,11 +7,6 @@ export async function syncComponentRegistryWriteOnly(client, siteId, branchId, d
24
7
  path: componentPath(descriptor.name),
25
8
  snapshot: descriptor,
26
9
  })));
27
- // Every descriptor above was just unconditionally rewritten with its true
28
- // current content — that IS a full per-component verification, the
29
- // strongest one possible (PCC-3430). Stamping verifiedAt here means the
30
- // next editor load can trust the fast path immediately instead of forcing
31
- // an unnecessary per-component fetch right after this run.
32
10
  const index = buildRegistryIndex(descriptors, siteId, branchId, new Date().toISOString());
33
11
  await client.documents.create({
34
12
  siteId,