@parhelia/core 0.1.12881 → 0.1.12882

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 (307) hide show
  1. package/dist/components/ui/card.d.ts +1 -3
  2. package/dist/components/ui/card.js +2 -2
  3. package/dist/components/ui/card.js.map +1 -1
  4. package/dist/components/ui/context-menu.js +2 -2
  5. package/dist/config/config.js +7 -8
  6. package/dist/config/config.js.map +1 -1
  7. package/dist/config/types.d.ts +7 -0
  8. package/dist/config/types.js.map +1 -1
  9. package/dist/editor/FieldActionsOverlay.d.ts +1 -0
  10. package/dist/editor/FieldActionsOverlay.js +45 -1
  11. package/dist/editor/FieldActionsOverlay.js.map +1 -1
  12. package/dist/editor/FieldListField.d.ts +1 -1
  13. package/dist/editor/FieldListField.js +18 -20
  14. package/dist/editor/FieldListField.js.map +1 -1
  15. package/dist/editor/ImageEditor.d.ts +1 -6
  16. package/dist/editor/ImageEditor.js +3 -19
  17. package/dist/editor/ImageEditor.js.map +1 -1
  18. package/dist/editor/PictureEditor.d.ts +1 -2
  19. package/dist/editor/PictureEditor.js +14 -5
  20. package/dist/editor/PictureEditor.js.map +1 -1
  21. package/dist/editor/ai/Agents.js +2 -2
  22. package/dist/editor/ai/Agents.js.map +1 -1
  23. package/dist/editor/ai/GuidanceOverlay.js +11 -1
  24. package/dist/editor/ai/GuidanceOverlay.js.map +1 -1
  25. package/dist/editor/ai/InlineAiDialog.js +11 -22
  26. package/dist/editor/ai/InlineAiDialog.js.map +1 -1
  27. package/dist/editor/ai/InlineAiTrigger.js +57 -17
  28. package/dist/editor/ai/InlineAiTrigger.js.map +1 -1
  29. package/dist/editor/ai/dialogs/capturePageDom.js +36 -66
  30. package/dist/editor/ai/dialogs/capturePageDom.js.map +1 -1
  31. package/dist/editor/ai/dialogs/capturePageScreenshot.js +162 -281
  32. package/dist/editor/ai/dialogs/capturePageScreenshot.js.map +1 -1
  33. package/dist/editor/ai/terminal/agentSessionState.d.ts +0 -3
  34. package/dist/editor/ai/terminal/agentSessionState.js +1 -3
  35. package/dist/editor/ai/terminal/agentSessionState.js.map +1 -1
  36. package/dist/editor/ai/terminal/agentStartRequest.d.ts +1 -2
  37. package/dist/editor/ai/terminal/agentStartRequest.js +1 -2
  38. package/dist/editor/ai/terminal/agentStartRequest.js.map +1 -1
  39. package/dist/editor/ai/terminal/components/AgentCostDisplay.js +1 -1
  40. package/dist/editor/ai/terminal/components/AgentCostDisplay.js.map +1 -1
  41. package/dist/editor/ai/terminal/components/AgentDocumentList.d.ts +0 -7
  42. package/dist/editor/ai/terminal/components/AgentDocumentList.js +13 -55
  43. package/dist/editor/ai/terminal/components/AgentDocumentList.js.map +1 -1
  44. package/dist/editor/ai/terminal/components/AgentFullPromptControls.d.ts +1 -3
  45. package/dist/editor/ai/terminal/components/AgentFullPromptControls.js +14 -22
  46. package/dist/editor/ai/terminal/components/AgentFullPromptControls.js.map +1 -1
  47. package/dist/editor/ai/terminal/components/AgentModeSelector.js +4 -4
  48. package/dist/editor/ai/terminal/components/AgentModeSelector.js.map +1 -1
  49. package/dist/editor/ai/terminal/components/AgentPromptActionButtons.js +4 -4
  50. package/dist/editor/ai/terminal/components/AgentPromptActionButtons.js.map +1 -1
  51. package/dist/editor/ai/terminal/components/AgentPromptComposer.js +1 -1
  52. package/dist/editor/ai/terminal/components/AgentPromptComposer.js.map +1 -1
  53. package/dist/editor/ai/terminal/components/AgentPromptInputArea.d.ts +1 -2
  54. package/dist/editor/ai/terminal/components/AgentPromptInputArea.js +11 -8
  55. package/dist/editor/ai/terminal/components/AgentPromptInputArea.js.map +1 -1
  56. package/dist/editor/ai/terminal/components/AgentPromptTrayPopovers.d.ts +4 -1
  57. package/dist/editor/ai/terminal/components/AgentPromptTrayPopovers.js +14 -31
  58. package/dist/editor/ai/terminal/components/AgentPromptTrayPopovers.js.map +1 -1
  59. package/dist/editor/ai/terminal/components/AgentSettingsPopover.js +1 -1
  60. package/dist/editor/ai/terminal/components/AgentSettingsPopover.js.map +1 -1
  61. package/dist/editor/ai/terminal/components/AgentTerminalFullLayout.d.ts +1 -2
  62. package/dist/editor/ai/terminal/components/AgentTerminalFullLayout.js +4 -2
  63. package/dist/editor/ai/terminal/components/AgentTerminalFullLayout.js.map +1 -1
  64. package/dist/editor/ai/terminal/components/AgentTerminalMessageGroups.js +1 -1
  65. package/dist/editor/ai/terminal/components/AgentTerminalMessageGroups.js.map +1 -1
  66. package/dist/editor/ai/terminal/components/AgentTerminalView.js +2 -13
  67. package/dist/editor/ai/terminal/components/AgentTerminalView.js.map +1 -1
  68. package/dist/editor/ai/terminal/components/AiResponseMessage.js +14 -16
  69. package/dist/editor/ai/terminal/components/AiResponseMessage.js.map +1 -1
  70. package/dist/editor/ai/terminal/components/ContextInfoBar.js +2 -22
  71. package/dist/editor/ai/terminal/components/ContextInfoBar.js.map +1 -1
  72. package/dist/editor/ai/terminal/components/QueuedPromptsPanel.js +26 -37
  73. package/dist/editor/ai/terminal/components/QueuedPromptsPanel.js.map +1 -1
  74. package/dist/editor/ai/terminal/components/UserMessage.d.ts +1 -2
  75. package/dist/editor/ai/terminal/components/UserMessage.js +8 -144
  76. package/dist/editor/ai/terminal/components/UserMessage.js.map +1 -1
  77. package/dist/editor/ai/terminal/useAgentPromptComposerHandlers.js +1 -1
  78. package/dist/editor/ai/terminal/useAgentPromptComposerHandlers.js.map +1 -1
  79. package/dist/editor/ai/terminal/useAgentSessionSync.d.ts +0 -1
  80. package/dist/editor/ai/terminal/useAgentSubmitHandlers.d.ts +1 -3
  81. package/dist/editor/ai/terminal/useAgentSubmitHandlers.js +3 -9
  82. package/dist/editor/ai/terminal/useAgentSubmitHandlers.js.map +1 -1
  83. package/dist/editor/ai/terminal/useAgentTerminalController.js +0 -7
  84. package/dist/editor/ai/terminal/useAgentTerminalController.js.map +1 -1
  85. package/dist/editor/ai/terminal/useAgentTerminalUiState.js +1 -1
  86. package/dist/editor/ai/terminal/useAgentTerminalUiState.js.map +1 -1
  87. package/dist/editor/ai/terminal/useAgentUserMessageSocketHandler.js +1 -3
  88. package/dist/editor/ai/terminal/useAgentUserMessageSocketHandler.js.map +1 -1
  89. package/dist/editor/ai/useInlineAiPosition.d.ts +1 -1
  90. package/dist/editor/ai/useInlineAiPosition.js +52 -22
  91. package/dist/editor/ai/useInlineAiPosition.js.map +1 -1
  92. package/dist/editor/ai-image-editor/AiImageResultOverlay.js +62 -30
  93. package/dist/editor/ai-image-editor/AiImageResultOverlay.js.map +1 -1
  94. package/dist/editor/client/EditorShell.d.ts +1 -5
  95. package/dist/editor/client/EditorShell.js +136 -285
  96. package/dist/editor/client/EditorShell.js.map +1 -1
  97. package/dist/editor/client/editContext.d.ts +5 -33
  98. package/dist/editor/client/editContext.js.map +1 -1
  99. package/dist/editor/client/hooks/useSocketMessageHandler.js +17 -14
  100. package/dist/editor/client/hooks/useSocketMessageHandler.js.map +1 -1
  101. package/dist/editor/client/itemsRepository.d.ts +0 -2
  102. package/dist/editor/client/itemsRepository.js +8 -15
  103. package/dist/editor/client/itemsRepository.js.map +1 -1
  104. package/dist/editor/client/operations.d.ts +1 -1
  105. package/dist/editor/client/operations.js +17 -41
  106. package/dist/editor/client/operations.js.map +1 -1
  107. package/dist/editor/client/pageModelBuilder.js +7 -24
  108. package/dist/editor/client/pageModelBuilder.js.map +1 -1
  109. package/dist/editor/commands/handlers/uiActionHandlers.js +5 -1
  110. package/dist/editor/commands/handlers/uiActionHandlers.js.map +1 -1
  111. package/dist/editor/editor-warnings/FinalWorkflowStateReadOnly.js +5 -0
  112. package/dist/editor/editor-warnings/FinalWorkflowStateReadOnly.js.map +1 -1
  113. package/dist/editor/editor-warnings/ItemLocked.js +6 -3
  114. package/dist/editor/editor-warnings/ItemLocked.js.map +1 -1
  115. package/dist/editor/field-types/MultiLineText.js +3 -10
  116. package/dist/editor/field-types/MultiLineText.js.map +1 -1
  117. package/dist/editor/field-types/RawEditor.js +1 -8
  118. package/dist/editor/field-types/RawEditor.js.map +1 -1
  119. package/dist/editor/field-types/RichTextEditorComponent.js +45 -156
  120. package/dist/editor/field-types/RichTextEditorComponent.js.map +1 -1
  121. package/dist/editor/field-types/SingleLineText.js +3 -10
  122. package/dist/editor/field-types/SingleLineText.js.map +1 -1
  123. package/dist/editor/field-types/richtext/components/ReactSlate.js +2 -8
  124. package/dist/editor/field-types/richtext/components/ReactSlate.js.map +1 -1
  125. package/dist/editor/field-types/richtext/contextMenuFactory.d.ts +2 -1
  126. package/dist/editor/field-types/richtext/contextMenuFactory.js +303 -100
  127. package/dist/editor/field-types/richtext/contextMenuFactory.js.map +1 -1
  128. package/dist/editor/field-types/richtext/types.d.ts +0 -2
  129. package/dist/editor/field-types/richtext/types.js.map +1 -1
  130. package/dist/editor/media-selector/MediaFolderBrowser.d.ts +2 -1
  131. package/dist/editor/media-selector/MediaFolderBrowser.js +19 -9
  132. package/dist/editor/media-selector/MediaFolderBrowser.js.map +1 -1
  133. package/dist/editor/media-selector/TreeSelector.js +30 -24
  134. package/dist/editor/media-selector/TreeSelector.js.map +1 -1
  135. package/dist/editor/media-selector/UploadZone.d.ts +2 -1
  136. package/dist/editor/media-selector/UploadZone.js +21 -9
  137. package/dist/editor/media-selector/UploadZone.js.map +1 -1
  138. package/dist/editor/menubar/PageSelector.js +2 -8
  139. package/dist/editor/menubar/PageSelector.js.map +1 -1
  140. package/dist/editor/menubar/VersionPreviewCard.js +249 -4
  141. package/dist/editor/menubar/VersionPreviewCard.js.map +1 -1
  142. package/dist/editor/menubar/toolbar-sections/EditControls.js +2 -2
  143. package/dist/editor/menubar/toolbar-sections/EditControls.js.map +1 -1
  144. package/dist/editor/menubar/toolbar-sections/ManualBrowser.d.ts +10 -0
  145. package/dist/editor/menubar/toolbar-sections/ManualBrowser.js +462 -63
  146. package/dist/editor/menubar/toolbar-sections/ManualBrowser.js.map +1 -1
  147. package/dist/editor/menubar/toolbar-sections/ViewportControls.js +1 -1
  148. package/dist/editor/page-editor-chrome/CommentHighlightings.d.ts +2 -5
  149. package/dist/editor/page-editor-chrome/CommentHighlightings.js +215 -340
  150. package/dist/editor/page-editor-chrome/CommentHighlightings.js.map +1 -1
  151. package/dist/editor/page-editor-chrome/FeedbackHighlightBadge.d.ts +1 -5
  152. package/dist/editor/page-editor-chrome/FeedbackHighlightBadge.js +4 -11
  153. package/dist/editor/page-editor-chrome/FeedbackHighlightBadge.js.map +1 -1
  154. package/dist/editor/page-editor-chrome/FieldActionIndicator.js +13 -21
  155. package/dist/editor/page-editor-chrome/FieldActionIndicator.js.map +1 -1
  156. package/dist/editor/page-editor-chrome/FieldEditedIndicator.js +29 -23
  157. package/dist/editor/page-editor-chrome/FieldEditedIndicator.js.map +1 -1
  158. package/dist/editor/page-editor-chrome/FrameMenu.js +19 -110
  159. package/dist/editor/page-editor-chrome/FrameMenu.js.map +1 -1
  160. package/dist/editor/page-editor-chrome/InlineEditor.d.ts +7 -0
  161. package/dist/editor/page-editor-chrome/InlineEditor.js +1719 -0
  162. package/dist/editor/page-editor-chrome/InlineEditor.js.map +1 -0
  163. package/dist/editor/page-editor-chrome/LockedFieldIndicator.d.ts +2 -3
  164. package/dist/editor/page-editor-chrome/LockedFieldIndicator.js +45 -148
  165. package/dist/editor/page-editor-chrome/LockedFieldIndicator.js.map +1 -1
  166. package/dist/editor/page-editor-chrome/PageEditorChrome.d.ts +0 -2
  167. package/dist/editor/page-editor-chrome/PageEditorChrome.js +21 -25
  168. package/dist/editor/page-editor-chrome/PageEditorChrome.js.map +1 -1
  169. package/dist/editor/page-editor-chrome/PictureEditorOverlay.js +128 -163
  170. package/dist/editor/page-editor-chrome/PictureEditorOverlay.js.map +1 -1
  171. package/dist/editor/page-editor-chrome/PlaceholderDropZone.d.ts +1 -1
  172. package/dist/editor/page-editor-chrome/PlaceholderDropZone.js +3 -6
  173. package/dist/editor/page-editor-chrome/PlaceholderDropZone.js.map +1 -1
  174. package/dist/editor/page-editor-chrome/PlaceholderDropZones.d.ts +2 -1
  175. package/dist/editor/page-editor-chrome/PlaceholderDropZones.js +146 -83
  176. package/dist/editor/page-editor-chrome/PlaceholderDropZones.js.map +1 -1
  177. package/dist/editor/page-editor-chrome/SuggestionHighlightings.d.ts +2 -5
  178. package/dist/editor/page-editor-chrome/SuggestionHighlightings.js +63 -144
  179. package/dist/editor/page-editor-chrome/SuggestionHighlightings.js.map +1 -1
  180. package/dist/editor/page-editor-chrome/VersionDiffHighlightings.d.ts +2 -1
  181. package/dist/editor/page-editor-chrome/VersionDiffHighlightings.js +30 -101
  182. package/dist/editor/page-editor-chrome/VersionDiffHighlightings.js.map +1 -1
  183. package/dist/editor/page-editor-chrome/overlay/IframeOverlayProvider.d.ts +1 -10
  184. package/dist/editor/page-editor-chrome/overlay/IframeOverlayProvider.js +122 -105
  185. package/dist/editor/page-editor-chrome/overlay/IframeOverlayProvider.js.map +1 -1
  186. package/dist/editor/page-editor-chrome/overlay/geometry.d.ts +4 -11
  187. package/dist/editor/page-editor-chrome/overlay/geometry.js +36 -139
  188. package/dist/editor/page-editor-chrome/overlay/geometry.js.map +1 -1
  189. package/dist/editor/page-editor-chrome/overlay/iframeAccess.d.ts +2 -0
  190. package/dist/editor/page-editor-chrome/overlay/iframeAccess.js +21 -0
  191. package/dist/editor/page-editor-chrome/overlay/iframeAccess.js.map +1 -0
  192. package/dist/editor/page-editor-chrome/useInlineAICompletion.d.ts +7 -0
  193. package/dist/editor/page-editor-chrome/useInlineAICompletion.js +758 -0
  194. package/dist/editor/page-editor-chrome/useInlineAICompletion.js.map +1 -0
  195. package/dist/editor/page-viewer/EditorForm.js +1 -17
  196. package/dist/editor/page-viewer/EditorForm.js.map +1 -1
  197. package/dist/editor/page-viewer/MiniMap.d.ts +2 -2
  198. package/dist/editor/page-viewer/MiniMap.js +364 -176
  199. package/dist/editor/page-viewer/MiniMap.js.map +1 -1
  200. package/dist/editor/page-viewer/PageViewer.js +13 -40
  201. package/dist/editor/page-viewer/PageViewer.js.map +1 -1
  202. package/dist/editor/page-viewer/PageViewerFrame.d.ts +5 -0
  203. package/dist/editor/page-viewer/PageViewerFrame.js +1509 -1527
  204. package/dist/editor/page-viewer/PageViewerFrame.js.map +1 -1
  205. package/dist/editor/page-viewer/pageModelSkeletonBuilder.d.ts +3 -0
  206. package/dist/editor/page-viewer/pageModelSkeletonBuilder.js +796 -0
  207. package/dist/editor/page-viewer/pageModelSkeletonBuilder.js.map +1 -0
  208. package/dist/editor/page-viewer/pageViewContext.d.ts +0 -32
  209. package/dist/editor/page-viewer/pageViewContext.js +6 -37
  210. package/dist/editor/page-viewer/pageViewContext.js.map +1 -1
  211. package/dist/editor/reviews/Comment.d.ts +1 -2
  212. package/dist/editor/reviews/Comment.js +4 -9
  213. package/dist/editor/reviews/Comment.js.map +1 -1
  214. package/dist/editor/reviews/CommentEditor.js +1 -1
  215. package/dist/editor/reviews/CommentEditor.js.map +1 -1
  216. package/dist/editor/reviews/CommentPopover.js +9 -68
  217. package/dist/editor/reviews/CommentPopover.js.map +1 -1
  218. package/dist/editor/reviews/CommentView.js +4 -24
  219. package/dist/editor/reviews/CommentView.js.map +1 -1
  220. package/dist/editor/reviews/Comments.d.ts +2 -0
  221. package/dist/editor/reviews/Comments.js +30 -29
  222. package/dist/editor/reviews/Comments.js.map +1 -1
  223. package/dist/editor/reviews/FeedbackCard.d.ts +2 -4
  224. package/dist/editor/reviews/FeedbackCard.js +5 -5
  225. package/dist/editor/reviews/FeedbackCard.js.map +1 -1
  226. package/dist/editor/reviews/SuggestedEdit.js +6 -4
  227. package/dist/editor/reviews/SuggestedEdit.js.map +1 -1
  228. package/dist/editor/reviews/SuggestionDisplayPopover.js +2 -3
  229. package/dist/editor/reviews/SuggestionDisplayPopover.js.map +1 -1
  230. package/dist/editor/reviews/commentAi.js +27 -96
  231. package/dist/editor/reviews/commentAi.js.map +1 -1
  232. package/dist/editor/reviews/feedbackSelection.js +4 -32
  233. package/dist/editor/reviews/feedbackSelection.js.map +1 -1
  234. package/dist/editor/services/agentService.d.ts +0 -15
  235. package/dist/editor/services/agentService.js +1 -11
  236. package/dist/editor/services/agentService.js.map +1 -1
  237. package/dist/editor/services/contentService.d.ts +1 -0
  238. package/dist/editor/services/contentService.js.map +1 -1
  239. package/dist/editor/services/reviewsService.d.ts +2 -2
  240. package/dist/editor/services/reviewsService.js.map +1 -1
  241. package/dist/editor/settings/SettingsView.js +2 -2
  242. package/dist/editor/settings/SettingsView.js.map +1 -1
  243. package/dist/editor/settings/panels/ProjectTemplatesPanel.js +1 -1
  244. package/dist/editor/settings/panels/ProjectTemplatesPanel.js.map +1 -1
  245. package/dist/editor/settings/panels/ProvidersPanel.js +3 -2
  246. package/dist/editor/settings/panels/ProvidersPanel.js.map +1 -1
  247. package/dist/editor/sidebar/MorePanelsButton.js +1 -1
  248. package/dist/editor/sidebar/MorePanelsButton.js.map +1 -1
  249. package/dist/editor/sidebar/Workbox.js +1 -1
  250. package/dist/editor/sidebar/Workbox.js.map +1 -1
  251. package/dist/editor/ui/IconSelectorDialog.js +1 -1
  252. package/dist/editor/ui/IconSelectorDialog.js.map +1 -1
  253. package/dist/editor/ui/SimpleIconButton.d.ts +2 -2
  254. package/dist/editor/ui/SimpleIconButton.js +1 -1
  255. package/dist/editor/ui/SimpleIconButton.js.map +1 -1
  256. package/dist/editor/utils.d.ts +17 -1
  257. package/dist/editor/utils.js +143 -0
  258. package/dist/editor/utils.js.map +1 -1
  259. package/dist/editor/version-diff/versionDiffTargets.d.ts +8 -3
  260. package/dist/editor/version-diff/versionDiffTargets.js +94 -37
  261. package/dist/editor/version-diff/versionDiffTargets.js.map +1 -1
  262. package/dist/editor/views/MediaFolderEditView.js +1 -1
  263. package/dist/editor/views/MediaFolderEditView.js.map +1 -1
  264. package/dist/revision.d.ts +2 -2
  265. package/dist/revision.js +2 -2
  266. package/dist/splash-screen/DialogWrappers.js +2 -2
  267. package/dist/splash-screen/DialogWrappers.js.map +1 -1
  268. package/dist/splash-screen/ModernSplashScreen.js +3 -11
  269. package/dist/splash-screen/ModernSplashScreen.js.map +1 -1
  270. package/dist/splash-screen/NewPage.js +5 -7
  271. package/dist/splash-screen/NewPage.js.map +1 -1
  272. package/dist/splash-screen/OpenPage.js +3 -5
  273. package/dist/splash-screen/OpenPage.js.map +1 -1
  274. package/dist/splash-screen/RecentPages.js +3 -3
  275. package/dist/splash-screen/RecentPages.js.map +1 -1
  276. package/package.json +1 -2
  277. package/styles.css +0 -49
  278. package/dist/editor/ai/terminal/components/AgentEditHistoryButton.d.ts +0 -5
  279. package/dist/editor/ai/terminal/components/AgentEditHistoryButton.js +0 -12
  280. package/dist/editor/ai/terminal/components/AgentEditHistoryButton.js.map +0 -1
  281. package/dist/editor/bridge/BridgeClient.d.ts +0 -80
  282. package/dist/editor/bridge/BridgeClient.js +0 -417
  283. package/dist/editor/bridge/BridgeClient.js.map +0 -1
  284. package/dist/editor/field-types/useFormFieldCaretPresence.d.ts +0 -13
  285. package/dist/editor/field-types/useFormFieldCaretPresence.js +0 -92
  286. package/dist/editor/field-types/useFormFieldCaretPresence.js.map +0 -1
  287. package/dist/editor/page-editor-chrome/BridgeInlineFormatOverlay.d.ts +0 -6
  288. package/dist/editor/page-editor-chrome/BridgeInlineFormatOverlay.js +0 -123
  289. package/dist/editor/page-editor-chrome/BridgeInlineFormatOverlay.js.map +0 -1
  290. package/dist/editor/page-editor-chrome/useBridgeInlineEditing.d.ts +0 -26
  291. package/dist/editor/page-editor-chrome/useBridgeInlineEditing.js +0 -222
  292. package/dist/editor/page-editor-chrome/useBridgeInlineEditing.js.map +0 -1
  293. package/dist/editor/page-viewer/bridgeFieldPatch.d.ts +0 -20
  294. package/dist/editor/page-viewer/bridgeFieldPatch.js +0 -33
  295. package/dist/editor/page-viewer/bridgeFieldPatch.js.map +0 -1
  296. package/dist/editor/reviews/commentTransientSelection.d.ts +0 -23
  297. package/dist/editor/reviews/commentTransientSelection.js +0 -7
  298. package/dist/editor/reviews/commentTransientSelection.js.map +0 -1
  299. package/dist/editor/reviews/feedbackOrdering.d.ts +0 -5
  300. package/dist/editor/reviews/feedbackOrdering.js +0 -27
  301. package/dist/editor/reviews/feedbackOrdering.js.map +0 -1
  302. package/dist/editor/reviews/suggestedEditState.d.ts +0 -12
  303. package/dist/editor/reviews/suggestedEditState.js +0 -90
  304. package/dist/editor/reviews/suggestedEditState.js.map +0 -1
  305. package/dist/editor/reviews/suggestionDisplayValue.d.ts +0 -43
  306. package/dist/editor/reviews/suggestionDisplayValue.js +0 -93
  307. package/dist/editor/reviews/suggestionDisplayValue.js.map +0 -1
