@parhelia/core 0.3.12831 → 0.3.12833

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 (600) hide show
  1. package/dist/components/emoji/EmojiPicker.d.ts +18 -0
  2. package/dist/components/emoji/EmojiPicker.js +102 -0
  3. package/dist/components/emoji/EmojiPicker.js.map +1 -0
  4. package/dist/components/emoji/EmojiText.d.ts +19 -0
  5. package/dist/components/emoji/EmojiText.js +30 -0
  6. package/dist/components/emoji/EmojiText.js.map +1 -0
  7. package/dist/components/emoji/emojiData.generated.d.ts +2 -0
  8. package/dist/components/emoji/emojiData.generated.js +1878 -0
  9. package/dist/components/emoji/emojiData.generated.js.map +1 -0
  10. package/dist/components/emoji/emojiIndex.d.ts +46 -0
  11. package/dist/components/emoji/emojiIndex.js +173 -0
  12. package/dist/components/emoji/emojiIndex.js.map +1 -0
  13. package/dist/components/emoji/emoticons.d.ts +21 -0
  14. package/dist/components/emoji/emoticons.js +167 -0
  15. package/dist/components/emoji/emoticons.js.map +1 -0
  16. package/dist/components/emoji/textareaInsert.d.ts +19 -0
  17. package/dist/components/emoji/textareaInsert.js +29 -0
  18. package/dist/components/emoji/textareaInsert.js.map +1 -0
  19. package/dist/components/emoji/twemoji.d.ts +30 -0
  20. package/dist/components/emoji/twemoji.js +84 -0
  21. package/dist/components/emoji/twemoji.js.map +1 -0
  22. package/dist/editor/agent-changes/agentChangeTargets.d.ts +58 -0
  23. package/dist/editor/agent-changes/agentChangeTargets.js +180 -0
  24. package/dist/editor/agent-changes/agentChangeTargets.js.map +1 -0
  25. package/dist/editor/agent-changes/agentChangeTextHighlight.d.ts +101 -0
  26. package/dist/editor/agent-changes/agentChangeTextHighlight.js +167 -0
  27. package/dist/editor/agent-changes/agentChangeTextHighlight.js.map +1 -0
  28. package/dist/editor/ai/AgentImagePreview.d.ts +13 -0
  29. package/dist/editor/ai/AgentImagePreview.js +41 -0
  30. package/dist/editor/ai/AgentImagePreview.js.map +1 -0
  31. package/dist/editor/ai/activityRowNavigation.d.ts +28 -0
  32. package/dist/editor/ai/activityRowNavigation.js +53 -0
  33. package/dist/editor/ai/activityRowNavigation.js.map +1 -0
  34. package/dist/editor/ai/terminal/activeReasoningModel.d.ts +9 -0
  35. package/dist/editor/ai/terminal/activeReasoningModel.js +20 -0
  36. package/dist/editor/ai/terminal/activeReasoningModel.js.map +1 -0
  37. package/dist/editor/ai/terminal/agentDurations.d.ts +27 -0
  38. package/dist/editor/ai/terminal/agentDurations.js +89 -0
  39. package/dist/editor/ai/terminal/agentDurations.js.map +1 -0
  40. package/dist/editor/ai/terminal/agentTurnTiming.d.ts +35 -0
  41. package/dist/editor/ai/terminal/agentTurnTiming.js +128 -0
  42. package/dist/editor/ai/terminal/agentTurnTiming.js.map +1 -0
  43. package/dist/editor/ai/terminal/components/AgentMemorySettingsSection.d.ts +9 -0
  44. package/dist/editor/ai/terminal/components/AgentMemorySettingsSection.js +75 -0
  45. package/dist/editor/ai/terminal/components/AgentMemorySettingsSection.js.map +1 -0
  46. package/dist/editor/ai/terminal/components/AgentProfileRecovery.d.ts +10 -0
  47. package/dist/editor/ai/terminal/components/AgentProfileRecovery.js +12 -0
  48. package/dist/editor/ai/terminal/components/AgentProfileRecovery.js.map +1 -0
  49. package/dist/editor/ai/terminal/components/CreateItemToolCallContent.d.ts +3 -0
  50. package/dist/editor/ai/terminal/components/CreateItemToolCallContent.js +47 -0
  51. package/dist/editor/ai/terminal/components/CreateItemToolCallContent.js.map +1 -0
  52. package/dist/editor/ai/terminal/components/ResponseTurnDuration.d.ts +15 -0
  53. package/dist/editor/ai/terminal/components/ResponseTurnDuration.js +62 -0
  54. package/dist/editor/ai/terminal/components/ResponseTurnDuration.js.map +1 -0
  55. package/dist/editor/ai/terminal/components/ToolCallDiagnosticsPanel.d.ts +6 -0
  56. package/dist/editor/ai/terminal/components/ToolCallDiagnosticsPanel.js +61 -0
  57. package/dist/editor/ai/terminal/components/ToolCallDiagnosticsPanel.js.map +1 -0
  58. package/dist/editor/ai/terminal/components/toolCallResultJson.d.ts +1 -0
  59. package/dist/editor/ai/terminal/components/toolCallResultJson.js +46 -0
  60. package/dist/editor/ai/terminal/components/toolCallResultJson.js.map +1 -0
  61. package/dist/editor/ai/terminal/reasoningEffortLevels.d.ts +8 -0
  62. package/dist/editor/ai/terminal/reasoningEffortLevels.js +54 -0
  63. package/dist/editor/ai/terminal/reasoningEffortLevels.js.map +1 -0
  64. package/dist/editor/ai/terminal/requestUsage.d.ts +3 -0
  65. package/dist/editor/ai/terminal/requestUsage.js +22 -0
  66. package/dist/editor/ai/terminal/requestUsage.js.map +1 -0
  67. package/dist/editor/ai/terminal/toolCallDiagnostics.d.ts +34 -0
  68. package/dist/editor/ai/terminal/toolCallDiagnostics.js +218 -0
  69. package/dist/editor/ai/terminal/toolCallDiagnostics.js.map +1 -0
  70. package/dist/editor/ai/terminal/useAgentProviderWait.d.ts +18 -0
  71. package/dist/editor/ai/terminal/useAgentProviderWait.js +23 -0
  72. package/dist/editor/ai/terminal/useAgentProviderWait.js.map +1 -0
  73. package/dist/editor/ai/terminal/useAgentReasoningEffortState.d.ts +5 -0
  74. package/dist/editor/ai/terminal/useAgentReasoningEffortState.js +10 -0
  75. package/dist/editor/ai/terminal/useAgentReasoningEffortState.js.map +1 -0
  76. package/dist/editor/bridge/bridgeKeys.d.ts +5 -0
  77. package/dist/editor/bridge/bridgeKeys.js +8 -0
  78. package/dist/editor/bridge/bridgeKeys.js.map +1 -0
  79. package/dist/editor/bridge/linkDownload.d.ts +3 -0
  80. package/dist/editor/bridge/linkDownload.js +52 -0
  81. package/dist/editor/bridge/linkDownload.js.map +1 -0
  82. package/dist/editor/client/SessionsDialog.d.ts +2 -0
  83. package/dist/editor/client/SessionsDialog.js +27 -0
  84. package/dist/editor/client/SessionsDialog.js.map +1 -0
  85. package/dist/editor/client/agentLoadItemPolicy.d.ts +22 -0
  86. package/dist/editor/client/agentLoadItemPolicy.js +60 -0
  87. package/dist/editor/client/agentLoadItemPolicy.js.map +1 -0
  88. package/dist/editor/client/clipboardStorage.d.ts +10 -0
  89. package/dist/editor/client/clipboardStorage.js +57 -0
  90. package/dist/editor/client/clipboardStorage.js.map +1 -0
  91. package/dist/editor/client/hooks/useRepositoryItemRefresh.d.ts +4 -0
  92. package/dist/editor/client/hooks/useRepositoryItemRefresh.js +62 -0
  93. package/dist/editor/client/hooks/useRepositoryItemRefresh.js.map +1 -0
  94. package/dist/editor/client/liveEditState.d.ts +16 -0
  95. package/dist/editor/client/liveEditState.js +25 -0
  96. package/dist/editor/client/liveEditState.js.map +1 -0
  97. package/dist/editor/client/liveSessionState.d.ts +6 -0
  98. package/dist/editor/client/liveSessionState.js +20 -0
  99. package/dist/editor/client/liveSessionState.js.map +1 -0
  100. package/dist/editor/client/localUserEditActivity.d.ts +3 -0
  101. package/dist/editor/client/localUserEditActivity.js +12 -0
  102. package/dist/editor/client/localUserEditActivity.js.map +1 -0
  103. package/dist/editor/client/valueStore.d.ts +22 -0
  104. package/dist/editor/client/valueStore.js +29 -0
  105. package/dist/editor/client/valueStore.js.map +1 -0
  106. package/dist/editor/commands/componentClipboardCommands.d.ts +35 -0
  107. package/dist/editor/commands/componentClipboardCommands.js +271 -0
  108. package/dist/editor/commands/componentClipboardCommands.js.map +1 -0
  109. package/dist/editor/commands/componentMenuGroups.d.ts +2 -0
  110. package/dist/editor/commands/componentMenuGroups.js +43 -0
  111. package/dist/editor/commands/componentMenuGroups.js.map +1 -0
  112. package/dist/editor/commands/mediaCommands.d.ts +5 -0
  113. package/dist/editor/commands/mediaCommands.js +59 -0
  114. package/dist/editor/commands/mediaCommands.js.map +1 -0
  115. package/dist/editor/component-conversion/ComponentTypePickerDialog.d.ts +12 -0
  116. package/dist/editor/component-conversion/ComponentTypePickerDialog.js +40 -0
  117. package/dist/editor/component-conversion/ComponentTypePickerDialog.js.map +1 -0
  118. package/dist/editor/component-conversion/ConversionAiDebugButton.d.ts +17 -0
  119. package/dist/editor/component-conversion/ConversionAiDebugButton.js +80 -0
  120. package/dist/editor/component-conversion/ConversionAiDebugButton.js.map +1 -0
  121. package/dist/editor/component-conversion/ConvertComponentDialog.d.ts +28 -0
  122. package/dist/editor/component-conversion/ConvertComponentDialog.js +633 -0
  123. package/dist/editor/component-conversion/ConvertComponentDialog.js.map +1 -0
  124. package/dist/editor/component-conversion/conversionModel.d.ts +109 -0
  125. package/dist/editor/component-conversion/conversionModel.js +519 -0
  126. package/dist/editor/component-conversion/conversionModel.js.map +1 -0
  127. package/dist/editor/component-conversion/conversionService.d.ts +12 -0
  128. package/dist/editor/component-conversion/conversionService.js +16 -0
  129. package/dist/editor/component-conversion/conversionService.js.map +1 -0
  130. package/dist/editor/component-conversion/conversionTypes.d.ts +214 -0
  131. package/dist/editor/component-conversion/conversionTypes.js +2 -0
  132. package/dist/editor/component-conversion/conversionTypes.js.map +1 -0
  133. package/dist/editor/component-conversion/convertComponentsCommand.d.ts +25 -0
  134. package/dist/editor/component-conversion/convertComponentsCommand.js +196 -0
  135. package/dist/editor/component-conversion/convertComponentsCommand.js.map +1 -0
  136. package/dist/editor/componentVisualMode.d.ts +14 -0
  137. package/dist/editor/componentVisualMode.js +43 -0
  138. package/dist/editor/componentVisualMode.js.map +1 -0
  139. package/dist/editor/field-types/FieldHistoryBoundary.d.ts +7 -0
  140. package/dist/editor/field-types/FieldHistoryBoundary.js +40 -0
  141. package/dist/editor/field-types/FieldHistoryBoundary.js.map +1 -0
  142. package/dist/editor/field-types/fieldStyles.d.ts +21 -0
  143. package/dist/editor/field-types/fieldStyles.js +22 -0
  144. package/dist/editor/field-types/fieldStyles.js.map +1 -0
  145. package/dist/editor/field-types/richtext/utils/changeHighlight.d.ts +32 -0
  146. package/dist/editor/field-types/richtext/utils/changeHighlight.js +68 -0
  147. package/dist/editor/field-types/richtext/utils/changeHighlight.js.map +1 -0
  148. package/dist/editor/field-types/richtext/utils/spellCheckText.d.ts +31 -0
  149. package/dist/editor/field-types/richtext/utils/spellCheckText.js +82 -0
  150. package/dist/editor/field-types/richtext/utils/spellCheckText.js.map +1 -0
  151. package/dist/editor/field-types/useFocusedFieldInput.d.ts +13 -0
  152. package/dist/editor/field-types/useFocusedFieldInput.js +50 -0
  153. package/dist/editor/field-types/useFocusedFieldInput.js.map +1 -0
  154. package/dist/editor/field-types/useFormFieldSelectionRange.d.ts +43 -0
  155. package/dist/editor/field-types/useFormFieldSelectionRange.js +149 -0
  156. package/dist/editor/field-types/useFormFieldSelectionRange.js.map +1 -0
  157. package/dist/editor/find-replace/FindReplacePanel.d.ts +11 -0
  158. package/dist/editor/find-replace/FindReplacePanel.js +311 -0
  159. package/dist/editor/find-replace/FindReplacePanel.js.map +1 -0
  160. package/dist/editor/find-replace/findReplaceCommand.d.ts +8 -0
  161. package/dist/editor/find-replace/findReplaceCommand.js +25 -0
  162. package/dist/editor/find-replace/findReplaceCommand.js.map +1 -0
  163. package/dist/editor/find-replace/findReplaceMatches.d.ts +42 -0
  164. package/dist/editor/find-replace/findReplaceMatches.js +66 -0
  165. package/dist/editor/find-replace/findReplaceMatches.js.map +1 -0
  166. package/dist/editor/find-replace/findReplaceStore.d.ts +30 -0
  167. package/dist/editor/find-replace/findReplaceStore.js +61 -0
  168. package/dist/editor/find-replace/findReplaceStore.js.map +1 -0
  169. package/dist/editor/find-replace/findReplaceTargets.d.ts +51 -0
  170. package/dist/editor/find-replace/findReplaceTargets.js +110 -0
  171. package/dist/editor/find-replace/findReplaceTargets.js.map +1 -0
  172. package/dist/editor/find-replace/findReplaceText.d.ts +50 -0
  173. package/dist/editor/find-replace/findReplaceText.js +189 -0
  174. package/dist/editor/find-replace/findReplaceText.js.map +1 -0
  175. package/dist/editor/itemContextMenuGroups.d.ts +16 -0
  176. package/dist/editor/itemContextMenuGroups.js +57 -0
  177. package/dist/editor/itemContextMenuGroups.js.map +1 -0
  178. package/dist/editor/media-selector/MediaDetailsView.d.ts +14 -0
  179. package/dist/editor/media-selector/MediaDetailsView.js +152 -0
  180. package/dist/editor/media-selector/MediaDetailsView.js.map +1 -0
  181. package/dist/editor/media-selector/UploadMediaFileDialog.d.ts +5 -0
  182. package/dist/editor/media-selector/UploadMediaFileDialog.js +14 -0
  183. package/dist/editor/media-selector/UploadMediaFileDialog.js.map +1 -0
  184. package/dist/editor/media-selector/useMediaFolderDrag.d.ts +26 -0
  185. package/dist/editor/media-selector/useMediaFolderDrag.js +153 -0
  186. package/dist/editor/media-selector/useMediaFolderDrag.js.map +1 -0
  187. package/dist/editor/menubar/OpenPublishedPageButton.d.ts +1 -0
  188. package/dist/editor/menubar/OpenPublishedPageButton.js +22 -0
  189. package/dist/editor/menubar/OpenPublishedPageButton.js.map +1 -0
  190. package/dist/editor/menubar/toolbar-sections/CommentsToggleControl.d.ts +11 -0
  191. package/dist/editor/menubar/toolbar-sections/CommentsToggleControl.js +65 -0
  192. package/dist/editor/menubar/toolbar-sections/CommentsToggleControl.js.map +1 -0
  193. package/dist/editor/menubar/toolbar-sections/FindReplaceControls.d.ts +6 -0
  194. package/dist/editor/menubar/toolbar-sections/FindReplaceControls.js +31 -0
  195. package/dist/editor/menubar/toolbar-sections/FindReplaceControls.js.map +1 -0
  196. package/dist/editor/menubar/toolbar-sections/SpellCheckToggleControl.d.ts +5 -0
  197. package/dist/editor/menubar/toolbar-sections/SpellCheckToggleControl.js +16 -0
  198. package/dist/editor/menubar/toolbar-sections/SpellCheckToggleControl.js.map +1 -0
  199. package/dist/editor/mobileBottomPanel.d.ts +40 -0
  200. package/dist/editor/mobileBottomPanel.js +63 -0
  201. package/dist/editor/mobileBottomPanel.js.map +1 -0
  202. package/dist/editor/page-editor-chrome/AgentChangeHighlightings.d.ts +17 -0
  203. package/dist/editor/page-editor-chrome/AgentChangeHighlightings.js +33 -0
  204. package/dist/editor/page-editor-chrome/AgentChangeHighlightings.js.map +1 -0
  205. package/dist/editor/page-editor-chrome/BridgePasteCleanupOverlay.d.ts +6 -0
  206. package/dist/editor/page-editor-chrome/BridgePasteCleanupOverlay.js +100 -0
  207. package/dist/editor/page-editor-chrome/BridgePasteCleanupOverlay.js.map +1 -0
  208. package/dist/editor/page-editor-chrome/CanvasOverviewRulerBinding.d.ts +9 -0
  209. package/dist/editor/page-editor-chrome/CanvasOverviewRulerBinding.js +32 -0
  210. package/dist/editor/page-editor-chrome/CanvasOverviewRulerBinding.js.map +1 -0
  211. package/dist/editor/page-editor-chrome/CommentTargetPickerCanvasLayer.d.ts +14 -0
  212. package/dist/editor/page-editor-chrome/CommentTargetPickerCanvasLayer.js +110 -0
  213. package/dist/editor/page-editor-chrome/CommentTargetPickerCanvasLayer.js.map +1 -0
  214. package/dist/editor/page-editor-chrome/ConversionIndicators.d.ts +8 -0
  215. package/dist/editor/page-editor-chrome/ConversionIndicators.js +75 -0
  216. package/dist/editor/page-editor-chrome/ConversionIndicators.js.map +1 -0
  217. package/dist/editor/page-editor-chrome/DiffHighlightOverlay.d.ts +29 -0
  218. package/dist/editor/page-editor-chrome/DiffHighlightOverlay.js +295 -0
  219. package/dist/editor/page-editor-chrome/DiffHighlightOverlay.js.map +1 -0
  220. package/dist/editor/page-editor-chrome/FeedbackLeaderCanvasSegment.d.ts +15 -0
  221. package/dist/editor/page-editor-chrome/FeedbackLeaderCanvasSegment.js +31 -0
  222. package/dist/editor/page-editor-chrome/FeedbackLeaderCanvasSegment.js.map +1 -0
  223. package/dist/editor/page-editor-chrome/FindReplaceHighlightings.d.ts +11 -0
  224. package/dist/editor/page-editor-chrome/FindReplaceHighlightings.js +120 -0
  225. package/dist/editor/page-editor-chrome/FindReplaceHighlightings.js.map +1 -0
  226. package/dist/editor/page-editor-chrome/SpellCheckHighlightings.d.ts +12 -0
  227. package/dist/editor/page-editor-chrome/SpellCheckHighlightings.js +197 -0
  228. package/dist/editor/page-editor-chrome/SpellCheckHighlightings.js.map +1 -0
  229. package/dist/editor/page-editor-chrome/ValidationRulerMarks.d.ts +11 -0
  230. package/dist/editor/page-editor-chrome/ValidationRulerMarks.js +56 -0
  231. package/dist/editor/page-editor-chrome/ValidationRulerMarks.js.map +1 -0
  232. package/dist/editor/page-editor-chrome/diffRulerSegments.d.ts +18 -0
  233. package/dist/editor/page-editor-chrome/diffRulerSegments.js +37 -0
  234. package/dist/editor/page-editor-chrome/diffRulerSegments.js.map +1 -0
  235. package/dist/editor/page-editor-chrome/overlay/feedbackAnchorMeasurements.d.ts +44 -0
  236. package/dist/editor/page-editor-chrome/overlay/feedbackAnchorMeasurements.js +89 -0
  237. package/dist/editor/page-editor-chrome/overlay/feedbackAnchorMeasurements.js.map +1 -0
  238. package/dist/editor/page-editor-chrome/overlay/feedbackAnchorStore.d.ts +17 -0
  239. package/dist/editor/page-editor-chrome/overlay/feedbackAnchorStore.js +53 -0
  240. package/dist/editor/page-editor-chrome/overlay/feedbackAnchorStore.js.map +1 -0
  241. package/dist/editor/page-editor-chrome/overlay/useBridgeTextRangeRequest.d.ts +11 -0
  242. package/dist/editor/page-editor-chrome/overlay/useBridgeTextRangeRequest.js +84 -0
  243. package/dist/editor/page-editor-chrome/overlay/useBridgeTextRangeRequest.js.map +1 -0
  244. package/dist/editor/page-editor-chrome/overlay/useCommentAnchorMeasurements.d.ts +34 -0
  245. package/dist/editor/page-editor-chrome/overlay/useCommentAnchorMeasurements.js +229 -0
  246. package/dist/editor/page-editor-chrome/overlay/useCommentAnchorMeasurements.js.map +1 -0
  247. package/dist/editor/page-editor-chrome/overlay/useOverlayViewportRight.d.ts +9 -0
  248. package/dist/editor/page-editor-chrome/overlay/useOverlayViewportRight.js +34 -0
  249. package/dist/editor/page-editor-chrome/overlay/useOverlayViewportRight.js.map +1 -0
  250. package/dist/editor/page-editor-chrome/overlay/useSuggestionAnchorMeasurements.d.ts +49 -0
  251. package/dist/editor/page-editor-chrome/overlay/useSuggestionAnchorMeasurements.js +241 -0
  252. package/dist/editor/page-editor-chrome/overlay/useSuggestionAnchorMeasurements.js.map +1 -0
  253. package/dist/editor/page-viewer/CanvasOverviewRuler.d.ts +11 -0
  254. package/dist/editor/page-viewer/CanvasOverviewRuler.js +65 -0
  255. package/dist/editor/page-viewer/CanvasOverviewRuler.js.map +1 -0
  256. package/dist/editor/page-viewer/DynamicRenderingsBar.d.ts +23 -0
  257. package/dist/editor/page-viewer/DynamicRenderingsBar.js +28 -0
  258. package/dist/editor/page-viewer/DynamicRenderingsBar.js.map +1 -0
  259. package/dist/editor/page-viewer/DynamicRenderingsStrip.d.ts +18 -0
  260. package/dist/editor/page-viewer/DynamicRenderingsStrip.js +29 -0
  261. package/dist/editor/page-viewer/DynamicRenderingsStrip.js.map +1 -0
  262. package/dist/editor/page-viewer/FeedbackMargin.d.ts +57 -0
  263. package/dist/editor/page-viewer/FeedbackMargin.js +377 -0
  264. package/dist/editor/page-viewer/FeedbackMargin.js.map +1 -0
  265. package/dist/editor/page-viewer/FeedbackMarginController.d.ts +76 -0
  266. package/dist/editor/page-viewer/FeedbackMarginController.js +241 -0
  267. package/dist/editor/page-viewer/FeedbackMarginController.js.map +1 -0
  268. package/dist/editor/page-viewer/FeedbackMarginMarker.d.ts +16 -0
  269. package/dist/editor/page-viewer/FeedbackMarginMarker.js +24 -0
  270. package/dist/editor/page-viewer/FeedbackMarginMarker.js.map +1 -0
  271. package/dist/editor/page-viewer/FeedbackMarginResizeHandle.d.ts +23 -0
  272. package/dist/editor/page-viewer/FeedbackMarginResizeHandle.js +105 -0
  273. package/dist/editor/page-viewer/FeedbackMarginResizeHandle.js.map +1 -0
  274. package/dist/editor/page-viewer/InteractivePreviewBar.d.ts +24 -0
  275. package/dist/editor/page-viewer/InteractivePreviewBar.js +31 -0
  276. package/dist/editor/page-viewer/InteractivePreviewBar.js.map +1 -0
  277. package/dist/editor/page-viewer/MobileCommentsPanel.d.ts +16 -0
  278. package/dist/editor/page-viewer/MobileCommentsPanel.js +112 -0
  279. package/dist/editor/page-viewer/MobileCommentsPanel.js.map +1 -0
  280. package/dist/editor/page-viewer/PreviewModeNotice.d.ts +7 -0
  281. package/dist/editor/page-viewer/PreviewModeNotice.js +19 -0
  282. package/dist/editor/page-viewer/PreviewModeNotice.js.map +1 -0
  283. package/dist/editor/page-viewer/RenderingAiCheck.d.ts +18 -0
  284. package/dist/editor/page-viewer/RenderingAiCheck.js +45 -0
  285. package/dist/editor/page-viewer/RenderingAiCheck.js.map +1 -0
  286. package/dist/editor/page-viewer/RenderingApprovalDialog.d.ts +32 -0
  287. package/dist/editor/page-viewer/RenderingApprovalDialog.js +191 -0
  288. package/dist/editor/page-viewer/RenderingApprovalDialog.js.map +1 -0
  289. package/dist/editor/page-viewer/SealedClientCodePreview.d.ts +17 -0
  290. package/dist/editor/page-viewer/SealedClientCodePreview.js +38 -0
  291. package/dist/editor/page-viewer/SealedClientCodePreview.js.map +1 -0
  292. package/dist/editor/page-viewer/canvasFrameNavigation.d.ts +18 -0
  293. package/dist/editor/page-viewer/canvasFrameNavigation.js +36 -0
  294. package/dist/editor/page-viewer/canvasFrameNavigation.js.map +1 -0
  295. package/dist/editor/page-viewer/canvasLoadSettling.d.ts +42 -0
  296. package/dist/editor/page-viewer/canvasLoadSettling.js +46 -0
  297. package/dist/editor/page-viewer/canvasLoadSettling.js.map +1 -0
  298. package/dist/editor/page-viewer/canvasScrollHandoff.d.ts +34 -0
  299. package/dist/editor/page-viewer/canvasScrollHandoff.js +55 -0
  300. package/dist/editor/page-viewer/canvasScrollHandoff.js.map +1 -0
  301. package/dist/editor/page-viewer/compareFrameWidth.d.ts +8 -0
  302. package/dist/editor/page-viewer/compareFrameWidth.js +25 -0
  303. package/dist/editor/page-viewer/compareFrameWidth.js.map +1 -0
  304. package/dist/editor/page-viewer/feedbackMarginLayout.d.ts +119 -0
  305. package/dist/editor/page-viewer/feedbackMarginLayout.js +155 -0
  306. package/dist/editor/page-viewer/feedbackMarginLayout.js.map +1 -0
  307. package/dist/editor/page-viewer/feedbackMarginSources.d.ts +36 -0
  308. package/dist/editor/page-viewer/feedbackMarginSources.js +196 -0
  309. package/dist/editor/page-viewer/feedbackMarginSources.js.map +1 -0
  310. package/dist/editor/page-viewer/feedbackMarginWidth.d.ts +43 -0
  311. package/dist/editor/page-viewer/feedbackMarginWidth.js +107 -0
  312. package/dist/editor/page-viewer/feedbackMarginWidth.js.map +1 -0
  313. package/dist/editor/page-viewer/interactivePreview.d.ts +168 -0
  314. package/dist/editor/page-viewer/interactivePreview.js +344 -0
  315. package/dist/editor/page-viewer/interactivePreview.js.map +1 -0
  316. package/dist/editor/page-viewer/minimapViewport.d.ts +2 -0
  317. package/dist/editor/page-viewer/minimapViewport.js +34 -0
  318. package/dist/editor/page-viewer/minimapViewport.js.map +1 -0
  319. package/dist/editor/page-viewer/openPageItems.d.ts +29 -0
  320. package/dist/editor/page-viewer/openPageItems.js +73 -0
  321. package/dist/editor/page-viewer/openPageItems.js.map +1 -0
  322. package/dist/editor/page-viewer/overviewRuler.d.ts +128 -0
  323. package/dist/editor/page-viewer/overviewRuler.js +226 -0
  324. package/dist/editor/page-viewer/overviewRuler.js.map +1 -0
  325. package/dist/editor/page-viewer/previewEditAttempt.d.ts +31 -0
  326. package/dist/editor/page-viewer/previewEditAttempt.js +68 -0
  327. package/dist/editor/page-viewer/previewEditAttempt.js.map +1 -0
  328. package/dist/editor/page-viewer/renderingApproval.d.ts +59 -0
  329. package/dist/editor/page-viewer/renderingApproval.js +186 -0
  330. package/dist/editor/page-viewer/renderingApproval.js.map +1 -0
  331. package/dist/editor/page-viewer/renderingChanges.d.ts +29 -0
  332. package/dist/editor/page-viewer/renderingChanges.js +40 -0
  333. package/dist/editor/page-viewer/renderingChanges.js.map +1 -0
  334. package/dist/editor/page-viewer/scrollIntoViewTextRanges.d.ts +23 -0
  335. package/dist/editor/page-viewer/scrollIntoViewTextRanges.js +26 -0
  336. package/dist/editor/page-viewer/scrollIntoViewTextRanges.js.map +1 -0
  337. package/dist/editor/page-viewer/useInteractivePreview.d.ts +77 -0
  338. package/dist/editor/page-viewer/useInteractivePreview.js +210 -0
  339. package/dist/editor/page-viewer/useInteractivePreview.js.map +1 -0
  340. package/dist/editor/reviews/CollapsibleText.d.ts +13 -0
  341. package/dist/editor/reviews/CollapsibleText.js +41 -0
  342. package/dist/editor/reviews/CollapsibleText.js.map +1 -0
  343. package/dist/editor/reviews/CommentImageAttachments.d.ts +12 -0
  344. package/dist/editor/reviews/CommentImageAttachments.js +19 -0
  345. package/dist/editor/reviews/CommentImageAttachments.js.map +1 -0
  346. package/dist/editor/reviews/CommentQuote.d.ts +13 -0
  347. package/dist/editor/reviews/CommentQuote.js +35 -0
  348. package/dist/editor/reviews/CommentQuote.js.map +1 -0
  349. package/dist/editor/reviews/CommentTargetOutline.d.ts +13 -0
  350. package/dist/editor/reviews/CommentTargetOutline.js +21 -0
  351. package/dist/editor/reviews/CommentTargetOutline.js.map +1 -0
  352. package/dist/editor/reviews/CommentTargetPickerDomLayer.d.ts +7 -0
  353. package/dist/editor/reviews/CommentTargetPickerDomLayer.js +117 -0
  354. package/dist/editor/reviews/CommentTargetPickerDomLayer.js.map +1 -0
  355. package/dist/editor/reviews/CommentThreadAgentLink.d.ts +28 -0
  356. package/dist/editor/reviews/CommentThreadAgentLink.js +37 -0
  357. package/dist/editor/reviews/CommentThreadAgentLink.js.map +1 -0
  358. package/dist/editor/reviews/CommentThreadCard.d.ts +34 -0
  359. package/dist/editor/reviews/CommentThreadCard.js +156 -0
  360. package/dist/editor/reviews/CommentThreadCard.js.map +1 -0
  361. package/dist/editor/reviews/SuggestionThreadCard.d.ts +19 -0
  362. package/dist/editor/reviews/SuggestionThreadCard.js +25 -0
  363. package/dist/editor/reviews/SuggestionThreadCard.js.map +1 -0
  364. package/dist/editor/reviews/addCommentOnTarget.d.ts +22 -0
  365. package/dist/editor/reviews/addCommentOnTarget.js +32 -0
  366. package/dist/editor/reviews/addCommentOnTarget.js.map +1 -0
  367. package/dist/editor/reviews/balloonLayout.d.ts +51 -0
  368. package/dist/editor/reviews/balloonLayout.js +101 -0
  369. package/dist/editor/reviews/balloonLayout.js.map +1 -0
  370. package/dist/editor/reviews/commentAgentAttachments.d.ts +5 -0
  371. package/dist/editor/reviews/commentAgentAttachments.js +51 -0
  372. package/dist/editor/reviews/commentAgentAttachments.js.map +1 -0
  373. package/dist/editor/reviews/commentImages.d.ts +48 -0
  374. package/dist/editor/reviews/commentImages.js +128 -0
  375. package/dist/editor/reviews/commentImages.js.map +1 -0
  376. package/dist/editor/reviews/commentTargetPicker.d.ts +114 -0
  377. package/dist/editor/reviews/commentTargetPicker.js +153 -0
  378. package/dist/editor/reviews/commentTargetPicker.js.map +1 -0
  379. package/dist/editor/reviews/feedbackBalloonDate.d.ts +8 -0
  380. package/dist/editor/reviews/feedbackBalloonDate.js +22 -0
  381. package/dist/editor/reviews/feedbackBalloonDate.js.map +1 -0
  382. package/dist/editor/reviews/feedbackDrafts.d.ts +49 -0
  383. package/dist/editor/reviews/feedbackDrafts.js +74 -0
  384. package/dist/editor/reviews/feedbackDrafts.js.map +1 -0
  385. package/dist/editor/reviews/feedbackHoverState.d.ts +18 -0
  386. package/dist/editor/reviews/feedbackHoverState.js +35 -0
  387. package/dist/editor/reviews/feedbackHoverState.js.map +1 -0
  388. package/dist/editor/reviews/feedbackPersonFilter.d.ts +3 -0
  389. package/dist/editor/reviews/feedbackPersonFilter.js +32 -0
  390. package/dist/editor/reviews/feedbackPersonFilter.js.map +1 -0
  391. package/dist/editor/reviews/feedbackThreadSelection.d.ts +10 -0
  392. package/dist/editor/reviews/feedbackThreadSelection.js +31 -0
  393. package/dist/editor/reviews/feedbackThreadSelection.js.map +1 -0
  394. package/dist/editor/reviews/feedbackThreads.d.ts +50 -0
  395. package/dist/editor/reviews/feedbackThreads.js +135 -0
  396. package/dist/editor/reviews/feedbackThreads.js.map +1 -0
  397. package/dist/editor/reviews/feedbackWheelForwarding.d.ts +34 -0
  398. package/dist/editor/reviews/feedbackWheelForwarding.js +108 -0
  399. package/dist/editor/reviews/feedbackWheelForwarding.js.map +1 -0
  400. package/dist/editor/reviews/reviewUrlScope.d.ts +23 -0
  401. package/dist/editor/reviews/reviewUrlScope.js +86 -0
  402. package/dist/editor/reviews/reviewUrlScope.js.map +1 -0
  403. package/dist/editor/reviews/scrollWithin.d.ts +29 -0
  404. package/dist/editor/reviews/scrollWithin.js +87 -0
  405. package/dist/editor/reviews/scrollWithin.js.map +1 -0
  406. package/dist/editor/reviews/subtreeFeedback.d.ts +57 -0
  407. package/dist/editor/reviews/subtreeFeedback.js +137 -0
  408. package/dist/editor/reviews/subtreeFeedback.js.map +1 -0
  409. package/dist/editor/reviews/useCommentImagePaste.d.ts +80 -0
  410. package/dist/editor/reviews/useCommentImagePaste.js +252 -0
  411. package/dist/editor/reviews/useCommentImagePaste.js.map +1 -0
  412. package/dist/editor/reviews/useFeedbackThreads.d.ts +35 -0
  413. package/dist/editor/reviews/useFeedbackThreads.js +137 -0
  414. package/dist/editor/reviews/useFeedbackThreads.js.map +1 -0
  415. package/dist/editor/reviews/useMeasuredHeights.d.ts +25 -0
  416. package/dist/editor/reviews/useMeasuredHeights.js +176 -0
  417. package/dist/editor/reviews/useMeasuredHeights.js.map +1 -0
  418. package/dist/editor/reviews/usePendingFeedbackFocus.d.ts +7 -0
  419. package/dist/editor/reviews/usePendingFeedbackFocus.js +42 -0
  420. package/dist/editor/reviews/usePendingFeedbackFocus.js.map +1 -0
  421. package/dist/editor/services/mcpAccessService.d.ts +93 -0
  422. package/dist/editor/services/mcpAccessService.js +41 -0
  423. package/dist/editor/services/mcpAccessService.js.map +1 -0
  424. package/dist/editor/services/migrationService.d.ts +31 -0
  425. package/dist/editor/services/migrationService.js +22 -0
  426. package/dist/editor/services/migrationService.js.map +1 -0
  427. package/dist/editor/services/previewTokenService.d.ts +14 -0
  428. package/dist/editor/services/previewTokenService.js +34 -0
  429. package/dist/editor/services/previewTokenService.js.map +1 -0
  430. package/dist/editor/services/publicSiteService.d.ts +40 -0
  431. package/dist/editor/services/publicSiteService.js +5 -0
  432. package/dist/editor/services/publicSiteService.js.map +1 -0
  433. package/dist/editor/services/renderingsService.d.ts +117 -0
  434. package/dist/editor/services/renderingsService.js +245 -0
  435. package/dist/editor/services/renderingsService.js.map +1 -0
  436. package/dist/editor/services/spellCheckService.d.ts +13 -0
  437. package/dist/editor/services/spellCheckService.js +33 -0
  438. package/dist/editor/services/spellCheckService.js.map +1 -0
  439. package/dist/editor/settings/MigrationJournalCard.d.ts +12 -0
  440. package/dist/editor/settings/MigrationJournalCard.js +114 -0
  441. package/dist/editor/settings/MigrationJournalCard.js.map +1 -0
  442. package/dist/editor/settings/panels/McpAccessPanel.d.ts +7 -0
  443. package/dist/editor/settings/panels/McpAccessPanel.js +95 -0
  444. package/dist/editor/settings/panels/McpAccessPanel.js.map +1 -0
  445. package/dist/editor/settings/panels/McpAccessSettingsView.d.ts +8 -0
  446. package/dist/editor/settings/panels/McpAccessSettingsView.js +221 -0
  447. package/dist/editor/settings/panels/McpAccessSettingsView.js.map +1 -0
  448. package/dist/editor/settings/panels/PublicSiteEntryDialog.d.ts +8 -0
  449. package/dist/editor/settings/panels/PublicSiteEntryDialog.js +113 -0
  450. package/dist/editor/settings/panels/PublicSiteEntryDialog.js.map +1 -0
  451. package/dist/editor/settings/panels/PublicSitesPanel.d.ts +1 -0
  452. package/dist/editor/settings/panels/PublicSitesPanel.js +153 -0
  453. package/dist/editor/settings/panels/PublicSitesPanel.js.map +1 -0
  454. package/dist/editor/settings/panels/SpellCheckPanel.d.ts +8 -0
  455. package/dist/editor/settings/panels/SpellCheckPanel.js +253 -0
  456. package/dist/editor/settings/panels/SpellCheckPanel.js.map +1 -0
  457. package/dist/editor/settings/panels/publicSiteHelpers.d.ts +6 -0
  458. package/dist/editor/settings/panels/publicSiteHelpers.js +30 -0
  459. package/dist/editor/settings/panels/publicSiteHelpers.js.map +1 -0
  460. package/dist/editor/sidebar/FeedbackSidebar.d.ts +7 -0
  461. package/dist/editor/sidebar/FeedbackSidebar.js +300 -0
  462. package/dist/editor/sidebar/FeedbackSidebar.js.map +1 -0
  463. package/dist/editor/sidebar/OperationDetailsContent.d.ts +14 -0
  464. package/dist/editor/sidebar/OperationDetailsContent.js +571 -0
  465. package/dist/editor/sidebar/OperationDetailsContent.js.map +1 -0
  466. package/dist/editor/sidebar/liveComponentThumbnails.d.ts +66 -0
  467. package/dist/editor/sidebar/liveComponentThumbnails.js +225 -0
  468. package/dist/editor/sidebar/liveComponentThumbnails.js.map +1 -0
  469. package/dist/editor/spellcheck/canvasSpellCheckContextMenu.d.ts +30 -0
  470. package/dist/editor/spellcheck/canvasSpellCheckContextMenu.js +69 -0
  471. package/dist/editor/spellcheck/canvasSpellCheckContextMenu.js.map +1 -0
  472. package/dist/editor/spellcheck/htmlSpellDocument.d.ts +60 -0
  473. package/dist/editor/spellcheck/htmlSpellDocument.js +181 -0
  474. package/dist/editor/spellcheck/htmlSpellDocument.js.map +1 -0
  475. package/dist/editor/spellcheck/htmlSpellTokenizer.d.ts +45 -0
  476. package/dist/editor/spellcheck/htmlSpellTokenizer.js +277 -0
  477. package/dist/editor/spellcheck/htmlSpellTokenizer.js.map +1 -0
  478. package/dist/editor/spellcheck/replacementGuard.d.ts +27 -0
  479. package/dist/editor/spellcheck/replacementGuard.js +29 -0
  480. package/dist/editor/spellcheck/replacementGuard.js.map +1 -0
  481. package/dist/editor/spellcheck/spellCheckCanvasStore.d.ts +17 -0
  482. package/dist/editor/spellcheck/spellCheckCanvasStore.js +37 -0
  483. package/dist/editor/spellcheck/spellCheckCanvasStore.js.map +1 -0
  484. package/dist/editor/spellcheck/spellCheckCanvasTargets.d.ts +71 -0
  485. package/dist/editor/spellcheck/spellCheckCanvasTargets.js +126 -0
  486. package/dist/editor/spellcheck/spellCheckCanvasTargets.js.map +1 -0
  487. package/dist/editor/spellcheck/spellCheckClient.d.ts +66 -0
  488. package/dist/editor/spellcheck/spellCheckClient.js +0 -0
  489. package/dist/editor/spellcheck/spellCheckClient.js.map +1 -0
  490. package/dist/editor/spellcheck/spellCheckContextMenu.d.ts +52 -0
  491. package/dist/editor/spellcheck/spellCheckContextMenu.js +120 -0
  492. package/dist/editor/spellcheck/spellCheckContextMenu.js.map +1 -0
  493. package/dist/editor/spellcheck/spellCheckReplace.d.ts +8 -0
  494. package/dist/editor/spellcheck/spellCheckReplace.js +20 -0
  495. package/dist/editor/spellcheck/spellCheckReplace.js.map +1 -0
  496. package/dist/editor/spellcheck/spellCheckStyles.d.ts +11 -0
  497. package/dist/editor/spellcheck/spellCheckStyles.js +12 -0
  498. package/dist/editor/spellcheck/spellCheckStyles.js.map +1 -0
  499. package/dist/editor/spellcheck/spellCheckTypes.d.ts +94 -0
  500. package/dist/editor/spellcheck/spellCheckTypes.js +2 -0
  501. package/dist/editor/spellcheck/spellCheckTypes.js.map +1 -0
  502. package/dist/editor/spellcheck/textMarkHitTest.d.ts +14 -0
  503. package/dist/editor/spellcheck/textMarkHitTest.js +39 -0
  504. package/dist/editor/spellcheck/textMarkHitTest.js.map +1 -0
  505. package/dist/editor/spellcheck/useSpellCheck.d.ts +16 -0
  506. package/dist/editor/spellcheck/useSpellCheck.js +57 -0
  507. package/dist/editor/spellcheck/useSpellCheck.js.map +1 -0
  508. package/dist/editor/ui/DynamicRenderingsPublishWarning.d.ts +14 -0
  509. package/dist/editor/ui/DynamicRenderingsPublishWarning.js +40 -0
  510. package/dist/editor/ui/DynamicRenderingsPublishWarning.js.map +1 -0
  511. package/dist/editor/ui/ParheliaMark.d.ts +15 -0
  512. package/dist/editor/ui/ParheliaMark.js +12 -0
  513. package/dist/editor/ui/ParheliaMark.js.map +1 -0
  514. package/dist/editor/ui/PublishReadinessSummary.d.ts +12 -0
  515. package/dist/editor/ui/PublishReadinessSummary.js +34 -0
  516. package/dist/editor/ui/PublishReadinessSummary.js.map +1 -0
  517. package/dist/editor/ui/RootItemPicker.d.ts +18 -0
  518. package/dist/editor/ui/RootItemPicker.js +112 -0
  519. package/dist/editor/ui/RootItemPicker.js.map +1 -0
  520. package/dist/editor/ui/publishReadiness.d.ts +98 -0
  521. package/dist/editor/ui/publishReadiness.js +307 -0
  522. package/dist/editor/ui/publishReadiness.js.map +1 -0
  523. package/dist/editor/ui/usePublishingItem.d.ts +8 -0
  524. package/dist/editor/ui/usePublishingItem.js +47 -0
  525. package/dist/editor/ui/usePublishingItem.js.map +1 -0
  526. package/dist/editor/undoEligibility.d.ts +2 -0
  527. package/dist/editor/undoEligibility.js +8 -0
  528. package/dist/editor/undoEligibility.js.map +1 -0
  529. package/dist/editor/utils/dataTransferImages.d.ts +7 -0
  530. package/dist/editor/utils/dataTransferImages.js +43 -0
  531. package/dist/editor/utils/dataTransferImages.js.map +1 -0
  532. package/dist/editor/utils/linkDisplay.d.ts +12 -0
  533. package/dist/editor/utils/linkDisplay.js +23 -0
  534. package/dist/editor/utils/linkDisplay.js.map +1 -0
  535. package/dist/editor/validation/ValidationIssuesPopover.d.ts +39 -0
  536. package/dist/editor/validation/ValidationIssuesPopover.js +51 -0
  537. package/dist/editor/validation/ValidationIssuesPopover.js.map +1 -0
  538. package/dist/editor/validation/navigateToValidationIssue.d.ts +13 -0
  539. package/dist/editor/validation/navigateToValidationIssue.js +43 -0
  540. package/dist/editor/validation/navigateToValidationIssue.js.map +1 -0
  541. package/dist/editor/validation/validationFixAgent.d.ts +26 -0
  542. package/dist/editor/validation/validationFixAgent.js +124 -0
  543. package/dist/editor/validation/validationFixAgent.js.map +1 -0
  544. package/dist/editor/validation/validationRulerIssues.d.ts +17 -0
  545. package/dist/editor/validation/validationRulerIssues.js +44 -0
  546. package/dist/editor/validation/validationRulerIssues.js.map +1 -0
  547. package/dist/editor/validation/validationSeverity.d.ts +15 -0
  548. package/dist/editor/validation/validationSeverity.js +47 -0
  549. package/dist/editor/validation/validationSeverity.js.map +1 -0
  550. package/dist/lib/viewportClip.d.ts +18 -0
  551. package/dist/lib/viewportClip.js +22 -0
  552. package/dist/lib/viewportClip.js.map +1 -0
  553. package/dist/revision.d.ts +2 -2
  554. package/dist/revision.js +2 -2
  555. package/dist/task-board/components/AttentionPromptDialog.d.ts +13 -0
  556. package/dist/task-board/components/AttentionPromptDialog.js +45 -0
  557. package/dist/task-board/components/AttentionPromptDialog.js.map +1 -0
  558. package/dist/task-board/components/GoalFindingsTable.d.ts +43 -0
  559. package/dist/task-board/components/GoalFindingsTable.js +160 -0
  560. package/dist/task-board/components/GoalFindingsTable.js.map +1 -0
  561. package/dist/task-board/components/IssuePanel.d.ts +31 -0
  562. package/dist/task-board/components/IssuePanel.js +268 -0
  563. package/dist/task-board/components/IssuePanel.js.map +1 -0
  564. package/dist/task-board/components/ProjectProgressIndicator.d.ts +8 -0
  565. package/dist/task-board/components/ProjectProgressIndicator.js +17 -0
  566. package/dist/task-board/components/ProjectProgressIndicator.js.map +1 -0
  567. package/dist/task-board/components/SubgoalFindings.d.ts +40 -0
  568. package/dist/task-board/components/SubgoalFindings.js +88 -0
  569. package/dist/task-board/components/SubgoalFindings.js.map +1 -0
  570. package/dist/task-board/components/commentAuthor.d.ts +14 -0
  571. package/dist/task-board/components/commentAuthor.js +25 -0
  572. package/dist/task-board/components/commentAuthor.js.map +1 -0
  573. package/dist/task-board/services/issueService.d.ts +193 -0
  574. package/dist/task-board/services/issueService.js +97 -0
  575. package/dist/task-board/services/issueService.js.map +1 -0
  576. package/dist/task-board/taskBlockers.d.ts +10 -0
  577. package/dist/task-board/taskBlockers.js +66 -0
  578. package/dist/task-board/taskBlockers.js.map +1 -0
  579. package/dist/task-board/utils/projectDashboardModel.d.ts +68 -0
  580. package/dist/task-board/utils/projectDashboardModel.js +369 -0
  581. package/dist/task-board/utils/projectDashboardModel.js.map +1 -0
  582. package/dist/task-board/views/ProjectDashboardView.d.ts +28 -0
  583. package/dist/task-board/views/ProjectDashboardView.js +308 -0
  584. package/dist/task-board/views/ProjectDashboardView.js.map +1 -0
  585. package/dist/tour/TourInputBoundary.d.ts +6 -0
  586. package/dist/tour/TourInputBoundary.js +82 -0
  587. package/dist/tour/TourInputBoundary.js.map +1 -0
  588. package/dist/tour/sandbox-tour-copy.d.ts +8 -0
  589. package/dist/tour/sandbox-tour-copy.js +8 -0
  590. package/dist/tour/sandbox-tour-copy.js.map +1 -1
  591. package/dist/tour/sandbox-tour.d.ts +3 -0
  592. package/dist/tour/sandbox-tour.js +112 -6
  593. package/dist/tour/sandbox-tour.js.map +1 -1
  594. package/dist/tour/tour-utils.d.ts +6 -0
  595. package/dist/tour/tour-utils.js +10 -0
  596. package/dist/tour/tour-utils.js.map +1 -1
  597. package/package.json +1 -1
  598. package/dist/editor/page-editor-chrome/bridgeLinkValue.d.ts +0 -10
  599. package/dist/editor/page-editor-chrome/bridgeLinkValue.js +0 -55
  600. package/dist/editor/page-editor-chrome/bridgeLinkValue.js.map +0 -1
