@parhelia/core 0.4.12800 → 0.4.12818

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 (495) hide show
  1. package/dist/agents-view/AgentsWorkspaceView.d.ts +2 -0
  2. package/dist/agents-view/AgentsWorkspaceView.js +12 -3
  3. package/dist/agents-view/AgentsWorkspaceView.js.map +1 -1
  4. package/dist/components/WorkspaceHomeView.d.ts +14 -3
  5. package/dist/components/WorkspaceHomeView.js +7 -4
  6. package/dist/components/WorkspaceHomeView.js.map +1 -1
  7. package/dist/components/ui/dialog.d.ts +7 -1
  8. package/dist/components/ui/dialog.js +6 -3
  9. package/dist/components/ui/dialog.js.map +1 -1
  10. package/dist/components/ui/popover.d.ts +8 -0
  11. package/dist/components/ui/popover.js +40 -6
  12. package/dist/components/ui/popover.js.map +1 -1
  13. package/dist/components/ui/tooltip.d.ts +2 -2
  14. package/dist/components/ui/tooltip.js +9 -4
  15. package/dist/components/ui/tooltip.js.map +1 -1
  16. package/dist/config/config.js +2 -2
  17. package/dist/config/config.js.map +1 -1
  18. package/dist/editor/ConfirmationDialog.d.ts +1 -0
  19. package/dist/editor/ConfirmationDialog.js +9 -2
  20. package/dist/editor/ConfirmationDialog.js.map +1 -1
  21. package/dist/editor/ContentTree.d.ts +9 -1
  22. package/dist/editor/ContentTree.js +50 -23
  23. package/dist/editor/ContentTree.js.map +1 -1
  24. package/dist/editor/FieldList.js +41 -4
  25. package/dist/editor/FieldList.js.map +1 -1
  26. package/dist/editor/FieldListField.js +156 -123
  27. package/dist/editor/FieldListField.js.map +1 -1
  28. package/dist/editor/LinkEditorDialog.d.ts +3 -0
  29. package/dist/editor/LinkEditorDialog.js +9 -4
  30. package/dist/editor/LinkEditorDialog.js.map +1 -1
  31. package/dist/editor/MainLayout.js +9 -2
  32. package/dist/editor/MainLayout.js.map +1 -1
  33. package/dist/editor/SetupWizard.js +1 -1
  34. package/dist/editor/SetupWizard.js.map +1 -1
  35. package/dist/editor/UsedBy.d.ts +2 -0
  36. package/dist/editor/UsedBy.js +50 -10
  37. package/dist/editor/UsedBy.js.map +1 -1
  38. package/dist/editor/agent-changes/agentChangeTargets.d.ts +58 -0
  39. package/dist/editor/agent-changes/agentChangeTargets.js +174 -0
  40. package/dist/editor/agent-changes/agentChangeTargets.js.map +1 -0
  41. package/dist/editor/agent-changes/agentChangeTextHighlight.d.ts +57 -0
  42. package/dist/editor/agent-changes/agentChangeTextHighlight.js +109 -0
  43. package/dist/editor/agent-changes/agentChangeTextHighlight.js.map +1 -0
  44. package/dist/editor/ai/AgentImagePreview.d.ts +13 -0
  45. package/dist/editor/ai/AgentImagePreview.js +41 -0
  46. package/dist/editor/ai/AgentImagePreview.js.map +1 -0
  47. package/dist/editor/ai/ContentInspectorPopover.d.ts +2 -1
  48. package/dist/editor/ai/ContentInspectorPopover.js +3 -3
  49. package/dist/editor/ai/ContentInspectorPopover.js.map +1 -1
  50. package/dist/editor/ai/MediaImage.js +2 -1
  51. package/dist/editor/ai/MediaImage.js.map +1 -1
  52. package/dist/editor/ai/activityRowNavigation.d.ts +28 -0
  53. package/dist/editor/ai/activityRowNavigation.js +53 -0
  54. package/dist/editor/ai/activityRowNavigation.js.map +1 -0
  55. package/dist/editor/ai/agentMessageGrouping.d.ts +1 -1
  56. package/dist/editor/ai/agentMessageGrouping.js +2 -13
  57. package/dist/editor/ai/agentMessageGrouping.js.map +1 -1
  58. package/dist/editor/ai/agentMessageHelpers.js +21 -1
  59. package/dist/editor/ai/agentMessageHelpers.js.map +1 -1
  60. package/dist/editor/ai/terminal/agentSessionSelectors.js +0 -4
  61. package/dist/editor/ai/terminal/agentSessionSelectors.js.map +1 -1
  62. package/dist/editor/ai/terminal/agentSessionState.d.ts +0 -2
  63. package/dist/editor/ai/terminal/agentSessionState.js +8 -12
  64. package/dist/editor/ai/terminal/agentSessionState.js.map +1 -1
  65. package/dist/editor/ai/terminal/agentTurnTiming.d.ts +2 -0
  66. package/dist/editor/ai/terminal/agentTurnTiming.js +26 -1
  67. package/dist/editor/ai/terminal/agentTurnTiming.js.map +1 -1
  68. package/dist/editor/ai/terminal/components/AgentActivityOverviewPanel.d.ts +3 -1
  69. package/dist/editor/ai/terminal/components/AgentActivityOverviewPanel.js +48 -6
  70. package/dist/editor/ai/terminal/components/AgentActivityOverviewPanel.js.map +1 -1
  71. package/dist/editor/ai/terminal/components/AgentBanners.d.ts +2 -1
  72. package/dist/editor/ai/terminal/components/AgentBanners.js +3 -2
  73. package/dist/editor/ai/terminal/components/AgentBanners.js.map +1 -1
  74. package/dist/editor/ai/terminal/components/AgentCostDisplay.js +6 -5
  75. package/dist/editor/ai/terminal/components/AgentCostDisplay.js.map +1 -1
  76. package/dist/editor/ai/terminal/components/AgentDocumentList.js +20 -10
  77. package/dist/editor/ai/terminal/components/AgentDocumentList.js.map +1 -1
  78. package/dist/editor/ai/terminal/components/AgentGreeting.js +1 -1
  79. package/dist/editor/ai/terminal/components/AgentGreeting.js.map +1 -1
  80. package/dist/editor/ai/terminal/components/AgentMemoryPanel.d.ts +2 -1
  81. package/dist/editor/ai/terminal/components/AgentMemoryPanel.js +12 -9
  82. package/dist/editor/ai/terminal/components/AgentMemoryPanel.js.map +1 -1
  83. package/dist/editor/ai/terminal/components/AgentMemorySettingsSection.d.ts +9 -0
  84. package/dist/editor/ai/terminal/components/AgentMemorySettingsSection.js +75 -0
  85. package/dist/editor/ai/terminal/components/AgentMemorySettingsSection.js.map +1 -0
  86. package/dist/editor/ai/terminal/components/AgentPromptTrayPopovers.d.ts +1 -1
  87. package/dist/editor/ai/terminal/components/AgentPromptTrayPopovers.js +3 -71
  88. package/dist/editor/ai/terminal/components/AgentPromptTrayPopovers.js.map +1 -1
  89. package/dist/editor/ai/terminal/components/AgentRunStatusBanners.d.ts +2 -1
  90. package/dist/editor/ai/terminal/components/AgentRunStatusBanners.js +2 -2
  91. package/dist/editor/ai/terminal/components/AgentRunStatusBanners.js.map +1 -1
  92. package/dist/editor/ai/terminal/components/AgentSettingsContent.js +2 -1
  93. package/dist/editor/ai/terminal/components/AgentSettingsContent.js.map +1 -1
  94. package/dist/editor/ai/terminal/components/AgentSettingsSections.d.ts +1 -0
  95. package/dist/editor/ai/terminal/components/AgentSettingsSections.js +1 -1
  96. package/dist/editor/ai/terminal/components/AgentSettingsSections.js.map +1 -1
  97. package/dist/editor/ai/terminal/components/AgentSummaryAssistantResponse.d.ts +2 -1
  98. package/dist/editor/ai/terminal/components/AgentSummaryAssistantResponse.js +2 -2
  99. package/dist/editor/ai/terminal/components/AgentSummaryAssistantResponse.js.map +1 -1
  100. package/dist/editor/ai/terminal/components/AgentTerminalFullUpperContent.d.ts +2 -1
  101. package/dist/editor/ai/terminal/components/AgentTerminalFullUpperContent.js +9 -3
  102. package/dist/editor/ai/terminal/components/AgentTerminalFullUpperContent.js.map +1 -1
  103. package/dist/editor/ai/terminal/components/AgentTerminalMessageGroups.d.ts +2 -1
  104. package/dist/editor/ai/terminal/components/AgentTerminalMessageGroups.js +2 -6
  105. package/dist/editor/ai/terminal/components/AgentTerminalMessageGroups.js.map +1 -1
  106. package/dist/editor/ai/terminal/components/AgentTerminalSummaryLayout.d.ts +2 -1
  107. package/dist/editor/ai/terminal/components/AgentTerminalSummaryLayout.js +8 -2
  108. package/dist/editor/ai/terminal/components/AgentTerminalSummaryLayout.js.map +1 -1
  109. package/dist/editor/ai/terminal/components/AgentTerminalView.js +1 -1
  110. package/dist/editor/ai/terminal/components/AgentTerminalView.js.map +1 -1
  111. package/dist/editor/ai/terminal/components/AgentThinkingIndicator.d.ts +6 -1
  112. package/dist/editor/ai/terminal/components/AgentThinkingIndicator.js +5 -3
  113. package/dist/editor/ai/terminal/components/AgentThinkingIndicator.js.map +1 -1
  114. package/dist/editor/ai/terminal/components/AiResponseMessage.d.ts +2 -1
  115. package/dist/editor/ai/terminal/components/AiResponseMessage.js +12 -9
  116. package/dist/editor/ai/terminal/components/AiResponseMessage.js.map +1 -1
  117. package/dist/editor/ai/terminal/components/ContextInfoBar.js +1 -1
  118. package/dist/editor/ai/terminal/components/ContextInfoBar.js.map +1 -1
  119. package/dist/editor/ai/terminal/components/CreateItemToolCallContent.d.ts +3 -0
  120. package/dist/editor/ai/terminal/components/CreateItemToolCallContent.js +47 -0
  121. package/dist/editor/ai/terminal/components/CreateItemToolCallContent.js.map +1 -0
  122. package/dist/editor/ai/terminal/components/ResponseTurnDuration.js +15 -4
  123. package/dist/editor/ai/terminal/components/ResponseTurnDuration.js.map +1 -1
  124. package/dist/editor/ai/terminal/components/ToolCallDisplay.d.ts +2 -1
  125. package/dist/editor/ai/terminal/components/ToolCallDisplay.js +22 -54
  126. package/dist/editor/ai/terminal/components/ToolCallDisplay.js.map +1 -1
  127. package/dist/editor/ai/terminal/components/UserMessage.d.ts +6 -0
  128. package/dist/editor/ai/terminal/components/UserMessage.js +17 -4
  129. package/dist/editor/ai/terminal/components/UserMessage.js.map +1 -1
  130. package/dist/editor/ai/terminal/components/agentThinkingStyles.d.ts +5 -0
  131. package/dist/editor/ai/terminal/components/agentThinkingStyles.js +5 -0
  132. package/dist/editor/ai/terminal/components/agentThinkingStyles.js.map +1 -1
  133. package/dist/editor/ai/terminal/components/toolCallContentRenderers.d.ts +2 -0
  134. package/dist/editor/ai/terminal/components/toolCallContentRenderers.js +6 -0
  135. package/dist/editor/ai/terminal/components/toolCallContentRenderers.js.map +1 -1
  136. package/dist/editor/ai/terminal/components/toolCallResultJson.d.ts +1 -0
  137. package/dist/editor/ai/terminal/components/toolCallResultJson.js +46 -0
  138. package/dist/editor/ai/terminal/components/toolCallResultJson.js.map +1 -0
  139. package/dist/editor/ai/terminal/types.d.ts +2 -0
  140. package/dist/editor/ai/terminal/useAgentDraftInitializer.d.ts +2 -0
  141. package/dist/editor/ai/terminal/useAgentDraftInitializer.js +51 -14
  142. package/dist/editor/ai/terminal/useAgentDraftInitializer.js.map +1 -1
  143. package/dist/editor/ai/terminal/useAgentLoadPipeline.d.ts +2 -0
  144. package/dist/editor/ai/terminal/useAgentLoadPipeline.js +3 -1
  145. package/dist/editor/ai/terminal/useAgentLoadPipeline.js.map +1 -1
  146. package/dist/editor/ai/terminal/useAgentProviderWait.d.ts +18 -0
  147. package/dist/editor/ai/terminal/useAgentProviderWait.js +23 -0
  148. package/dist/editor/ai/terminal/useAgentProviderWait.js.map +1 -0
  149. package/dist/editor/ai/terminal/useAgentRunCompletionSocketHandler.d.ts +1 -1
  150. package/dist/editor/ai/terminal/useAgentRunCompletionSocketHandler.js +3 -3
  151. package/dist/editor/ai/terminal/useAgentRunCompletionSocketHandler.js.map +1 -1
  152. package/dist/editor/ai/terminal/useAgentRunDeltaRouter.d.ts +2 -2
  153. package/dist/editor/ai/terminal/useAgentRunDeltaRouter.js +5 -5
  154. package/dist/editor/ai/terminal/useAgentRunDeltaRouter.js.map +1 -1
  155. package/dist/editor/ai/terminal/useAgentRunDeltaSocketHandler.js +14 -10
  156. package/dist/editor/ai/terminal/useAgentRunDeltaSocketHandler.js.map +1 -1
  157. package/dist/editor/ai/terminal/useAgentRunMessagePipeline.d.ts +6 -7
  158. package/dist/editor/ai/terminal/useAgentRunMessagePipeline.js +5 -5
  159. package/dist/editor/ai/terminal/useAgentRunMessagePipeline.js.map +1 -1
  160. package/dist/editor/ai/terminal/useAgentRunStatusSocketHandler.d.ts +1 -1
  161. package/dist/editor/ai/terminal/useAgentRunStatusSocketHandler.js +23 -16
  162. package/dist/editor/ai/terminal/useAgentRunStatusSocketHandler.js.map +1 -1
  163. package/dist/editor/ai/terminal/useAgentSession.d.ts +0 -2
  164. package/dist/editor/ai/terminal/useAgentSession.js +8 -15
  165. package/dist/editor/ai/terminal/useAgentSession.js.map +1 -1
  166. package/dist/editor/ai/terminal/useAgentSessionFacade.d.ts +1 -0
  167. package/dist/editor/ai/terminal/useAgentSessionFacade.js +2 -0
  168. package/dist/editor/ai/terminal/useAgentSessionFacade.js.map +1 -1
  169. package/dist/editor/ai/terminal/useAgentSettleCompletedRun.d.ts +1 -1
  170. package/dist/editor/ai/terminal/useAgentSettleCompletedRun.js +3 -3
  171. package/dist/editor/ai/terminal/useAgentSettleCompletedRun.js.map +1 -1
  172. package/dist/editor/ai/terminal/useAgentStreamPipeline.d.ts +2 -2
  173. package/dist/editor/ai/terminal/useAgentStreamPipeline.js +5 -5
  174. package/dist/editor/ai/terminal/useAgentStreamPipeline.js.map +1 -1
  175. package/dist/editor/ai/terminal/useAgentSubmitContextBuilder.d.ts +0 -1
  176. package/dist/editor/ai/terminal/useAgentSubmitContextBuilder.js +3 -12
  177. package/dist/editor/ai/terminal/useAgentSubmitContextBuilder.js.map +1 -1
  178. package/dist/editor/ai/terminal/useAgentSubmitHandlers.js +18 -5
  179. package/dist/editor/ai/terminal/useAgentSubmitHandlers.js.map +1 -1
  180. package/dist/editor/ai/terminal/useAgentSubmitResponseHandler.js +6 -1
  181. package/dist/editor/ai/terminal/useAgentSubmitResponseHandler.js.map +1 -1
  182. package/dist/editor/ai/terminal/useAgentTerminalController.js +9 -10
  183. package/dist/editor/ai/terminal/useAgentTerminalController.js.map +1 -1
  184. package/dist/editor/ai/terminal/useAgentTerminalViewProps.d.ts +1 -1
  185. package/dist/editor/ai/terminal/useAgentTerminalViewProps.js.map +1 -1
  186. package/dist/editor/ai-image-editor/AiImageEditorDialog.js +1 -1
  187. package/dist/editor/ai-image-editor/AiImageEditorDialog.js.map +1 -1
  188. package/dist/editor/bridge/bridgeKeys.d.ts +5 -0
  189. package/dist/editor/bridge/bridgeKeys.js +8 -0
  190. package/dist/editor/bridge/bridgeKeys.js.map +1 -0
  191. package/dist/editor/bridge/linkDownload.d.ts +3 -0
  192. package/dist/editor/bridge/linkDownload.js +52 -0
  193. package/dist/editor/bridge/linkDownload.js.map +1 -0
  194. package/dist/editor/bridge/protocol.d.ts +34 -0
  195. package/dist/editor/bridge/protocol.js +3 -1
  196. package/dist/editor/bridge/protocol.js.map +1 -1
  197. package/dist/editor/client/EditorShell.js +30 -21
  198. package/dist/editor/client/EditorShell.js.map +1 -1
  199. package/dist/editor/client/OperationDialogContent.d.ts +10 -3
  200. package/dist/editor/client/OperationDialogContent.js +27 -4
  201. package/dist/editor/client/OperationDialogContent.js.map +1 -1
  202. package/dist/editor/client/agentLoadItemPolicy.d.ts +22 -0
  203. package/dist/editor/client/agentLoadItemPolicy.js +60 -0
  204. package/dist/editor/client/agentLoadItemPolicy.js.map +1 -0
  205. package/dist/editor/client/editContext.d.ts +16 -0
  206. package/dist/editor/client/editContext.js.map +1 -1
  207. package/dist/editor/client/hooks/useSocketMessageHandler.d.ts +5 -0
  208. package/dist/editor/client/hooks/useSocketMessageHandler.js +53 -13
  209. package/dist/editor/client/hooks/useSocketMessageHandler.js.map +1 -1
  210. package/dist/editor/client/itemsRepository.js +26 -7
  211. package/dist/editor/client/itemsRepository.js.map +1 -1
  212. package/dist/editor/client/localUserEditActivity.d.ts +3 -0
  213. package/dist/editor/client/localUserEditActivity.js +12 -0
  214. package/dist/editor/client/localUserEditActivity.js.map +1 -0
  215. package/dist/editor/client/operations.js +26 -13
  216. package/dist/editor/client/operations.js.map +1 -1
  217. package/dist/editor/commands/undo.js +8 -2
  218. package/dist/editor/commands/undo.js.map +1 -1
  219. package/dist/editor/componentVisualMode.d.ts +14 -0
  220. package/dist/editor/componentVisualMode.js +43 -0
  221. package/dist/editor/componentVisualMode.js.map +1 -0
  222. package/dist/editor/field-types/ImageFieldEditor.js +1 -1
  223. package/dist/editor/field-types/ImageFieldEditor.js.map +1 -1
  224. package/dist/editor/field-types/MultiLineText.js +29 -46
  225. package/dist/editor/field-types/MultiLineText.js.map +1 -1
  226. package/dist/editor/field-types/PictureFieldEditor.js +1 -1
  227. package/dist/editor/field-types/PictureFieldEditor.js.map +1 -1
  228. package/dist/editor/field-types/RichTextEditorComponent.js +9 -2
  229. package/dist/editor/field-types/RichTextEditorComponent.js.map +1 -1
  230. package/dist/editor/field-types/SingleLineText.js +28 -79
  231. package/dist/editor/field-types/SingleLineText.js.map +1 -1
  232. package/dist/editor/field-types/richtext/components/ReactSlate.js +59 -8
  233. package/dist/editor/field-types/richtext/components/ReactSlate.js.map +1 -1
  234. package/dist/editor/field-types/richtext/components/SimpleToolbarButton.js +4 -1
  235. package/dist/editor/field-types/richtext/components/SimpleToolbarButton.js.map +1 -1
  236. package/dist/editor/field-types/richtext/components/ToolbarButton.js +4 -1
  237. package/dist/editor/field-types/richtext/components/ToolbarButton.js.map +1 -1
  238. package/dist/editor/field-types/richtext/types.d.ts +7 -0
  239. package/dist/editor/field-types/richtext/types.js.map +1 -1
  240. package/dist/editor/field-types/richtext/utils/changeHighlight.d.ts +18 -0
  241. package/dist/editor/field-types/richtext/utils/changeHighlight.js +57 -0
  242. package/dist/editor/field-types/richtext/utils/changeHighlight.js.map +1 -0
  243. package/dist/editor/field-types/useFormFieldCaretPresence.d.ts +11 -0
  244. package/dist/editor/field-types/useFormFieldCaretPresence.js +32 -16
  245. package/dist/editor/field-types/useFormFieldCaretPresence.js.map +1 -1
  246. package/dist/editor/field-types/useFormFieldSelectionRange.d.ts +36 -0
  247. package/dist/editor/field-types/useFormFieldSelectionRange.js +123 -0
  248. package/dist/editor/field-types/useFormFieldSelectionRange.js.map +1 -0
  249. package/dist/editor/field-types/useTextCompletion.js +13 -3
  250. package/dist/editor/field-types/useTextCompletion.js.map +1 -1
  251. package/dist/editor/media-selector/AiImageSearchPrompt.d.ts +2 -1
  252. package/dist/editor/media-selector/AiImageSearchPrompt.js +2 -2
  253. package/dist/editor/media-selector/AiImageSearchPrompt.js.map +1 -1
  254. package/dist/editor/media-selector/Thumbnails.d.ts +2 -1
  255. package/dist/editor/media-selector/Thumbnails.js +2 -2
  256. package/dist/editor/media-selector/Thumbnails.js.map +1 -1
  257. package/dist/editor/media-selector/TreeSelector.js +142 -42
  258. package/dist/editor/media-selector/TreeSelector.js.map +1 -1
  259. package/dist/editor/media-selector/UploadZone.d.ts +6 -1
  260. package/dist/editor/media-selector/UploadZone.js +10 -7
  261. package/dist/editor/media-selector/UploadZone.js.map +1 -1
  262. package/dist/editor/media-selector/mediaFileType.d.ts +2 -0
  263. package/dist/editor/media-selector/mediaFileType.js +37 -0
  264. package/dist/editor/media-selector/mediaFileType.js.map +1 -1
  265. package/dist/editor/menubar/GenericToolbar.d.ts +2 -1
  266. package/dist/editor/menubar/GenericToolbar.js +2 -2
  267. package/dist/editor/menubar/GenericToolbar.js.map +1 -1
  268. package/dist/editor/menubar/ToolbarFactory.js +1 -1
  269. package/dist/editor/menubar/ToolbarFactory.js.map +1 -1
  270. package/dist/editor/menubar/toolbar-sections/DeviceSwitchToolbar.js +10 -3
  271. package/dist/editor/menubar/toolbar-sections/DeviceSwitchToolbar.js.map +1 -1
  272. package/dist/editor/menubar/toolbar-sections/ViewportControls.js +6 -1
  273. package/dist/editor/menubar/toolbar-sections/ViewportControls.js.map +1 -1
  274. package/dist/editor/notifications/WatchButton.js +11 -4
  275. package/dist/editor/notifications/WatchButton.js.map +1 -1
  276. package/dist/editor/page-editor-chrome/AgentChangeHighlightings.d.ts +20 -0
  277. package/dist/editor/page-editor-chrome/AgentChangeHighlightings.js +31 -0
  278. package/dist/editor/page-editor-chrome/AgentChangeHighlightings.js.map +1 -0
  279. package/dist/editor/page-editor-chrome/BridgeInlineFormatOverlay.js +2 -2
  280. package/dist/editor/page-editor-chrome/BridgeInlineFormatOverlay.js.map +1 -1
  281. package/dist/editor/page-editor-chrome/DiffHighlightOverlay.d.ts +33 -0
  282. package/dist/editor/page-editor-chrome/DiffHighlightOverlay.js +290 -0
  283. package/dist/editor/page-editor-chrome/DiffHighlightOverlay.js.map +1 -0
  284. package/dist/editor/page-editor-chrome/InlineFieldHistoryButton.js +27 -10
  285. package/dist/editor/page-editor-chrome/InlineFieldHistoryButton.js.map +1 -1
  286. package/dist/editor/page-editor-chrome/InsertComponentMenu.d.ts +6 -1
  287. package/dist/editor/page-editor-chrome/InsertComponentMenu.js +53 -6
  288. package/dist/editor/page-editor-chrome/InsertComponentMenu.js.map +1 -1
  289. package/dist/editor/page-editor-chrome/PageEditorChrome.js +2 -1
  290. package/dist/editor/page-editor-chrome/PageEditorChrome.js.map +1 -1
  291. package/dist/editor/page-editor-chrome/PlaceholderDropZone.js +14 -2
  292. package/dist/editor/page-editor-chrome/PlaceholderDropZone.js.map +1 -1
  293. package/dist/editor/page-editor-chrome/SuggestionHighlightings.js +59 -13
  294. package/dist/editor/page-editor-chrome/SuggestionHighlightings.js.map +1 -1
  295. package/dist/editor/page-editor-chrome/VersionDiffHighlightings.d.ts +1 -1
  296. package/dist/editor/page-editor-chrome/VersionDiffHighlightings.js +6 -271
  297. package/dist/editor/page-editor-chrome/VersionDiffHighlightings.js.map +1 -1
  298. package/dist/editor/page-editor-chrome/diffRulerSegments.d.ts +18 -0
  299. package/dist/editor/page-editor-chrome/diffRulerSegments.js +37 -0
  300. package/dist/editor/page-editor-chrome/diffRulerSegments.js.map +1 -0
  301. package/dist/editor/page-editor-chrome/overlay/IframeOverlayProvider.js +15 -2
  302. package/dist/editor/page-editor-chrome/overlay/IframeOverlayProvider.js.map +1 -1
  303. package/dist/editor/page-editor-chrome/useBridgeInlineEditing.d.ts +2 -0
  304. package/dist/editor/page-editor-chrome/useBridgeInlineEditing.js +58 -5
  305. package/dist/editor/page-editor-chrome/useBridgeInlineEditing.js.map +1 -1
  306. package/dist/editor/page-viewer/DeviceToolbar.js +53 -10
  307. package/dist/editor/page-viewer/DeviceToolbar.js.map +1 -1
  308. package/dist/editor/page-viewer/MiniMap.js +22 -24
  309. package/dist/editor/page-viewer/MiniMap.js.map +1 -1
  310. package/dist/editor/page-viewer/PageViewerFrame.js +204 -27
  311. package/dist/editor/page-viewer/PageViewerFrame.js.map +1 -1
  312. package/dist/editor/page-viewer/bridgeFieldPatch.js +1 -0
  313. package/dist/editor/page-viewer/bridgeFieldPatch.js.map +1 -1
  314. package/dist/editor/page-viewer/compareFrameWidth.d.ts +8 -0
  315. package/dist/editor/page-viewer/compareFrameWidth.js +25 -0
  316. package/dist/editor/page-viewer/compareFrameWidth.js.map +1 -0
  317. package/dist/editor/page-viewer/pageViewContext.d.ts +2 -1
  318. package/dist/editor/page-viewer/pageViewContext.js +10 -4
  319. package/dist/editor/page-viewer/pageViewContext.js.map +1 -1
  320. package/dist/editor/pageModel.d.ts +2 -0
  321. package/dist/editor/reviews/Comment.js +13 -12
  322. package/dist/editor/reviews/Comment.js.map +1 -1
  323. package/dist/editor/reviews/CommentDisplayPopover.js +25 -29
  324. package/dist/editor/reviews/CommentDisplayPopover.js.map +1 -1
  325. package/dist/editor/reviews/CommentEditor.js +47 -13
  326. package/dist/editor/reviews/CommentEditor.js.map +1 -1
  327. package/dist/editor/reviews/CommentQuote.d.ts +4 -0
  328. package/dist/editor/reviews/CommentQuote.js +30 -0
  329. package/dist/editor/reviews/CommentQuote.js.map +1 -0
  330. package/dist/editor/reviews/CommentThreadAgentLink.d.ts +23 -0
  331. package/dist/editor/reviews/CommentThreadAgentLink.js +37 -0
  332. package/dist/editor/reviews/CommentThreadAgentLink.js.map +1 -0
  333. package/dist/editor/reviews/CommentView.d.ts +2 -3
  334. package/dist/editor/reviews/CommentView.js +17 -14
  335. package/dist/editor/reviews/CommentView.js.map +1 -1
  336. package/dist/editor/reviews/Comments.js +14 -5
  337. package/dist/editor/reviews/Comments.js.map +1 -1
  338. package/dist/editor/reviews/MentionText.d.ts +5 -1
  339. package/dist/editor/reviews/MentionText.js +23 -0
  340. package/dist/editor/reviews/MentionText.js.map +1 -1
  341. package/dist/editor/reviews/ReviewCard.js +14 -8
  342. package/dist/editor/reviews/ReviewCard.js.map +1 -1
  343. package/dist/editor/reviews/ReviewersPanel.js +7 -2
  344. package/dist/editor/reviews/ReviewersPanel.js.map +1 -1
  345. package/dist/editor/reviews/SuggestedEdit.js +75 -15
  346. package/dist/editor/reviews/SuggestedEdit.js.map +1 -1
  347. package/dist/editor/reviews/SuggestionCommentThread.js +5 -4
  348. package/dist/editor/reviews/SuggestionCommentThread.js.map +1 -1
  349. package/dist/editor/reviews/commentAi.d.ts +27 -3
  350. package/dist/editor/reviews/commentAi.js +109 -28
  351. package/dist/editor/reviews/commentAi.js.map +1 -1
  352. package/dist/editor/reviews/commentImages.d.ts +49 -0
  353. package/dist/editor/reviews/commentImages.js +164 -0
  354. package/dist/editor/reviews/commentImages.js.map +1 -0
  355. package/dist/editor/reviews/feedbackAvatar.js +11 -5
  356. package/dist/editor/reviews/feedbackAvatar.js.map +1 -1
  357. package/dist/editor/reviews/feedbackCommentRules.d.ts +1 -1
  358. package/dist/editor/reviews/feedbackCommentRules.js +3 -9
  359. package/dist/editor/reviews/feedbackCommentRules.js.map +1 -1
  360. package/dist/editor/reviews/feedbackSelection.d.ts +13 -0
  361. package/dist/editor/reviews/feedbackSelection.js +37 -0
  362. package/dist/editor/reviews/feedbackSelection.js.map +1 -1
  363. package/dist/editor/reviews/suggestionDisplayValue.d.ts +24 -2
  364. package/dist/editor/reviews/suggestionDisplayValue.js +28 -4
  365. package/dist/editor/reviews/suggestionDisplayValue.js.map +1 -1
  366. package/dist/editor/reviews/useCommentImagePaste.d.ts +45 -0
  367. package/dist/editor/reviews/useCommentImagePaste.js +149 -0
  368. package/dist/editor/reviews/useCommentImagePaste.js.map +1 -0
  369. package/dist/editor/services/agentErrorMessage.js +5 -1
  370. package/dist/editor/services/agentErrorMessage.js.map +1 -1
  371. package/dist/editor/services/agentService.d.ts +12 -0
  372. package/dist/editor/services/agentService.js.map +1 -1
  373. package/dist/editor/services/contentService.d.ts +2 -0
  374. package/dist/editor/services/contentService.js.map +1 -1
  375. package/dist/editor/services/editService.d.ts +17 -2
  376. package/dist/editor/services/editService.js +7 -2
  377. package/dist/editor/services/editService.js.map +1 -1
  378. package/dist/editor/services/searchService.d.ts +2 -1
  379. package/dist/editor/services/searchService.js +2 -1
  380. package/dist/editor/services/searchService.js.map +1 -1
  381. package/dist/editor/services/userResolution.js +6 -5
  382. package/dist/editor/services/userResolution.js.map +1 -1
  383. package/dist/editor/sidebar/ComponentPalette.js +12 -4
  384. package/dist/editor/sidebar/ComponentPalette.js.map +1 -1
  385. package/dist/editor/sidebar/ComponentTree.js +38 -22
  386. package/dist/editor/sidebar/ComponentTree.js.map +1 -1
  387. package/dist/editor/sidebar/EditHistory.js +2 -2
  388. package/dist/editor/sidebar/EditHistory.js.map +1 -1
  389. package/dist/editor/sidebar/MainContentTree.js +1 -1
  390. package/dist/editor/sidebar/MainContentTree.js.map +1 -1
  391. package/dist/editor/sidebar/MorePanelsButton.js +2 -2
  392. package/dist/editor/sidebar/MorePanelsButton.js.map +1 -1
  393. package/dist/editor/sidebar/NavigationPanelMenuItem.js +2 -2
  394. package/dist/editor/sidebar/NavigationPanelMenuItem.js.map +1 -1
  395. package/dist/editor/sidebar/Validation.js +38 -44
  396. package/dist/editor/sidebar/Validation.js.map +1 -1
  397. package/dist/editor/sidebar/liveComponentThumbnails.d.ts +62 -0
  398. package/dist/editor/sidebar/liveComponentThumbnails.js +215 -0
  399. package/dist/editor/sidebar/liveComponentThumbnails.js.map +1 -0
  400. package/dist/editor/ui/ItemCollectionEditor.d.ts +17 -1
  401. package/dist/editor/ui/ItemCollectionEditor.js +17 -5
  402. package/dist/editor/ui/ItemCollectionEditor.js.map +1 -1
  403. package/dist/editor/ui/ItemList.d.ts +5 -0
  404. package/dist/editor/ui/ItemList.js +10 -2
  405. package/dist/editor/ui/ItemList.js.map +1 -1
  406. package/dist/editor/ui/ItemSearch.d.ts +7 -0
  407. package/dist/editor/ui/ItemSearch.js +14 -6
  408. package/dist/editor/ui/ItemSearch.js.map +1 -1
  409. package/dist/editor/ui/PublishDialog.js +3 -2
  410. package/dist/editor/ui/PublishDialog.js.map +1 -1
  411. package/dist/editor/ui/SimpleTabs.js +58 -3
  412. package/dist/editor/ui/SimpleTabs.js.map +1 -1
  413. package/dist/editor/ui/Splitter.d.ts +15 -0
  414. package/dist/editor/ui/Splitter.js +77 -100
  415. package/dist/editor/ui/Splitter.js.map +1 -1
  416. package/dist/editor/ui/TreeListSelector.d.ts +15 -1
  417. package/dist/editor/ui/TreeListSelector.js +2 -2
  418. package/dist/editor/ui/TreeListSelector.js.map +1 -1
  419. package/dist/editor/ui/WorkboxItemsTable.d.ts +6 -1
  420. package/dist/editor/ui/WorkboxItemsTable.js +44 -48
  421. package/dist/editor/ui/WorkboxItemsTable.js.map +1 -1
  422. package/dist/editor/ui/publishReadiness.d.ts +13 -0
  423. package/dist/editor/ui/publishReadiness.js +56 -0
  424. package/dist/editor/ui/publishReadiness.js.map +1 -1
  425. package/dist/editor/validation/ValidationIssuesPopover.d.ts +39 -0
  426. package/dist/editor/validation/ValidationIssuesPopover.js +51 -0
  427. package/dist/editor/validation/ValidationIssuesPopover.js.map +1 -0
  428. package/dist/editor/validation/navigateToValidationIssue.d.ts +13 -0
  429. package/dist/editor/validation/navigateToValidationIssue.js +43 -0
  430. package/dist/editor/validation/navigateToValidationIssue.js.map +1 -0
  431. package/dist/editor/validation/validationFixAgent.d.ts +26 -0
  432. package/dist/editor/validation/validationFixAgent.js +124 -0
  433. package/dist/editor/validation/validationFixAgent.js.map +1 -0
  434. package/dist/editor/validation/validationSeverity.d.ts +15 -0
  435. package/dist/editor/validation/validationSeverity.js +47 -0
  436. package/dist/editor/validation/validationSeverity.js.map +1 -0
  437. package/dist/editor/version-diff/versionDiffGeometryKeys.d.ts +10 -4
  438. package/dist/editor/version-diff/versionDiffGeometryKeys.js +21 -7
  439. package/dist/editor/version-diff/versionDiffGeometryKeys.js.map +1 -1
  440. package/dist/editor/version-diff/versionDiffTargets.d.ts +6 -1
  441. package/dist/editor/version-diff/versionDiffTargets.js +5 -5
  442. package/dist/editor/version-diff/versionDiffTargets.js.map +1 -1
  443. package/dist/editor/views/editorSlotContext.d.ts +4 -0
  444. package/dist/editor/views/editorSlotContext.js +37 -1
  445. package/dist/editor/views/editorSlotContext.js.map +1 -1
  446. package/dist/revision.d.ts +2 -2
  447. package/dist/revision.js +2 -2
  448. package/dist/splash-screen/ModernSplashScreen.js +6 -5
  449. package/dist/splash-screen/ModernSplashScreen.js.map +1 -1
  450. package/dist/splash-screen/RecentPages.js +33 -18
  451. package/dist/splash-screen/RecentPages.js.map +1 -1
  452. package/dist/task-board/TaskBoardWorkspace.js +65 -49
  453. package/dist/task-board/TaskBoardWorkspace.js.map +1 -1
  454. package/dist/task-board/components/CommentsList.js +11 -11
  455. package/dist/task-board/components/CommentsList.js.map +1 -1
  456. package/dist/task-board/components/GoalDataView.d.ts +32 -1
  457. package/dist/task-board/components/GoalDataView.js +105 -42
  458. package/dist/task-board/components/GoalDataView.js.map +1 -1
  459. package/dist/task-board/components/ProjectDashboard.d.ts +2 -18
  460. package/dist/task-board/components/ProjectDashboard.js +2 -206
  461. package/dist/task-board/components/ProjectDashboard.js.map +1 -1
  462. package/dist/task-board/components/ProjectGoalsPanel.js +115 -10
  463. package/dist/task-board/components/ProjectGoalsPanel.js.map +1 -1
  464. package/dist/task-board/components/ProjectProgressIndicator.d.ts +8 -0
  465. package/dist/task-board/components/ProjectProgressIndicator.js +17 -0
  466. package/dist/task-board/components/ProjectProgressIndicator.js.map +1 -0
  467. package/dist/task-board/components/TaskBoardHomeView.d.ts +11 -0
  468. package/dist/task-board/components/TaskBoardHomeView.js +40 -2
  469. package/dist/task-board/components/TaskBoardHomeView.js.map +1 -1
  470. package/dist/task-board/components/TaskBoardProjectListSidebar.js +2 -11
  471. package/dist/task-board/components/TaskBoardProjectListSidebar.js.map +1 -1
  472. package/dist/task-board/components/TaskDetailPanel.js +62 -23
  473. package/dist/task-board/components/TaskDetailPanel.js.map +1 -1
  474. package/dist/task-board/components/commentAuthor.d.ts +14 -0
  475. package/dist/task-board/components/commentAuthor.js +25 -0
  476. package/dist/task-board/components/commentAuthor.js.map +1 -0
  477. package/dist/task-board/taskBoardNavStore.d.ts +6 -0
  478. package/dist/task-board/taskBoardNavStore.js +36 -1
  479. package/dist/task-board/taskBoardNavStore.js.map +1 -1
  480. package/dist/task-board/types.d.ts +4 -0
  481. package/dist/task-board/utils/projectDashboardModel.d.ts +68 -0
  482. package/dist/task-board/utils/projectDashboardModel.js +355 -0
  483. package/dist/task-board/utils/projectDashboardModel.js.map +1 -0
  484. package/dist/task-board/views/DependencyGraphView.d.ts +7 -1
  485. package/dist/task-board/views/DependencyGraphView.js +58 -19
  486. package/dist/task-board/views/DependencyGraphView.js.map +1 -1
  487. package/dist/task-board/views/ProjectDashboardView.d.ts +28 -0
  488. package/dist/task-board/views/ProjectDashboardView.js +316 -0
  489. package/dist/task-board/views/ProjectDashboardView.js.map +1 -0
  490. package/dist/tour/Tour.js +21 -2
  491. package/dist/tour/Tour.js.map +1 -1
  492. package/dist/types.d.ts +11 -0
  493. package/images/Parhelia-Onboarding-Beach.jpg +0 -0
  494. package/package.json +1 -1
  495. package/images/Parhelia-Onboarding-BG.jpg +0 -0
