@parhelia/core 0.1.12880 → 0.1.12881

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 (291) hide show
  1. package/dist/components/ui/card.d.ts +3 -1
  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 +6 -5
  6. package/dist/config/config.js.map +1 -1
  7. package/dist/config/types.d.ts +0 -7
  8. package/dist/config/types.js.map +1 -1
  9. package/dist/editor/FieldActionsOverlay.d.ts +0 -1
  10. package/dist/editor/FieldActionsOverlay.js +1 -45
  11. package/dist/editor/FieldActionsOverlay.js.map +1 -1
  12. package/dist/editor/FieldListField.d.ts +1 -1
  13. package/dist/editor/FieldListField.js +20 -18
  14. package/dist/editor/FieldListField.js.map +1 -1
  15. package/dist/editor/ImageEditor.d.ts +6 -1
  16. package/dist/editor/ImageEditor.js +19 -3
  17. package/dist/editor/ImageEditor.js.map +1 -1
  18. package/dist/editor/PictureEditor.d.ts +2 -1
  19. package/dist/editor/PictureEditor.js +5 -14
  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 +1 -11
  24. package/dist/editor/ai/GuidanceOverlay.js.map +1 -1
  25. package/dist/editor/ai/InlineAiDialog.js +22 -11
  26. package/dist/editor/ai/InlineAiDialog.js.map +1 -1
  27. package/dist/editor/ai/InlineAiTrigger.js +17 -57
  28. package/dist/editor/ai/InlineAiTrigger.js.map +1 -1
  29. package/dist/editor/ai/dialogs/capturePageDom.js +66 -36
  30. package/dist/editor/ai/dialogs/capturePageDom.js.map +1 -1
  31. package/dist/editor/ai/dialogs/capturePageScreenshot.js +281 -162
  32. package/dist/editor/ai/dialogs/capturePageScreenshot.js.map +1 -1
  33. package/dist/editor/ai/terminal/agentSessionState.d.ts +3 -0
  34. package/dist/editor/ai/terminal/agentSessionState.js +3 -1
  35. package/dist/editor/ai/terminal/agentSessionState.js.map +1 -1
  36. package/dist/editor/ai/terminal/agentStartRequest.d.ts +2 -1
  37. package/dist/editor/ai/terminal/agentStartRequest.js +2 -1
  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 +7 -0
  42. package/dist/editor/ai/terminal/components/AgentDocumentList.js +55 -13
  43. package/dist/editor/ai/terminal/components/AgentDocumentList.js.map +1 -1
  44. package/dist/editor/ai/terminal/components/AgentEditHistoryButton.d.ts +5 -0
  45. package/dist/editor/ai/terminal/components/AgentEditHistoryButton.js +12 -0
  46. package/dist/editor/ai/terminal/components/AgentEditHistoryButton.js.map +1 -0
  47. package/dist/editor/ai/terminal/components/AgentFullPromptControls.d.ts +3 -1
  48. package/dist/editor/ai/terminal/components/AgentFullPromptControls.js +22 -14
  49. package/dist/editor/ai/terminal/components/AgentFullPromptControls.js.map +1 -1
  50. package/dist/editor/ai/terminal/components/AgentModeSelector.js +4 -4
  51. package/dist/editor/ai/terminal/components/AgentModeSelector.js.map +1 -1
  52. package/dist/editor/ai/terminal/components/AgentPromptActionButtons.js +4 -4
  53. package/dist/editor/ai/terminal/components/AgentPromptActionButtons.js.map +1 -1
  54. package/dist/editor/ai/terminal/components/AgentPromptComposer.js +1 -1
  55. package/dist/editor/ai/terminal/components/AgentPromptComposer.js.map +1 -1
  56. package/dist/editor/ai/terminal/components/AgentPromptInputArea.d.ts +2 -1
  57. package/dist/editor/ai/terminal/components/AgentPromptInputArea.js +8 -11
  58. package/dist/editor/ai/terminal/components/AgentPromptInputArea.js.map +1 -1
  59. package/dist/editor/ai/terminal/components/AgentPromptTrayPopovers.d.ts +1 -4
  60. package/dist/editor/ai/terminal/components/AgentPromptTrayPopovers.js +31 -14
  61. package/dist/editor/ai/terminal/components/AgentPromptTrayPopovers.js.map +1 -1
  62. package/dist/editor/ai/terminal/components/AgentSettingsPopover.js +1 -1
  63. package/dist/editor/ai/terminal/components/AgentSettingsPopover.js.map +1 -1
  64. package/dist/editor/ai/terminal/components/AgentTerminalFullLayout.d.ts +2 -1
  65. package/dist/editor/ai/terminal/components/AgentTerminalFullLayout.js +2 -4
  66. package/dist/editor/ai/terminal/components/AgentTerminalFullLayout.js.map +1 -1
  67. package/dist/editor/ai/terminal/components/AgentTerminalMessageGroups.js +1 -1
  68. package/dist/editor/ai/terminal/components/AgentTerminalMessageGroups.js.map +1 -1
  69. package/dist/editor/ai/terminal/components/AgentTerminalView.js +13 -2
  70. package/dist/editor/ai/terminal/components/AgentTerminalView.js.map +1 -1
  71. package/dist/editor/ai/terminal/components/AiResponseMessage.js +16 -14
  72. package/dist/editor/ai/terminal/components/AiResponseMessage.js.map +1 -1
  73. package/dist/editor/ai/terminal/components/ContextInfoBar.js +22 -2
  74. package/dist/editor/ai/terminal/components/ContextInfoBar.js.map +1 -1
  75. package/dist/editor/ai/terminal/components/QueuedPromptsPanel.js +37 -26
  76. package/dist/editor/ai/terminal/components/QueuedPromptsPanel.js.map +1 -1
  77. package/dist/editor/ai/terminal/components/UserMessage.d.ts +2 -1
  78. package/dist/editor/ai/terminal/components/UserMessage.js +144 -8
  79. package/dist/editor/ai/terminal/components/UserMessage.js.map +1 -1
  80. package/dist/editor/ai/terminal/useAgentPromptComposerHandlers.js +1 -1
  81. package/dist/editor/ai/terminal/useAgentPromptComposerHandlers.js.map +1 -1
  82. package/dist/editor/ai/terminal/useAgentSessionSync.d.ts +1 -0
  83. package/dist/editor/ai/terminal/useAgentSubmitHandlers.d.ts +3 -1
  84. package/dist/editor/ai/terminal/useAgentSubmitHandlers.js +9 -3
  85. package/dist/editor/ai/terminal/useAgentSubmitHandlers.js.map +1 -1
  86. package/dist/editor/ai/terminal/useAgentTerminalController.js +7 -0
  87. package/dist/editor/ai/terminal/useAgentTerminalController.js.map +1 -1
  88. package/dist/editor/ai/terminal/useAgentTerminalUiState.js +1 -1
  89. package/dist/editor/ai/terminal/useAgentTerminalUiState.js.map +1 -1
  90. package/dist/editor/ai/terminal/useAgentUserMessageSocketHandler.js +3 -1
  91. package/dist/editor/ai/terminal/useAgentUserMessageSocketHandler.js.map +1 -1
  92. package/dist/editor/ai/useInlineAiPosition.d.ts +1 -1
  93. package/dist/editor/ai/useInlineAiPosition.js +22 -52
  94. package/dist/editor/ai/useInlineAiPosition.js.map +1 -1
  95. package/dist/editor/ai-image-editor/AiImageResultOverlay.js +30 -62
  96. package/dist/editor/ai-image-editor/AiImageResultOverlay.js.map +1 -1
  97. package/dist/editor/bridge/BridgeClient.d.ts +80 -0
  98. package/dist/editor/bridge/BridgeClient.js +417 -0
  99. package/dist/editor/bridge/BridgeClient.js.map +1 -0
  100. package/dist/editor/client/EditorShell.d.ts +5 -1
  101. package/dist/editor/client/EditorShell.js +282 -126
  102. package/dist/editor/client/EditorShell.js.map +1 -1
  103. package/dist/editor/client/editContext.d.ts +33 -5
  104. package/dist/editor/client/editContext.js.map +1 -1
  105. package/dist/editor/client/hooks/useSocketMessageHandler.js +14 -17
  106. package/dist/editor/client/hooks/useSocketMessageHandler.js.map +1 -1
  107. package/dist/editor/client/itemsRepository.d.ts +2 -0
  108. package/dist/editor/client/itemsRepository.js +15 -8
  109. package/dist/editor/client/itemsRepository.js.map +1 -1
  110. package/dist/editor/client/operations.d.ts +1 -1
  111. package/dist/editor/client/operations.js +41 -17
  112. package/dist/editor/client/operations.js.map +1 -1
  113. package/dist/editor/client/pageModelBuilder.js +24 -7
  114. package/dist/editor/client/pageModelBuilder.js.map +1 -1
  115. package/dist/editor/field-types/MultiLineText.js +10 -3
  116. package/dist/editor/field-types/MultiLineText.js.map +1 -1
  117. package/dist/editor/field-types/RawEditor.js +8 -1
  118. package/dist/editor/field-types/RawEditor.js.map +1 -1
  119. package/dist/editor/field-types/RichTextEditorComponent.js +156 -45
  120. package/dist/editor/field-types/RichTextEditorComponent.js.map +1 -1
  121. package/dist/editor/field-types/SingleLineText.js +10 -3
  122. package/dist/editor/field-types/SingleLineText.js.map +1 -1
  123. package/dist/editor/field-types/richtext/components/ReactSlate.js +8 -2
  124. package/dist/editor/field-types/richtext/components/ReactSlate.js.map +1 -1
  125. package/dist/editor/field-types/richtext/contextMenuFactory.d.ts +1 -2
  126. package/dist/editor/field-types/richtext/contextMenuFactory.js +100 -303
  127. package/dist/editor/field-types/richtext/contextMenuFactory.js.map +1 -1
  128. package/dist/editor/field-types/richtext/types.d.ts +2 -0
  129. package/dist/editor/field-types/richtext/types.js.map +1 -1
  130. package/dist/editor/field-types/useFormFieldCaretPresence.d.ts +13 -0
  131. package/dist/editor/field-types/useFormFieldCaretPresence.js +92 -0
  132. package/dist/editor/field-types/useFormFieldCaretPresence.js.map +1 -0
  133. package/dist/editor/media-selector/TreeSelector.js +15 -15
  134. package/dist/editor/media-selector/TreeSelector.js.map +1 -1
  135. package/dist/editor/menubar/PageSelector.js +8 -2
  136. package/dist/editor/menubar/PageSelector.js.map +1 -1
  137. package/dist/editor/menubar/VersionPreviewCard.js +4 -249
  138. package/dist/editor/menubar/VersionPreviewCard.js.map +1 -1
  139. package/dist/editor/menubar/toolbar-sections/EditControls.js +2 -2
  140. package/dist/editor/menubar/toolbar-sections/EditControls.js.map +1 -1
  141. package/dist/editor/menubar/toolbar-sections/ManualBrowser.d.ts +0 -10
  142. package/dist/editor/menubar/toolbar-sections/ManualBrowser.js +63 -462
  143. package/dist/editor/menubar/toolbar-sections/ManualBrowser.js.map +1 -1
  144. package/dist/editor/menubar/toolbar-sections/ViewportControls.js +1 -1
  145. package/dist/editor/page-editor-chrome/BridgeInlineFormatOverlay.d.ts +6 -0
  146. package/dist/editor/page-editor-chrome/BridgeInlineFormatOverlay.js +123 -0
  147. package/dist/editor/page-editor-chrome/BridgeInlineFormatOverlay.js.map +1 -0
  148. package/dist/editor/page-editor-chrome/CommentHighlightings.d.ts +5 -2
  149. package/dist/editor/page-editor-chrome/CommentHighlightings.js +340 -215
  150. package/dist/editor/page-editor-chrome/CommentHighlightings.js.map +1 -1
  151. package/dist/editor/page-editor-chrome/FeedbackHighlightBadge.d.ts +5 -1
  152. package/dist/editor/page-editor-chrome/FeedbackHighlightBadge.js +11 -4
  153. package/dist/editor/page-editor-chrome/FeedbackHighlightBadge.js.map +1 -1
  154. package/dist/editor/page-editor-chrome/FieldActionIndicator.js +21 -13
  155. package/dist/editor/page-editor-chrome/FieldActionIndicator.js.map +1 -1
  156. package/dist/editor/page-editor-chrome/FieldEditedIndicator.js +23 -29
  157. package/dist/editor/page-editor-chrome/FieldEditedIndicator.js.map +1 -1
  158. package/dist/editor/page-editor-chrome/FrameMenu.js +110 -19
  159. package/dist/editor/page-editor-chrome/FrameMenu.js.map +1 -1
  160. package/dist/editor/page-editor-chrome/LockedFieldIndicator.d.ts +3 -2
  161. package/dist/editor/page-editor-chrome/LockedFieldIndicator.js +148 -45
  162. package/dist/editor/page-editor-chrome/LockedFieldIndicator.js.map +1 -1
  163. package/dist/editor/page-editor-chrome/PageEditorChrome.d.ts +2 -0
  164. package/dist/editor/page-editor-chrome/PageEditorChrome.js +25 -21
  165. package/dist/editor/page-editor-chrome/PageEditorChrome.js.map +1 -1
  166. package/dist/editor/page-editor-chrome/PictureEditorOverlay.js +163 -128
  167. package/dist/editor/page-editor-chrome/PictureEditorOverlay.js.map +1 -1
  168. package/dist/editor/page-editor-chrome/PlaceholderDropZone.d.ts +1 -1
  169. package/dist/editor/page-editor-chrome/PlaceholderDropZone.js +6 -3
  170. package/dist/editor/page-editor-chrome/PlaceholderDropZone.js.map +1 -1
  171. package/dist/editor/page-editor-chrome/PlaceholderDropZones.d.ts +1 -2
  172. package/dist/editor/page-editor-chrome/PlaceholderDropZones.js +83 -146
  173. package/dist/editor/page-editor-chrome/PlaceholderDropZones.js.map +1 -1
  174. package/dist/editor/page-editor-chrome/SuggestionHighlightings.d.ts +5 -2
  175. package/dist/editor/page-editor-chrome/SuggestionHighlightings.js +144 -63
  176. package/dist/editor/page-editor-chrome/SuggestionHighlightings.js.map +1 -1
  177. package/dist/editor/page-editor-chrome/VersionDiffHighlightings.d.ts +1 -2
  178. package/dist/editor/page-editor-chrome/VersionDiffHighlightings.js +101 -30
  179. package/dist/editor/page-editor-chrome/VersionDiffHighlightings.js.map +1 -1
  180. package/dist/editor/page-editor-chrome/overlay/IframeOverlayProvider.d.ts +10 -1
  181. package/dist/editor/page-editor-chrome/overlay/IframeOverlayProvider.js +105 -122
  182. package/dist/editor/page-editor-chrome/overlay/IframeOverlayProvider.js.map +1 -1
  183. package/dist/editor/page-editor-chrome/overlay/geometry.d.ts +11 -4
  184. package/dist/editor/page-editor-chrome/overlay/geometry.js +139 -36
  185. package/dist/editor/page-editor-chrome/overlay/geometry.js.map +1 -1
  186. package/dist/editor/page-editor-chrome/useBridgeInlineEditing.d.ts +26 -0
  187. package/dist/editor/page-editor-chrome/useBridgeInlineEditing.js +222 -0
  188. package/dist/editor/page-editor-chrome/useBridgeInlineEditing.js.map +1 -0
  189. package/dist/editor/page-viewer/EditorForm.js +17 -1
  190. package/dist/editor/page-viewer/EditorForm.js.map +1 -1
  191. package/dist/editor/page-viewer/MiniMap.d.ts +2 -2
  192. package/dist/editor/page-viewer/MiniMap.js +176 -364
  193. package/dist/editor/page-viewer/MiniMap.js.map +1 -1
  194. package/dist/editor/page-viewer/PageViewer.js +40 -13
  195. package/dist/editor/page-viewer/PageViewer.js.map +1 -1
  196. package/dist/editor/page-viewer/PageViewerFrame.d.ts +0 -5
  197. package/dist/editor/page-viewer/PageViewerFrame.js +1529 -1511
  198. package/dist/editor/page-viewer/PageViewerFrame.js.map +1 -1
  199. package/dist/editor/page-viewer/bridgeFieldPatch.d.ts +20 -0
  200. package/dist/editor/page-viewer/bridgeFieldPatch.js +33 -0
  201. package/dist/editor/page-viewer/bridgeFieldPatch.js.map +1 -0
  202. package/dist/editor/page-viewer/pageViewContext.d.ts +32 -0
  203. package/dist/editor/page-viewer/pageViewContext.js +37 -6
  204. package/dist/editor/page-viewer/pageViewContext.js.map +1 -1
  205. package/dist/editor/reviews/Comment.d.ts +2 -1
  206. package/dist/editor/reviews/Comment.js +9 -4
  207. package/dist/editor/reviews/Comment.js.map +1 -1
  208. package/dist/editor/reviews/CommentEditor.js +1 -1
  209. package/dist/editor/reviews/CommentEditor.js.map +1 -1
  210. package/dist/editor/reviews/CommentPopover.js +68 -9
  211. package/dist/editor/reviews/CommentPopover.js.map +1 -1
  212. package/dist/editor/reviews/CommentView.js +24 -4
  213. package/dist/editor/reviews/CommentView.js.map +1 -1
  214. package/dist/editor/reviews/Comments.d.ts +0 -2
  215. package/dist/editor/reviews/Comments.js +29 -30
  216. package/dist/editor/reviews/Comments.js.map +1 -1
  217. package/dist/editor/reviews/FeedbackCard.d.ts +4 -2
  218. package/dist/editor/reviews/FeedbackCard.js +5 -5
  219. package/dist/editor/reviews/FeedbackCard.js.map +1 -1
  220. package/dist/editor/reviews/SuggestedEdit.js +4 -6
  221. package/dist/editor/reviews/SuggestedEdit.js.map +1 -1
  222. package/dist/editor/reviews/SuggestionDisplayPopover.js +3 -2
  223. package/dist/editor/reviews/SuggestionDisplayPopover.js.map +1 -1
  224. package/dist/editor/reviews/commentAi.js +96 -27
  225. package/dist/editor/reviews/commentAi.js.map +1 -1
  226. package/dist/editor/reviews/commentTransientSelection.d.ts +23 -0
  227. package/dist/editor/reviews/commentTransientSelection.js +7 -0
  228. package/dist/editor/reviews/commentTransientSelection.js.map +1 -0
  229. package/dist/editor/reviews/feedbackOrdering.d.ts +5 -0
  230. package/dist/editor/reviews/feedbackOrdering.js +27 -0
  231. package/dist/editor/reviews/feedbackOrdering.js.map +1 -0
  232. package/dist/editor/reviews/feedbackSelection.js +32 -4
  233. package/dist/editor/reviews/feedbackSelection.js.map +1 -1
  234. package/dist/editor/reviews/suggestedEditState.d.ts +12 -0
  235. package/dist/editor/reviews/suggestedEditState.js +90 -0
  236. package/dist/editor/reviews/suggestedEditState.js.map +1 -0
  237. package/dist/editor/reviews/suggestionDisplayValue.d.ts +43 -0
  238. package/dist/editor/reviews/suggestionDisplayValue.js +93 -0
  239. package/dist/editor/reviews/suggestionDisplayValue.js.map +1 -0
  240. package/dist/editor/services/agentService.d.ts +15 -0
  241. package/dist/editor/services/agentService.js +11 -1
  242. package/dist/editor/services/agentService.js.map +1 -1
  243. package/dist/editor/services/reviewsService.d.ts +2 -2
  244. package/dist/editor/services/reviewsService.js.map +1 -1
  245. package/dist/editor/settings/SettingsView.js +2 -2
  246. package/dist/editor/settings/SettingsView.js.map +1 -1
  247. package/dist/editor/settings/panels/ProjectTemplatesPanel.js +1 -1
  248. package/dist/editor/settings/panels/ProjectTemplatesPanel.js.map +1 -1
  249. package/dist/editor/settings/panels/ProvidersPanel.js +2 -3
  250. package/dist/editor/settings/panels/ProvidersPanel.js.map +1 -1
  251. package/dist/editor/sidebar/MorePanelsButton.js +1 -1
  252. package/dist/editor/sidebar/MorePanelsButton.js.map +1 -1
  253. package/dist/editor/sidebar/Workbox.js +1 -1
  254. package/dist/editor/sidebar/Workbox.js.map +1 -1
  255. package/dist/editor/ui/IconSelectorDialog.js +1 -1
  256. package/dist/editor/ui/IconSelectorDialog.js.map +1 -1
  257. package/dist/editor/ui/SimpleIconButton.d.ts +2 -2
  258. package/dist/editor/ui/SimpleIconButton.js +1 -1
  259. package/dist/editor/ui/SimpleIconButton.js.map +1 -1
  260. package/dist/editor/utils.d.ts +1 -17
  261. package/dist/editor/utils.js +0 -143
  262. package/dist/editor/utils.js.map +1 -1
  263. package/dist/editor/version-diff/versionDiffTargets.d.ts +3 -8
  264. package/dist/editor/version-diff/versionDiffTargets.js +37 -94
  265. package/dist/editor/version-diff/versionDiffTargets.js.map +1 -1
  266. package/dist/revision.d.ts +2 -2
  267. package/dist/revision.js +2 -2
  268. package/dist/splash-screen/DialogWrappers.js +2 -2
  269. package/dist/splash-screen/DialogWrappers.js.map +1 -1
  270. package/dist/splash-screen/ModernSplashScreen.js +11 -3
  271. package/dist/splash-screen/ModernSplashScreen.js.map +1 -1
  272. package/dist/splash-screen/NewPage.js +7 -5
  273. package/dist/splash-screen/NewPage.js.map +1 -1
  274. package/dist/splash-screen/OpenPage.js +5 -3
  275. package/dist/splash-screen/OpenPage.js.map +1 -1
  276. package/dist/splash-screen/RecentPages.js +3 -3
  277. package/dist/splash-screen/RecentPages.js.map +1 -1
  278. package/package.json +2 -1
  279. package/styles.css +49 -0
  280. package/dist/editor/page-editor-chrome/InlineEditor.d.ts +0 -7
  281. package/dist/editor/page-editor-chrome/InlineEditor.js +0 -1719
  282. package/dist/editor/page-editor-chrome/InlineEditor.js.map +0 -1
  283. package/dist/editor/page-editor-chrome/overlay/iframeAccess.d.ts +0 -2
  284. package/dist/editor/page-editor-chrome/overlay/iframeAccess.js +0 -21
  285. package/dist/editor/page-editor-chrome/overlay/iframeAccess.js.map +0 -1
  286. package/dist/editor/page-editor-chrome/useInlineAICompletion.d.ts +0 -7
  287. package/dist/editor/page-editor-chrome/useInlineAICompletion.js +0 -758
  288. package/dist/editor/page-editor-chrome/useInlineAICompletion.js.map +0 -1
  289. package/dist/editor/page-viewer/pageModelSkeletonBuilder.d.ts +0 -3
  290. package/dist/editor/page-viewer/pageModelSkeletonBuilder.js +0 -796
  291. package/dist/editor/page-viewer/pageModelSkeletonBuilder.js.map +0 -1
