@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,12 +1,4 @@
1
- /**
2
- * P1 Auth module
3
- *
4
- * Reusable authentication components for P1-integrated React apps.
5
- * Exports P1AuthProvider, useP1Auth, and P1LoginPage.
6
- *
7
- * For standalone apps, use P1LoginPage as a ready-made login screen.
8
- * For embedded apps, use useP1Auth() to build your own login UI.
9
- */
10
1
  export { P1AuthProvider, useP1Auth, useOptionalP1Auth, DEMO_USERS, P1_LOGGED_IN_KEY, } from './P1AuthProvider.js';
11
2
  export { P1LoginPage } from './P1LoginPage.js';
3
+ export { performLogout } from './logout.js';
12
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EACL,cAAc,EACd,SAAS,EACT,iBAAiB,EACjB,UAAU,EACV,gBAAgB,GACjB,MAAM,qBAAqB,CAAC;AAQ7B,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":"AAUA,OAAO,EACL,cAAc,EACd,SAAS,EACT,iBAAiB,EACjB,UAAU,EACV,gBAAgB,GACjB,MAAM,qBAAqB,CAAC;AAQ7B,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAG/C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,23 @@
1
+ import type { LogoutOutcome } from '@pantheon-systems/css-client';
2
+ export type { LogoutOutcome };
3
+ export interface PerformLogoutConfig {
4
+ cssBaseUrl: string;
5
+ siteApiToken?: string;
6
+ /**
7
+ * The puck-css token key, matching P1AuthProvider's `tokenStorageKey` prop.
8
+ * Not the broker JWT key — css-client owns that one and resolves it itself.
9
+ */
10
+ tokenStorageKey?: string;
11
+ }
12
+ /**
13
+ * Canonical logout for P1 broker-mode apps. Owns the full sequence:
14
+ * 1. POST to the backend to obtain the Auth0 logout URL (token still present).
15
+ * 2. On success: clear broker token (inside brokerLogout) and puck-css keys.
16
+ * 3. Return the outcome — caller navigates on `signed_out`.
17
+ *
18
+ * On `error`, credentials are left intact so the caller can retry or fall back.
19
+ * Puck-css keys are cleared on `no_session` too — the broker session is gone,
20
+ * so local state should match.
21
+ */
22
+ export declare function performLogout(config: PerformLogoutConfig): Promise<LogoutOutcome>;
23
+ //# sourceMappingURL=logout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logout.d.ts","sourceRoot":"","sources":["../../src/auth/logout.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAGlE,YAAY,EAAE,aAAa,EAAE,CAAC;AAE9B,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;;;;;GASG;AACH,wBAAsB,aAAa,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,aAAa,CAAC,CAevF"}
@@ -0,0 +1,14 @@
1
+ import { brokerLogout } from '@pantheon-systems/css-client';
2
+ import { DEFAULT_TOKEN_KEY, P1_LOGGED_IN_KEY } from './storage-keys.js';
3
+ export async function performLogout(config) {
4
+ const { tokenStorageKey, ...brokerConfig } = config;
5
+ const outcome = await brokerLogout(brokerConfig);
6
+ if (outcome.status === 'signed_out' || outcome.status === 'no_session') {
7
+ if (typeof window !== 'undefined') {
8
+ window.localStorage.removeItem(tokenStorageKey ?? DEFAULT_TOKEN_KEY);
9
+ window.localStorage.removeItem(P1_LOGGED_IN_KEY);
10
+ }
11
+ }
12
+ return outcome;
13
+ }
14
+ //# sourceMappingURL=logout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logout.js","sourceRoot":"","sources":["../../src/auth/logout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAE5D,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAwBxE,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,MAA2B;IAI7D,MAAM,EAAE,eAAe,EAAE,GAAG,YAAY,EAAE,GAAG,MAAM,CAAC;IACpD,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,YAAY,CAAC,CAAC;IAEjD,IAAI,OAAO,CAAC,MAAM,KAAK,YAAY,IAAI,OAAO,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;QACvE,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;YAClC,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,eAAe,IAAI,iBAAiB,CAAC,CAAC;YACrE,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -0,0 +1,5 @@
1
+ /** localStorage key holding the auth token, unless the consumer overrides it. */
2
+ export declare const DEFAULT_TOKEN_KEY = "p1_auth_token";
3
+ /** Set once a user is authenticated; read by host apps to show signed-in UI. */
4
+ export declare const P1_LOGGED_IN_KEY = "p1_logged_in";
5
+ //# sourceMappingURL=storage-keys.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage-keys.d.ts","sourceRoot":"","sources":["../../src/auth/storage-keys.ts"],"names":[],"mappings":"AAGA,iFAAiF;AACjF,eAAO,MAAM,iBAAiB,kBAAkB,CAAC;AAEjD,gFAAgF;AAChF,eAAO,MAAM,gBAAgB,iBAAiB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export const DEFAULT_TOKEN_KEY = 'p1_auth_token';
2
+ export const P1_LOGGED_IN_KEY = 'p1_logged_in';
3
+ //# sourceMappingURL=storage-keys.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage-keys.js","sourceRoot":"","sources":["../../src/auth/storage-keys.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,MAAM,iBAAiB,GAAG,eAAe,CAAC;AAGjD,MAAM,CAAC,MAAM,gBAAgB,GAAG,cAAc,CAAC"}
@@ -1,16 +1,7 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- /**
3
- * AgentActivityBanner Component
4
- *
5
- * Banner shown when an agent is actively editing the document.
6
- * Displays agent name, intent, and affected regions.
7
- */
8
2
  import { useState } from 'react';