@@ -0,0 +1,58 @@
1
+ import type { SerializablePageStructure } from "../bridge/protocol";
2
+ import type { FieldDescriptor, ItemDescriptor } from "../pageModel";
3
+ import type { EditFieldOperation, EditOperation } from "../../types";
4
+ import { type ComponentDiffTarget, type DiffTarget } from "../version-diff/versionDiffTargets";
5
+ /**
6
+ * The agent whose edit operations are currently highlighted across the page
7
+ * iframe, the minimap and the edit form. Owned by the terminal's "Changes"
8
+ * tray checkbox; `null` when highlighting is off.
9
+ */
10
+ export type AgentChangeHighlighting = {
11
+ agentId: string;
12
+ operations: EditOperation[];
13
+ };
14
+ export type AgentFieldChange = {
15
+ itemId: string;
16
+ language?: string;
17
+ /** Undefined or 0 means "any version" (the op did not pin one). */
18
+ version?: number;
19
+ fieldId: string;
20
+ fieldName?: string;
21
+ /**
22
+ * The value before the agent's FIRST edit of this field, so repeated edits
23
+ * diff cumulatively. Undefined when no op captured an old value.
24
+ */
25
+ baselineValue?: string;
26
+ /** The value written by the agent's LAST edit of this field. */
27
+ latestValue?: string;
28
+ operations: EditFieldOperation[];
29
+ };
30
+ export type AgentChangeTargetsResult = {
31
+ fieldTargets: DiffTarget[];
32
+ componentTargets: ComponentDiffTarget[];
33
+ };
34
+ /**
35
+ * Collapses the agent's edit-field operations into one entry per field.
36
+ * Undone operations are ignored; a field whose every edit was undone drops out.
37
+ */
38
+ export declare function collectAgentFieldChanges(operations: EditOperation[]): AgentFieldChange[];
39
+ export declare function agentFieldChangeMatches(change: AgentFieldChange, descriptor: FieldDescriptor): boolean;
40
+ export declare function findAgentFieldChange(highlighting: AgentChangeHighlighting | null | undefined, descriptor: FieldDescriptor | undefined): AgentFieldChange | undefined;
41
+ /**
42
+ * Components the agent added, duplicated, moved or linked. Removed components
43
+ * are no longer on the page and cannot be marked in the iframe.
44
+ */
45
+ export declare function collectAgentComponentChanges(operations: EditOperation[]): ComponentDiffTarget[];
46
+ /**
47
+ * Turns the agent's operations into the same target shapes the version-diff
48
+ * overlay renders: added-text ranges per rendered field (diffing the value
49
+ * before the agent's first edit against the text now on the page) plus one
50
+ * component box per component the agent introduced. Fields without a
51
+ * captured baseline, or whose change is deletion-only, get the whole-field
52
+ * marker.
53
+ */
54
+ export declare function resolveAgentChangeTargets({ operations, bridgeStructure, pageItem, }: {
55
+ operations: EditOperation[];
56
+ bridgeStructure?: SerializablePageStructure;
57
+ pageItem: ItemDescriptor;
58
+ }): AgentChangeTargetsResult;
@@ -0,0 +1,180 @@
1
+ import { collectRenderedFieldsFromBridge, computeWordDiffRanges, normalizeId, stripHtml, } from "../version-diff/versionDiffTargets";
2
+ function asString(value) {
3
+ if (value == null)
4
+ return undefined;
5
+ return typeof value === "string" ? value : String(value);
6
+ }
7
+ function sortChronologically(operations) {
8
+ return [...operations].sort((a, b) => {
9
+ const left = new Date(a.date).getTime() || 0;
10
+ const right = new Date(b.date).getTime() || 0;
11
+ return left - right;
12
+ });
13
+ }
14
+ function fieldChangeKey(itemId, language, fieldId) {
15
+ return `${normalizeId(itemId)}|${(language || "").toLowerCase()}|${normalizeId(fieldId)}`;
16
+ }
17
+ /**
18
+ * Collapses the agent's edit-field operations into one entry per field.
19
+ * Undone operations are ignored; a field whose every edit was undone drops out.
20
+ */
21
+ export function collectAgentFieldChanges(operations) {
22
+ const changes = new Map();
23
+ for (const op of sortChronologically(operations)) {
24
+ if (op.type !== "edit-field" || op.undone)
25
+ continue;
26
+ const edit = op;
27
+ const itemId = edit.itemId || edit.mainItem?.id;
28
+ if (!itemId || !edit.fieldId)
29
+ continue;
30
+ const language = edit.mainItem?.language;
31
+ const isMainItem = !!edit.mainItem?.id &&
32
+ normalizeId(edit.mainItem.id) === normalizeId(itemId);
33
+ const version = isMainItem ? edit.mainItem?.version : undefined;
34
+ const key = fieldChangeKey(itemId, language, edit.fieldId);
35
+ const existing = changes.get(key);
36
+ if (existing) {
37
+ existing.latestValue = asString(edit.value) ?? existing.latestValue;
38
+ existing.fieldName = existing.fieldName || edit.fieldName;
39
+ existing.operations.push(edit);
40
+ continue;
41
+ }
42
+ changes.set(key, {
43
+ itemId,
44
+ language,
45
+ version,
46
+ fieldId: edit.fieldId,
47
+ fieldName: edit.fieldName,
48
+ baselineValue: asString(edit.oldValue),
49
+ latestValue: asString(edit.value),
50
+ operations: [edit],
51
+ });
52
+ }
53
+ return Array.from(changes.values());
54
+ }
55
+ export function agentFieldChangeMatches(change, descriptor) {
56
+ if (normalizeId(change.fieldId) !== normalizeId(descriptor.fieldId))
57
+ return false;
58
+ if (normalizeId(change.itemId) !== normalizeId(descriptor.item.id))
59
+ return false;
60
+ if (change.language &&
61
+ descriptor.item.language &&
62
+ change.language.toLowerCase() !== descriptor.item.language.toLowerCase()) {
63
+ return false;
64
+ }
65
+ if (change.version &&
66
+ descriptor.item.version &&
67
+ change.version !== descriptor.item.version) {
68
+ return false;
69
+ }
70
+ return true;
71
+ }
72
+ export function findAgentFieldChange(highlighting, descriptor) {
73
+ if (!highlighting || !descriptor?.item?.id)
74
+ return undefined;
75
+ return collectAgentFieldChanges(highlighting.operations).find((change) => agentFieldChangeMatches(change, descriptor));
76
+ }
77
+ /**
78
+ * Components the agent added, duplicated, moved or linked. Removed components
79
+ * are no longer on the page and cannot be marked in the iframe.
80
+ */
81
+ export function collectAgentComponentChanges(operations) {
82
+ const targets = new Map();
83
+ const add = (id, dataItemId) => {
84
+ const key = normalizeId(id || dataItemId);
85
+ if (!key || targets.has(key))
86
+ return;
87
+ targets.set(key, {
88
+ id: id || dataItemId,
89
+ visualId: id || dataItemId,
90
+ kind: "added",
91
+ dataItemId,
92
+ });
93
+ };
94
+ for (const op of operations) {
95
+ if (op.undone)
96
+ continue;
97
+ switch (op.type) {
98
+ case "add-component":
99
+ add(op.componentId);
100
+ break;
101
+ case "duplicate-components":
102
+ op.componentIds?.forEach((id) => add(id));
103
+ break;
104
+ case "paste-components":
105
+ op.componentIds?.forEach((id) => add(id));
106
+ break;
107
+ case "convert-component":
108
+ op.createdItemIds?.forEach((id) => add(id));
109
+ break;
110
+ case "move-component":
111
+ op.componentIds?.forEach((id) => add(id));
112
+ break;
113
+ case "link-component": {
114
+ const linked = op.linkedComponentItem;
115
+ add(undefined, linked?.id);
116
+ break;
117
+ }
118
+ default:
119
+ break;
120
+ }
121
+ }
122
+ return Array.from(targets.values());
123
+ }
124
+ /**
125
+ * Turns the agent's operations into the same target shapes the version-diff
126
+ * overlay renders: added-text ranges per rendered field (diffing the value
127
+ * before the agent's first edit against the text now on the page) plus one
128
+ * component box per component the agent introduced. Fields without a
129
+ * captured baseline, or whose change is deletion-only, get the whole-field
130
+ * marker.
131
+ */
132
+ export function resolveAgentChangeTargets({ operations, bridgeStructure, pageItem, }) {
133
+ const fieldChanges = collectAgentFieldChanges(operations);
134
+ const componentTargets = collectAgentComponentChanges(operations);
135
+ if (!bridgeStructure || fieldChanges.length === 0) {
136
+ return { fieldTargets: [], componentTargets };
137
+ }
138
+ const renderedFields = collectRenderedFieldsFromBridge(bridgeStructure, pageItem);
139
+ const fieldTargets = renderedFields.flatMap((renderedField) => {
140
+ const change = fieldChanges.find((candidate) => agentFieldChangeMatches(candidate, renderedField.descriptor));
141
+ if (!change)
142
+ return [];
143
+ // The bridge structure's textContent is a load-time summary that does not
144
+ // follow field patches, so it can be empty or stale right after the agent
145
+ // wrote the field. The agent's last written value is what the host now
146
+ // renders (the bridge measures ranges against the live DOM text), so
147
+ // prefer it and fall back to the bridge text only when no value is known.
148
+ const currentText = change.latestValue !== undefined
149
+ ? stripHtml(change.latestValue)
150
+ : renderedField.currentText;
151
+ if (change.baselineValue === undefined) {
152
+ return [
153
+ {
154
+ ...renderedField,
155
+ currentText,
156
+ baselineText: "",
157
+ ranges: [],
158
+ rangeKind: "added",
159
+ hasDeletionOnlyChange: true,
160
+ },
161
+ ];
162
+ }
163
+ const baselineText = stripHtml(change.baselineValue);
164
+ if (baselineText === currentText)
165
+ return [];
166
+ const ranges = computeWordDiffRanges(baselineText, currentText).added;
167
+ return [
168
+ {
169
+ ...renderedField,
170
+ currentText,
171
+ baselineText,
172
+ ranges,
173
+ rangeKind: "added",
174
+ hasDeletionOnlyChange: ranges.length === 0,
175
+ },
176
+ ];
177
+ });
178
+ return { fieldTargets, componentTargets };
179
+ }
180
+ //# sourceMappingURL=agentChangeTargets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agentChangeTargets.js","sourceRoot":"","sources":["../../../src/editor/agent-changes/agentChangeTargets.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,101 @@
1
+ import { type RefObject } from "react";
2
+ import type { FieldDescriptor } from "../pageModel";
3
+ import { type DiffRange } from "../version-diff/versionDiffTargets";
4
+ import { type AgentFieldChange } from "./agentChangeTargets";
5
+ /**
6
+ * Form-side twin of the canvas agent-change highlight: instead of tinting the
7
+ * field row, the text the agent added is marked inside the editor itself,
8
+ * the same way the page overlay marks the added words. A change whose baseline
9
+ * is unknown, or that only removed text, has nothing to mark and gets a dashed
10
+ * whole-field outline instead (again mirroring the canvas).
11
+ */
12
+ export type AgentTextHighlight = {
13
+ /** [start, end) offsets into the editor's current plain text. */
14
+ ranges: DiffRange[];
15
+ /** True when there is no added text to mark (baseline unknown / deletion-only). */
16
+ wholeField: boolean;
17
+ };
18
+ /** Tailwind classes shared by every added-text mark in the form. */
19
+ export declare const agentAddedTextClass = "bg-feedback-green/35 rounded-sm";
20
+ /** Dashed outline for a changed field that has no added text to mark. */
21
+ export declare const agentWholeFieldClass = "outline outline-1 outline-dashed outline-feedback-green outline-offset-0";
22
+ /**
23
+ * The agent change for `descriptor` while the terminal's "Highlight changes"
24
+ * checkbox is on for the agent that made it; undefined otherwise.
25
+ */
26
+ export declare function useAgentFieldChange(descriptor: FieldDescriptor | undefined): AgentFieldChange | undefined;
27
+ /**
28
+ * Diffs the editor's live text against the text before the agent's first
29
+ * edit. Diffing the live text (not the agent's written value) keeps the marks
30
+ * in step while the user keeps typing, and clears them once the text is back
31
+ * to the baseline.
32
+ */
33
+ export declare function computeAgentTextHighlight(change: AgentFieldChange | undefined, currentText: string, baselineFormat?: "plain" | "html"): AgentTextHighlight | null;
34
+ export declare function computeTextHighlight(baselineText: string, currentText: string): AgentTextHighlight | null;
35
+ type TextSegment = {
36
+ text: string;
37
+ added: boolean;
38
+ };
39
+ /** Splits `text` into unchanged / added runs following `ranges` (sorted, disjoint). */
40
+ export declare function splitTextByRanges(text: string, ranges: DiffRange[]): TextSegment[];
41
+ /** One kind of mark painted by {@link TextMarkBackdrop}. */
42
+ export type TextMarkLayer = {
43
+ /** [start, end) offsets into the text; may overlap other layers' ranges. */
44
+ ranges: readonly {
45
+ start: number;
46
+ end: number;
47
+ }[];
48
+ className: string;
49
+ /** `data-testid` of every mark span of this layer. */
50
+ markTestId?: string;
51
+ /** Boolean data attribute (`data-misspelled`) set on every mark span of this layer. */
52
+ dataAttribute?: string;
53
+ };
54
+ export type TextMarkSegment = {
55
+ text: string;
56
+ start: number;
57
+ end: number;
58
+ /** Indexes into the layers array of every layer covering this segment. */
59
+ layers: number[];
60
+ };
61
+ /**
62
+ * Splits `text` at every layer boundary so each segment carries the set of
63
+ * layers covering it. Overlapping layers are supported (a word can be both
64
+ * agent-added and misspelled).
65
+ */
66
+ export declare function splitTextByLayers(text: string, layers: readonly TextMarkLayer[]): TextMarkSegment[];
67
+ /**
68
+ * Mark layer for `<input>` / `<textarea>` editors, whose values are not DOM
69
+ * text and cannot be marked directly. It sits behind the (then transparent)
70
+ * control, mirrors its text metrics, and paints the runs of every layer;
71
+ * scrolling and the textarea's scrollbar width are kept in sync so the marks
72
+ * stay under the glyphs they belong to.
73
+ *
74
+ * `className` must repeat the control's padding and font classes.
75
+ */
76
+ export declare function TextMarkBackdrop({ text, layers, wholeField, inputRef, mirrorRef: externalMirrorRef, className, multiline, testId, }: {
77
+ text: string;
78
+ layers: readonly TextMarkLayer[];
79
+ /** Dashed whole-field outline (agent change without added text). */
80
+ wholeField?: boolean;
81
+ inputRef: RefObject<HTMLInputElement | HTMLTextAreaElement | null>;
82
+ /** Receives the mirror element, for hit testing marks under a pointer. */
83
+ mirrorRef?: RefObject<HTMLDivElement | null>;
84
+ className?: string;
85
+ multiline?: boolean;
86
+ testId?: string;
87
+ }): import("react").JSX.Element;
88
+ /**
89
+ * Agent-change mark layer over {@link TextMarkBackdrop}: the added runs in
90
+ * green plus, via `extraLayers`, any further marks the field shows (spelling).
91
+ */
92
+ export declare function AgentChangeTextBackdrop({ text, highlight, extraLayers, inputRef, mirrorRef, className, multiline, }: {
93
+ text: string;
94
+ highlight: AgentTextHighlight;
95
+ extraLayers?: readonly TextMarkLayer[];
96
+ inputRef: RefObject<HTMLInputElement | HTMLTextAreaElement | null>;
97
+ mirrorRef?: RefObject<HTMLDivElement | null>;
98
+ className?: string;
99
+ multiline?: boolean;
100
+ }): import("react").JSX.Element;
101
+ export {};
@@ -0,0 +1,167 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useEffect, useMemo, useRef } from "react";
3
+ import { cn } from "../../lib/utils";
4
+ import { useEditContext } from "../client/editContext";
5
+ import { computeWordDiffRanges, stripHtml, } from "../version-diff/versionDiffTargets";
6
+ import { agentFieldChangeMatches, collectAgentFieldChanges, } from "./agentChangeTargets";
7
+ /** Tailwind classes shared by every added-text mark in the form. */
8
+ export const agentAddedTextClass = "bg-feedback-green/35 rounded-sm";
9
+ /** Dashed outline for a changed field that has no added text to mark. */
10
+ export const agentWholeFieldClass = "outline outline-1 outline-dashed outline-feedback-green outline-offset-0";
11
+ /**
12
+ * The agent change for `descriptor` while the terminal's "Highlight changes"
13
+ * checkbox is on for the agent that made it; undefined otherwise.
14
+ */
15
+ export function useAgentFieldChange(descriptor) {
16
+ const operations = useEditContext()?.agentChangeHighlighting?.operations;
17
+ return useMemo(() => {
18
+ if (!operations || !descriptor?.item?.id)
19
+ return undefined;
20
+ return collectAgentFieldChanges(operations).find((change) => agentFieldChangeMatches(change, descriptor));
21
+ }, [operations, descriptor]);
22
+ }
23
+ /**
24
+ * Diffs the editor's live text against the text before the agent's first
25
+ * edit. Diffing the live text (not the agent's written value) keeps the marks
26
+ * in step while the user keeps typing, and clears them once the text is back
27
+ * to the baseline.
28
+ */
29
+ export function computeAgentTextHighlight(change, currentText, baselineFormat = "plain") {
30
+ if (!change)
31
+ return null;
32
+ if (change.baselineValue === undefined) {
33
+ return { ranges: [], wholeField: true };
34
+ }
35
+ const baselineText = baselineFormat === "html"
36
+ ? stripHtml(change.baselineValue)
37
+ : change.baselineValue;
38
+ return computeTextHighlight(baselineText, currentText);
39
+ }
40
+ export function computeTextHighlight(baselineText, currentText) {
41
+ if (baselineText === currentText)
42
+ return null;
43
+ const ranges = computeWordDiffRanges(baselineText, currentText).added;
44
+ return { ranges, wholeField: ranges.length === 0 };
45
+ }
46
+ /** Splits `text` into unchanged / added runs following `ranges` (sorted, disjoint). */
47
+ export function splitTextByRanges(text, ranges) {
48
+ const segments = [];
49
+ let position = 0;
50
+ for (const range of [...ranges].sort((a, b) => a.start - b.start)) {
51
+ const start = Math.max(position, Math.min(range.start, text.length));
52
+ const end = Math.max(start, Math.min(range.end, text.length));
53
+ if (start > position) {
54
+ segments.push({ text: text.slice(position, start), added: false });
55
+ }
56
+ if (end > start) {
57
+ segments.push({ text: text.slice(start, end), added: true });
58
+ }
59
+ position = end;
60
+ }
61
+ if (position < text.length) {
62
+ segments.push({ text: text.slice(position), added: false });
63
+ }
64
+ return segments;
65
+ }
66
+ /**
67
+ * Splits `text` at every layer boundary so each segment carries the set of
68
+ * layers covering it. Overlapping layers are supported (a word can be both
69
+ * agent-added and misspelled).
70
+ */
71
+ export function splitTextByLayers(text, layers) {
72
+ const boundaries = new Set([0, text.length]);
73
+ layers.forEach((layer) => layer.ranges.forEach((range) => {
74
+ boundaries.add(Math.max(0, Math.min(range.start, text.length)));
75
+ boundaries.add(Math.max(0, Math.min(range.end, text.length)));
76
+ }));
77
+ const points = Array.from(boundaries).sort((a, b) => a - b);
78
+ const segments = [];
79
+ let previous;
80
+ for (const end of points) {
81
+ const start = previous;
82
+ previous = end;
83
+ if (start === undefined || end <= start)
84
+ continue;
85
+ const covering = [];
86
+ layers.forEach((layer, layerIndex) => {
87
+ if (layer.ranges.some((range) => range.start <= start && end <= range.end)) {
88
+ covering.push(layerIndex);
89
+ }
90
+ });
91
+ segments.push({ text: text.slice(start, end), start, end, layers: covering });
92
+ }
93
+ return segments;
94
+ }
95
+ /**
96
+ * Mark layer for `<input>` / `<textarea>` editors, whose values are not DOM
97
+ * text and cannot be marked directly. It sits behind the (then transparent)
98
+ * control, mirrors its text metrics, and paints the runs of every layer;
99
+ * scrolling and the textarea's scrollbar width are kept in sync so the marks
100
+ * stay under the glyphs they belong to.
101
+ *
102
+ * `className` must repeat the control's padding and font classes.
103
+ */
104
+ export function TextMarkBackdrop({ text, layers, wholeField = false, inputRef, mirrorRef: externalMirrorRef, className, multiline = false, testId = "text-mark-backdrop", }) {
105
+ const ownMirrorRef = useRef(null);
106
+ const mirrorRef = externalMirrorRef ?? ownMirrorRef;
107
+ useEffect(() => {
108
+ const input = inputRef.current;
109
+ const mirror = mirrorRef.current;
110
+ if (!input || !mirror)
111
+ return;
112
+ const sync = () => {
113
+ // A textarea scrollbar narrows its content box; shrink the mirror by the
114
+ // same amount so both wrap at the same column.
115
+ const scrollbarWidth = Math.max(0, input.offsetWidth - input.clientWidth - horizontalBorder(input));
116
+ mirror.style.right = `${scrollbarWidth}px`;
117
+ mirror.scrollTop = input.scrollTop;
118
+ mirror.scrollLeft = input.scrollLeft;
119
+ };
120
+ sync();
121
+ input.addEventListener("scroll", sync);
122
+ const observer = typeof ResizeObserver === "undefined" ? null : new ResizeObserver(sync);
123
+ observer?.observe(input);
124
+ return () => {
125
+ input.removeEventListener("scroll", sync);
126
+ observer?.disconnect();
127
+ };
128
+ }, [inputRef, mirrorRef, text]);
129
+ const segments = useMemo(() => splitTextByLayers(text, layers), [text, layers]);
130
+ return (_jsx("div", { ref: mirrorRef, "aria-hidden": true, "data-testid": testId, "data-whole-field": wholeField ? "true" : undefined, className: cn("bg-neutral-grey-5 pointer-events-none absolute inset-0 overflow-hidden rounded-[4px] border border-transparent text-transparent select-none", multiline
131
+ ? "break-words whitespace-pre-wrap"
132
+ : "flex items-center whitespace-pre", wholeField && agentWholeFieldClass, className), children: _jsxs("span", { className: cn(!multiline && "min-w-0 shrink-0"), children: [segments.map((segment, index) => {
133
+ if (segment.layers.length === 0) {
134
+ return _jsx("span", { children: segment.text }, index);
135
+ }
136
+ const covering = segment.layers
137
+ .map((layerIndex) => layers[layerIndex])
138
+ .filter((layer) => layer !== undefined);
139
+ const attributes = {};
140
+ covering.forEach((layer) => {
141
+ if (layer.dataAttribute)
142
+ attributes[layer.dataAttribute] = "true";
143
+ });
144
+ return (_jsx("span", { className: cn(...covering.map((layer) => layer.className)), "data-testid": covering.map((layer) => layer.markTestId).filter(Boolean).join(" ") || undefined, "data-start": segment.start, "data-end": segment.end, ...attributes, children: segment.text }, index));
145
+ }), multiline && text.endsWith("\n") ? "​" : null] }) }));
146
+ }
147
+ /**
148
+ * Agent-change mark layer over {@link TextMarkBackdrop}: the added runs in
149
+ * green plus, via `extraLayers`, any further marks the field shows (spelling).
150
+ */
151
+ export function AgentChangeTextBackdrop({ text, highlight, extraLayers, inputRef, mirrorRef, className, multiline = false, }) {
152
+ const layers = useMemo(() => [
153
+ {
154
+ ranges: highlight.ranges,
155
+ className: agentAddedTextClass,
156
+ markTestId: "agent-change-text-mark",
157
+ },
158
+ ...(extraLayers ?? []),
159
+ ], [highlight.ranges, extraLayers]);
160
+ return (_jsx(TextMarkBackdrop, { text: text, layers: layers, wholeField: highlight.wholeField, inputRef: inputRef, mirrorRef: mirrorRef, className: className, multiline: multiline, testId: "agent-change-text-backdrop" }));
161
+ }
162
+ function horizontalBorder(element) {
163
+ const style = getComputedStyle(element);
164
+ return ((parseFloat(style.borderLeftWidth) || 0) +
165
+ (parseFloat(style.borderRightWidth) || 0));
166
+ }
167
+ //# sourceMappingURL=agentChangeTextHighlight.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agentChangeTextHighlight.js","sourceRoot":"","sources":["../../../src/editor/agent-changes/agentChangeTextHighlight.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAkB,MAAM,OAAO,CAAC;AACnE,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,OAAO,EACL,qBAAqB,EACrB,SAAS,GAEV,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,uBAAuB,EACvB,wBAAwB,GAEzB,MAAM,sBAAsB,CAAC;AAgB9B,oEAAoE;AACpE,MAAM,CAAC,MAAM,mBAAmB,GAAG,iCAAiC,CAAC;AAErE,yEAAyE;AACzE,MAAM,CAAC,MAAM,oBAAoB,GAC/B,0EAA0E,CAAC;AAE7E;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CACjC,UAAuC;IAEvC,MAAM,UAAU,GAAG,cAAc,EAAE,EAAE,uBAAuB,EAAE,UAAU,CAAC;IACzE,OAAO,OAAO,CAAC,GAAG,EAAE;QAClB,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE;YAAE,OAAO,SAAS,CAAC;QAC3D,OAAO,wBAAwB,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAC1D,uBAAuB,CAAC,MAAM,EAAE,UAAU,CAAC,CAC5C,CAAC;IACJ,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;AAC/B,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,yBAAyB,CACvC,MAAoC,EACpC,WAAmB,EACnB,cAAc,GAAqB,OAAO;IAE1C,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACzB,IAAI,MAAM,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;QACvC,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;IAC1C,CAAC;IACD,MAAM,YAAY,GAChB,cAAc,KAAK,MAAM;QACvB,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC;QACjC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC;IAC3B,OAAO,oBAAoB,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,YAAoB,EACpB,WAAmB;IAEnB,IAAI,YAAY,KAAK,WAAW;QAAE,OAAO,IAAI,CAAC;IAC9C,MAAM,MAAM,GAAG,qBAAqB,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC,KAAK,CAAC;IACtE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;AACrD,CAAC;AAID,uFAAuF;AACvF,MAAM,UAAU,iBAAiB,CAC/B,IAAY,EACZ,MAAmB;IAEnB,MAAM,QAAQ,GAAkB,EAAE,CAAC;IACnC,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,KAAK,MAAM,KAAK,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;QAClE,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QACrE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAC9D,IAAI,KAAK,GAAG,QAAQ,EAAE,CAAC;YACrB,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QACrE,CAAC;QACD,IAAI,GAAG,GAAG,KAAK,EAAE,CAAC;YAChB,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/D,CAAC;QACD,QAAQ,GAAG,GAAG,CAAC;IACjB,CAAC;IACD,IAAI,QAAQ,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IAC9D,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAqBD;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAC/B,IAAY,EACZ,MAAgC;IAEhC,MAAM,UAAU,GAAG,IAAI,GAAG,CAAS,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IACrD,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CACvB,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QAC7B,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAChE,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAChE,CAAC,CAAC,CACH,CAAC;IACF,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5D,MAAM,QAAQ,GAAsB,EAAE,CAAC;IACvC,IAAI,QAA4B,CAAC;IACjC,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,QAAQ,CAAC;QACvB,QAAQ,GAAG,GAAG,CAAC;QACf,IAAI,KAAK,KAAK,SAAS,IAAI,GAAG,IAAI,KAAK;YAAE,SAAS;QAClD,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE;YACnC,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,IAAI,KAAK,IAAI,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC3E,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC,CAAC,CAAC;QACH,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;IAChF,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,gBAAgB,CAAC,EAC/B,IAAI,EACJ,MAAM,EACN,UAAU,GAAG,KAAK,EAClB,QAAQ,EACR,SAAS,EAAE,iBAAiB,EAC5B,SAAS,EACT,SAAS,GAAG,KAAK,EACjB,MAAM,GAAG,oBAAoB,GAY9B;IACC,MAAM,YAAY,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAClD,MAAM,SAAS,GAAG,iBAAiB,IAAI,YAAY,CAAC;IAEpD,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC;QAC/B,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC;QACjC,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM;YAAE,OAAO;QAE9B,MAAM,IAAI,GAAG,GAAG,EAAE;YAChB,yEAAyE;YACzE,+CAA+C;YAC/C,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAC7B,CAAC,EACD,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAChE,CAAC;YACF,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,cAAc,IAAI,CAAC;YAC3C,MAAM,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;YACnC,MAAM,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;QACvC,CAAC,CAAC;QAEF,IAAI,EAAE,CAAC;QACP,KAAK,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACvC,MAAM,QAAQ,GACZ,OAAO,cAAc,KAAK,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC;QAC1E,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QACzB,OAAO,GAAG,EAAE;YACV,KAAK,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAC1C,QAAQ,EAAE,UAAU,EAAE,CAAC;QACzB,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;IAEhC,MAAM,QAAQ,GAAG,OAAO,CACtB,GAAG,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,EACrC,CAAC,IAAI,EAAE,MAAM,CAAC,CACf,CAAC;IAEF,OAAO,CACL,cACE,GAAG,EAAE,SAAS,sCAED,MAAM,sBACD,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EACjD,SAAS,EAAE,EAAE,CACX,6IAA6I,EAC7I,SAAS;YACP,CAAC,CAAC,iCAAiC;YACnC,CAAC,CAAC,kCAAkC,EACtC,UAAU,IAAI,oBAAoB,EAClC,SAAS,CACV,YAED,gBAAM,SAAS,EAAE,EAAE,CAAC,CAAC,SAAS,IAAI,kBAAkB,CAAC,aAClD,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;oBAC/B,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBAChC,OAAO,yBAAmB,OAAO,CAAC,IAAI,IAApB,KAAK,CAAuB,CAAC;oBACjD,CAAC;oBACD,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM;yBAC5B,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;yBACvC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC;oBAC1C,MAAM,UAAU,GAA2B,EAAE,CAAC;oBAC9C,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;wBACzB,IAAI,KAAK,CAAC,aAAa;4BAAE,UAAU,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC;oBACpE,CAAC,CAAC,CAAC;oBACH,OAAO,CACL,eAEE,SAAS,EAAE,EAAE,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,iBAC7C,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,SAAS,gBACjF,OAAO,CAAC,KAAK,cACf,OAAO,CAAC,GAAG,KACjB,UAAU,YAEb,OAAO,CAAC,IAAI,IAPR,KAAK,CAQL,CACR,CAAC;gBACJ,CAAC,CAAC,EAED,SAAS,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,IACzC,GACH,CACP,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CAAC,EACtC,IAAI,EACJ,SAAS,EACT,WAAW,EACX,QAAQ,EACR,SAAS,EACT,SAAS,EACT,SAAS,GAAG,KAAK,GASlB;IACC,MAAM,MAAM,GAAG,OAAO,CACpB,GAAG,EAAE,CAAC;QACJ;YACE,MAAM,EAAE,SAAS,CAAC,MAAM;YACxB,SAAS,EAAE,mBAAmB;YAC9B,UAAU,EAAE,wBAAwB;SACrC;QACD,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC;KACvB,EACD,CAAC,SAAS,CAAC,MAAM,EAAE,WAAW,CAAC,CAChC,CAAC;IACF,OAAO,CACL,KAAC,gBAAgB,IACf,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,SAAS,CAAC,UAAU,EAChC,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,SAAS,EACpB,MAAM,EAAC,4BAA4B,GACnC,CACH,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,OAAoB;IAC5C,MAAM,KAAK,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACxC,OAAO,CACL,CAAC,UAAU,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QACxC,CAAC,UAAU,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAC1C,CAAC;AACJ,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { type ReactElement } from "react";
2
+ /** A shared viewer with a caller-supplied thumbnail button. */
3
+ export declare function AgentImagePreview({ src, alt, fileName, contentClassName, overlayClassName, portalContainer, children, }: {
4
+ src: string;
5
+ alt: string;
6
+ fileName?: string;
7
+ /** Extra classes for the dialog content, e.g. a higher z-index when opened from a popover. */
8
+ contentClassName?: string;
9
+ overlayClassName?: string;
10
+ /** Where the dialog portals to; defaults to the app container. */
11
+ portalContainer?: HTMLElement | null;
12
+ children: ReactElement;
13
+ }): import("react").JSX.Element;
@@ -0,0 +1,41 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useRef, useState } from "react";
3
+ import { Button } from "../../components/ui/button";
4
+ import { Dialog, DialogContent, DialogTitle, DialogTrigger, } from "../../components/ui/dialog";
5
+ import { cn } from "../../lib/utils";
6
+ /** A shared viewer with a caller-supplied thumbnail button. */
7
+ export function AgentImagePreview({ src, alt, fileName, contentClassName, overlayClassName, portalContainer, children, }) {
8
+ const [open, setOpen] = useState(false);
9
+ const [actualSize, setActualSize] = useState(false);
10
+ const [naturalSize, setNaturalSize] = useState(null);
11
+ // Whether the image is larger than the viewport it is shown in, so that
12
+ // "Actual size" would actually reveal more detail. Assumed true until the
13
+ // image has loaded.
14
+ const [isOversized, setIsOversized] = useState(true);
15
+ const viewportRef = useRef(null);
16
+ const measure = (image) => {
17
+ const { naturalWidth, naturalHeight } = image;
18
+ if (!naturalWidth || !naturalHeight)
19
+ return;
20
+ setNaturalSize({ width: naturalWidth, height: naturalHeight });
21
+ const viewport = viewportRef.current;
22
+ if (!viewport)
23
+ return;
24
+ setIsOversized(naturalWidth > viewport.clientWidth ||
25
+ naturalHeight > viewport.clientHeight);
26
+ };
27
+ const canToggle = isOversized;
28
+ const toggleSize = () => {
29
+ if (canToggle)
30
+ setActualSize((value) => !value);
31
+ };
32
+ return (_jsxs(Dialog, { open: open, onOpenChange: (value) => {
33
+ setOpen(value);
34
+ setActualSize(false);
35
+ setNaturalSize(null);
36
+ setIsOversized(true);
37
+ }, children: [_jsx(DialogTrigger, { asChild: true, children: children }), _jsxs(DialogContent, { style: { width: "90vw", height: "85vh" }, className: contentClassName, overlayClassName: overlayClassName, portalContainer: portalContainer, children: [_jsxs("div", { className: "border-border-default flex shrink-0 flex-wrap items-center gap-3 border-b p-4 pr-14", children: [_jsxs("div", { className: "flex min-w-0 flex-1 items-baseline gap-2", children: [_jsx(DialogTitle, { className: "min-w-0 truncate text-base", children: fileName || alt || "Image" }), naturalSize && (_jsxs("span", { className: "text-neutral-grey-50 shrink-0 text-xs", children: [naturalSize.width, "\u00D7", naturalSize.height] }))] }), _jsx(Button, { type: "button", variant: "outline", size: "sm", "aria-pressed": actualSize, disabled: !canToggle, onClick: toggleSize, children: actualSize ? "Fit to window" : "Actual size" }), _jsx(Button, { variant: "outline", size: "sm", asChild: true, children: _jsx("a", { href: src, download: fileName || "image", children: "Download" }) })] }), _jsx("div", { ref: viewportRef, className: cn("bg-neutral-grey-5 min-h-0 flex-1 overflow-auto p-4", !actualSize && "flex items-center justify-center"), children: _jsx("img", { src: src, alt: alt, onLoad: (event) => measure(event.currentTarget), onClick: toggleSize, className: cn(actualSize
38
+ ? "block max-w-none cursor-zoom-out"
39
+ : "max-h-full max-w-full object-contain", !actualSize && canToggle && "cursor-zoom-in") }) })] })] }));
40
+ }
41
+ //# sourceMappingURL=AgentImagePreview.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AgentImagePreview.js","sourceRoot":"","sources":["../../../src/editor/ai/AgentImagePreview.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAqB,MAAM,OAAO,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EACL,MAAM,EACN,aAAa,EACb,WAAW,EACX,aAAa,GACd,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAErC,+DAA+D;AAC/D,MAAM,UAAU,iBAAiB,CAAC,EAChC,GAAG,EACH,GAAG,EACH,QAAQ,EACR,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,QAAQ,GAWT;IACC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxC,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACpD,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAGpC,IAAI,CAAC,CAAC;IAChB,wEAAwE;IACxE,0EAA0E;IAC1E,oBAAoB;IACpB,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IACrD,MAAM,WAAW,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAEjD,MAAM,OAAO,GAAG,CAAC,KAAuB,EAAE,EAAE;QAC1C,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,GAAG,KAAK,CAAC;QAC9C,IAAI,CAAC,YAAY,IAAI,CAAC,aAAa;YAAE,OAAO;QAC5C,cAAc,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;QAC/D,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC;QACrC,IAAI,CAAC,QAAQ;YAAE,OAAO;QACtB,cAAc,CACZ,YAAY,GAAG,QAAQ,CAAC,WAAW;YACjC,aAAa,GAAG,QAAQ,CAAC,YAAY,CACxC,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,WAAW,CAAC;IAC9B,MAAM,UAAU,GAAG,GAAG,EAAE;QACtB,IAAI,SAAS;YAAE,aAAa,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;IAClD,CAAC,CAAC;IAEF,OAAO,CACL,MAAC,MAAM,IACL,IAAI,EAAE,IAAI,EACV,YAAY,EAAE,CAAC,KAAK,EAAE,EAAE;YACtB,OAAO,CAAC,KAAK,CAAC,CAAC;YACf,aAAa,CAAC,KAAK,CAAC,CAAC;YACrB,cAAc,CAAC,IAAI,CAAC,CAAC;YACrB,cAAc,CAAC,IAAI,CAAC,CAAC;QACvB,CAAC,aAED,KAAC,aAAa,IAAC,OAAO,kBAAE,QAAQ,GAAiB,EACjD,MAAC,aAAa,IACZ,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EACxC,SAAS,EAAE,gBAAgB,EAC3B,gBAAgB,EAAE,gBAAgB,EAClC,eAAe,EAAE,eAAe,aAEhC,eAAK,SAAS,EAAC,qFAAqF,aAClG,eAAK,SAAS,EAAC,0CAA0C,aACvD,KAAC,WAAW,IAAC,SAAS,EAAC,4BAA4B,YAChD,QAAQ,IAAI,GAAG,IAAI,OAAO,GACf,EACb,WAAW,IAAI,CACd,gBAAM,SAAS,EAAC,uCAAuC,aACpD,WAAW,CAAC,KAAK,YAAG,WAAW,CAAC,MAAM,IAClC,CACR,IACG,EACN,KAAC,MAAM,IACL,IAAI,EAAC,QAAQ,EACb,OAAO,EAAC,SAAS,EACjB,IAAI,EAAC,IAAI,kBACK,UAAU,EACxB,QAAQ,EAAE,CAAC,SAAS,EACpB,OAAO,EAAE,UAAU,YAElB,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,aAAa,GACtC,EACT,KAAC,MAAM,IAAC,OAAO,EAAC,SAAS,EAAC,IAAI,EAAC,IAAI,EAAC,OAAO,kBACzC,YAAG,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,IAAI,OAAO,yBAEvC,GACG,IACL,EACN,cACE,GAAG,EAAE,WAAW,EAChB,SAAS,EAAE,EAAE,CACX,oDAAoD,EACpD,CAAC,UAAU,IAAI,kCAAkC,CAClD,YAED,cACE,GAAG,EAAE,GAAG,EACR,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,EAC/C,OAAO,EAAE,UAAU,EACnB,SAAS,EAAE,EAAE,CACX,UAAU;gCACR,CAAC,CAAC,kCAAkC;gCACpC,CAAC,CAAC,sCAAsC,EAC1C,CAAC,UAAU,IAAI,SAAS,IAAI,gBAAgB,CAC7C,GACD,GACE,IACQ,IACT,CACV,CAAC;AACJ,CAAC"}
@@ -0,0 +1,28 @@
1
+ import type { EditOperation } from "../../types";
2
+ import type { FieldDescriptor, ItemDescriptor, Page } from "../pageModel";
3
+ export type ActivityRowNavigation =
4
+ /** The change is rendered on the open page: scroll to it, stay put. */
5
+ {
6
+ kind: "scroll";
7
+ componentId: string;
8
+ field?: FieldDescriptor;
9
+ }
10
+ /** Not on this page (or no page open): open the item in the editor. */
11
+ | {
12
+ kind: "load";
13
+ };
14
+ /**
15
+ * What a click on a "Changes" row should do. Leaving the page to load an item
16
+ * the user is already looking at loses their place, so a change that maps to a
17
+ * component on the open page scrolls to it — to the edited field where the
18
+ * geometry is known, with the component as the fallback target.
19
+ *
20
+ * Rows are grouped by main item, so an edit to a component's embedded item is
21
+ * filed under the page. The row item alone would therefore resolve to the page
22
+ * root (a scroll to the top, which looks like nothing happened) — the real
23
+ * component comes from the operations themselves.
24
+ */
25
+ export declare function resolveActivityRowNavigation(summary: {
26
+ item?: ItemDescriptor;
27
+ operations?: EditOperation[];
28
+ }, page: Page | undefined): ActivityRowNavigation;