@@ -7,110 +7,115 @@ import { LinkEditorDialog, } from "../../LinkEditorDialog";
7
7
  import { normalizeUrl } from "../../utils/urlUtils";
8
8
  import { generateInternalLinkUrl } from "./utils/plugins";
9
9
  import { SLATE_MARKS, } from "./types";
10
- /** Wraps LinkEditorDialog for use with editContext.openDialog (onClose contract). */
11
10
  function InlineLinkDialogWrapper({ linkValue, onClose, }) {
12
11
  return (_jsx(LinkEditorDialog, { linkValue: linkValue, onOk: (link) => onClose(link), onCancel: () => onClose(null) }));
13
12
  }
14
- // Helper function to execute formatting commands on the contentEditable element in iframe
15
- function executeFormatCommand(command, iframeDocument, value) {
16
- try {
17
- // Focus the contentEditable element first
18
- const activeElement = iframeDocument.activeElement;
19
- if (activeElement &&
20
- activeElement.contentEditable === "true") {
21
- activeElement.focus();
22
- }
23
- // Execute the command on the iframe document
24
- console.log("Executing command:", command, value);
25
- return iframeDocument.execCommand(command, false, value);
26
- }
27
- catch (error) {
28
- console.error(`Failed to execute command: ${command}`, error);
29
- return false;
30
- }
13
+ function getActivePageViewContext(editContext) {
14
+ return editContext.getActiveSlotContext()?.primaryPageViewContext;
31
15
  }
32
- // Helper function to get the current contentEditable element for this field in iframe
33
- function getFieldEditableElement(fieldId, iframeDocument) {
34
- // Look for the contentEditable element with the matching field ID in iframe
35
- const element = iframeDocument.querySelector(`[data-fieldid="${fieldId}"][contenteditable="true"]`);
36
- return element;
16
+ function normalizeFieldKey(value) {
17
+ return (value || "").replace(/[{}-]/g, "").toLowerCase();
37
18
  }
38
- function captureIframeSelection(iframeDocument) {
39
- const selection = iframeDocument.getSelection();
40
- if (!selection || selection.rangeCount === 0) {
41
- return null;
42
- }
43
- const ranges = [];
44
- for (let index = 0; index < selection.rangeCount; index += 1) {
45
- ranges.push(selection.getRangeAt(index).cloneRange());
46
- }
47
- return {
48
- ranges,
49
- text: selection.toString(),
50
- };
19
+ function fieldKeysMatch(left, right) {
20
+ const normalizedLeft = normalizeFieldKey(left);
21
+ const normalizedRight = normalizeFieldKey(right);
22
+ return (!!normalizedLeft &&
23
+ !!normalizedRight &&
24
+ normalizedLeft === normalizedRight);
51
25
  }
52
- function restoreIframeSelection(iframeDocument, savedSelection) {
53
- const selection = iframeDocument.getSelection();
54
- if (!selection || !savedSelection?.ranges.length) {
55
- return false;
56
- }
57
- selection.removeAllRanges();
58
- savedSelection.ranges.forEach((range) => selection.addRange(range));
59
- return true;
26
+ function selectedRangeMatchesField(selectedRange, field) {
27
+ return !!(selectedRange?.text &&
28
+ fieldKeysMatch(selectedRange.itemId, field.descriptor.item.id) &&
29
+ (fieldKeysMatch(selectedRange.fieldId, field.id) ||
30
+ fieldKeysMatch(selectedRange.fieldId, field.name) ||
31
+ fieldKeysMatch(selectedRange.fieldId, field.displayName)));
60
32
  }
61
- function insertLinkAtSelection(iframeDocument, element, savedSelection, href, link) {
62
- element.focus();
63
- restoreIframeSelection(iframeDocument, savedSelection);
64
- const selection = iframeDocument.getSelection();
65
- if (!selection || selection.rangeCount === 0) {
66
- return false;
67
- }
68
- const range = selection.getRangeAt(0);
69
- const linkElement = iframeDocument.createElement("a");
70
- linkElement.href = href;
71
- const target = link.target || (link.type === "external" ? "_self" : "");
72
- if (target) {
73
- linkElement.target = target;
74
- }
75
- if (link.queryString) {
76
- linkElement.setAttribute("data-querystring", link.queryString);
77
- }
78
- linkElement.textContent =
79
- link.text ||
80
- (link.type === "external" ? href : savedSelection?.text) ||
81
- href;
82
- range.deleteContents();
83
- range.insertNode(linkElement);
84
- const afterLinkRange = iframeDocument.createRange();
85
- afterLinkRange.setStartAfter(linkElement);
86
- afterLinkRange.collapse(true);
87
- selection.removeAllRanges();
88
- selection.addRange(afterLinkRange);
89
- return true;
33
+ function bridgeInteractionMatchesField(interaction, field) {
34
+ return !!(interaction?.fieldId &&
35
+ fieldKeysMatch(interaction.item?.id, field.descriptor.item.id) &&
36
+ (fieldKeysMatch(interaction.fieldId, field.id) ||
37
+ fieldKeysMatch(interaction.fieldId, field.name) ||
38
+ fieldKeysMatch(interaction.fieldId, field.displayName)));
90
39
  }
91
- // Trigger a save by calling the editContext operations directly
92
- // Wait for DOM to update before reading content to avoid race conditions
93
- async function triggerSave(element, field, editContext, originatingSlotId) {
94
- try {
95
- // Wait for DOM updates to complete before reading content
96
- await new Promise((resolve) => {
97
- // Use a shorter delay - just enough for execCommand to complete
98
- setTimeout(resolve, 50);
99
- });
100
- const isRichText = element.getAttribute("data-is-richtext") === "true";
101
- const value = isRichText ? element.innerHTML : element.innerText;
102
- await editContext.operations.editField({
103
- field: field.descriptor,
104
- value: value,
105
- refresh: "none",
106
- originatingSlotId,
107
- });
40
+ function getExecCommandForMark(markId) {
41
+ switch (markId) {
42
+ case "bold":
43
+ return "bold";
44
+ case "italic":
45
+ return "italic";
46
+ case "underline":
47
+ return "underline";
48
+ case "strikethrough":
49
+ return "strikeThrough";
50
+ case "subscript":
51
+ return "subscript";
52
+ case "superscript":
53
+ return "superscript";
54
+ default:
55
+ return undefined;
108
56
  }
109
- catch (error) {
110
- console.error("Failed to save field value:", error);
57
+ }
58
+ async function loadParsedRichTextProfile(field) {
59
+ const richTextField = field;
60
+ const profilePath = richTextField.customProperties?.profile;
61
+ const contextItemId = field.descriptor.item.id;
62
+ const serviceCall = (path) => getRichTextProfile(path, contextItemId);
63
+ return getCachedParsedProfile(profilePath, serviceCall);
64
+ }
65
+ async function createBridgeRichTextContextMenu(field, editContext) {
66
+ const pageViewContext = getActivePageViewContext(editContext);
67
+ const selectedRange = editContext.selectedRange;
68
+ const bridgeInteraction = pageViewContext?.bridgeInteraction;
69
+ const elementKey = selectedRange?.elementKey ?? bridgeInteraction?.elementKey;
70
+ const fieldId = selectedRange?.fieldId ?? bridgeInteraction?.fieldId;
71
+ if (!pageViewContext?.requestBridgeRichTextCommand || !elementKey || !fieldId) {
72
+ return [];
111
73
  }
74
+ const profile = await loadParsedRichTextProfile(field);
75
+ const sendCommand = (command, value) => {
76
+ pageViewContext.requestBridgeRichTextCommand?.({
77
+ elementKey,
78
+ fieldId,
79
+ command,
80
+ value,
81
+ });
82
+ };
83
+ const canTargetField = selectedRangeMatchesField(selectedRange, field) ||
84
+ bridgeInteractionMatchesField(bridgeInteraction, field);
85
+ return createSlateRichTextContextMenu({
86
+ field,
87
+ editContext,
88
+ profile,
89
+ canAddLink: canTargetField,
90
+ isLinkActive: false,
91
+ onToggleMark: (markId) => {
92
+ const command = getExecCommandForMark(markId);
93
+ if (command)
94
+ sendCommand(command);
95
+ },
96
+ onAddLink: async () => {
97
+ if (!editContext.openDialog)
98
+ return;
99
+ const link = await editContext.openDialog(InlineLinkDialogWrapper, {
100
+ linkValue: {
101
+ type: "external",
102
+ url: "",
103
+ target: "_blank",
104
+ },
105
+ });
106
+ if (!link)
107
+ return;
108
+ const href = link.type === "internal"
109
+ ? generateInternalLinkUrl(link.itemId, link.targetItemLongId, link.queryString)
110
+ : normalizeUrl(link.url || "#");
111
+ sendCommand("createLink", href);
112
+ },
113
+ onStripFormatting: () => {
114
+ sendCommand("removeFormat");
115
+ },
116
+ });
112
117
  }
113
- export function createSlateRichTextContextMenu({ field, editContext, profile, onToggleMark, onAddLink, onStripFormatting, canAddLink, isLinkActive, originatingSlotId, }) {
118
+ export function createSlateRichTextContextMenu({ field, editContext, profile, onToggleMark, onAddLink, onStripFormatting, canAddLink, isLinkActive, }) {
114
119
  if (!profile?.toolbar?.groups) {
115
120
  return [];
116
121
  }
@@ -162,9 +167,7 @@ export function createSlateRichTextContextMenu({ field, editContext, profile, on
162
167
  }
163
168
  const selectedRange = editContext.selectedRange;
164
169
  if (editContext.configuration.hasAiLicense !== false &&
165
- selectedRange?.text &&
166
- selectedRange.fieldId === field.id &&
167
- selectedRange.itemId === field.descriptor.item.id) {
170
+ selectedRangeMatchesField(selectedRange, field)) {
168
171
  menuItems.push({
169
172
  id: "slate-ai-edit",
170
173
  label: "AI Edit",
@@ -215,9 +218,6 @@ export function createSlateRichTextContextMenu({ field, editContext, profile, on
215
218
  return menuItems;
216
219
  }
217
220
  export async function createRichTextContextMenu(field, editContext) {
218
- const richTextField = field;
219
- const profilePath = richTextField.customProperties?.profile;
220
- // Hide formatting when layout components are disabled and this field belongs to a layout component
221
221
  try {
222
222
  if (editContext?.showLayoutComponents === false && editContext?.page) {
223
223
  const owner = getComponentById(field.descriptor.item.id, editContext.page);
@@ -225,210 +225,7 @@ export async function createRichTextContextMenu(field, editContext) {
225
225
  return [];
226
226
  }
227
227
  }
228
- }
229
- catch { }
230
- // Get the iframe document
231
- const iframeDocument = editContext.getActiveSlotContext()?.primaryPageViewContext.editorIframe
232
- ?.contentWindow?.document;
233
- const originatingSlotId = editContext.getActiveSlotContext()?.slotId;
234
- if (!iframeDocument) {
235
- console.error("Could not find iframe document for rich text editing");
236
- return [];
237
- }
238
- try {
239
- // Get the rich text profile using the cached parsed profile
240
- const contextItemId = field.descriptor.item.id;
241
- const serviceCall = (path) => getRichTextProfile(path, contextItemId);
242
- const profile = await getCachedParsedProfile(profilePath, serviceCall);
243
- if (!profile?.toolbar?.groups) {
244
- return [];
245
- }
246
- // Formatting commands and Add Link only available in edit or suggestions mode
247
- const canUseFormatting = editContext.mode === "edit" || editContext.mode === "suggestions";
248
- // Create format submenu items based on the profile
249
- const formatMenuItems = [];
250
- let hasLinkOption = false;
251
- // Process each toolbar group to extract formatting options
252
- for (const group of profile.toolbar.groups) {
253
- if (group.options && group.options.length > 0) {
254
- // Collect valid items for this group first
255
- const groupItems = [];
256
- // Process each option in the group
257
- for (const option of group.options) {
258
- let menuItem = null;
259
- switch (option.type) {
260
- case "mark":
261
- const markConfig = SLATE_MARKS[option.id];
262
- if (markConfig) {
263
- let command = "";
264
- // Only support specific formatting commands
265
- switch (option.id) {
266
- case "bold":
267
- command = "bold";
268
- break;
269
- case "italic":
270
- command = "italic";
271
- break;
272
- case "underline":
273
- command = "underline";
274
- break;
275
- case "strikethrough":
276
- command = "strikeThrough";
277
- break;
278
- case "subscript":
279
- command = "subscript";
280
- break;
281
- case "superscript":
282
- command = "superscript";
283
- break;
284
- default:
285
- // Skip unsupported commands
286
- continue;
287
- }
288
- menuItem = {
289
- id: `format-mark-${option.id}`,
290
- label: markConfig.label,
291
- icon: (_jsx("span", { style: { fontFamily: "monospace", fontWeight: "bold" }, children: markConfig.icon })),
292
- command: async () => {
293
- try {
294
- const element = getFieldEditableElement(field.id, iframeDocument);
295
- if (element) {
296
- element.focus();
297
- const success = executeFormatCommand(command, iframeDocument);
298
- if (success) {
299
- await triggerSave(element, field, editContext, originatingSlotId);
300
- }
301
- }
302
- }
303
- catch (error) {
304
- console.error(`Failed to apply mark formatting: ${option.id}`, error);
305
- }
306
- },
307
- };
308
- }
309
- break;
310
- case "link":
311
- hasLinkOption = true;
312
- break;
313
- // Block, alignment, and list formatting not supported
314
- case "block":
315
- case "alignment":
316
- case "list":
317
- // Skip unsupported formatting types
318
- continue;
319
- }
320
- if (menuItem) {
321
- groupItems.push(menuItem);
322
- }
323
- }
324
- // Only add group items if we have any valid items for this group
325
- if (groupItems.length > 0) {
326
- // Add separator if we already have items from previous groups
327
- if (formatMenuItems.length > 0) {
328
- formatMenuItems.push({
329
- id: `${group.id}-separator`,
330
- separator: true,
331
- });
332
- }
333
- // Add all valid items from this group
334
- formatMenuItems.push(...groupItems);
335
- }
336
- }
337
- }
338
- // Build the context menu items
339
- const menuItems = [];
340
- // Add AI Edit option when text is selected and AI is licensed
341
- const selectedRange = editContext.selectedRange;
342
- if (editContext.configuration.hasAiLicense !== false &&
343
- selectedRange?.text &&
344
- selectedRange.fieldId === field.id &&
345
- selectedRange.itemId === field.descriptor.item.id) {
346
- menuItems.push({
347
- id: "ai-edit",
348
- label: "AI Edit",
349
- icon: _jsx(Sparkles, { className: "text-highlight-100 h-4 w-4" }),
350
- command: async () => {
351
- // Dispatch custom event to open the inline AI dialog
352
- const event = new CustomEvent("inline-ai-open", {
353
- detail: {
354
- selectedText: selectedRange.text,
355
- fieldId: field.id,
356
- itemId: field.descriptor.item.id,
357
- },
358
- });
359
- document.dispatchEvent(event);
360
- },
361
- });
362
- }
363
- // Add the Format submenu if we have any items (only in edit/suggestions mode)
364
- if (canUseFormatting && formatMenuItems.length > 0) {
365
- menuItems.push({
366
- id: "format-submenu",
367
- label: "Format",
368
- icon: (_jsx("span", { style: { fontFamily: "monospace", fontWeight: "bold" }, children: "F" })),
369
- items: formatMenuItems,
370
- });
371
- }
372
- // Add Link command when available in RTE profile (only in edit/suggestions mode)
373
- if (canUseFormatting && hasLinkOption) {
374
- menuItems.push({
375
- id: "add-link",
376
- label: "Add Link",
377
- icon: _jsx(Link2, { className: "h-4 w-4", strokeWidth: 1.75 }),
378
- command: async () => {
379
- try {
380
- const element = getFieldEditableElement(field.id, iframeDocument);
381
- if (!element || !editContext.openDialog)
382
- return;
383
- const savedSelection = captureIframeSelection(iframeDocument);
384
- element.focus();
385
- const link = await editContext.openDialog(InlineLinkDialogWrapper, {
386
- linkValue: {
387
- type: "external",
388
- url: "",
389
- target: "_blank",
390
- },
391
- });
392
- if (link) {
393
- const href = link.type === "internal"
394
- ? generateInternalLinkUrl(link.itemId, link.targetItemLongId, link.queryString)
395
- : normalizeUrl(link.url || "#");
396
- const success = insertLinkAtSelection(iframeDocument, element, savedSelection, href, link);
397
- if (success) {
398
- await triggerSave(element, field, editContext, originatingSlotId);
399
- }
400
- }
401
- }
402
- catch (error) {
403
- console.error("Failed to add link:", error);
404
- }
405
- },
406
- });
407
- }
408
- // Add Strip Formatting command (only in edit/suggestions mode)
409
- if (canUseFormatting) {
410
- menuItems.push({
411
- id: "strip-formatting",
412
- label: "Strip Formatting",
413
- icon: (_jsx("span", { style: { fontFamily: "monospace", fontWeight: "bold" }, children: "\u2717" })),
414
- command: async () => {
415
- try {
416
- const element = getFieldEditableElement(field.id, iframeDocument);
417
- if (element) {
418
- element.focus();
419
- const success = executeFormatCommand("removeFormat", iframeDocument);
420
- if (success) {
421
- await triggerSave(element, field, editContext, originatingSlotId);
422
- }
423
- }
424
- }
425
- catch (error) {
426
- console.error("Failed to strip formatting:", error);
427
- }
428
- },
429
- });
430
- }
431
- return menuItems;
228
+ return await createBridgeRichTextContextMenu(field, editContext);
432
229
  }
433
230
  catch (error) {
434
231
  console.error("Error creating RichText context menu:", error);
@@ -1 +1 @@
1
- {"version":3,"file":"contextMenuFactory.js","sourceRoot":"","sources":["../../../../src/editor/field-types/richtext/contextMenuFactory.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contextMenuFactory.js","sourceRoot":"","sources":["../../../../src/editor/field-types/richtext/contextMenuFactory.tsx"],"names":[],"mappings":"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"}
@@ -101,6 +101,8 @@ export interface ReactSlateProps {
101
101
  readonly onChange?: (value: string) => void;
102
102
  readonly onFocus?: () => void;
103
103
  readonly onBlur?: () => void;
104
+ readonly onMouseUp?: () => void;
105
+ readonly onKeyUp?: () => void;
104
106
  readonly onContextMenu?: (event: React.MouseEvent<HTMLDivElement>) => void;
105
107
  readonly readOnly?: boolean;
106
108
  readonly placeholder?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/editor/field-types/richtext/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/editor/field-types/richtext/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import type { RefObject } from "react";
2
+ import type { Field } from "../pageModel";
3
+ type TextFormControl = HTMLInputElement | HTMLTextAreaElement;
4
+ export declare function useFormFieldCaretPresence({ field, inputRef, readOnly, }: {
5
+ field: Field;
6
+ inputRef: RefObject<TextFormControl | null>;
7
+ readOnly?: boolean;
8
+ }): {
9
+ clearCaretPresence: () => void;
10
+ publishCaretPresence: (element?: TextFormControl | null) => void;
11
+ publishCaretPresenceAfterSelectionSettles: (element?: TextFormControl | null) => void;
12
+ };
13
+ export {};
@@ -0,0 +1,92 @@
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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useFormFieldCaretPresence.js","sourceRoot":"","sources":["../../../src/editor/field-types/useFormFieldCaretPresence.ts"],"names":[],"mappings":"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"}