9
3
  import { getAvatarColor } from '../utils/avatarColor.js';
10
4
  const baseClass = 'css-puck-agent-banner';
11
- /**
12
- * Get initials from a name.
13
- */
14
5
  function getInitials(name) {
15
6
  return name
16
7
  .split(' ')
@@ -18,17 +9,11 @@ function getInitials(name) {
18
9
  .map((word) => word.charAt(0).toUpperCase())
19
10
  .join('');
20
11
  }
21
- /**
22
- * Banner shown when an agent is actively editing the document.
23
- * Displays agent name, intent, and affected regions.
24
- */
25
12
  export function AgentActivityBanner({ agent, showIdle = false, dismissible = false, onStopAgent, className, }) {
26
13
  const [isDismissed, setIsDismissed] = useState(false);
27
- // Don't show if agent is idle and showIdle is false
28
14
  if (agent.state === 'idle' && !showIdle) {
29
15
  return null;
30
16
  }
31
- // Don't show if dismissed
32
17
  if (isDismissed) {
33
18
  return null;
34
19
  }
@@ -1 +1 @@
1
- {"version":3,"file":"AgentActivityBanner.js","sourceRoot":"","sources":["../../../src/collaboration/components/AgentActivityBanner.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AgentActivityBanner.js","sourceRoot":"","sources":["../../../src/collaboration/components/AgentActivityBanner.tsx"],"names":[],"mappings":"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"}
@@ -1,9 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  import { getAvatarColor } from '../utils/avatarColor.js';
3
3
  const baseClass = 'css-puck-collaborator-avatars';
4
- /**
5
- * Get initials from a name (first letter of first two words).
6
- */
7
4
  function getInitials(name) {
8
5
  return name
9
6
  .split(' ')
@@ -11,9 +8,6 @@ function getInitials(name) {
11
8
  .map((word) => word.charAt(0).toUpperCase())
12
9
  .join('');
13
10
  }
14
- /**
15
- * Build tooltip text for an actor.
16
- */
17
11
  function getTooltip(actor) {
18
12
  const parts = [actor.name];
19
13
  if (actor.role === 'agent' && actor.intent) {
@@ -24,9 +18,6 @@ function getTooltip(actor) {
24
18
  }
25
19
  return parts.join('\n');
26
20
  }
27
- /**
28
- * Renders a single avatar.
29
- */
30
21
  function Avatar({ actor, onClick, }) {
31
22
  const isEditing = actor.state === 'editing';
32
23
  const isAgent = actor.role === 'agent';
@@ -40,26 +31,18 @@ function Avatar({ actor, onClick, }) {
40
31
  const handleClick = () => {
41
32
  onClick?.(actor);
42
33
  };
43
- // Generate a consistent color based on the actor's actual ID (not presence record ID)
44
- // This ensures colors match the demo UserSwitcher and are consistent across sessions
45
34
  const backgroundColor = getAvatarColor(actor.actorId);
46
35
  return (_jsxs("div", { className: avatarClasses, style: { backgroundColor }, "data-tooltip": getTooltip(actor), onClick: handleClick, role: "button", tabIndex: 0, onKeyDown: (e) => e.key === 'Enter' && handleClick(), children: [actor.avatar ? (_jsx("img", { src: actor.avatar, alt: actor.name, className: `${baseClass}__image`, referrerPolicy: "no-referrer" })) : (_jsx("span", { className: `${baseClass}__initials`, children: getInitials(actor.name) })), isAgent && _jsx("span", { className: `${baseClass}__agent-badge`, "aria-hidden": "true" })] }));
47
36
  }
48
- /**
49
- * Displays stacked avatars of collaborators with tooltips showing names/intents.
50
- * Automatically updates based on usePresence hook.
51
- */
52
37
  export function CollaboratorAvatars({ actors, maxVisible = 5, separateAgents = false, onAvatarClick, className, }) {
53
38
  if (actors.length === 0) {
54
39
  return _jsx("div", { className: [baseClass, className].filter(Boolean).join(' ') });
55
40
  }
56
41
  const humans = actors.filter((a) => a.role === 'human');
57
42
  const agents = actors.filter((a) => a.role === 'agent');
58
- // Determine which actors to display
59
43
  let displayActors;
60
44
  let overflowCount;
61
45
  if (separateAgents) {
62
- // Show humans first, then separator, then agents
63
46
  const visibleHumans = humans.slice(0, Math.ceil(maxVisible / 2));
64
47
  const visibleAgents = agents.slice(0, Math.floor(maxVisible / 2));
65
48
  displayActors = [...visibleHumans, ...visibleAgents];
@@ -1 +1 @@
1
- {"version":3,"file":"CollaboratorAvatars.js","sourceRoot":"","sources":["../../../src/collaboration/components/CollaboratorAvatars.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CollaboratorAvatars.js","sourceRoot":"","sources":["../../../src/collaboration/components/CollaboratorAvatars.tsx"],"names":[],"mappings":"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"}
@@ -1,10 +1,6 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  const baseClass = 'css-puck-focus-highlight';
3
- /**
4
- * Generate a consistent color based on actor ID.
5
- */
6
3
  function generateColorFromId(id) {
7
- // Simple hash to generate a hue value
8
4
  let hash = 0;
9
5
  for (let i = 0; i < id.length; i++) {
10
6
  hash = id.charCodeAt(i) + ((hash << 5) - hash);
@@ -12,13 +8,8 @@ function generateColorFromId(id) {
12
8
  const hue = Math.abs(hash % 360);
13
9
  return `hsl(${hue}, 70%, 60%)`;
14
10
  }
15
- /**
16
- * Overlays visual highlights on Puck components that match actor's focusRegions.
17
- * Integrates with Puck's component tree.
18
- */
19
11
  export function FocusRegionHighlight({ actor, color, }) {
20
12
  const { focusRegions, state, name } = actor;
21
- // Don't render if no focus regions
22
13
  if (!focusRegions || focusRegions.length === 0) {
23
14
  return null;
24
15
  }
@@ -1 +1 @@
1
- {"version":3,"file":"FocusRegionHighlight.js","sourceRoot":"","sources":["../../../src/collaboration/components/FocusRegionHighlight.tsx"],"names":[],"mappings":";AAiBA,MAAM,SAAS,GAAG,0BAA0B,CAAC;AAE7C;;GAEG;AACH,SAAS,mBAAmB,CAAC,EAAU;IACrC,sCAAsC;IACtC,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACnC,IAAI,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IACjD,CAAC;IACD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC;IACjC,OAAO,OAAO,GAAG,aAAa,CAAC;AACjC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,EACnC,KAAK,EACL,KAAK,GACqB;IAC1B,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;IAE5C,mCAAmC;IACnC,IAAI,CAAC,YAAY,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,SAAS,GAAG,KAAK,KAAK,SAAS,CAAC;IACtC,MAAM,cAAc,GAAG,KAAK,IAAI,mBAAmB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAEnE,MAAM,gBAAgB,GAAG;QACvB,SAAS;QACT,SAAS,IAAI,GAAG,SAAS,WAAW;KACrC;SACE,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,GAAG,CAAC,CAAC;IAEb,OAAO,CACL,cACE,SAAS,EAAE,gBAAgB,EAC3B,KAAK,EAAE,EAAE,mBAAmB,EAAE,cAAc,EAAyB,gBACzD,qBAAqB,IAAI,EAAE,YAEtC,YAAY,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAC5B,cAEE,SAAS,EAAE,GAAG,SAAS,UAAU,iBACpB,MAAM,IAFd,MAAM,CAGX,CACH,CAAC,GACE,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"FocusRegionHighlight.js","sourceRoot":"","sources":["../../../src/collaboration/components/FocusRegionHighlight.tsx"],"names":[],"mappings":";AAiBA,MAAM,SAAS,GAAG,0BAA0B,CAAC;AAK7C,SAAS,mBAAmB,CAAC,EAAU;IAErC,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACnC,IAAI,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IACjD,CAAC;IACD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC;IACjC,OAAO,OAAO,GAAG,aAAa,CAAC;AACjC,CAAC;AAMD,MAAM,UAAU,oBAAoB,CAAC,EACnC,KAAK,EACL,KAAK,GACqB;IAC1B,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;IAG5C,IAAI,CAAC,YAAY,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,SAAS,GAAG,KAAK,KAAK,SAAS,CAAC;IACtC,MAAM,cAAc,GAAG,KAAK,IAAI,mBAAmB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAEnE,MAAM,gBAAgB,GAAG;QACvB,SAAS;QACT,SAAS,IAAI,GAAG,SAAS,WAAW;KACrC;SACE,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,GAAG,CAAC,CAAC;IAEb,OAAO,CACL,cACE,SAAS,EAAE,gBAAgB,EAC3B,KAAK,EAAE,EAAE,mBAAmB,EAAE,cAAc,EAAyB,gBACzD,qBAAqB,IAAI,EAAE,YAEtC,YAAY,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAC5B,cAEE,SAAS,EAAE,GAAG,SAAS,UAAU,iBACpB,MAAM,IAFd,MAAM,CAGX,CACH,CAAC,GACE,CACP,CAAC;AACJ,CAAC"}
@@ -1,15 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- /**
3
- * PresenceIndicator Component
4
- *
5
- * Compact indicator showing presence count with expandable details panel.
6
- */
7
2
  import { useState } from 'react';
8
3
  const baseClass = 'css-puck-presence-indicator';
9
- /**
10
- * Compact indicator showing presence count with expandable details panel.
11
- * Shows: "3 collaborators" with breakdown on expand.
12
- */
13
4
  export function PresenceIndicator({ actors, expandable = true, panelPosition = 'bottom', className, }) {
14
5
  const [isExpanded, setIsExpanded] = useState(false);
15
6
  const count = actors.length;
@@ -1 +1 @@
1
- {"version":3,"file":"PresenceIndicator.js","sourceRoot":"","sources":["../../../src/collaboration/components/PresenceIndicator.tsx"],"names":[],"mappings":";AAAA;;;;GAIG;AAEH,OAAc,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAcxC,MAAM,SAAS,GAAG,6BAA6B,CAAC;AAEhD;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,EAChC,MAAM,EACN,UAAU,GAAG,IAAI,EACjB,aAAa,GAAG,QAAQ,EACxB,SAAS,GACc;IACvB,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEpD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC;IAC5B,MAAM,KAAK,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,KAAK,gBAAgB,CAAC;IAE3G,MAAM,gBAAgB,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAE1E,MAAM,WAAW,GAAG,GAAG,EAAE;QACvB,IAAI,UAAU,EAAE,CAAC;YACf,aAAa,CAAC,CAAC,UAAU,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,CACL,eAAK,SAAS,EAAE,gBAAgB,aAC9B,iBACE,SAAS,EAAE,GAAG,SAAS,WAAW,EAClC,OAAO,EAAE,WAAW,EACpB,IAAI,EAAC,QAAQ,mBACE,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,YAElD,eAAM,SAAS,EAAE,GAAG,SAAS,SAAS,YAAG,KAAK,GAAQ,GAC/C,EAER,UAAU,IAAI,UAAU,IAAI,CAC3B,cACE,SAAS,EAAE,GAAG,SAAS,WAAW,SAAS,YAAY,aAAa,EAAE,EACtE,IAAI,EAAC,QAAQ,gBACF,eAAe,YAE1B,aAAI,SAAS,EAAE,GAAG,SAAS,QAAQ,YAChC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CACrB,cAAmB,SAAS,EAAE,GAAG,SAAS,QAAQ,aAChD,eAAK,SAAS,EAAE,GAAG,SAAS,SAAS,aACnC,eAAM,SAAS,EAAE,GAAG,SAAS,QAAQ,YAAG,KAAK,CAAC,IAAI,GAAQ,EAC1D,eACE,SAAS,EAAE,GAAG,SAAS,WAAW,SAAS,YAAY,KAAK,CAAC,KAAK,EAAE,YAEnE,KAAK,CAAC,KAAK,GACP,IACH,EACL,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,CACtD,cAAK,SAAS,EAAE,GAAG,SAAS,WAAW,YACpC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAClC,eAAmB,SAAS,EAAE,GAAG,SAAS,UAAU,YACjD,MAAM,IADE,MAAM,CAEV,CACR,CAAC,GACE,CACP,KAjBM,KAAK,CAAC,EAAE,CAkBZ,CACN,CAAC,GACC,GACD,CACP,IACG,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"PresenceIndicator.js","sourceRoot":"","sources":["../../../src/collaboration/components/PresenceIndicator.tsx"],"names":[],"mappings":";AAMA,OAAc,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAcxC,MAAM,SAAS,GAAG,6BAA6B,CAAC;AAMhD,MAAM,UAAU,iBAAiB,CAAC,EAChC,MAAM,EACN,UAAU,GAAG,IAAI,EACjB,aAAa,GAAG,QAAQ,EACxB,SAAS,GACc;IACvB,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEpD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC;IAC5B,MAAM,KAAK,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,KAAK,gBAAgB,CAAC;IAE3G,MAAM,gBAAgB,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAE1E,MAAM,WAAW,GAAG,GAAG,EAAE;QACvB,IAAI,UAAU,EAAE,CAAC;YACf,aAAa,CAAC,CAAC,UAAU,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,CACL,eAAK,SAAS,EAAE,gBAAgB,aAC9B,iBACE,SAAS,EAAE,GAAG,SAAS,WAAW,EAClC,OAAO,EAAE,WAAW,EACpB,IAAI,EAAC,QAAQ,mBACE,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,YAElD,eAAM,SAAS,EAAE,GAAG,SAAS,SAAS,YAAG,KAAK,GAAQ,GAC/C,EAER,UAAU,IAAI,UAAU,IAAI,CAC3B,cACE,SAAS,EAAE,GAAG,SAAS,WAAW,SAAS,YAAY,aAAa,EAAE,EACtE,IAAI,EAAC,QAAQ,gBACF,eAAe,YAE1B,aAAI,SAAS,EAAE,GAAG,SAAS,QAAQ,YAChC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CACrB,cAAmB,SAAS,EAAE,GAAG,SAAS,QAAQ,aAChD,eAAK,SAAS,EAAE,GAAG,SAAS,SAAS,aACnC,eAAM,SAAS,EAAE,GAAG,SAAS,QAAQ,YAAG,KAAK,CAAC,IAAI,GAAQ,EAC1D,eACE,SAAS,EAAE,GAAG,SAAS,WAAW,SAAS,YAAY,KAAK,CAAC,KAAK,EAAE,YAEnE,KAAK,CAAC,KAAK,GACP,IACH,EACL,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,CACtD,cAAK,SAAS,EAAE,GAAG,SAAS,WAAW,YACpC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAClC,eAAmB,SAAS,EAAE,GAAG,SAAS,UAAU,YACjD,MAAM,IADE,MAAM,CAEV,CACR,CAAC,GACE,CACP,KAjBM,KAAK,CAAC,EAAE,CAkBZ,CACN,CAAC,GACC,GACD,CACP,IACG,CACP,CAAC;AACJ,CAAC"}
@@ -1,43 +1,13 @@
1
- /**
2
- * useBranchPresence Hook
3
- *
4
- * Provides branch-level presence aggregation with polling.
5
- */
6
1
  import { useState, useCallback, useEffect, useRef } from 'react';
7
2
  import { usePresenceContext } from '../core/PresenceContext.js';
8
- /**
9
- * Hook for consuming branch-level presence data.
10
- *
11
- * @param options - Configuration options
12
- * @returns Branch presence state and operations
13
- *
14
- * @example
15
- * ```tsx
16
- * function BranchCollaborators() {
17
- * const { presence, activeDocuments, totalActors } = useBranchPresence();
18
- *
19
- * return (
20
- * <div>
21
- * <span>{totalActors} collaborators on this branch</span>
22
- * {activeDocuments.map(doc => (
23
- * <DocumentBadge key={doc.documentId} path={doc.documentPath} />
24
- * ))}
25
- * </div>
26
- * );
27
- * }
28
- * ```
29
- */
30
3
  export function useBranchPresence(options = {}) {
31
4
  const { pollingInterval = 10000 } = options;
32
5
  const { client, siteId, branchId } = usePresenceContext();
33
6
  const [presence, setPresence] = useState(null);
34
7
  const [isLoading, setIsLoading] = useState(true);
35
8
  const [error, setError] = useState(null);
36
- // Track mounted state to avoid state updates after unmount
37
9
  const mountedRef = useRef(true);
38
- // Ref for fetchPresence to avoid restarting polling interval
39
10
  const fetchPresenceRef = useRef(async () => { });
40
- // Fetch presence data
41
11
  const fetchPresence = useCallback(async () => {
42
12
  try {
43
13
  const branchPresence = await client.presence.getBranchPresence(siteId, branchId);
@@ -57,20 +27,15 @@ export function useBranchPresence(options = {}) {
57
27
  }
58
28
  }
59
29
  }, [client, siteId, branchId]);
60
- // Keep ref in sync with callback
61
30
  useEffect(() => {
62
31
  fetchPresenceRef.current = fetchPresence;
63
32
  }, [fetchPresence]);
64
- // Manual refresh function
65
33
  const refresh = useCallback(async () => {
66
34
  await fetchPresence();
67
35
  }, [fetchPresence]);
68
- // Initial fetch and polling
69
36
  useEffect(() => {
70
37
  mountedRef.current = true;
71
- // Initial fetch
72
38
  void fetchPresenceRef.current();
73
- // Set up polling - use ref to avoid restarting interval when callback changes
74
39
  const intervalId = setInterval(() => {
75
40
  void fetchPresenceRef.current();
76
41
  }, pollingInterval);
@@ -79,7 +44,6 @@ export function useBranchPresence(options = {}) {
79
44
  clearInterval(intervalId);
80
45
  };
81
46
  }, [pollingInterval]);
82
- // Derived values
83
47
  const activeDocuments = presence?.documentSummary ?? [];
84
48
  const totalActors = presence?.summary.totalActors ?? 0;
85
49
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"useBranchPresence.js","sourceRoot":"","sources":["../../src/collaboration/useBranchPresence.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useBranchPresence.js","sourceRoot":"","sources":["../../src/collaboration/useBranchPresence.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAEjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAkDhE,MAAM,UAAU,iBAAiB,CAC/B,UAAoC,EAAE;IAEtC,MAAM,EAAE,eAAe,GAAG,KAAK,EAAE,GAAG,OAAO,CAAC;IAC5C,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,kBAAkB,EAAE,CAAC;IAE1D,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAwB,IAAI,CAAC,CAAC;IACtE,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IACjD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAe,IAAI,CAAC,CAAC;IAGvD,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IAGhC,MAAM,gBAAgB,GAAG,MAAM,CAAsB,KAAK,IAAI,EAAE,GAAE,CAAC,CAAC,CAAC;IAGrE,MAAM,aAAa,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QAC3C,IAAI,CAAC;YACH,MAAM,cAAc,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YAEjF,IAAI,CAAC,UAAU,CAAC,OAAO;gBAAE,OAAO;YAEhC,WAAW,CAAC,cAAc,CAAC,CAAC;YAC5B,QAAQ,CAAC,IAAI,CAAC,CAAC;QACjB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,UAAU,CAAC,OAAO;gBAAE,OAAO;YAChC,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,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;gBACvB,YAAY,CAAC,KAAK,CAAC,CAAC;YACtB,CAAC;QACH,CAAC;IACH,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;IAG/B,SAAS,CAAC,GAAG,EAAE;QACb,gBAAgB,CAAC,OAAO,GAAG,aAAa,CAAC;IAC3C,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;IAGpB,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QACrC,MAAM,aAAa,EAAE,CAAC;IACxB,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;IAGpB,SAAS,CAAC,GAAG,EAAE;QACb,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC;QAG1B,KAAK,gBAAgB,CAAC,OAAO,EAAE,CAAC;QAGhC,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE;YAClC,KAAK,gBAAgB,CAAC,OAAO,EAAE,CAAC;QAClC,CAAC,EAAE,eAAe,CAAC,CAAC;QAEpB,OAAO,GAAG,EAAE;YACV,UAAU,CAAC,OAAO,GAAG,KAAK,CAAC;YAC3B,aAAa,CAAC,UAAU,CAAC,CAAC;QAC5B,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC;IAGtB,MAAM,eAAe,GAAG,QAAQ,EAAE,eAAe,IAAI,EAAE,CAAC;IACxD,MAAM,WAAW,GAAG,QAAQ,EAAE,OAAO,CAAC,WAAW,IAAI,CAAC,CAAC;IAEvD,OAAO;QACL,QAAQ;QACR,eAAe;QACf,WAAW;QACX,SAAS;QACT,KAAK;QACL,OAAO;KACR,CAAC;AACJ,CAAC"}
@@ -1,91 +1,41 @@
1
- /**
2
- * useFocusRegionReporting Hook
3
- *
4
- * Manages debounced reporting of focus regions to the backend.
5
- * Used to inform the server which components a human has selected in the editor,
6
- * enabling proactive collision detection before actual edits occur.
7
- */
8
1
  import { useState, useCallback, useEffect, useRef } from 'react';
9
2
  import { usePresenceContext } from '../core/PresenceContext.js';
10
- /**
11
- * Hook for reporting focus regions to the backend.
12
- *
13
- * Manages debounced updates, heartbeat keep-alive, and cleanup on unmount.
14
- * Focus regions tell the server which components the user has selected,
15
- * allowing agents to avoid editing those regions proactively.
16
- *
17
- * @param options - Configuration options
18
- * @returns Focus state and operations
19
- *
20
- * @example
21
- * ```tsx
22
- * function SelectionReporter() {
23
- * const { setFocusRegions, clearFocus } = useFocusRegionReporting();
24
- *
25
- * // When Puck selection changes
26
- * useEffect(() => {
27
- * if (selectedItem) {
28
- * setFocusRegions([`/content/${selectedItem.index}`]);
29
- * } else {
30
- * clearFocus();
31
- * }
32
- * }, [selectedItem, setFocusRegions, clearFocus]);
33
- *
34
- * return null;
35
- * }
36
- * ```
37
- */
38
3
  export function useFocusRegionReporting(options = {}) {
39
4
  const { enabled = true, debounceMs = 300, heartbeatMs = 15000, sendViaWebSocket } = options;
40
5
  const { client, siteId, branchId, documentPath, userId } = usePresenceContext();
41
- // Ref for sendViaWebSocket to avoid callback recreation
42
6
  const sendViaWebSocketRef = useRef(sendViaWebSocket);
43
7
  useEffect(() => {
44
8
  sendViaWebSocketRef.current = sendViaWebSocket;
45
9
  }, [sendViaWebSocket]);
46
- // Local state
47
10
  const [focusRegions, setFocusRegionsState] = useState([]);
48
11
  const [isReporting, setIsReporting] = useState(false);
49
- // Refs for managing timers and cleanup
50
12
  const debounceTimerRef = useRef(null);
51
13
  const heartbeatTimerRef = useRef(null);
52
14
  const mountedRef = useRef(true);
53
15
  const lastReportedRef = useRef(null);
54
16
  const focusRegionsRef = useRef([]);
55
- // Keep ref in sync with state
56
17
  useEffect(() => {
57
18
  focusRegionsRef.current = focusRegions;
58
19
  }, [focusRegions]);
59
- // Ref for reportFocusRegions to avoid restarting heartbeat interval
60
20
  const reportFocusRegionsRef = useRef(async () => { });
61
- /**
62
- * Send focus regions to the server.
63
- * Tries WebSocket first if available, falls back to HTTP.
64
- */
65
21
  const reportFocusRegions = useCallback(async (regions) => {
66
- // Deduplicate - don't report if regions haven't changed
67
22
  const serialized = JSON.stringify(regions);
68
23
  if (serialized === lastReportedRef.current) {
69
24
  return;
70
25
  }
71
- // Skip if disabled, unmounted, or no document path
72
26
  if (!enabled || !mountedRef.current || !documentPath) {
73
27
  return;
74
28
  }
75
- // Try WebSocket first if available, fall back to HTTP
76
29
  if (sendViaWebSocketRef.current?.(regions)) {
77
30
  lastReportedRef.current = serialized;
78
31
  return;
79
32
  }
80
- // Fall back to HTTP
81
33
  try {
82
34
  setIsReporting(true);
83
35
  await client.presence.updateFocusRegions(siteId, branchId, documentPath, userId, regions);
84
36
  lastReportedRef.current = serialized;
85
37
  }
86
38
  catch {
87
- // Silently handle errors - focus reporting is not critical
88
- // Log for debugging if needed
89
39
  }
90
40
  finally {
91
41
  if (mountedRef.current) {
@@ -93,57 +43,41 @@ export function useFocusRegionReporting(options = {}) {
93
43
  }
94
44
  }
95
45
  }, [client, siteId, branchId, documentPath, userId, enabled]);
96
- // Keep ref in sync with callback
97
46
  useEffect(() => {
98
47
  reportFocusRegionsRef.current = reportFocusRegions;
99
48
  }, [reportFocusRegions]);
100
- /**
101
- * Set focus regions with debouncing.
102
- */
103
49
  const setFocusRegions = useCallback((regions) => {
104
- // Update local state immediately
105
50
  setFocusRegionsState(regions);
106
51
  if (!enabled) {
107
52
  return;
108
53
  }
109
- // Cancel any pending debounced call
110
54
  if (debounceTimerRef.current) {
111
55
  clearTimeout(debounceTimerRef.current);
112
56
  }
113
- // Schedule debounced report
114
57
  debounceTimerRef.current = setTimeout(() => {
115
58
  void reportFocusRegions(regions);
116
59
  }, debounceMs);
117
60
  }, [enabled, debounceMs, reportFocusRegions]);
118
- /**
119
- * Clear focus regions.
120
- */
121
61
  const clearFocus = useCallback(() => {
122
62
  setFocusRegionsState([]);
123
63
  if (!enabled) {
124
64
  return;
125
65
  }
126
- // Cancel any pending debounced call
127
66
  if (debounceTimerRef.current) {
128
67
  clearTimeout(debounceTimerRef.current);
129
68
  }
130
- // Schedule debounced report
131
69
  debounceTimerRef.current = setTimeout(() => {
132
70
  void reportFocusRegions([]);
133
71
  }, debounceMs);
134
72
  }, [enabled, debounceMs, reportFocusRegions]);
135
- // Heartbeat to keep focus alive
136
73
  useEffect(() => {
137
74
  if (!enabled) {
138
75
  return;
139
76
  }
140
77
  heartbeatTimerRef.current = setInterval(() => {
141
- // Only send heartbeat if we have focus regions
142
78
  if (focusRegionsRef.current.length > 0) {
143
- // Reset lastReported to force the heartbeat through
144
79
  const serialized = JSON.stringify(focusRegionsRef.current);
145
80
  if (lastReportedRef.current === serialized) {
146
- // Same regions - force through by clearing last reported temporarily
147
81
  lastReportedRef.current = null;
148
82
  }
149
83
  void reportFocusRegionsRef.current(focusRegionsRef.current);
@@ -156,35 +90,26 @@ export function useFocusRegionReporting(options = {}) {
156
90
  }
157
91
  };
158
92
  }, [enabled, heartbeatMs]);
159
- // Cleanup on unmount
160
93
  useEffect(() => {
161
94
  mountedRef.current = true;
162
95
  return () => {
163
96
  mountedRef.current = false;
164
- // Cancel pending debounced call
165
97
  if (debounceTimerRef.current) {
166
98
  clearTimeout(debounceTimerRef.current);
167
99
  debounceTimerRef.current = null;
168
100
  }
169
- // Cancel heartbeat
170
101
  if (heartbeatTimerRef.current) {
171
102
  clearInterval(heartbeatTimerRef.current);
172
103
  heartbeatTimerRef.current = null;
173
104
  }
174
- // Send final clear (fire-and-forget)
175
- // Only if we have a document path to clear
176
105
  if (enabled && documentPath) {
177
- // Reset lastReported to ensure the clear goes through
178
106
  lastReportedRef.current = null;
179
- // Try WebSocket first if available
180
107
  if (sendViaWebSocketRef.current?.([])) {
181
108
  return;
182
109
  }
183
- // Fall back to HTTP
184
110
  void client.presence
185
111
  .updateFocusRegions(siteId, branchId, documentPath, userId, [])
186
112
  .catch(() => {
187
- // Ignore errors on unmount
188
113
  });
189
114
  }
190
115
  };
@@ -1 +1 @@
1
- {"version":3,"file":"useFocusRegionReporting.js","sourceRoot":"","sources":["../../src/collaboration/useFocusRegionReporting.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useFocusRegionReporting.js","sourceRoot":"","sources":["../../src/collaboration/useFocusRegionReporting.ts"],"names":[],"mappings":"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"}