@@ -1,92 +0,0 @@
1
- import { useCallback, useEffect, useRef } from "react";
2
- import { useEditContextRef } from "../client/editContext";
3
- export function useFormFieldCaretPresence({ field, inputRef, readOnly, }) {
4
- const editContextRef = useEditContextRef();
5
- const lastSentKeyRef = useRef("clear");
6
- const pendingPublishFrameRef = useRef(null);
7
- const clearCaretPresence = useCallback(() => {
8
- if (pendingPublishFrameRef.current != null) {
9
- window.cancelAnimationFrame(pendingPublishFrameRef.current);
10
- pendingPublishFrameRef.current = null;
11
- }
12
- const editor = editContextRef.current;
13
- if (!editor || lastSentKeyRef.current === "clear")
14
- return;
15
- editor.sendSocketMessage({
16
- type: "caret-position",
17
- payload: { offset: null, source: "form-field" },
18
- });
19
- lastSentKeyRef.current = "clear";
20
- }, [editContextRef]);
21
- const publishCaretPresence = useCallback((element = inputRef.current) => {
22
- const editor = editContextRef.current;
23
- const fieldItem = field.descriptor.item;
24
- if (!editor || !element || readOnly || !fieldItem?.id) {
25
- clearCaretPresence();
26
- return;
27
- }
28
- const startOffset = element.selectionStart;
29
- const endOffset = element.selectionEnd;
30
- if (startOffset == null ||
31
- endOffset == null ||
32
- startOffset !== endOffset) {
33
- clearCaretPresence();
34
- return;
35
- }
36
- const nextKey = [
37
- field.id,
38
- fieldItem.id,
39
- fieldItem.language,
40
- fieldItem.version,
41
- startOffset,
42
- ].join(":");
43
- if (lastSentKeyRef.current === nextKey)
44
- return;
45
- editor.sendSocketMessage({
46
- type: "caret-position",
47
- payload: {
48
- fieldId: field.id,
49
- item: fieldItem,
50
- offset: startOffset,
51
- value: element.value,
52
- source: "form-field",
53
- },
54
- });
55
- lastSentKeyRef.current = nextKey;
56
- }, [
57
- clearCaretPresence,
58
- editContextRef,
59
- field.descriptor.item,
60
- field.id,
61
- inputRef,
62
- readOnly,
63
- ]);
64
- const publishCaretPresenceAfterSelectionSettles = useCallback((element = inputRef.current) => {
65
- if (pendingPublishFrameRef.current != null) {
66
- window.cancelAnimationFrame(pendingPublishFrameRef.current);
67
- }
68
- pendingPublishFrameRef.current = window.requestAnimationFrame(() => {
69
- pendingPublishFrameRef.current = null;
70
- publishCaretPresence(element);
71
- });
72
- }, [inputRef, publishCaretPresence]);
73
- useEffect(() => {
74
- return () => {
75
- if (pendingPublishFrameRef.current != null) {
76
- window.cancelAnimationFrame(pendingPublishFrameRef.current);
77
- }
78
- clearCaretPresence();
79
- };
80
- }, [clearCaretPresence]);
81
- useEffect(() => {
82
- if (readOnly) {
83
- clearCaretPresence();
84
- }
85
- }, [clearCaretPresence, readOnly]);
86
- return {
87
- clearCaretPresence,
88
- publishCaretPresence,
89
- publishCaretPresenceAfterSelectionSettles,
90
- };
91
- }
92
- //# sourceMappingURL=useFormFieldCaretPresence.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useFormFieldCaretPresence.js","sourceRoot":"","sources":["../../../src/editor/field-types/useFormFieldCaretPresence.ts"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- import type { ApplyRichTextCommandPayload } from "@parhelia/editor-bridge-head";
2
- type BridgeInlineFormatOverlayProps = {
3
- onCommand?: (payload: ApplyRichTextCommandPayload) => boolean;
4
- };
5
- export declare function BridgeInlineFormatOverlay({ onCommand, }: BridgeInlineFormatOverlayProps): import("react").ReactPortal | null;
6
- export {};
@@ -1,123 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { useEffect, useMemo, useRef, useState } from "react";
3
- import { createPortal } from "react-dom";
4
- import { useEditContext } from "../client/editContext";
5
- const INLINE_FORMAT_COMMANDS = [
6
- {
7
- id: "format-mark-bold",
8
- label: "Bold",
9
- icon: (_jsx("span", { style: { fontFamily: "monospace", fontWeight: "bold" }, children: "B" })),
10
- command: "bold",
11
- },
12
- {
13
- id: "format-mark-italic",
14
- label: "Italic",
15
- icon: (_jsx("span", { style: { fontFamily: "monospace", fontStyle: "italic" }, children: "I" })),
16
- command: "italic",
17
- },
18
- {
19
- id: "format-mark-underline",
20
- label: "Underline",
21
- icon: (_jsx("span", { style: { fontFamily: "monospace", textDecoration: "underline" }, children: "U" })),
22
- command: "underline",
23
- },
24
- {
25
- id: "format-mark-strikethrough",
26
- label: "Strikethrough",
27
- icon: (_jsx("span", { style: { fontFamily: "monospace", textDecoration: "line-through" }, children: "S" })),
28
- command: "strikeThrough",
29
- },
30
- {
31
- id: "format-mark-subscript",
32
- label: "Subscript",
33
- icon: _jsx("span", { style: { fontFamily: "monospace" }, children: "x2" }),
34
- command: "subscript",
35
- },
36
- {
37
- id: "format-mark-superscript",
38
- label: "Superscript",
39
- icon: _jsx("span", { style: { fontFamily: "monospace" }, children: "x^" }),
40
- command: "superscript",
41
- },
42
- ];
43
- export function BridgeInlineFormatOverlay({ onCommand, }) {
44
- const editContext = useEditContext();
45
- const selectedRange = editContext?.selectedRange;
46
- const overlayRef = useRef(null);
47
- const [overlay, setOverlay] = useState({
48
- visible: false,
49
- left: 0,
50
- top: 0,
51
- activeCommandIds: [],
52
- });
53
- const visibleCommands = useMemo(() => selectedRange?.isRichText && selectedRange?.elementKey
54
- ? INLINE_FORMAT_COMMANDS
55
- : [], [selectedRange?.elementKey, selectedRange?.isRichText]);
56
- useEffect(() => {
57
- if (!selectedRange?.text?.trim() ||
58
- !selectedRange.elementKey ||
59
- !selectedRange.isRichText ||
60
- !selectedRange.clientRect ||
61
- !onCommand ||
62
- editContext?.readonly ||
63
- (editContext?.mode !== "edit" && editContext?.mode !== "suggestions")) {
64
- setOverlay((previous) => previous.visible ? { ...previous, visible: false } : previous);
65
- return;
66
- }
67
- const overlayWidth = overlayRef.current?.offsetWidth ?? 180;
68
- const overlayHeight = overlayRef.current?.offsetHeight ?? 34;
69
- const viewportPadding = 8;
70
- const selectionGap = 8;
71
- const rect = selectedRange.clientRect;
72
- const anchorCenter = rect.left + Math.min(rect.width, overlayWidth) / 2;
73
- let top = rect.top - overlayHeight - selectionGap;
74
- if (top < viewportPadding) {
75
- top = rect.bottom + selectionGap + 36;
76
- }
77
- top = Math.max(viewportPadding, Math.min(top, window.innerHeight - overlayHeight - viewportPadding));
78
- const left = Math.max(viewportPadding, Math.min(anchorCenter - overlayWidth / 2, window.innerWidth - overlayWidth - viewportPadding));
79
- setOverlay({
80
- visible: true,
81
- left,
82
- top,
83
- activeCommandIds: [],
84
- });
85
- }, [
86
- editContext?.mode,
87
- editContext?.readonly,
88
- onCommand,
89
- selectedRange?.clientRect,
90
- selectedRange?.elementKey,
91
- selectedRange?.isRichText,
92
- selectedRange?.text,
93
- ]);
94
- const applyCommand = (item, event) => {
95
- event.preventDefault();
96
- event.stopPropagation();
97
- if (!selectedRange?.elementKey || !selectedRange.fieldId || !onCommand) {
98
- return;
99
- }
100
- onCommand({
101
- elementKey: selectedRange.elementKey,
102
- fieldId: selectedRange.fieldId,
103
- command: item.command,
104
- });
105
- };
106
- if (!overlay.visible || visibleCommands.length === 0) {
107
- return null;
108
- }
109
- const content = (_jsx("div", { ref: overlayRef, className: "border-border-default bg-neutral-grey-5 fixed z-[1000] flex h-8 items-center gap-0.5 rounded-md border px-0.5 py-px shadow-lg", style: {
110
- left: overlay.left,
111
- top: overlay.top,
112
- }, onMouseDown: (event) => {
113
- event.preventDefault();
114
- event.stopPropagation();
115
- }, children: visibleCommands.map((item) => {
116
- const isActive = overlay.activeCommandIds.includes(item.id);
117
- return (_jsx("button", { type: "button", className: `inline-flex h-7 w-7 items-center justify-center rounded-sm p-0 text-[13px] leading-none font-semibold focus-visible:outline-2 focus-visible:outline-offset-1 focus-visible:outline-blue-600 ${isActive
118
- ? "text-neutral-grey-100 bg-white"
119
- : "bg-neutral-grey-5 text-neutral-grey-100 hover:bg-neutral-grey-10"}`, title: item.label, "aria-label": item.label, "aria-pressed": isActive, onMouseDown: (event) => applyCommand(item, event), children: _jsx("span", { "aria-hidden": "true", className: "inline-flex translate-y-px items-center justify-center leading-none", children: item.icon }) }, item.id));
120
- }) }));
121
- return createPortal(content, document.body);
122
- }
123
- //# sourceMappingURL=BridgeInlineFormatOverlay.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BridgeInlineFormatOverlay.js","sourceRoot":"","sources":["../../../src/editor/page-editor-chrome/BridgeInlineFormatOverlay.tsx"],"names":[],"mappings":"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"}
@@ -1,26 +0,0 @@
1
- import type { MutableRefObject } from "react";
2
- import type { EditorMode } from "../client/editContext";
3
- import type { FieldDescriptor } from "../pageModel";
4
- import type { PageViewContext } from "../page-viewer/pageViewContext";
5
- import type { BeginInlineEditCommandPayload, FieldValueChangedEventPayload, InlineEditEndedEventPayload, InteractionEventPayload } from "@parhelia/editor-bridge-head";
6
- type UseBridgeInlineEditingOptions = {
7
- pageViewContextRef: MutableRefObject<PageViewContext | undefined>;
8
- activeBridgeInlineEditRef: MutableRefObject<BridgeInlineEditState | null>;
9
- blockIframeBlurUntil: (timestamp: number) => void;
10
- sendBeginInlineEdit: (payload: BeginInlineEditCommandPayload) => boolean;
11
- };
12
- export type BridgeInlineEditState = {
13
- elementKey: string;
14
- fieldId: string;
15
- item?: FieldDescriptor["item"];
16
- modeAtStart: EditorMode;
17
- value?: string;
18
- };
19
- export declare function useBridgeInlineEditing({ pageViewContextRef, activeBridgeInlineEditRef, blockIframeBlurUntil, sendBeginInlineEdit, }: UseBridgeInlineEditingOptions): {
20
- beginInlineEdit: (interaction: InteractionEventPayload) => Promise<boolean>;
21
- clearInlineDedupe: () => void;
22
- endFieldFocus: () => void;
23
- handleFieldValueChanged: (payload: FieldValueChangedEventPayload) => void;
24
- handleInlineEditEnded: (payload: InlineEditEndedEventPayload) => void;
25
- };
26
- export {};
@@ -1,222 +0,0 @@
1
- import { useCallback, useEffect, useRef } from "react";
2
- import { useEditContextRef, useFieldsEditContextRef, } from "../client/editContext";
3
- import { getComponentById } from "../componentTreeHelper";
4
- import { useSlotContext } from "../views/editorSlotContext";
5
- export function useBridgeInlineEditing({ pageViewContextRef, activeBridgeInlineEditRef, blockIframeBlurUntil, sendBeginInlineEdit, }) {
6
- const editContextRef = useEditContextRef();
7
- const fieldsContextRef = useFieldsEditContextRef();
8
- const slotContext = useSlotContext();
9
- const slotIdRef = useRef(slotContext?.slotId);
10
- const lastBridgeInlineValueRef = useRef(new Map());
11
- useEffect(() => {
12
- slotIdRef.current = slotContext?.slotId;
13
- }, [slotContext?.slotId]);
14
- const resolveFieldDescriptor = useCallback((fieldId, item, elementKey) => {
15
- if (!fieldId)
16
- return undefined;
17
- const pageView = pageViewContextRef.current;
18
- const structureField = pageView?.bridgeStructure?.fields.find((field) => (elementKey && field.elementKey === elementKey) ||
19
- (field.fieldId === fieldId &&
20
- (!item?.id || field.item?.id === item.id)));
21
- const fallbackItem = pageView?.page?.item ?? pageView?.pageItemDescriptor;
22
- const sourceItem = item?.id
23
- ? item
24
- : (structureField?.item ?? fallbackItem);
25
- const id = sourceItem?.id ?? fallbackItem?.id;
26
- const language = sourceItem?.language ?? fallbackItem?.language;
27
- const versionValue = sourceItem?.version ?? fallbackItem?.version;
28
- const version = typeof versionValue === "number" && Number.isFinite(versionValue)
29
- ? versionValue
30
- : undefined;
31
- if (!id || !language || version === undefined)
32
- return undefined;
33
- return {
34
- fieldId,
35
- item: {
36
- id,
37
- language,
38
- version,
39
- name: sourceItem?.name ?? fallbackItem?.name,
40
- displayName: sourceItem?.displayName ?? fallbackItem?.displayName,
41
- path: sourceItem?.path ?? fallbackItem?.path,
42
- database: sourceItem?.database ?? fallbackItem?.database,
43
- },
44
- };
45
- }, [pageViewContextRef]);
46
- const handleFieldValueChanged = useCallback((payload) => {
47
- const editor = editContextRef.current;
48
- if (!editor || editor.mode === "preview")
49
- return;
50
- const field = resolveFieldDescriptor(payload.fieldId, payload.item, payload.elementKey);
51
- if (!field)
52
- return;
53
- // Input can arrive before the delayed click interaction finishes the
54
- // beginInlineEdit handshake. Mark it active immediately so suggestion
55
- // preview patches do not rewrite the focused host node and reset caret.
56
- if (payload.elementKey) {
57
- const activeEdit = activeBridgeInlineEditRef.current;
58
- activeBridgeInlineEditRef.current = {
59
- elementKey: payload.elementKey,
60
- fieldId: field.fieldId,
61
- item: field.item,
62
- modeAtStart: activeEdit &&
63
- activeEdit.elementKey === payload.elementKey &&
64
- activeEdit.fieldId === field.fieldId
65
- ? activeEdit.modeAtStart
66
- : editor.mode,
67
- value: (payload.value ?? "").replaceAll("\u200B", ""),
68
- };
69
- }
70
- const value = (payload.value ?? "").replaceAll("\u200B", "");
71
- const valueKey = `${field.item.id}:${field.item.language}:${field.item.version}:${field.fieldId}`;
72
- if (lastBridgeInlineValueRef.current.get(valueKey) === value)
73
- return;
74
- lastBridgeInlineValueRef.current.set(valueKey, value);
75
- const activeEdit = activeBridgeInlineEditRef.current;
76
- const modeAtStart = activeEdit &&
77
- activeEdit.elementKey === payload.elementKey &&
78
- activeEdit.fieldId === field.fieldId
79
- ? activeEdit.modeAtStart
80
- : undefined;
81
- editor.operations.editField({
82
- field,
83
- forceMode: modeAtStart === "suggestions" || editor.mode === "suggestions"
84
- ? "suggestions"
85
- : undefined,
86
- originatingSlotId: slotIdRef.current,
87
- refresh: "none",
88
- value,
89
- });
90
- }, [activeBridgeInlineEditRef, editContextRef, resolveFieldDescriptor]);
91
- const endFieldFocus = useCallback(() => {
92
- editContextRef.current?.operations.onFieldBlur?.();
93
- fieldsContextRef.current?.setFocusedField(undefined, false);
94
- }, [editContextRef, fieldsContextRef]);
95
- const handleInlineEditEnded = useCallback((payload) => {
96
- handleFieldValueChanged(payload);
97
- endFieldFocus();
98
- }, [endFieldFocus, handleFieldValueChanged]);
99
- const beginInlineEdit = useCallback(async (interaction) => {
100
- const editor = editContextRef.current;
101
- if (!editor || !interaction.fieldId || !interaction.elementKey) {
102
- logBridgeInlineEditDiagnostic("skipped: missing context", {
103
- hasEditor: !!editor,
104
- fieldId: interaction.fieldId,
105
- elementKey: interaction.elementKey,
106
- kind: interaction.kind,
107
- });
108
- return false;
109
- }
110
- if (interaction.ctrlKey || interaction.shiftKey || interaction.metaKey) {
111
- logBridgeInlineEditDiagnostic("skipped: modifier click", {
112
- fieldId: interaction.fieldId,
113
- ctrlKey: interaction.ctrlKey,
114
- shiftKey: interaction.shiftKey,
115
- metaKey: interaction.metaKey,
116
- });
117
- return false;
118
- }
119
- if (editor.mode !== "edit" && editor.mode !== "suggestions") {
120
- logBridgeInlineEditDiagnostic("skipped: mode", {
121
- mode: editor.mode,
122
- fieldId: interaction.fieldId,
123
- });
124
- return false;
125
- }
126
- const page = pageViewContextRef.current?.page;
127
- if (editor.mode === "edit" && page && !page.item.canWriteItem) {
128
- logBridgeInlineEditDiagnostic("skipped: item is not writable", {
129
- fieldId: interaction.fieldId,
130
- itemId: page.item.id,
131
- });
132
- return false;
133
- }
134
- const resolvedField = resolveFieldDescriptor(interaction.fieldId, interaction.item, interaction.elementKey);
135
- if (!resolvedField) {
136
- logBridgeInlineEditDiagnostic("skipped: unresolved field", {
137
- fieldId: interaction.fieldId,
138
- elementKey: interaction.elementKey,
139
- itemId: interaction.item?.id,
140
- });
141
- return false;
142
- }
143
- if (editor.showLayoutComponents === false && page) {
144
- const owner = getComponentById(resolvedField.item.id, page);
145
- if (owner?.layoutId) {
146
- logBridgeInlineEditDiagnostic("skipped: layout component hidden", {
147
- fieldId: resolvedField.fieldId,
148
- itemId: resolvedField.item.id,
149
- });
150
- return false;
151
- }
152
- }
153
- blockIframeBlurUntil(Date.now() + 500);
154
- const shouldRequestLock = editor.mode !== "suggestions";
155
- logBridgeInlineEditDiagnostic("requesting lock", {
156
- fieldId: resolvedField.fieldId,
157
- itemId: resolvedField.item.id,
158
- language: resolvedField.item.language,
159
- version: resolvedField.item.version,
160
- shouldRequestLock,
161
- });
162
- const hasLock = (await fieldsContextRef.current?.setFocusedField(resolvedField, shouldRequestLock)) ?? false;
163
- if (!hasLock) {
164
- logBridgeInlineEditDiagnostic("skipped: lock failed", {
165
- fieldId: resolvedField.fieldId,
166
- itemId: resolvedField.item.id,
167
- });
168
- return false;
169
- }
170
- const sent = sendBeginInlineEdit({
171
- elementKey: interaction.elementKey,
172
- fieldId: resolvedField.fieldId,
173
- clientX: interaction.clientX,
174
- clientY: interaction.clientY,
175
- });
176
- logBridgeInlineEditDiagnostic(sent ? "started" : "command not sent", {
177
- fieldId: resolvedField.fieldId,
178
- itemId: resolvedField.item.id,
179
- elementKey: interaction.elementKey,
180
- });
181
- return sent;
182
- }, [
183
- blockIframeBlurUntil,
184
- editContextRef,
185
- fieldsContextRef,
186
- pageViewContextRef,
187
- resolveFieldDescriptor,
188
- sendBeginInlineEdit,
189
- ]);
190
- return {
191
- beginInlineEdit,
192
- clearInlineDedupe: () => lastBridgeInlineValueRef.current.clear(),
193
- endFieldFocus,
194
- handleFieldValueChanged,
195
- handleInlineEditEnded,
196
- };
197
- }
198
- function logBridgeInlineEditDiagnostic(message, details) {
199
- try {
200
- const meta = import.meta;
201
- const params = new URLSearchParams(window.location.search);
202
- const enabled = meta.env?.DEV ||
203
- meta.env?.MODE === "development" ||
204
- window.location.hostname === "localhost" ||
205
- params.get("parhelia_bridge_debug") === "1" ||
206
- params.get("parhelia_bridge_debug") === "verbose" ||
207
- window.localStorage.getItem("parhelia:bridge:debug") === "1" ||
208
- window.localStorage.getItem("parhelia:bridge:debug") === "true";
209
- if (!enabled)
210
- return;
211
- }
212
- catch {
213
- return;
214
- }
215
- if (details) {
216
- console.debug(`[Parhelia bridge] inline edit ${message}`, details);
217
- }
218
- else {
219
- console.debug(`[Parhelia bridge] inline edit ${message}`);
220
- }
221
- }
222
- //# sourceMappingURL=useBridgeInlineEditing.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useBridgeInlineEditing.js","sourceRoot":"","sources":["../../../src/editor/page-editor-chrome/useBridgeInlineEditing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAEvD,OAAO,EACL,iBAAiB,EACjB,uBAAuB,GACxB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAG1D,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAwB5D,MAAM,UAAU,sBAAsB,CAAC,EACrC,kBAAkB,EAClB,yBAAyB,EACzB,oBAAoB,EACpB,mBAAmB,GACW;IAC9B,MAAM,cAAc,GAAG,iBAAiB,EAAE,CAAC;IAC3C,MAAM,gBAAgB,GAAG,uBAAuB,EAAE,CAAC;IACnD,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IACrC,MAAM,SAAS,GAAG,MAAM,CAAqB,WAAW,EAAE,MAAM,CAAC,CAAC;IAClE,MAAM,wBAAwB,GAAG,MAAM,CAAsB,IAAI,GAAG,EAAE,CAAC,CAAC;IAExE,SAAS,CAAC,GAAG,EAAE;QACb,SAAS,CAAC,OAAO,GAAG,WAAW,EAAE,MAAM,CAAC;IAC1C,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;IAE1B,MAAM,sBAAsB,GAAG,WAAW,CACxC,CACE,OAA2B,EAC3B,IAA2B,EAC3B,UAAmB,EACU,EAAE;QAC/B,IAAI,CAAC,OAAO;YAAE,OAAO,SAAS,CAAC;QAE/B,MAAM,QAAQ,GAAG,kBAAkB,CAAC,OAAO,CAAC;QAC5C,MAAM,cAAc,GAAG,QAAQ,EAAE,eAAe,EAAE,MAAM,CAAC,IAAI,CAC3D,CAAC,KAAK,EAAE,EAAE,CACR,CAAC,UAAU,IAAI,KAAK,CAAC,UAAU,KAAK,UAAU,CAAC;YAC/C,CAAC,KAAK,CAAC,OAAO,KAAK,OAAO;gBACxB,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,KAAK,CAAC,IAAI,EAAE,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,CAC/C,CAAC;QACF,MAAM,YAAY,GAAG,QAAQ,EAAE,IAAI,EAAE,IAAI,IAAI,QAAQ,EAAE,kBAAkB,CAAC;QAC1E,MAAM,UAAU,GAAG,IAAI,EAAE,EAAE;YACzB,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,CAAC,cAAc,EAAE,IAAI,IAAI,YAAY,CAAC,CAAC;QAC3C,MAAM,EAAE,GAAG,UAAU,EAAE,EAAE,IAAI,YAAY,EAAE,EAAE,CAAC;QAC9C,MAAM,QAAQ,GAAG,UAAU,EAAE,QAAQ,IAAI,YAAY,EAAE,QAAQ,CAAC;QAChE,MAAM,YAAY,GAAG,UAAU,EAAE,OAAO,IAAI,YAAY,EAAE,OAAO,CAAC;QAClE,MAAM,OAAO,GACX,OAAO,YAAY,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC;YAC/D,CAAC,CAAC,YAAY;YACd,CAAC,CAAC,SAAS,CAAC;QAEhB,IAAI,CAAC,EAAE,IAAI,CAAC,QAAQ,IAAI,OAAO,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QAEhE,OAAO;YACL,OAAO;YACP,IAAI,EAAE;gBACJ,EAAE;gBACF,QAAQ;gBACR,OAAO;gBACP,IAAI,EAAE,UAAU,EAAE,IAAI,IAAI,YAAY,EAAE,IAAI;gBAC5C,WAAW,EAAE,UAAU,EAAE,WAAW,IAAI,YAAY,EAAE,WAAW;gBACjE,IAAI,EAAE,UAAU,EAAE,IAAI,IAAI,YAAY,EAAE,IAAI;gBAC5C,QAAQ,EAAE,UAAU,EAAE,QAAQ,IAAI,YAAY,EAAE,QAAQ;aACzD;SACF,CAAC;IACJ,CAAC,EACD,CAAC,kBAAkB,CAAC,CACrB,CAAC;IAEF,MAAM,uBAAuB,GAAG,WAAW,CACzC,CAAC,OAAsC,EAAE,EAAE;QACzC,MAAM,MAAM,GAAG,cAAc,CAAC,OAAO,CAAC;QACtC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS;YAAE,OAAO;QAEjD,MAAM,KAAK,GAAG,sBAAsB,CAClC,OAAO,CAAC,OAAO,EACf,OAAO,CAAC,IAAI,EACZ,OAAO,CAAC,UAAU,CACnB,CAAC;QACF,IAAI,CAAC,KAAK;YAAE,OAAO;QAEnB,qEAAqE;QACrE,sEAAsE;QACtE,wEAAwE;QACxE,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YACvB,MAAM,UAAU,GAAG,yBAAyB,CAAC,OAAO,CAAC;YACrD,yBAAyB,CAAC,OAAO,GAAG;gBAClC,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,WAAW,EACT,UAAU;oBACV,UAAU,CAAC,UAAU,KAAK,OAAO,CAAC,UAAU;oBAC5C,UAAU,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO;oBAClC,CAAC,CAAC,UAAU,CAAC,WAAW;oBACxB,CAAC,CAAC,MAAM,CAAC,IAAI;gBACjB,KAAK,EAAE,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,CAAC;aACtD,CAAC;QACJ,CAAC;QAED,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAC7D,MAAM,QAAQ,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QAClG,IAAI,wBAAwB,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,KAAK;YAAE,OAAO;QAErE,wBAAwB,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACtD,MAAM,UAAU,GAAG,yBAAyB,CAAC,OAAO,CAAC;QACrD,MAAM,WAAW,GACf,UAAU;YACV,UAAU,CAAC,UAAU,KAAK,OAAO,CAAC,UAAU;YAC5C,UAAU,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO;YAClC,CAAC,CAAC,UAAU,CAAC,WAAW;YACxB,CAAC,CAAC,SAAS,CAAC;QAChB,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC;YAC1B,KAAK;YACL,SAAS,EACP,WAAW,KAAK,aAAa,IAAI,MAAM,CAAC,IAAI,KAAK,aAAa;gBAC5D,CAAC,CAAC,aAAa;gBACf,CAAC,CAAC,SAAS;YACf,iBAAiB,EAAE,SAAS,CAAC,OAAO;YACpC,OAAO,EAAE,MAAM;YACf,KAAK;SACN,CAAC,CAAC;IACL,CAAC,EACD,CAAC,yBAAyB,EAAE,cAAc,EAAE,sBAAsB,CAAC,CACpE,CAAC;IAEF,MAAM,aAAa,GAAG,WAAW,CAAC,GAAG,EAAE;QACrC,cAAc,CAAC,OAAO,EAAE,UAAU,CAAC,WAAW,EAAE,EAAE,CAAC;QACnD,gBAAgB,CAAC,OAAO,EAAE,eAAe,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAC9D,CAAC,EAAE,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAEvC,MAAM,qBAAqB,GAAG,WAAW,CACvC,CAAC,OAAoC,EAAE,EAAE;QACvC,uBAAuB,CAAC,OAAO,CAAC,CAAC;QACjC,aAAa,EAAE,CAAC;IAClB,CAAC,EACD,CAAC,aAAa,EAAE,uBAAuB,CAAC,CACzC,CAAC;IAEF,MAAM,eAAe,GAAG,WAAW,CACjC,KAAK,EAAE,WAAoC,EAAE,EAAE;QAC7C,MAAM,MAAM,GAAG,cAAc,CAAC,OAAO,CAAC;QACtC,IAAI,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC;YAC/D,6BAA6B,CAAC,0BAA0B,EAAE;gBACxD,SAAS,EAAE,CAAC,CAAC,MAAM;gBACnB,OAAO,EAAE,WAAW,CAAC,OAAO;gBAC5B,UAAU,EAAE,WAAW,CAAC,UAAU;gBAClC,IAAI,EAAE,WAAW,CAAC,IAAI;aACvB,CAAC,CAAC;YACH,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,WAAW,CAAC,OAAO,IAAI,WAAW,CAAC,QAAQ,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;YACvE,6BAA6B,CAAC,yBAAyB,EAAE;gBACvD,OAAO,EAAE,WAAW,CAAC,OAAO;gBAC5B,OAAO,EAAE,WAAW,CAAC,OAAO;gBAC5B,QAAQ,EAAE,WAAW,CAAC,QAAQ;gBAC9B,OAAO,EAAE,WAAW,CAAC,OAAO;aAC7B,CAAC,CAAC;YACH,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;YAC5D,6BAA6B,CAAC,eAAe,EAAE;gBAC7C,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,OAAO,EAAE,WAAW,CAAC,OAAO;aAC7B,CAAC,CAAC;YACH,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,IAAI,GAAG,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC;QAC9C,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YAC9D,6BAA6B,CAAC,+BAA+B,EAAE;gBAC7D,OAAO,EAAE,WAAW,CAAC,OAAO;gBAC5B,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE;aACrB,CAAC,CAAC;YACH,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,aAAa,GAAG,sBAAsB,CAC1C,WAAW,CAAC,OAAO,EACnB,WAAW,CAAC,IAAI,EAChB,WAAW,CAAC,UAAU,CACvB,CAAC;QACF,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,6BAA6B,CAAC,2BAA2B,EAAE;gBACzD,OAAO,EAAE,WAAW,CAAC,OAAO;gBAC5B,UAAU,EAAE,WAAW,CAAC,UAAU;gBAClC,MAAM,EAAE,WAAW,CAAC,IAAI,EAAE,EAAE;aAC7B,CAAC,CAAC;YACH,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,MAAM,CAAC,oBAAoB,KAAK,KAAK,IAAI,IAAI,EAAE,CAAC;YAClD,MAAM,KAAK,GAAG,gBAAgB,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;YAC5D,IAAI,KAAK,EAAE,QAAQ,EAAE,CAAC;gBACpB,6BAA6B,CAAC,kCAAkC,EAAE;oBAChE,OAAO,EAAE,aAAa,CAAC,OAAO;oBAC9B,MAAM,EAAE,aAAa,CAAC,IAAI,CAAC,EAAE;iBAC9B,CAAC,CAAC;gBACH,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QAED,oBAAoB,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC;QACvC,MAAM,iBAAiB,GAAG,MAAM,CAAC,IAAI,KAAK,aAAa,CAAC;QACxD,6BAA6B,CAAC,iBAAiB,EAAE;YAC/C,OAAO,EAAE,aAAa,CAAC,OAAO;YAC9B,MAAM,EAAE,aAAa,CAAC,IAAI,CAAC,EAAE;YAC7B,QAAQ,EAAE,aAAa,CAAC,IAAI,CAAC,QAAQ;YACrC,OAAO,EAAE,aAAa,CAAC,IAAI,CAAC,OAAO;YACnC,iBAAiB;SAClB,CAAC,CAAC;QACH,MAAM,OAAO,GACX,CAAC,MAAM,gBAAgB,CAAC,OAAO,EAAE,eAAe,CAC9C,aAAa,EACb,iBAAiB,CAClB,CAAC,IAAI,KAAK,CAAC;QACd,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,6BAA6B,CAAC,sBAAsB,EAAE;gBACpD,OAAO,EAAE,aAAa,CAAC,OAAO;gBAC9B,MAAM,EAAE,aAAa,CAAC,IAAI,CAAC,EAAE;aAC9B,CAAC,CAAC;YACH,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,IAAI,GAAG,mBAAmB,CAAC;YAC/B,UAAU,EAAE,WAAW,CAAC,UAAU;YAClC,OAAO,EAAE,aAAa,CAAC,OAAO;YAC9B,OAAO,EAAE,WAAW,CAAC,OAAO;YAC5B,OAAO,EAAE,WAAW,CAAC,OAAO;SAC7B,CAAC,CAAC;QACH,6BAA6B,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,kBAAkB,EAAE;YACnE,OAAO,EAAE,aAAa,CAAC,OAAO;YAC9B,MAAM,EAAE,aAAa,CAAC,IAAI,CAAC,EAAE;YAC7B,UAAU,EAAE,WAAW,CAAC,UAAU;SACnC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC,EACD;QACE,oBAAoB;QACpB,cAAc;QACd,gBAAgB;QAChB,kBAAkB;QAClB,sBAAsB;QACtB,mBAAmB;KACpB,CACF,CAAC;IAEF,OAAO;QACL,eAAe;QACf,iBAAiB,EAAE,GAAG,EAAE,CAAC,wBAAwB,CAAC,OAAO,CAAC,KAAK,EAAE;QACjE,aAAa;QACb,uBAAuB;QACvB,qBAAqB;KACtB,CAAC;AACJ,CAAC;AAED,SAAS,6BAA6B,CACpC,OAAe,EACf,OAAiC;IAEjC,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,CAAC,IAEnB,CAAC;QACF,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC3D,MAAM,OAAO,GACX,IAAI,CAAC,GAAG,EAAE,GAAG;YACb,IAAI,CAAC,GAAG,EAAE,IAAI,KAAK,aAAa;YAChC,MAAM,CAAC,QAAQ,CAAC,QAAQ,KAAK,WAAW;YACxC,MAAM,CAAC,GAAG,CAAC,uBAAuB,CAAC,KAAK,GAAG;YAC3C,MAAM,CAAC,GAAG,CAAC,uBAAuB,CAAC,KAAK,SAAS;YACjD,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,uBAAuB,CAAC,KAAK,GAAG;YAC5D,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,uBAAuB,CAAC,KAAK,MAAM,CAAC;QAClE,IAAI,CAAC,OAAO;YAAE,OAAO;IACvB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;IACT,CAAC;IAED,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CAAC,KAAK,CAAC,iCAAiC,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;IACrE,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,KAAK,CAAC,iCAAiC,OAAO,EAAE,CAAC,CAAC;IAC5D,CAAC;AACH,CAAC"}
@@ -1,20 +0,0 @@
1
- import type { ApplyFieldPatchCommandPayload } from "@parhelia/editor-bridge-head";
2
- import type { SerializableField } from "@parhelia/editor-bridge-head";
3
- import type { Field } from "../pageModel";
4
- type ActiveBridgeInlineEdit = {
5
- elementKey: string;
6
- value?: string;
7
- };
8
- type BridgePatchDisplayValue = {
9
- source: ApplyFieldPatchCommandPayload["source"];
10
- value: string;
11
- };
12
- export declare function isBridgePatchableTextField(field: Pick<Field, "type">, isRichText: boolean | undefined): boolean;
13
- export declare function getBridgeFieldPatchValue(field: Pick<Field, "rawValue" | "value">): string;
14
- export declare function buildBridgeFieldPatchPayload({ field, structureField, display, activeInlineEdit, }: {
15
- field: Field;
16
- structureField: SerializableField;
17
- display: BridgePatchDisplayValue;
18
- activeInlineEdit: ActiveBridgeInlineEdit | null | undefined;
19
- }): ApplyFieldPatchCommandPayload | undefined;
20
- export {};
@@ -1,33 +0,0 @@
1
- export function isBridgePatchableTextField(field, isRichText) {
2
- const fieldType = field.type.toLowerCase();
3
- return (isRichText === true ||
4
- fieldType === "rich text" ||
5
- fieldType === "single-line text" ||
6
- fieldType === "multi-line text");
7
- }
8
- export function getBridgeFieldPatchValue(field) {
9
- if (field.rawValue !== undefined && field.rawValue !== null) {
10
- return String(field.rawValue);
11
- }
12
- if (field.value === undefined || field.value === null)
13
- return "";
14
- return typeof field.value === "string" ? field.value : String(field.value);
15
- }
16
- export function buildBridgeFieldPatchPayload({ field, structureField, display, activeInlineEdit, }) {
17
- if (!structureField.elementKey)
18
- return undefined;
19
- if (!isBridgePatchableTextField(field, structureField.isRichText)) {
20
- return undefined;
21
- }
22
- if (structureField.elementKey === activeInlineEdit?.elementKey) {
23
- return undefined;
24
- }
25
- return {
26
- elementKey: structureField.elementKey,
27
- fieldId: structureField.fieldId,
28
- isRichText: structureField.isRichText || field.type.toLowerCase() === "rich text",
29
- source: display.source,
30
- value: display.value,
31
- };
32
- }
33
- //# sourceMappingURL=bridgeFieldPatch.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bridgeFieldPatch.js","sourceRoot":"","sources":["../../../src/editor/page-viewer/bridgeFieldPatch.ts"],"names":[],"mappings":"AAcA,MAAM,UAAU,0BAA0B,CACxC,KAA0B,EAC1B,UAA+B;IAE/B,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;IAC3C,OAAO,CACL,UAAU,KAAK,IAAI;QACnB,SAAS,KAAK,WAAW;QACzB,SAAS,KAAK,kBAAkB;QAChC,SAAS,KAAK,iBAAiB,CAChC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,KAAwC;IAExC,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;QAC5D,OAAO,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;IACD,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI;QAAE,OAAO,EAAE,CAAC;IACjE,OAAO,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAC7E,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,EAC3C,KAAK,EACL,cAAc,EACd,OAAO,EACP,gBAAgB,GAMjB;IACC,IAAI,CAAC,cAAc,CAAC,UAAU;QAAE,OAAO,SAAS,CAAC;IACjD,IAAI,CAAC,0BAA0B,CAAC,KAAK,EAAE,cAAc,CAAC,UAAU,CAAC,EAAE,CAAC;QAClE,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,cAAc,CAAC,UAAU,KAAK,gBAAgB,EAAE,UAAU,EAAE,CAAC;QAC/D,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO;QACL,UAAU,EAAE,cAAc,CAAC,UAAU;QACrC,OAAO,EAAE,cAAc,CAAC,OAAO;QAC/B,UAAU,EACR,cAAc,CAAC,UAAU,IAAI,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,WAAW;QACvE,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,KAAK,EAAE,OAAO,CAAC,KAAK;KACrB,CAAC;AACJ,CAAC"}
@@ -1,23 +0,0 @@
1
- import type { Comment } from "../../types";
2
- import type { SelectionRange } from "../client/editContext";
3
- export type ViewportSelectionRect = {
4
- x: number;
5
- y: number;
6
- width: number;
7
- height: number;
8
- top: number;
9
- right: number;
10
- bottom: number;
11
- left: number;
12
- };
13
- export declare const COMMENT_TRANSIENT_SELECTION_RECT: unique symbol;
14
- export declare const COMMENT_TRANSIENT_ELEMENT_KEY: unique symbol;
15
- export type CommentWithTransientSelection = Comment & {
16
- [COMMENT_TRANSIENT_ELEMENT_KEY]?: string;
17
- [COMMENT_TRANSIENT_SELECTION_RECT]?: ViewportSelectionRect;
18
- };
19
- export declare const COMMENT_DRAFT_SELECTION_EVENT = "parhelia:comment-draft-selection";
20
- export type CommentDraftSelectionEventDetail = {
21
- range?: SelectionRange;
22
- };
23
- export declare function publishCommentDraftSelection(range?: SelectionRange): void;
@@ -1,7 +0,0 @@
1
- export const COMMENT_TRANSIENT_SELECTION_RECT = Symbol("parhelia.commentTransientSelectionRect");
2
- export const COMMENT_TRANSIENT_ELEMENT_KEY = Symbol("parhelia.commentTransientElementKey");
3
- export const COMMENT_DRAFT_SELECTION_EVENT = "parhelia:comment-draft-selection";
4
- export function publishCommentDraftSelection(range) {
5
- window.dispatchEvent(new CustomEvent(COMMENT_DRAFT_SELECTION_EVENT, { detail: { range } }));
6
- }
7
- //# sourceMappingURL=commentTransientSelection.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"commentTransientSelection.js","sourceRoot":"","sources":["../../../src/editor/reviews/commentTransientSelection.ts"],"names":[],"mappings":"AAcA,MAAM,CAAC,MAAM,gCAAgC,GAAG,MAAM,CACpD,wCAAwC,CACzC,CAAC;AAEF,MAAM,CAAC,MAAM,6BAA6B,GAAG,MAAM,CACjD,qCAAqC,CACtC,CAAC;AAOF,MAAM,CAAC,MAAM,6BAA6B,GAAG,kCAAkC,CAAC;AAMhF,MAAM,UAAU,4BAA4B,CAAC,KAAsB;IACjE,MAAM,CAAC,aAAa,CAClB,IAAI,WAAW,CACb,6BAA6B,EAC7B,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,CACtB,CACF,CAAC;AACJ,CAAC"}
@@ -1,5 +0,0 @@
1
- import type { Comment, SuggestedEdit } from "../../types";
2
- export type FeedbackItem = Comment | SuggestedEdit;
3
- export declare function isSuggestedEdit(item: FeedbackItem): item is SuggestedEdit;
4
- export declare function getFeedbackActivityTime(item: FeedbackItem, suggestionCommentsBySuggestionId?: ReadonlyMap<string, Comment[]>): number;
5
- export declare function sortFeedbackItemsMostRecentFirst(items: FeedbackItem[], suggestionCommentsBySuggestionId?: ReadonlyMap<string, Comment[]>): FeedbackItem[];
@@ -1,27 +0,0 @@
1
- export function isSuggestedEdit(item) {
2
- return "oldValue" in item && "newValue" in item;
3
- }
4
- function parseCreatedTime(value) {
5
- if (!value)
6
- return 0;
7
- const time = new Date(value).getTime();
8
- return Number.isFinite(time) ? time : 0;
9
- }
10
- export function getFeedbackActivityTime(item, suggestionCommentsBySuggestionId) {
11
- const itemTime = parseCreatedTime(item.created);
12
- if (!isSuggestedEdit(item))
13
- return itemTime;
14
- const latestCommentTime = Math.max(0, ...(suggestionCommentsBySuggestionId?.get(item.id) || []).map((comment) => parseCreatedTime(comment.created)));
15
- return Math.max(itemTime, latestCommentTime);
16
- }
17
- export function sortFeedbackItemsMostRecentFirst(items, suggestionCommentsBySuggestionId) {
18
- return items
19
- .map((item, index) => ({ item, index }))
20
- .sort((a, b) => {
21
- const timeDifference = getFeedbackActivityTime(b.item, suggestionCommentsBySuggestionId) -
22
- getFeedbackActivityTime(a.item, suggestionCommentsBySuggestionId);
23
- return timeDifference || a.index - b.index;
24
- })
25
- .map(({ item }) => item);
26
- }
27
- //# sourceMappingURL=feedbackOrdering.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"feedbackOrdering.js","sourceRoot":"","sources":["../../../src/editor/reviews/feedbackOrdering.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,eAAe,CAAC,IAAkB;IAChD,OAAO,UAAU,IAAI,IAAI,IAAI,UAAU,IAAI,IAAI,CAAC;AAClD,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAc;IACtC,IAAI,CAAC,KAAK;QAAE,OAAO,CAAC,CAAC;IAErB,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;IACvC,OAAO,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,IAAkB,EAClB,gCAAiE;IAEjE,MAAM,QAAQ,GAAG,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAEhD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;QAAE,OAAO,QAAQ,CAAC;IAE5C,MAAM,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAChC,CAAC,EACD,GAAG,CAAC,gCAAgC,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CACxE,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,CAClC,CACF,CAAC;IAEF,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,gCAAgC,CAC9C,KAAqB,EACrB,gCAAiE;IAEjE,OAAO,KAAK;SACT,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;SACvC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACb,MAAM,cAAc,GAClB,uBAAuB,CAAC,CAAC,CAAC,IAAI,EAAE,gCAAgC,CAAC;YACjE,uBAAuB,CAAC,CAAC,CAAC,IAAI,EAAE,gCAAgC,CAAC,CAAC;QAEpE,OAAO,cAAc,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;IAC7C,CAAC,CAAC;SACD,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC"}