@@ -1,29 +1,10 @@
1
- import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
2
- import { useEffect, useMemo, useRef, useState } from "react";
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useEffect, useRef, useState } from "react";
3
3
  import { useEditContext } from "../client/editContext";
4
- import { fieldKey, resolveVersionDiffTargets, } from "../version-diff/versionDiffTargets";
5
- import { versionDiffHighlightClasses } from "../version-diff/versionDiffHighlightStyles";
6
- import { getVersionDiffBridgeSource, getVersionDiffInnerRangeKey, getVersionDiffTextRangeKey, } from "../version-diff/versionDiffGeometryKeys";
4
+ import { resolveVersionDiffTargets, } from "../version-diff/versionDiffTargets";
5
+ import { getVersionDiffScope, } from "../version-diff/versionDiffGeometryKeys";
7
6
  import { useSlotContext } from "../views/editorSlotContext";
8
- import { bridgeRectToOverlayRect, measureBridgeFieldRect, measureBridgeTextRangeRects, rectListEquals, } from "./overlay/geometry";
9
- import { useOverlayMeasurement } from "./overlay/useOverlayMeasurement";
10
- import { normalizeMarkerId } from "../utils";
11
- function measuredDiffHighlightsEqual(previous, next) {
12
- if (previous.length !== next.length)
13
- return false;
14
- for (let i = 0; i < previous.length; i++) {
15
- const previousItem = previous[i];
16
- const nextItem = next[i];
17
- if (previousItem.key !== nextItem.key ||
18
- previousItem.className !== nextItem.className ||
19
- previousItem.kind !== nextItem.kind ||
20
- previousItem.tier !== nextItem.tier ||
21
- !rectListEquals(previousItem.rects, nextItem.rects)) {
22
- return false;
23
- }
24
- }
25
- return true;
26
- }
7
+ import { DiffHighlightOverlay } from "./DiffHighlightOverlay";
27
8
  export function VersionDiffHighlightings({ pageViewContext, variant = "default", paneRole = "current", }) {
28
9
  const editContext = useEditContext();
29
10
  const slotContext = useSlotContext();
@@ -31,7 +12,6 @@ export function VersionDiffHighlightings({ pageViewContext, variant = "default",
31
12
  const [targets, setTargets] = useState([]);
32
13
  const [componentTargets, setComponentTargets] = useState([]);
33
14
  const previousVersionCache = useRef(new Map());
34
- const bridgeSource = getVersionDiffBridgeSource(variant);
35
15
  // Whichever descriptor this pane's role diffs against: the compare pane's
36
16
  // chosen version for the current pane, the primary item for the baseline
37
17
  // pane. Changing either side must rerun the resolve effect.
@@ -95,251 +75,6 @@ export function VersionDiffHighlightings({ pageViewContext, variant = "default",
95
75
  paneRole,
96
76
  counterpartKey,
97
77
  ]);
98
- const rangesByTargetKey = useMemo(() => new Map(targets.map((target) => [
99
- fieldKey(target.descriptor),
100
- target.hasDeletionOnlyChange
101
- ? []
102
- : target.ranges.filter((range) => range.start < range.end),
103
- ])), [targets]);
104
- const lastBridgeTextRangeSignatureRef = useRef("");
105
- useEffect(() => {
106
- if (!pageViewContext.bridgeReady) {
107
- lastBridgeTextRangeSignatureRef.current = "";
108
- return;
109
- }
110
- const textRanges = targets.flatMap((target) => {
111
- if (target.hasDeletionOnlyChange)
112
- return [];
113
- const targetKey = fieldKey(target.descriptor);
114
- const ranges = rangesByTargetKey.get(targetKey) || [];
115
- return ranges.flatMap((range, index) => {
116
- const entries = [
117
- {
118
- key: getVersionDiffTextRangeKey(variant, targetKey, index),
119
- fieldId: target.descriptor.fieldId,
120
- item: target.descriptor.item,
121
- start: range.start,
122
- end: range.end,
123
- },
124
- ];
125
- // Char-tier detail is invisible at minimap scale; a uniform range's
126
- // inner span would just re-measure the outer rect.
127
- if (variant !== "minimap" && !isUniformRange(range)) {
128
- range.innerRanges.forEach(([start, end], innerIndex) => {
129
- entries.push({
130
- key: getVersionDiffInnerRangeKey(variant, targetKey, index, innerIndex),
131
- fieldId: target.descriptor.fieldId,
132
- item: target.descriptor.item,
133
- start,
134
- end,
135
- });
136
- });
137
- }
138
- return entries;
139
- });
140
- });
141
- // Empty maps to "" so an initial empty set is a no-op, while going from
142
- // ranges back to empty still emits a clearing update.
143
- const signature = textRanges.length > 0 ? JSON.stringify(textRanges) : "";
144
- if (signature === lastBridgeTextRangeSignatureRef.current)
145
- return;
146
- let cancelled = false;
147
- let retryTimer;
148
- let retryCount = 0;
149
- const publishTextRanges = () => {
150
- if (cancelled)
151
- return;
152
- // Contribute to the shared geometry union so our ranges merge with
153
- // comments/suggestions/locks instead of clobbering them, and so highlights
154
- // clear when the diff goes away. Child effects can run before the frame has
155
- // installed its bridge request function, and a reconnect can briefly reject
156
- // commands. Only remember a signature after the bridge accepted it; otherwise
157
- // an unchanged diff would never be published for that iframe.
158
- const accepted = pageViewContext.requestBridgeGeometry?.({
159
- source: bridgeSource,
160
- textRanges,
161
- });
162
- if (accepted) {
163
- lastBridgeTextRangeSignatureRef.current = signature;
164
- return;
165
- }
166
- const delay = Math.min(50 * 2 ** retryCount, 500);
167
- retryCount += 1;
168
- retryTimer = window.setTimeout(publishTextRanges, delay);
169
- };
170
- publishTextRanges();
171
- return () => {
172
- cancelled = true;
173
- if (retryTimer !== undefined)
174
- window.clearTimeout(retryTimer);
175
- };
176
- }, [
177
- pageViewContext,
178
- pageViewContext.bridgeReady,
179
- rangesByTargetKey,
180
- targets,
181
- variant,
182
- bridgeSource,
183
- ]);
184
- useEffect(() => {
185
- return () => {
186
- // Drop this instance's entry from the geometry union on unmount so a
187
- // departing overlay doesn't leave stale ranges behind.
188
- pageViewContext.requestBridgeGeometry?.({
189
- source: bridgeSource,
190
- textRanges: [],
191
- });
192
- };
193
- }, [pageViewContext, bridgeSource]);
194
- const highlights = useOverlayMeasurement((metrics) => {
195
- const bridgeGeometry = pageViewContext.bridgeGeometry;
196
- const bridgeStructure = pageViewContext.bridgeStructure;
197
- if (!bridgeGeometry)
198
- return [];
199
- const isMini = variant === "minimap";
200
- const measured = [];
201
- for (const target of componentTargets) {
202
- const overlayRect = measureBridgeComponentDiffRect(bridgeGeometry, target, metrics);
203
- if (!overlayRect)
204
- continue;
205
- measured.push({
206
- key: `component-${target.id}`,
207
- className: target.kind === "removed"
208
- ? isMini
209
- ? versionDiffHighlightClasses.componentRemovedMini
210
- : versionDiffHighlightClasses.componentRemoved
211
- : isMini
212
- ? versionDiffHighlightClasses.componentMini
213
- : versionDiffHighlightClasses.component,
214
- kind: target.kind,
215
- rects: [overlayRect],
216
- });
217
- }
218
- for (const target of targets) {
219
- const targetKey = fieldKey(target.descriptor);
220
- const strongClass = target.rangeKind === "removed"
221
- ? isMini
222
- ? versionDiffHighlightClasses.removedTextMini
223
- : versionDiffHighlightClasses.removedText
224
- : isMini
225
- ? versionDiffHighlightClasses.textMini
226
- : versionDiffHighlightClasses.text;
227
- const softClass = target.rangeKind === "removed"
228
- ? versionDiffHighlightClasses.removedTextSoft
229
- : versionDiffHighlightClasses.textSoft;
230
- if (target.hasDeletionOnlyChange) {
231
- const rect = measureBridgeFieldRect(bridgeGeometry, bridgeStructure, target.descriptor, metrics);
232
- if (!rect)
233
- continue;
234
- measured.push({
235
- key: targetKey,
236
- className: isMini
237
- ? versionDiffHighlightClasses.deletionOnlyMini
238
- : versionDiffHighlightClasses.deletionOnly,
239
- kind: target.rangeKind,
240
- rects: [rect],
241
- });
242
- continue;
243
- }
244
- const wordRects = [];
245
- const softRects = [];
246
- const charRects = [];
247
- const ranges = rangesByTargetKey.get(targetKey) || [];
248
- ranges.forEach((range, index) => {
249
- const rangeRects = measureBridgeTextRangeRects(bridgeGeometry, getVersionDiffTextRangeKey(variant, targetKey, index), metrics);
250
- if (rangeRects.length === 0) {
251
- const fallbackRect = measureBridgeFieldRect(bridgeGeometry, bridgeStructure, target.descriptor, metrics);
252
- if (fallbackRect)
253
- wordRects.push(fallbackRect);
254
- return;
255
- }
256
- if (isMini || isUniformRange(range)) {
257
- wordRects.push(...rangeRects);
258
- return;
259
- }
260
- softRects.push(...rangeRects);
261
- range.innerRanges.forEach((_, innerIndex) => {
262
- charRects.push(...measureBridgeTextRangeRects(bridgeGeometry, getVersionDiffInnerRangeKey(variant, targetKey, index, innerIndex), metrics));
263
- });
264
- });
265
- if (softRects.length > 0) {
266
- measured.push({
267
- key: `${targetKey}:soft`,
268
- className: softClass,
269
- kind: target.rangeKind,
270
- tier: "word",
271
- rects: softRects,
272
- });
273
- }
274
- if (charRects.length > 0) {
275
- measured.push({
276
- key: `${targetKey}:char`,
277
- className: strongClass,
278
- kind: target.rangeKind,
279
- tier: "char",
280
- rects: charRects,
281
- });
282
- }
283
- if (wordRects.length > 0) {
284
- measured.push({
285
- key: targetKey,
286
- className: strongClass,
287
- kind: target.rangeKind,
288
- tier: "word",
289
- rects: wordRects,
290
- });
291
- }
292
- }
293
- return measured;
294
- }, [
295
- pageViewContext.bridgeGeometry,
296
- pageViewContext.bridgeStructure,
297
- targets,
298
- componentTargets,
299
- rangesByTargetKey,
300
- variant,
301
- ], {
302
- initialValue: [],
303
- equals: measuredDiffHighlightsEqual,
304
- interests: ["viewport", "layout", "text", "adornment-data"],
305
- });
306
- if (highlights.length === 0)
307
- return null;
308
- return (_jsx(_Fragment, { children: highlights.flatMap((highlight) => highlight.rects.map((rect, index) => (_jsx("div", { className: highlight.className, "data-testid": "version-diff-highlight", "data-diff-kind": highlight.kind, "data-diff-tier": highlight.tier, style: {
309
- top: rect.y,
310
- left: rect.x,
311
- width: Math.max(rect.width, 2),
312
- height: Math.max(rect.height, 2),
313
- } }, `${highlight.key}-${index}`)))) }));
314
- }
315
- function isUniformRange(range) {
316
- return (range.innerRanges.length === 1 &&
317
- range.innerRanges[0][0] === range.start &&
318
- range.innerRanges[0][1] === range.end);
319
- }
320
- function measureBridgeComponentDiffRect(geometry, target, metrics) {
321
- if (!geometry)
322
- return null;
323
- const candidateIds = [
324
- target.visualId,
325
- target.id,
326
- target.dataItemId,
327
- target.dataLayoutId,
328
- target.dataTypeId,
329
- target.providerRenderingItemId,
330
- ]
331
- .filter((id) => !!id)
332
- .map(normalizeMarkerId);
333
- const geometryTarget = geometry.targets.find((candidate) => {
334
- if (candidate.kind !== "component")
335
- return false;
336
- const candidateKeys = [candidate.componentId, candidate.key, candidate.elementKey]
337
- .filter((id) => !!id)
338
- .map(normalizeMarkerId);
339
- return candidateKeys.some((key) => candidateIds.includes(key));
340
- });
341
- if (!geometryTarget?.rect)
342
- return null;
343
- return bridgeRectToOverlayRect(geometry, geometryTarget.rect, metrics);
78
+ return (_jsx(DiffHighlightOverlay, { pageViewContext: pageViewContext, variant: variant, scope: getVersionDiffScope(variant), targets: targets, componentTargets: componentTargets, testId: "version-diff-highlight" }));
344
79
  }
345
80
  //# sourceMappingURL=VersionDiffHighlightings.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"VersionDiffHighlightings.js","sourceRoot":"","sources":["../../../src/editor/page-editor-chrome/VersionDiffHighlightings.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE7D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,OAAO,EACL,QAAQ,EACR,yBAAyB,GAK1B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,2BAA2B,EAAE,MAAM,4CAA4C,CAAC;AACzF,OAAO,EACL,0BAA0B,EAC1B,2BAA2B,EAC3B,0BAA0B,GAE3B,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EACL,uBAAuB,EACvB,sBAAsB,EACtB,2BAA2B,EAE3B,cAAc,GACf,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAiB7C,SAAS,2BAA2B,CAClC,QAAiC,EACjC,IAA6B;IAE7B,IAAI,QAAQ,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAClD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,MAAM,YAAY,GAAG,QAAQ,CAAC,CAAC,CAAE,CAAC;QAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAE,CAAC;QAC1B,IACE,YAAY,CAAC,GAAG,KAAK,QAAQ,CAAC,GAAG;YACjC,YAAY,CAAC,SAAS,KAAK,QAAQ,CAAC,SAAS;YAC7C,YAAY,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI;YACnC,YAAY,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI;YACnC,CAAC,cAAc,CAAC,YAAY,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,EACnD,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,EACvC,eAAe,EACf,OAAO,GAAG,SAAS,EACnB,QAAQ,GAAG,SAAS,GACU;IAC9B,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IACrC,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IACrC,MAAM,eAAe,GAAG,WAAW,EAAE,eAAe,CAAC;IACrD,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAe,EAAE,CAAC,CAAC;IACzD,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAEtD,EAAE,CAAC,CAAC;IACN,MAAM,oBAAoB,GAAG,MAAM,CAA6B,IAAI,GAAG,EAAE,CAAC,CAAC;IAE3E,MAAM,YAAY,GAAG,0BAA0B,CAAC,OAAO,CAAC,CAAC;IAEzD,0EAA0E;IAC1E,yEAAyE;IACzE,4DAA4D;IAC5D,MAAM,qBAAqB,GACzB,QAAQ,KAAK,UAAU;QACrB,CAAC,CAAC,WAAW,EAAE,cAAc;QAC7B,CAAC,CAAC,WAAW,EAAE,SAAS,CAAC;IAC7B,MAAM,cAAc,GAAG;QACrB,qBAAqB,EAAE,EAAE;QACzB,qBAAqB,EAAE,QAAQ;QAC/B,qBAAqB,EAAE,OAAO;QAC9B,qBAAqB,EAAE,QAAQ;KAChC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEZ,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,eAAe,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;YAC9C,UAAU,CAAC,EAAE,CAAC,CAAC;YACf,mBAAmB,CAAC,EAAE,CAAC,CAAC;YACxB,OAAO;QACT,CAAC;QAED,MAAM,QAAQ,GACZ,QAAQ,KAAK,UAAU;YACrB,CAAC,CAAC,WAAW,EAAE,WAAW;gBACxB,CAAC,CAAE;oBACC,IAAI,EAAE,kBAAkB;oBACxB,cAAc,EAAE,WAAW,CAAC,cAAc;iBACjC;gBACb,CAAC,CAAC,IAAI;YACR,CAAC,CAAC,WAAW,EAAE,WAAW,IAAI,WAAW,CAAC,SAAS;gBACjD,CAAC,CAAE,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,CAAC,SAAS,EAAY;gBAClE,CAAC,CAAE,EAAE,IAAI,EAAE,UAAU,EAAY,CAAC;QAExC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,UAAU,CAAC,EAAE,CAAC,CAAC;YACf,mBAAmB,CAAC,EAAE,CAAC,CAAC;YACxB,OAAO;QACT,CAAC;QAED,IAAI,SAAS,GAAG,KAAK,CAAC;QAEtB,MAAM,cAAc,GAAG,KAAK,IAAI,EAAE;YAChC,MAAM,WAAW,GAAG,MAAM,yBAAyB,CAAC;gBAClD,eAAe,EAAE,eAAe,CAAC,eAAe;gBAChD,QAAQ,EAAE,eAAe,CAAC,IAAK,CAAC,IAAI,CAAC,UAAU;gBAC/C,OAAO,EAAE,eAAe,CAAC,OAAO;gBAChC,QAAQ;gBACR,oBAAoB,EAAE,oBAAoB,CAAC,OAAO;aACnD,CAAC,CAAC;YAEH,IAAI,SAAS;gBAAE,OAAO;YAEtB,UAAU,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;YACrC,mBAAmB,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;QACpD,CAAC,CAAC;QAEF,cAAc,EAAE,CAAC;QAEjB,OAAO,GAAG,EAAE;YACV,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC;IACJ,CAAC,EAAE;QACD,eAAe;QACf,eAAe,CAAC,IAAI,EAAE,YAAY;QAClC,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE;QAC7B,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ;QACnC,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO;QAClC,eAAe,CAAC,eAAe;QAC/B,eAAe,EAAE,QAAQ;QACzB,WAAW,EAAE,WAAW;QACxB,QAAQ;QACR,cAAc;KACf,CAAC,CAAC;IAEH,MAAM,iBAAiB,GAAG,OAAO,CAC/B,GAAG,EAAE,CACH,IAAI,GAAG,CACL,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;QACtB,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC;QAC3B,MAAM,CAAC,qBAAqB;YAC1B,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC;KAC7D,CAAC,CACH,EACH,CAAC,OAAO,CAAC,CACV,CAAC;IAEF,MAAM,+BAA+B,GAAG,MAAM,CAAS,EAAE,CAAC,CAAC;IAE3D,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC;YACjC,+BAA+B,CAAC,OAAO,GAAG,EAAE,CAAC;YAC7C,OAAO;QACT,CAAC;QAED,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YAC5C,IAAI,MAAM,CAAC,qBAAqB;gBAAE,OAAO,EAAE,CAAC;YAE5C,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAC9C,MAAM,MAAM,GAAG,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;YACtD,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;gBACrC,MAAM,OAAO,GAAG;oBACd;wBACE,GAAG,EAAE,0BAA0B,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC;wBAC1D,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC,OAAO;wBAClC,IAAI,EAAE,MAAM,CAAC,UAAU,CAAC,IAAI;wBAC5B,KAAK,EAAE,KAAK,CAAC,KAAK;wBAClB,GAAG,EAAE,KAAK,CAAC,GAAG;qBACf;iBACF,CAAC;gBACF,oEAAoE;gBACpE,mDAAmD;gBACnD,IAAI,OAAO,KAAK,SAAS,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;oBACpD,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,UAAU,EAAE,EAAE;wBACrD,OAAO,CAAC,IAAI,CAAC;4BACX,GAAG,EAAE,2BAA2B,CAC9B,OAAO,EACP,SAAS,EACT,KAAK,EACL,UAAU,CACX;4BACD,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC,OAAO;4BAClC,IAAI,EAAE,MAAM,CAAC,UAAU,CAAC,IAAI;4BAC5B,KAAK;4BACL,GAAG;yBACJ,CAAC,CAAC;oBACL,CAAC,CAAC,CAAC;gBACL,CAAC;gBACD,OAAO,OAAO,CAAC;YACjB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,wEAAwE;QACxE,sDAAsD;QACtD,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1E,IAAI,SAAS,KAAK,+BAA+B,CAAC,OAAO;YAAE,OAAO;QAElE,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,IAAI,UAA8B,CAAC;QACnC,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,MAAM,iBAAiB,GAAG,GAAG,EAAE;YAC7B,IAAI,SAAS;gBAAE,OAAO;YAEtB,mEAAmE;YACnE,2EAA2E;YAC3E,4EAA4E;YAC5E,4EAA4E;YAC5E,8EAA8E;YAC9E,8DAA8D;YAC9D,MAAM,QAAQ,GAAG,eAAe,CAAC,qBAAqB,EAAE,CAAC;gBACvD,MAAM,EAAE,YAAY;gBACpB,UAAU;aACX,CAAC,CAAC;YACH,IAAI,QAAQ,EAAE,CAAC;gBACb,+BAA+B,CAAC,OAAO,GAAG,SAAS,CAAC;gBACpD,OAAO;YACT,CAAC;YAED,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,IAAI,UAAU,EAAE,GAAG,CAAC,CAAC;YAClD,UAAU,IAAI,CAAC,CAAC;YAChB,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;QAC3D,CAAC,CAAC;QAEF,iBAAiB,EAAE,CAAC;QACpB,OAAO,GAAG,EAAE;YACV,SAAS,GAAG,IAAI,CAAC;YACjB,IAAI,UAAU,KAAK,SAAS;gBAAE,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QAChE,CAAC,CAAC;IACJ,CAAC,EAAE;QACD,eAAe;QACf,eAAe,CAAC,WAAW;QAC3B,iBAAiB;QACjB,OAAO;QACP,OAAO;QACP,YAAY;KACb,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,GAAG,EAAE;YACV,qEAAqE;YACrE,uDAAuD;YACvD,eAAe,CAAC,qBAAqB,EAAE,CAAC;gBACtC,MAAM,EAAE,YAAY;gBACpB,UAAU,EAAE,EAAE;aACf,CAAC,CAAC;QACL,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC,CAAC;IAEpC,MAAM,UAAU,GAAG,qBAAqB,CACtC,CAAC,OAAO,EAAE,EAAE;QACV,MAAM,cAAc,GAAG,eAAe,CAAC,cAAc,CAAC;QACtD,MAAM,eAAe,GAAG,eAAe,CAAC,eAAe,CAAC;QACxD,IAAI,CAAC,cAAc;YAAE,OAAO,EAAE,CAAC;QAE/B,MAAM,MAAM,GAAG,OAAO,KAAK,SAAS,CAAC;QACrC,MAAM,QAAQ,GAA4B,EAAE,CAAC;QAE7C,KAAK,MAAM,MAAM,IAAI,gBAAgB,EAAE,CAAC;YACtC,MAAM,WAAW,GAAG,8BAA8B,CAChD,cAAc,EACd,MAAM,EACN,OAAO,CACR,CAAC;YACF,IAAI,CAAC,WAAW;gBAAE,SAAS;YAC3B,QAAQ,CAAC,IAAI,CAAC;gBACZ,GAAG,EAAE,aAAa,MAAM,CAAC,EAAE,EAAE;gBAC7B,SAAS,EACP,MAAM,CAAC,IAAI,KAAK,SAAS;oBACvB,CAAC,CAAC,MAAM;wBACN,CAAC,CAAC,2BAA2B,CAAC,oBAAoB;wBAClD,CAAC,CAAC,2BAA2B,CAAC,gBAAgB;oBAChD,CAAC,CAAC,MAAM;wBACN,CAAC,CAAC,2BAA2B,CAAC,aAAa;wBAC3C,CAAC,CAAC,2BAA2B,CAAC,SAAS;gBAC7C,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,KAAK,EAAE,CAAC,WAAW,CAAC;aACrB,CAAC,CAAC;QACL,CAAC;QAED,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAC9C,MAAM,WAAW,GACf,MAAM,CAAC,SAAS,KAAK,SAAS;gBAC5B,CAAC,CAAC,MAAM;oBACN,CAAC,CAAC,2BAA2B,CAAC,eAAe;oBAC7C,CAAC,CAAC,2BAA2B,CAAC,WAAW;gBAC3C,CAAC,CAAC,MAAM;oBACN,CAAC,CAAC,2BAA2B,CAAC,QAAQ;oBACtC,CAAC,CAAC,2BAA2B,CAAC,IAAI,CAAC;YACzC,MAAM,SAAS,GACb,MAAM,CAAC,SAAS,KAAK,SAAS;gBAC5B,CAAC,CAAC,2BAA2B,CAAC,eAAe;gBAC7C,CAAC,CAAC,2BAA2B,CAAC,QAAQ,CAAC;YAE3C,IAAI,MAAM,CAAC,qBAAqB,EAAE,CAAC;gBACjC,MAAM,IAAI,GAAG,sBAAsB,CACjC,cAAc,EACd,eAAe,EACf,MAAM,CAAC,UAAU,EACjB,OAAO,CACR,CAAC;gBACF,IAAI,CAAC,IAAI;oBAAE,SAAS;gBACpB,QAAQ,CAAC,IAAI,CAAC;oBACZ,GAAG,EAAE,SAAS;oBACd,SAAS,EAAE,MAAM;wBACf,CAAC,CAAC,2BAA2B,CAAC,gBAAgB;wBAC9C,CAAC,CAAC,2BAA2B,CAAC,YAAY;oBAC5C,IAAI,EAAE,MAAM,CAAC,SAAS;oBACtB,KAAK,EAAE,CAAC,IAAI,CAAC;iBACd,CAAC,CAAC;gBACH,SAAS;YACX,CAAC;YAED,MAAM,SAAS,GAAkB,EAAE,CAAC;YACpC,MAAM,SAAS,GAAkB,EAAE,CAAC;YACpC,MAAM,SAAS,GAAkB,EAAE,CAAC;YACpC,MAAM,MAAM,GAAG,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;YAEtD,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;gBAC9B,MAAM,UAAU,GAAG,2BAA2B,CAC5C,cAAc,EACd,0BAA0B,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,EACrD,OAAO,CACR,CAAC;gBACF,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC5B,MAAM,YAAY,GAAG,sBAAsB,CACzC,cAAc,EACd,eAAe,EACf,MAAM,CAAC,UAAU,EACjB,OAAO,CACR,CAAC;oBACF,IAAI,YAAY;wBAAE,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;oBAC/C,OAAO;gBACT,CAAC;gBAED,IAAI,MAAM,IAAI,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;oBACpC,SAAS,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;oBAC9B,OAAO;gBACT,CAAC;gBAED,SAAS,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;gBAC9B,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE;oBAC1C,SAAS,CAAC,IAAI,CACZ,GAAG,2BAA2B,CAC5B,cAAc,EACd,2BAA2B,CACzB,OAAO,EACP,SAAS,EACT,KAAK,EACL,UAAU,CACX,EACD,OAAO,CACR,CACF,CAAC;gBACJ,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzB,QAAQ,CAAC,IAAI,CAAC;oBACZ,GAAG,EAAE,GAAG,SAAS,OAAO;oBACxB,SAAS,EAAE,SAAS;oBACpB,IAAI,EAAE,MAAM,CAAC,SAAS;oBACtB,IAAI,EAAE,MAAM;oBACZ,KAAK,EAAE,SAAS;iBACjB,CAAC,CAAC;YACL,CAAC;YACD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzB,QAAQ,CAAC,IAAI,CAAC;oBACZ,GAAG,EAAE,GAAG,SAAS,OAAO;oBACxB,SAAS,EAAE,WAAW;oBACtB,IAAI,EAAE,MAAM,CAAC,SAAS;oBACtB,IAAI,EAAE,MAAM;oBACZ,KAAK,EAAE,SAAS;iBACjB,CAAC,CAAC;YACL,CAAC;YACD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzB,QAAQ,CAAC,IAAI,CAAC;oBACZ,GAAG,EAAE,SAAS;oBACd,SAAS,EAAE,WAAW;oBACtB,IAAI,EAAE,MAAM,CAAC,SAAS;oBACtB,IAAI,EAAE,MAAM;oBACZ,KAAK,EAAE,SAAS;iBACjB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC,EACD;QACE,eAAe,CAAC,cAAc;QAC9B,eAAe,CAAC,eAAe;QAC/B,OAAO;QACP,gBAAgB;QAChB,iBAAiB;QACjB,OAAO;KACR,EACD;QACE,YAAY,EAAE,EAAE;QAChB,MAAM,EAAE,2BAA2B;QACnC,SAAS,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,gBAAgB,CAAC;KAC5D,CACF,CAAC;IAEF,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEzC,OAAO,CACL,4BACG,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE,CAChC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CACnC,cAEE,SAAS,EAAE,SAAS,CAAC,SAAS,iBAClB,wBAAwB,oBACpB,SAAS,CAAC,IAAI,oBACd,SAAS,CAAC,IAAI,EAC9B,KAAK,EAAE;gBACL,GAAG,EAAE,IAAI,CAAC,CAAC;gBACX,IAAI,EAAE,IAAI,CAAC,CAAC;gBACZ,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;gBAC9B,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;aACjC,IAVI,GAAG,SAAS,CAAC,GAAG,IAAI,KAAK,EAAE,CAWhC,CACH,CAAC,CACH,GACA,CACJ,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,KAAgB;IACtC,OAAO,CACL,KAAK,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC;QAC9B,KAAK,CAAC,WAAW,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,KAAK;QACxC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,GAAG,CACvC,CAAC;AACJ,CAAC;AAED,SAAS,8BAA8B,CACrC,QAA2C,EAC3C,MAA2B,EAC3B,OAAsD;IAEtD,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAE3B,MAAM,YAAY,GAAG;QACnB,MAAM,CAAC,QAAQ;QACf,MAAM,CAAC,EAAE;QACT,MAAM,CAAC,UAAU;QACjB,MAAM,CAAC,YAAY;QACnB,MAAM,CAAC,UAAU;QACjB,MAAM,CAAC,uBAAuB;KAC/B;SACE,MAAM,CAAC,CAAC,EAAE,EAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAClC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IAE1B,MAAM,cAAc,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE;QACzD,IAAI,SAAS,CAAC,IAAI,KAAK,WAAW;YAAE,OAAO,KAAK,CAAC;QACjD,MAAM,aAAa,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE,SAAS,CAAC,GAAG,EAAE,SAAS,CAAC,UAAU,CAAC;aAC/E,MAAM,CAAC,CAAC,EAAE,EAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAClC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAC1B,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,cAAc,EAAE,IAAI;QAAE,OAAO,IAAI,CAAC;IACvC,OAAO,uBAAuB,CAAC,QAAQ,EAAE,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACzE,CAAC"}
1
+ {"version":3,"file":"VersionDiffHighlightings.js","sourceRoot":"","sources":["../../../src/editor/page-editor-chrome/VersionDiffHighlightings.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import type { DiffRangeKind } from "../version-diff/versionDiffTargets";
2
+ import type { OverlayRect } from "./overlay/geometry";
3
+ export type DiffRulerSegment = {
4
+ top: number;
5
+ height: number;
6
+ kind: "added" | "removed";
7
+ };
8
+ export declare const DIFF_RULER_MIN_SEGMENT_HEIGHT = 3;
9
+ /**
10
+ * Collapses highlight rects into the vertical dashes of an overview ruler:
11
+ * one dash per run of changes, so a paragraph of edits reads as a single
12
+ * mark instead of a stack of overlapping slivers. Removals keep their own
13
+ * colour and are merged separately from additions.
14
+ */
15
+ export declare function buildDiffRulerSegments(highlights: ReadonlyArray<{
16
+ kind: DiffRangeKind;
17
+ rects: OverlayRect[];
18
+ }>): DiffRulerSegment[];
@@ -0,0 +1,37 @@
1
+ export const DIFF_RULER_MIN_SEGMENT_HEIGHT = 3;
2
+ /**
3
+ * Collapses highlight rects into the vertical dashes of an overview ruler:
4
+ * one dash per run of changes, so a paragraph of edits reads as a single
5
+ * mark instead of a stack of overlapping slivers. Removals keep their own
6
+ * colour and are merged separately from additions.
7
+ */
8
+ export function buildDiffRulerSegments(highlights) {
9
+ const byKind = {
10
+ added: [],
11
+ removed: [],
12
+ };
13
+ for (const highlight of highlights) {
14
+ const kind = highlight.kind === "removed" ? "removed" : "added";
15
+ for (const rect of highlight.rects) {
16
+ const top = Math.round(rect.y);
17
+ const height = Math.max(Math.round(rect.height), DIFF_RULER_MIN_SEGMENT_HEIGHT);
18
+ byKind[kind].push({ top, height, kind });
19
+ }
20
+ }
21
+ const merged = [];
22
+ for (const kind of ["added", "removed"]) {
23
+ const sorted = byKind[kind].sort((a, b) => a.top - b.top);
24
+ for (const segment of sorted) {
25
+ const last = merged[merged.length - 1];
26
+ if (last &&
27
+ last.kind === kind &&
28
+ segment.top <= last.top + last.height + 1) {
29
+ last.height = Math.max(last.height, segment.top + segment.height - last.top);
30
+ continue;
31
+ }
32
+ merged.push({ ...segment });
33
+ }
34
+ }
35
+ return merged;
36
+ }
37
+ //# sourceMappingURL=diffRulerSegments.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diffRulerSegments.js","sourceRoot":"","sources":["../../../src/editor/page-editor-chrome/diffRulerSegments.ts"],"names":[],"mappings":"AASA,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,CAAC;AAE/C;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CACpC,UAAwE;IAExE,MAAM,MAAM,GAAyD;QACnE,KAAK,EAAE,EAAE;QACT,OAAO,EAAE,EAAE;KACZ,CAAC;IACF,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC;QAChE,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC;YACnC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CACrB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EACvB,6BAA6B,CAC9B,CAAC;YACF,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAuB,EAAE,CAAC;IACtC,KAAK,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,SAAS,CAAU,EAAE,CAAC;QACjD,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QAC1D,KAAK,MAAM,OAAO,IAAI,MAAM,EAAE,CAAC;YAC7B,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACvC,IACE,IAAI;gBACJ,IAAI,CAAC,IAAI,KAAK,IAAI;gBAClB,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,EACzC,CAAC;gBACD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CACpB,IAAI,CAAC,MAAM,EACX,OAAO,CAAC,GAAG,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CACxC,CAAC;gBACF,SAAS;YACX,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { createContext, useCallback, useContext, useEffect, useLayoutEffect, useMemo, useRef, } from "react";
3
- import { getOverlayMetrics, } from "./geometry";
3
+ import { getOverlayMetrics } from "./geometry";
4
4
  import { SPLITTER_RESIZE_EVENT } from "../../ui/splitterResizeEvent";
5
5
  export const IFRAME_OVERLAY_BRIDGE_SCROLL_EVENT = "parhelia:iframe-overlay-bridge-scroll";
6
6
  export const IFRAME_OVERLAY_BRIDGE_GEOMETRY_EVENT = "parhelia:iframe-overlay-bridge-geometry";
@@ -64,7 +64,7 @@ export function IframeOverlayProvider({ iframe, scrollScale = 1, visualScale = 1
64
64
  bridgeScrollRef.current = null;
65
65
  bridgeGeometryMetricsRef.current = null;
66
66
  }, [iframe]);
67
- useEffect(() => {
67
+ useLayoutEffect(() => {
68
68
  scrollScaleRef.current = scrollScale;
69
69
  visualScaleRef.current = visualScale;
70
70
  }, [scrollScale, visualScale]);
@@ -221,6 +221,19 @@ export function IframeOverlayProvider({ iframe, scrollScale = 1, visualScale = 1
221
221
  iframe.removeEventListener(IFRAME_OVERLAY_BRIDGE_GEOMETRY_EVENT, handleBridgeGeometry);
222
222
  };
223
223
  }, [iframe, invalidateGeometry]);
224
+ useEffect(() => {
225
+ if (!iframe)
226
+ return;
227
+ const resetDocumentMetrics = () => {
228
+ bridgeScrollRef.current = null;
229
+ bridgeGeometryMetricsRef.current = null;
230
+ latestIframeOverlayScrollMetrics.delete(iframe);
231
+ writeLayerMetrics(getMetrics());
232
+ invalidateGeometry(["viewport", "layout", "adornment-data"]);
233
+ };
234
+ iframe.addEventListener("load", resetDocumentMetrics);
235
+ return () => iframe.removeEventListener("load", resetDocumentMetrics);
236
+ }, [iframe, getMetrics, writeLayerMetrics, invalidateGeometry]);
224
237
  const subscribeMeasurement = useCallback((callback, interests = ALL_REASONS) => {
225
238
  const subscriber = {
226
239
  callback,
@@ -1 +1 @@
1
- {"version":3,"file":"IframeOverlayProvider.js","sourceRoot":"","sources":["../../../../src/editor/page-editor-chrome/overlay/IframeOverlayProvider.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IframeOverlayProvider.js","sourceRoot":"","sources":["../../../../src/editor/page-editor-chrome/overlay/IframeOverlayProvider.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,aAAa,EACb,WAAW,EACX,UAAU,EACV,SAAS,EACT,eAAe,EACf,OAAO,EACP,MAAM,GACP,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,iBAAiB,EAAkB,MAAM,YAAY,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAWrE,MAAM,CAAC,MAAM,kCAAkC,GAC7C,uCAAuC,CAAC;AAE1C,MAAM,CAAC,MAAM,oCAAoC,GAC/C,yCAAyC,CAAC;AAwB5C,MAAM,gCAAgC,GAAG,IAAI,OAAO,EAGjD,CAAC;AAEJ,MAAM,UAAU,mCAAmC,CACjD,MAAyB;IAEzB,OAAO,gCAAgC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,CAAS,EACT,CAAS;IAET,OAAO,KAAK,CAAC,IAAI,CACf,QAAQ,CAAC,gBAAgB,CAAoB,oBAAoB,CAAC,CACnE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;QAChB,MAAM,IAAI,GAAG,MAAM,CAAC,qBAAqB,EAAE,CAAC;QAC5C,OAAO,CACL,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,CACvE,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,gFAAgF;AAChF,MAAM;AACN,8EAA8E;AAC9E,2EAA2E;AAC3E,2EAA2E;AAC3E,qEAAqE;AACrE,mEAAmE;AACnE,MAAM,CAAC,MAAM,wCAAwC,GACnD,6CAA6C,CAAC;AAmEhD,MAAM,WAAW,GAAgC;IAC/C,UAAU;IACV,QAAQ;IACR,MAAM;IACN,gBAAgB;CACjB,CAAC;AAEF,MAAM,aAAa,GAAmB;IACpC,UAAU,EAAE,CAAC;IACb,SAAS,EAAE,CAAC;IACZ,WAAW,EAAE,CAAC;IACd,WAAW,EAAE,CAAC;IACd,aAAa,EAAE,CAAC;IAChB,cAAc,EAAE,CAAC;IACjB,WAAW,EAAE,CAAC;IACd,YAAY,EAAE,CAAC;CAChB,CAAC;AAEF,MAAM,oBAAoB,GAAG,aAAa,CACxC,IAAI,CACL,CAAC;AAEF,MAAM,UAAU,gBAAgB;IAC9B,MAAM,OAAO,GAAG,UAAU,CAAC,oBAAoB,CAAC,CAAC;IACjD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,4DAA4D,CAC7D,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,EACpC,MAAM,EACN,WAAW,GAAG,CAAC,EACf,WAAW,GAAG,CAAC,EACf,eAAe,EACf,sBAAsB,GAAG,CAAC,EAC1B,IAAI,GAAG,WAAW,EAClB,KAAK,GAAG,CAAC,EACT,QAAQ,GAUT;IACC,MAAM,QAAQ,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAC9C,MAAM,cAAc,GAAG,MAAM,CAA6B,IAAI,GAAG,EAAE,CAAC,CAAC;IACrE,MAAM,oBAAoB,GAAG,MAAM,CAAsB,IAAI,GAAG,EAAE,CAAC,CAAC;IACpE,MAAM,iBAAiB,GAAG,MAAM,CAAiC,IAAI,GAAG,EAAE,CAAC,CAAC;IAC5E,MAAM,cAAc,GAAG,MAAM,CAAgB,IAAI,CAAC,CAAC;IACnD,MAAM,YAAY,GAAG,MAAM,CAAgB,IAAI,CAAC,CAAC;IACjD,MAAM,cAAc,GAAG,MAAM,CAAiB,aAAa,CAAC,CAAC;IAC7D,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IACjC,MAAM,eAAe,GAAG,MAAM,CAGpB,IAAI,CAAC,CAAC;IAChB,MAAM,wBAAwB,GAC5B,MAAM,CAA2C,IAAI,CAAC,CAAC;IACzD,MAAM,cAAc,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;IAC3C,MAAM,cAAc,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;IAE3C,SAAS,CAAC,GAAG,EAAE;QACb,SAAS,CAAC,OAAO,GAAG,MAAM,CAAC;QAC3B,eAAe,CAAC,OAAO,GAAG,IAAI,CAAC;QAC/B,wBAAwB,CAAC,OAAO,GAAG,IAAI,CAAC;IAC1C,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEb,eAAe,CAAC,GAAG,EAAE;QACnB,cAAc,CAAC,OAAO,GAAG,WAAW,CAAC;QACrC,cAAc,CAAC,OAAO,GAAG,WAAW,CAAC;IACvC,CAAC,EAAE,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC;IAE/B,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE;QAClC,MAAM,OAAO,GAAG,iBAAiB,CAC/B,SAAS,CAAC,OAAO,EACjB,cAAc,CAAC,OAAO,EACtB,cAAc,CAAC,OAAO,CACvB,CAAC;QACF,OAAO,eAAe,CAAC,OAAO;YAC5B,CAAC,CAAC;gBACE,GAAG,OAAO;gBACV,GAAG,wBAAwB,CAAC,OAAO;gBACnC,GAAG,eAAe,CAAC,OAAO;aAC3B;YACH,CAAC,CAAC,wBAAwB,CAAC,OAAO;gBAChC,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,GAAG,wBAAwB,CAAC,OAAO,EAAE;gBACrD,CAAC,CAAC,OAAO,CAAC;IAChB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,mBAAmB,GAAG,WAAW,CACrC,CACE,OAGC,EACD,EAAE;QACF,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,KAAK;YAAE,OAAO;QAEnB,MAAM,WAAW,GACf,IAAI,KAAK,WAAW;YAClB,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW;YACjE,CAAC,CAAC,CAAC,CAAC;QACR,MAAM,WAAW,GACf,IAAI,KAAK,WAAW;YAClB,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW;YAChE,CAAC,CAAC,CAAC,CAAC;QAER,KAAK,CAAC,KAAK,CAAC,SAAS,GAAG,eAAe,WAAW,OAAO,WAAW,QAAQ,CAAC;IAC/E,CAAC,EACD,CAAC,IAAI,CAAC,CACP,CAAC;IAEF,MAAM,kBAAkB,GAAG,WAAW,CACpC,CACE,aAGC,EACD,EAAE;QACF,MAAM,OAAO,GAAG;YACd,GAAG,cAAc,CAAC,OAAO;YACzB,GAAG,aAAa;SACjB,CAAC;QACF,cAAc,CAAC,OAAO,GAAG,OAAO,CAAC;QACjC,MAAM,aAAa,GAAG,SAAS,CAAC,OAAO,CAAC;QACxC,IAAI,aAAa,EAAE,CAAC;YAClB,gCAAgC,CAAC,GAAG,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAC/D,CAAC;QACD,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAC7B,OAAO,OAAO,CAAC;IACjB,CAAC,EACD,CAAC,mBAAmB,CAAC,CACtB,CAAC;IAEF,MAAM,iBAAiB,GAAG,WAAW,CACnC,CAAC,OAAuB,EAAE,EAAE;QAC1B,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,KAAK;YAAE,OAAO;QAEnB,cAAc,CAAC,OAAO,GAAG,OAAO,CAAC;QACjC,MAAM,aAAa,GAAG,SAAS,CAAC,OAAO,CAAC;QACxC,IAAI,aAAa,EAAE,CAAC;YAClB,gCAAgC,CAAC,GAAG,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAC/D,CAAC;QACD,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAC7B,MAAM,aAAa,GAAG,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QAChE,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,GAAG,aAAa,EAAE,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC;QAChG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,YAAY,GAAG,aAAa,EAAE,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC;IACrG,CAAC,EACD,CAAC,mBAAmB,CAAC,CACtB,CAAC;IAEF,MAAM,uBAAuB,GAAG,WAAW,CAAC,CAAC,OAAuB,EAAE,EAAE;QACtE,oBAAoB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;IACxE,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,MAAM;YAAE,OAAO;QAEpB,MAAM,kBAAkB,GAAG,CAAC,KAAY,EAAE,EAAE;YAC1C,MAAM,MAAM,GAAI,KAAsD;iBACnE,MAAM,CAAC;YACV,IACE,CAAC,MAAM;gBACP,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC;gBACnC,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,EAClC,CAAC;gBACD,OAAO;YACT,CAAC;YAED,MAAM,YAAY,GAAG;gBACnB,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,SAAS,EAAE,MAAM,CAAC,SAAS;aAC5B,CAAC;YACF,eAAe,CAAC,OAAO,GAAG,YAAY,CAAC;YACvC,kBAAkB,CAAC;gBACjB,GAAG,YAAY;gBACf,WAAW,EAAE,cAAc,CAAC,OAAO;gBACnC,WAAW,EAAE,cAAc,CAAC,OAAO;aACpC,CAAC,CAAC;YAEH,IAAI,YAAY,CAAC,OAAO,IAAI,IAAI;gBAAE,OAAO;YACzC,YAAY,CAAC,OAAO,GAAG,MAAM,CAAC,qBAAqB,CAAC,GAAG,EAAE;gBACvD,YAAY,CAAC,OAAO,GAAG,IAAI,CAAC;gBAC5B,uBAAuB,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;YAClD,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,MAAM,CAAC,gBAAgB,CACrB,kCAAkC,EAClC,kBAAkB,CACnB,CAAC;QAEF,OAAO,GAAG,EAAE;YACV,MAAM,CAAC,mBAAmB,CACxB,kCAAkC,EAClC,kBAAkB,CACnB,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,MAAM,EAAE,kBAAkB,EAAE,uBAAuB,CAAC,CAAC,CAAC;IAE1D,MAAM,iBAAiB,GAAG,WAAW,CAAC,GAAG,EAAE;QACzC,cAAc,CAAC,OAAO,GAAG,IAAI,CAAC;QAC9B,MAAM,OAAO,GACX,iBAAiB,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC;YAChC,CAAC,CAAC,IAAI,GAAG,CAAC,iBAAiB,CAAC,OAAO,CAAC;YACpC,CAAC,CAAC,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC;QAC3B,iBAAiB,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QAElC,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;QAC7B,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAE3B,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;YAC5C,MAAM,SAAS,GACb,UAAU,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC;gBAC/B,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;YACzE,IAAI,SAAS;gBAAE,UAAU,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAEpC,MAAM,kBAAkB,GAAG,WAAW,CACpC,CAAC,MAA+D,EAAE,EAAE;QAClE,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAC1D,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAiB,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/D,IAAI,cAAc,CAAC,OAAO,IAAI,IAAI;YAAE,OAAO;QAC3C,cAAc,CAAC,OAAO,GAAG,MAAM,CAAC,qBAAqB,CAAC,GAAG,EAAE;YACzD,iBAAiB,EAAE,CAAC;QACtB,CAAC,CAAC,CAAC;IACL,CAAC,EACD,CAAC,iBAAiB,CAAC,CACpB,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,MAAM;YAAE,OAAO;QAEpB,MAAM,oBAAoB,GAAG,CAAC,KAAY,EAAE,EAAE;YAC5C,MAAM,MAAM,GAAI,KAAwD;iBACrE,MAAM,CAAC;YACV,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;gBACzC,wBAAwB,CAAC,OAAO,GAAG;oBACjC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC;wBACpC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE;wBACnC,CAAC,CAAC,EAAE,CAAC;oBACP,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC;wBACnC,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE;wBACjC,CAAC,CAAC,EAAE,CAAC;oBACP,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC;wBACvC,CAAC,CAAC,EAAE,aAAa,EAAE,MAAM,CAAC,aAAa,EAAE;wBACzC,CAAC,CAAC,EAAE,CAAC;oBACP,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC;wBACxC,CAAC,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,cAAc,EAAE;wBAC3C,CAAC,CAAC,EAAE,CAAC;oBACP,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC;wBACrC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE;wBACrC,CAAC,CAAC,EAAE,CAAC;oBACP,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC;wBACtC,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE;wBACvC,CAAC,CAAC,EAAE,CAAC;iBACR,CAAC;gBACF,IACE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC;oBAClC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,EACjC,CAAC;oBACD,eAAe,CAAC,OAAO,GAAG;wBACxB,UAAU,EAAE,MAAM,CAAC,UAAW;wBAC9B,SAAS,EAAE,MAAM,CAAC,SAAU;qBAC7B,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,kBAAkB,CAAC,CAAC,UAAU,EAAE,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC;QAC/D,CAAC,CAAC;QAEF,MAAM,CAAC,gBAAgB,CACrB,oCAAoC,EACpC,oBAAoB,CACrB,CAAC;QAEF,OAAO,GAAG,EAAE;YACV,MAAM,CAAC,mBAAmB,CACxB,oCAAoC,EACpC,oBAAoB,CACrB,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAEjC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,MAAM;YAAE,OAAO;QACpB,MAAM,oBAAoB,GAAG,GAAG,EAAE;YAChC,eAAe,CAAC,OAAO,GAAG,IAAI,CAAC;YAC/B,wBAAwB,CAAC,OAAO,GAAG,IAAI,CAAC;YACxC,gCAAgC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAChD,iBAAiB,CAAC,UAAU,EAAE,CAAC,CAAC;YAChC,kBAAkB,CAAC,CAAC,UAAU,EAAE,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC;QAC/D,CAAC,CAAC;QACF,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;QACtD,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;IACxE,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,iBAAiB,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAEhE,MAAM,oBAAoB,GAAG,WAAW,CACtC,CACE,QAA6B,EAC7B,SAAS,GAAwC,WAAW,EAC5D,EAAE;QACF,MAAM,UAAU,GAAG;YACjB,QAAQ;YACR,SAAS,EAAE,IAAI,GAAG,CAAC,SAAS,CAAC;SAC9B,CAAC;QACF,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACvC,QAAQ,CAAC,UAAU,EAAE,EAAE,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;QAC7C,OAAO,GAAG,EAAE;YACV,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC5C,CAAC,CAAC;IACJ,CAAC,EACD,CAAC,UAAU,CAAC,CACb,CAAC;IAEF,MAAM,eAAe,GAAG,WAAW,CAAC,CAAC,QAAwB,EAAE,EAAE;QAC/D,oBAAoB,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC3C,OAAO,GAAG,EAAE;YACV,oBAAoB,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAChD,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,eAAe,CAAC,GAAG,EAAE;QACnB,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;QAC7B,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC,EAAE,CAAC,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAEpE,SAAS,CAAC,GAAG,EAAE;QACb,kBAAkB,CAAC,CAAC,UAAU,EAAE,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAC/D,CAAC,EAAE,CAAC,MAAM,EAAE,kBAAkB,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC;IAEjE,SAAS,CAAC,GAAG,EAAE;QACb,kBAAkB,CAAC,CAAC,UAAU,EAAE,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC;QAC7D,IAAI,sBAAsB,IAAI,CAAC;YAAE,OAAO;QAExC,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE;YACnC,kBAAkB,CAAC,CAAC,UAAU,EAAE,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC;QAC/D,CAAC,EAAE,sBAAsB,CAAC,CAAC;QAE3B,OAAO,GAAG,EAAE;YACV,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,sBAAsB,EAAE,eAAe,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAElE,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,wBAAwB,GAAG,CAAC,KAAY,EAAE,EAAE;YAChD,IAAI,KAAK,CAAC,IAAI,KAAK,qBAAqB,EAAE,CAAC;gBACzC,iBAAiB,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;gBAC1C,iBAAiB,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBACxC,IAAI,cAAc,CAAC,OAAO,IAAI,IAAI,EAAE,CAAC;oBACnC,MAAM,CAAC,oBAAoB,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;oBACpD,cAAc,CAAC,OAAO,GAAG,IAAI,CAAC;gBAChC,CAAC;gBACD,iBAAiB,EAAE,CAAC;gBACpB,OAAO;YACT,CAAC;YAED,kBAAkB,CAAC,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC7C,CAAC,CAAC;QAEF,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,wBAAwB,CAAC,CAAC;QAC5D,MAAM,CAAC,gBAAgB,CAAC,qBAAqB,EAAE,wBAAwB,CAAC,CAAC;QAEzE,OAAO,GAAG,EAAE;YACV,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,wBAAwB,CAAC,CAAC;YAC/D,MAAM,CAAC,mBAAmB,CACxB,qBAAqB,EACrB,wBAAwB,CACzB,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,iBAAiB,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAE5C,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,MAAM;YAAE,OAAO;QAEpB,IAAI,cAAc,GAA0B,IAAI,CAAC;QACjD,IAAI,CAAC;YACH,cAAc,GAAG,IAAI,cAAc,CAAC,GAAG,EAAE;gBACvC,kBAAkB,CAAC,UAAU,CAAC,CAAC;YACjC,CAAC,CAAC,CAAC;YACH,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACjC,CAAC;QAAC,MAAM,CAAC;YACP,cAAc,GAAG,IAAI,CAAC;QACxB,CAAC;QAED,OAAO,GAAG,EAAE;YACV,cAAc,EAAE,UAAU,EAAE,CAAC;QAC/B,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAEjC,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,GAAG,EAAE;YACV,IAAI,cAAc,CAAC,OAAO,IAAI,IAAI,EAAE,CAAC;gBACnC,MAAM,CAAC,oBAAoB,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;gBACpD,cAAc,CAAC,OAAO,GAAG,IAAI,CAAC;YAChC,CAAC;YACD,IAAI,YAAY,CAAC,OAAO,IAAI,IAAI,EAAE,CAAC;gBACjC,MAAM,CAAC,oBAAoB,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;gBAClD,YAAY,CAAC,OAAO,GAAG,IAAI,CAAC;YAC9B,CAAC;QACH,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,YAAY,GAAG,OAAO,CAC1B,GAAG,EAAE,CAAC,CAAC;QACL,MAAM;QACN,UAAU;QACV,kBAAkB;QAClB,oBAAoB;QACpB,eAAe;KAChB,CAAC,EACF;QACE,MAAM;QACN,UAAU;QACV,kBAAkB;QAClB,oBAAoB;QACpB,eAAe;KAChB,CACF,CAAC;IACF,MAAM,WAAW,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAC/C,MAAM,QAAQ,GACZ,WAAW,CAAC,GAAG,GAAG,CAAC;QACnB,WAAW,CAAC,KAAK,GAAG,CAAC;QACrB,WAAW,CAAC,MAAM,GAAG,CAAC;QACtB,WAAW,CAAC,IAAI,GAAG,CAAC,CAAC;IAEvB,OAAO,CACL,KAAC,oBAAoB,CAAC,QAAQ,IAAC,KAAK,EAAE,YAAY,YAChD,cACE,SAAS,EAAC,sDAAsD,EAChE,KAAK,EACH,QAAQ;gBACN,CAAC,CAAC;oBACE,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG;oBACrB,KAAK,EAAE,CAAC,WAAW,CAAC,KAAK;oBACzB,MAAM,EAAE,CAAC,WAAW,CAAC,MAAM;oBAC3B,IAAI,EAAE,CAAC,WAAW,CAAC,IAAI;iBACxB;gBACH,CAAC,CAAC,SAAS,iBAEH,qBAAqB,YAEjC,cACE,GAAG,EAAE,QAAQ,EACb,SAAS,EAAC,iEAAiE,EAC3E,KAAK,EACH,QAAQ;oBACN,CAAC,CAAC;wBACE,GAAG,EAAE,WAAW,CAAC,GAAG;wBACpB,IAAI,EAAE,WAAW,CAAC,IAAI;qBACvB;oBACH,CAAC,CAAC,SAAS,iBAEH,sBAAsB,YAEjC,QAAQ,GACL,GACF,GACwB,CACjC,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAmB;IAC9C,MAAM,QAAQ,GAAG,CAAC,KAAyB,EAAE,EAAE,CAC7C,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QACjD,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC;QACpB,CAAC,CAAC,CAAC,CAAC;IAER,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC9B,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IAClE,CAAC;IAED,OAAO;QACL,GAAG,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC;QACxB,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC;QAC5B,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC;QAC9B,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;KAC3B,CAAC;AACJ,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import type { MutableRefObject } from "react";
2
2
  import type { EditorMode } from "../client/editContext";
3
+ import type { FieldDescriptor } from "../pageModel";
3
4
  import type { PageViewContext } from "../page-viewer/pageViewContext";
4
5
  import type { BridgeInlineEditIdentity, BridgeInlineEditSessionCoordinator } from "../page-viewer/bridgeInlineEditSession";
5
6
  import type { ApplyFieldPatchCommandPayload, BeginInlineEditCommandPayload, CancelInlineEditCommandPayload, FieldValueChangedEventPayload, InlineEditEndedEventPayload, InteractionEventPayload } from "../bridge/protocol";
@@ -30,5 +31,6 @@ export declare function useBridgeInlineEditing({ pageViewContextRef, inlineEditS
30
31
  endedModeAtStart?: EditorMode;
31
32
  }) => Promise<void>;
32
33
  supersedeInlineEdit: (identity: BridgeInlineEditIdentity) => void;
34
+ supersedeFieldEdits: (field: FieldDescriptor) => void;
33
35
  };
34
36
  export {};
@@ -13,7 +13,30 @@ export function useBridgeInlineEditing({ pageViewContextRef, inlineEditSession,
13
13
  const lastBridgeInlineValueRef = useRef(new Map());
14
14
  const deniedInlineCancelKeysRef = useRef(new Set());
15
15
  const supersededInlineSessionIdsRef = useRef(new Set());
16
+ const inlineSessionFieldsRef = useRef(new Map());
17
+ const fieldEditGenerationsRef = useRef(new Map());
16
18
  const pendingFieldValueChangesRef = useRef(new Set());
19
+ const rememberInlineSession = useCallback((sessionId, field) => {
20
+ if (!sessionId)
21
+ return;
22
+ const sessions = inlineSessionFieldsRef.current;
23
+ sessions.set(sessionId, field);
24
+ while (sessions.size > 256)
25
+ sessions.delete(sessions.keys().next().value);
26
+ }, []);
27
+ const supersedeFieldEdits = useCallback((field) => {
28
+ const key = getBridgeFieldKey(field);
29
+ const generations = fieldEditGenerationsRef.current;
30
+ generations.set(key, (generations.get(key) ?? 0) + 1);
31
+ lastBridgeInlineValueRef.current.delete(key);
32
+ const superseded = supersededInlineSessionIdsRef.current;
33
+ for (const [sessionId, sessionField] of inlineSessionFieldsRef.current) {
34
+ if (fieldDescriptorsMatch(sessionField, field))
35
+ superseded.add(sessionId);
36
+ }
37
+ while (superseded.size > 256)
38
+ superseded.delete(superseded.values().next().value);
39
+ }, []);
17
40
  useEffect(() => {
18
41
  slotIdRef.current = slotContext?.slotId;
19
42
  }, [slotContext?.slotId]);
@@ -62,7 +85,7 @@ export function useBridgeInlineEditing({ pageViewContextRef, inlineEditSession,
62
85
  // The local focused-field state can outlive the server lock when a host-side
63
86
  // inline session remains mounted across a panel transition. Force a server
64
87
  // revalidation whenever the active-sessions snapshot does not confirm ownership.
65
- return (await editor.operations.ensureLock(field, { force: true })) || false;
88
+ return ((await editor.operations.ensureLock(field, { force: true })) || false);
66
89
  }, [editContextRef]);
67
90
  const resolveFieldDescriptor = useCallback((fieldId, item, elementKey) => {
68
91
  if (!fieldId)
@@ -127,8 +150,15 @@ export function useBridgeInlineEditing({ pageViewContextRef, inlineEditSession,
127
150
  return;
128
151
  }
129
152
  const value = (payload.value ?? "").replaceAll("\u200B", "");
130
- const valueKey = `${field.item.id}:${field.item.language}:${field.item.version}:${field.fieldId}`;
153
+ const valueKey = getBridgeFieldKey(field);
154
+ const fieldGeneration = fieldEditGenerationsRef.current.get(valueKey) ?? 0;
155
+ rememberInlineSession(payload.sessionId, field);
131
156
  const previousValue = lastBridgeInlineValueRef.current.get(valueKey);
157
+ // Blur/commit also reports untouched suggestion previews. Their canvas
158
+ // value differs from the repository, but the reviewer has not edited it.
159
+ // A session that typed and then reverted still reports hasChanges=true.
160
+ if (payload.hasChanges === false)
161
+ return;
132
162
  if (payload.elementKey && options.recordSession !== false) {
133
163
  inlineEditSession.recordValue({
134
164
  elementKey: payload.elementKey,
@@ -218,8 +248,10 @@ export function useBridgeInlineEditing({ pageViewContextRef, inlineEditSession,
218
248
  // An external field editor can become authoritative while this handler
219
249
  // is awaiting the repository or server lock. Re-check immediately before
220
250
  // publishing so an already-captured canvas draft cannot overwrite it.
221
- if (payload.sessionId &&
222
- supersededInlineSessionIdsRef.current.has(payload.sessionId)) {
251
+ if ((fieldEditGenerationsRef.current.get(valueKey) ?? 0) !==
252
+ fieldGeneration ||
253
+ (payload.sessionId &&
254
+ supersededInlineSessionIdsRef.current.has(payload.sessionId))) {
223
255
  logFieldValueDiagnostic("bridge-inline", "fieldValueChanged skipped", {
224
256
  reason: "inline session superseded while resolving field change",
225
257
  field: summarizeFieldDescriptor(field),
@@ -247,6 +279,7 @@ export function useBridgeInlineEditing({ pageViewContextRef, inlineEditSession,
247
279
  inlineEditSession,
248
280
  rejectInlineEdit,
249
281
  resolveFieldDescriptor,
282
+ rememberInlineSession,
250
283
  ]);
251
284
  const handleFieldValueChanged = useCallback((payload, options = {}) => {
252
285
  let pendingChange;
@@ -265,6 +298,14 @@ export function useBridgeInlineEditing({ pageViewContextRef, inlineEditSession,
265
298
  return pendingChange;
266
299
  }, [processFieldValueChanged]);
267
300
  const supersedeInlineEdit = useCallback((identity) => {
301
+ const field = resolveFieldDescriptor(identity.fieldId, identity.item, identity.elementKey);
302
+ if (field) {
303
+ rememberInlineSession(identity.sessionId, field);
304
+ // A newer begin can replace the active session while an older session's
305
+ // value is still awaiting a lock. The form supersedes every older draft
306
+ // for this field, including already-ended sessions and pending handlers.
307
+ supersedeFieldEdits(field);
308
+ }
268
309
  if (identity.sessionId) {
269
310
  const superseded = supersededInlineSessionIdsRef.current;
270
311
  superseded.add(identity.sessionId);
@@ -283,7 +324,13 @@ export function useBridgeInlineEditing({ pageViewContextRef, inlineEditSession,
283
324
  elementKey: identity.elementKey,
284
325
  fieldId: identity.fieldId,
285
326
  });
286
- }, [inlineEditSession, sendCancelInlineEdit]);
327
+ }, [
328
+ inlineEditSession,
329
+ sendCancelInlineEdit,
330
+ resolveFieldDescriptor,
331
+ rememberInlineSession,
332
+ supersedeFieldEdits,
333
+ ]);
287
334
  const flushPendingFieldValueChanges = useCallback(async () => {
288
335
  while (pendingFieldValueChangesRef.current.size > 0) {
289
336
  await Promise.allSettled(Array.from(pendingFieldValueChangesRef.current));
@@ -371,6 +418,7 @@ export function useBridgeInlineEditing({ pageViewContextRef, inlineEditSession,
371
418
  });
372
419
  return false;
373
420
  }
421
+ rememberInlineSession(options?.sessionId, resolvedField);
374
422
  if (editor.showLayoutComponents === false && page) {
375
423
  const owner = getComponentById(resolvedField.item.id, page);
376
424
  if (owner?.layoutId) {
@@ -437,6 +485,7 @@ export function useBridgeInlineEditing({ pageViewContextRef, inlineEditSession,
437
485
  rejectInlineEdit,
438
486
  resolveFieldDescriptor,
439
487
  sendBeginInlineEdit,
488
+ rememberInlineSession,
440
489
  ]);
441
490
  return {
442
491
  beginInlineEdit,
@@ -451,8 +500,12 @@ export function useBridgeInlineEditing({ pageViewContextRef, inlineEditSession,
451
500
  handleFieldValueChanged,
452
501
  handleInlineEditEnded,
453
502
  supersedeInlineEdit,
503
+ supersedeFieldEdits,
454
504
  };
455
505
  }
506
+ function getBridgeFieldKey(field) {
507
+ return `${normalizeMarkerId(field.item.id)}:${field.item.language?.toLowerCase()}:${field.item.version}:${normalizeMarkerId(field.fieldId)}`;
508
+ }
456
509
  function getInlineEditKey(elementKey, fieldId) {
457
510
  return `${elementKey ?? ""}:${normalizeMarkerId(fieldId)}`;
458
511
  }