@parhelia/core 0.4.12825 → 0.4.12872

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 (1052) 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/components/ui/alert.d.ts +6 -1
  23. package/dist/components/ui/alert.js +12 -3
  24. package/dist/components/ui/alert.js.map +1 -1
  25. package/dist/components/ui/context-menu.d.ts +25 -0
  26. package/dist/components/ui/context-menu.js +54 -36
  27. package/dist/components/ui/context-menu.js.map +1 -1
  28. package/dist/components/ui/copy-button.d.ts +3 -1
  29. package/dist/components/ui/copy-button.js +13 -2
  30. package/dist/components/ui/copy-button.js.map +1 -1
  31. package/dist/components/ui/mention-textarea.d.ts +8 -0
  32. package/dist/components/ui/mention-textarea.js +98 -46
  33. package/dist/components/ui/mention-textarea.js.map +1 -1
  34. package/dist/components/ui/paste-button.js +11 -1
  35. package/dist/components/ui/paste-button.js.map +1 -1
  36. package/dist/config/config.js +43 -4
  37. package/dist/config/config.js.map +1 -1
  38. package/dist/config/types.d.ts +2 -0
  39. package/dist/config/types.js.map +1 -1
  40. package/dist/editor/ConcurrentUserLimitDialog.js +5 -2
  41. package/dist/editor/ConcurrentUserLimitDialog.js.map +1 -1
  42. package/dist/editor/ContentTree.js +7 -2
  43. package/dist/editor/ContentTree.js.map +1 -1
  44. package/dist/editor/ContextMenu.js +11 -36
  45. package/dist/editor/ContextMenu.js.map +1 -1
  46. package/dist/editor/EditorWarning.js +8 -4
  47. package/dist/editor/EditorWarning.js.map +1 -1
  48. package/dist/editor/FieldList.js +1 -1
  49. package/dist/editor/FieldList.js.map +1 -1
  50. package/dist/editor/FieldListField.js +18 -13
  51. package/dist/editor/FieldListField.js.map +1 -1
  52. package/dist/editor/FieldListFieldWithFallbacks.js +1 -1
  53. package/dist/editor/GlobalMenuBar.js +2 -1
  54. package/dist/editor/GlobalMenuBar.js.map +1 -1
  55. package/dist/editor/ImageEditor.js +3 -1
  56. package/dist/editor/ImageEditor.js.map +1 -1
  57. package/dist/editor/MainLayout.js +1 -1
  58. package/dist/editor/MainLayout.js.map +1 -1
  59. package/dist/editor/MigrationsView.js +3 -2
  60. package/dist/editor/MigrationsView.js.map +1 -1
  61. package/dist/editor/MobileLayout.js +43 -20
  62. package/dist/editor/MobileLayout.js.map +1 -1
  63. package/dist/editor/PictureEditor.js +4 -2
  64. package/dist/editor/PictureEditor.js.map +1 -1
  65. package/dist/editor/QuickItemSwitcher.js +4 -2
  66. package/dist/editor/QuickItemSwitcher.js.map +1 -1
  67. package/dist/editor/agent-changes/agentChangeTargets.js +6 -0
  68. package/dist/editor/agent-changes/agentChangeTargets.js.map +1 -1
  69. package/dist/editor/agent-changes/agentChangeTextHighlight.d.ts +48 -4
  70. package/dist/editor/agent-changes/agentChangeTextHighlight.js +67 -9
  71. package/dist/editor/agent-changes/agentChangeTextHighlight.js.map +1 -1
  72. package/dist/editor/ai/HeartbeatDiagnosticsPanel.js +1 -1
  73. package/dist/editor/ai/InlineAiDialog.js +11 -8
  74. package/dist/editor/ai/InlineAiDialog.js.map +1 -1
  75. package/dist/editor/ai/InlineAiTrigger.js +18 -14
  76. package/dist/editor/ai/InlineAiTrigger.js.map +1 -1
  77. package/dist/editor/ai/agentActivitySummary.js +5 -0
  78. package/dist/editor/ai/agentActivitySummary.js.map +1 -1
  79. package/dist/editor/ai/agentMessageConversion.js +1 -0
  80. package/dist/editor/ai/agentMessageConversion.js.map +1 -1
  81. package/dist/editor/ai/agentMessageMarkdown.js +4 -4
  82. package/dist/editor/ai/agentMessageMarkdown.js.map +1 -1
  83. package/dist/editor/ai/dialogs/capturePageScreenshot.d.ts +4 -1
  84. package/dist/editor/ai/dialogs/capturePageScreenshot.js +214 -44
  85. package/dist/editor/ai/dialogs/capturePageScreenshot.js.map +1 -1
  86. package/dist/editor/ai/dialogs/captureShared.d.ts +8 -1
  87. package/dist/editor/ai/dialogs/captureShared.js +4 -1
  88. package/dist/editor/ai/dialogs/captureShared.js.map +1 -1
  89. package/dist/editor/ai/dialogs/offscreenPageCapture.js +1 -1
  90. package/dist/editor/ai/dialogs/offscreenPageCapture.js.map +1 -1
  91. package/dist/editor/ai/prepareInlineAiTextSelection.d.ts +2 -1
  92. package/dist/editor/ai/prepareInlineAiTextSelection.js +1 -2
  93. package/dist/editor/ai/prepareInlineAiTextSelection.js.map +1 -1
  94. package/dist/editor/ai/terminal/agentCost.d.ts +2 -0
  95. package/dist/editor/ai/terminal/agentCost.js +1 -0
  96. package/dist/editor/ai/terminal/agentCost.js.map +1 -1
  97. package/dist/editor/ai/terminal/agentSessionLiveTotals.js +3 -0
  98. package/dist/editor/ai/terminal/agentSessionLiveTotals.js.map +1 -1
  99. package/dist/editor/ai/terminal/agentSessionSelectors.d.ts +5 -2
  100. package/dist/editor/ai/terminal/agentSessionSelectors.js +5 -2
  101. package/dist/editor/ai/terminal/agentSessionSelectors.js.map +1 -1
  102. package/dist/editor/ai/terminal/agentSessionState.js +8 -1
  103. package/dist/editor/ai/terminal/agentSessionState.js.map +1 -1
  104. package/dist/editor/ai/terminal/components/AgentActivityOverviewPanel.js +2 -2
  105. package/dist/editor/ai/terminal/components/AgentActivityOverviewPanel.js.map +1 -1
  106. package/dist/editor/ai/terminal/components/AgentBanners.js +2 -2
  107. package/dist/editor/ai/terminal/components/AgentBanners.js.map +1 -1
  108. package/dist/editor/ai/terminal/components/AgentCostDisplay.d.ts +2 -0
  109. package/dist/editor/ai/terminal/components/AgentCostDisplay.js +2 -1
  110. package/dist/editor/ai/terminal/components/AgentCostDisplay.js.map +1 -1
  111. package/dist/editor/ai/terminal/components/AgentFullPromptControls.js +22 -15
  112. package/dist/editor/ai/terminal/components/AgentFullPromptControls.js.map +1 -1
  113. package/dist/editor/ai/terminal/components/AgentModeSelector.js +7 -3
  114. package/dist/editor/ai/terminal/components/AgentModeSelector.js.map +1 -1
  115. package/dist/editor/ai/terminal/components/AgentPromptActionButtons.js +3 -3
  116. package/dist/editor/ai/terminal/components/AgentPromptActionButtons.js.map +1 -1
  117. package/dist/editor/ai/terminal/components/AgentPromptInputArea.js +2 -2
  118. package/dist/editor/ai/terminal/components/AgentReadOnlyNotice.js +1 -1
  119. package/dist/editor/ai/terminal/components/AgentReadOnlyNotice.js.map +1 -1
  120. package/dist/editor/ai/terminal/components/AgentTerminalFullLayout.js +1 -1
  121. package/dist/editor/ai/terminal/components/AgentTerminalStatusBar.d.ts +5 -2
  122. package/dist/editor/ai/terminal/components/AgentTerminalStatusBar.js +43 -4
  123. package/dist/editor/ai/terminal/components/AgentTerminalStatusBar.js.map +1 -1
  124. package/dist/editor/ai/terminal/components/AgentTerminalSummaryLayout.js +1 -1
  125. package/dist/editor/ai/terminal/components/AgentTerminalSummaryLayout.js.map +1 -1
  126. package/dist/editor/ai/terminal/components/AiResponseMessage.js +32 -15
  127. package/dist/editor/ai/terminal/components/AiResponseMessage.js.map +1 -1
  128. package/dist/editor/ai/terminal/components/ApprovalCard.d.ts +3 -1
  129. package/dist/editor/ai/terminal/components/ApprovalCard.js +8 -16
  130. package/dist/editor/ai/terminal/components/ApprovalCard.js.map +1 -1
  131. package/dist/editor/ai/terminal/components/CreateItemToolCallContent.js +1 -1
  132. package/dist/editor/ai/terminal/components/CreateItemToolCallContent.js.map +1 -1
  133. package/dist/editor/ai/terminal/components/EditFieldToolCallContent.d.ts +7 -4
  134. package/dist/editor/ai/terminal/components/EditFieldToolCallContent.js +57 -32
  135. package/dist/editor/ai/terminal/components/EditFieldToolCallContent.js.map +1 -1
  136. package/dist/editor/ai/terminal/components/ResponseTurnDuration.js +1 -2
  137. package/dist/editor/ai/terminal/components/ResponseTurnDuration.js.map +1 -1
  138. package/dist/editor/ai/terminal/components/ToolCallDiagnosticsPanel.d.ts +6 -0
  139. package/dist/editor/ai/terminal/components/ToolCallDiagnosticsPanel.js +61 -0
  140. package/dist/editor/ai/terminal/components/ToolCallDiagnosticsPanel.js.map +1 -0
  141. package/dist/editor/ai/terminal/components/ToolCallDisplay.d.ts +5 -0
  142. package/dist/editor/ai/terminal/components/ToolCallDisplay.js +19 -8
  143. package/dist/editor/ai/terminal/components/ToolCallDisplay.js.map +1 -1
  144. package/dist/editor/ai/terminal/components/UserMessage.js +4 -2
  145. package/dist/editor/ai/terminal/components/UserMessage.js.map +1 -1
  146. package/dist/editor/ai/terminal/components/ValueDiff.js +1 -1
  147. package/dist/editor/ai/terminal/components/ValueDiff.js.map +1 -1
  148. package/dist/editor/ai/terminal/components/toolCallContentRenderers.js +7 -4
  149. package/dist/editor/ai/terminal/components/toolCallContentRenderers.js.map +1 -1
  150. package/dist/editor/ai/terminal/components/useApprovalActions.js +1 -1
  151. package/dist/editor/ai/terminal/components/useApprovalActions.js.map +1 -1
  152. package/dist/editor/ai/terminal/toolCallDiagnostics.d.ts +34 -0
  153. package/dist/editor/ai/terminal/toolCallDiagnostics.js +218 -0
  154. package/dist/editor/ai/terminal/toolCallDiagnostics.js.map +1 -0
  155. package/dist/editor/ai/terminal/types.d.ts +1 -0
  156. package/dist/editor/ai/terminal/useAgentEditorContext.js +3 -1
  157. package/dist/editor/ai/terminal/useAgentEditorContext.js.map +1 -1
  158. package/dist/editor/ai/terminal/useAgentLoadPipeline.d.ts +1 -0
  159. package/dist/editor/ai/terminal/useAgentLoadPipeline.js +2 -1
  160. package/dist/editor/ai/terminal/useAgentLoadPipeline.js.map +1 -1
  161. package/dist/editor/ai/terminal/useAgentLoader.d.ts +2 -0
  162. package/dist/editor/ai/terminal/useAgentLoader.js +17 -2
  163. package/dist/editor/ai/terminal/useAgentLoader.js.map +1 -1
  164. package/dist/editor/ai/terminal/useAgentModeState.d.ts +5 -1
  165. package/dist/editor/ai/terminal/useAgentModeState.js +11 -3
  166. package/dist/editor/ai/terminal/useAgentModeState.js.map +1 -1
  167. package/dist/editor/ai/terminal/useAgentRunDeltaSocketHandler.d.ts +1 -0
  168. package/dist/editor/ai/terminal/useAgentRunDeltaSocketHandler.js +5 -1
  169. package/dist/editor/ai/terminal/useAgentRunDeltaSocketHandler.js.map +1 -1
  170. package/dist/editor/ai/terminal/useAgentRunRefs.d.ts +1 -0
  171. package/dist/editor/ai/terminal/useAgentRunRefs.js +3 -0
  172. package/dist/editor/ai/terminal/useAgentRunRefs.js.map +1 -1
  173. package/dist/editor/ai/terminal/useAgentSessionSync.d.ts +6 -0
  174. package/dist/editor/ai/terminal/useAgentSessionSync.js +27 -3
  175. package/dist/editor/ai/terminal/useAgentSessionSync.js.map +1 -1
  176. package/dist/editor/ai/terminal/useAgentSettingsData.d.ts +1 -1
  177. package/dist/editor/ai/terminal/useAgentSettingsPanel.js +7 -6
  178. package/dist/editor/ai/terminal/useAgentSettingsPanel.js.map +1 -1
  179. package/dist/editor/ai/terminal/useAgentSettingsSelectOptions.js +14 -2
  180. package/dist/editor/ai/terminal/useAgentSettingsSelectOptions.js.map +1 -1
  181. package/dist/editor/ai/terminal/useAgentStatusBarContent.js +11 -4
  182. package/dist/editor/ai/terminal/useAgentStatusBarContent.js.map +1 -1
  183. package/dist/editor/ai/terminal/useAgentStreamPipeline.d.ts +1 -0
  184. package/dist/editor/ai/terminal/useAgentStreamPipeline.js +2 -1
  185. package/dist/editor/ai/terminal/useAgentStreamPipeline.js.map +1 -1
  186. package/dist/editor/ai/terminal/useAgentSubmitHandlers.js +11 -2
  187. package/dist/editor/ai/terminal/useAgentSubmitHandlers.js.map +1 -1
  188. package/dist/editor/ai/terminal/useAgentTerminalController.js +3 -1
  189. package/dist/editor/ai/terminal/useAgentTerminalController.js.map +1 -1
  190. package/dist/editor/ai/terminal/useAgentToolCallHandler.js +1 -0
  191. package/dist/editor/ai/terminal/useAgentToolCallHandler.js.map +1 -1
  192. package/dist/editor/ai/types.d.ts +4 -0
  193. package/dist/editor/ai-image-editor/AiImageEditorDialog.d.ts +33 -0
  194. package/dist/editor/ai-image-editor/AiImageEditorDialog.js +372 -127
  195. package/dist/editor/ai-image-editor/AiImageEditorDialog.js.map +1 -1
  196. package/dist/editor/ai-image-editor/AiImageResultOverlay.js +4 -2
  197. package/dist/editor/ai-image-editor/AiImageResultOverlay.js.map +1 -1
  198. package/dist/editor/bridge/BridgeClient.js +11 -0
  199. package/dist/editor/bridge/BridgeClient.js.map +1 -1
  200. package/dist/editor/bridge/protocol.d.ts +63 -0
  201. package/dist/editor/bridge/protocol.js +8 -1
  202. package/dist/editor/bridge/protocol.js.map +1 -1
  203. package/dist/editor/client/EditorShell.js +331 -122
  204. package/dist/editor/client/EditorShell.js.map +1 -1
  205. package/dist/editor/client/SessionExpiredOverlay.js +9 -2
  206. package/dist/editor/client/SessionExpiredOverlay.js.map +1 -1
  207. package/dist/editor/client/clipboardStorage.d.ts +10 -0
  208. package/dist/editor/client/clipboardStorage.js +57 -0
  209. package/dist/editor/client/clipboardStorage.js.map +1 -0
  210. package/dist/editor/client/editContext.d.ts +92 -11
  211. package/dist/editor/client/editContext.js.map +1 -1
  212. package/dist/editor/client/editHistoryReconciliation.d.ts +2 -1
  213. package/dist/editor/client/editHistoryReconciliation.js +5 -2
  214. package/dist/editor/client/editHistoryReconciliation.js.map +1 -1
  215. package/dist/editor/client/hooks/useRepositoryItemRefresh.d.ts +4 -0
  216. package/dist/editor/client/hooks/useRepositoryItemRefresh.js +62 -0
  217. package/dist/editor/client/hooks/useRepositoryItemRefresh.js.map +1 -0
  218. package/dist/editor/client/hooks/useSocketMessageHandler.d.ts +6 -0
  219. package/dist/editor/client/hooks/useSocketMessageHandler.js +66 -3
  220. package/dist/editor/client/hooks/useSocketMessageHandler.js.map +1 -1
  221. package/dist/editor/client/itemsRepository.d.ts +10 -2
  222. package/dist/editor/client/itemsRepository.js +224 -43
  223. package/dist/editor/client/itemsRepository.js.map +1 -1
  224. package/dist/editor/client/liveEditState.d.ts +16 -0
  225. package/dist/editor/client/liveEditState.js +25 -0
  226. package/dist/editor/client/liveEditState.js.map +1 -0
  227. package/dist/editor/client/liveSessionState.d.ts +6 -0
  228. package/dist/editor/client/liveSessionState.js +20 -0
  229. package/dist/editor/client/liveSessionState.js.map +1 -0
  230. package/dist/editor/client/operations.d.ts +13 -2
  231. package/dist/editor/client/operations.js +100 -29
  232. package/dist/editor/client/operations.js.map +1 -1
  233. package/dist/editor/client/pageModelBuilder.d.ts +6 -0
  234. package/dist/editor/client/pageModelBuilder.js +74 -7
  235. package/dist/editor/client/pageModelBuilder.js.map +1 -1
  236. package/dist/editor/client/ui/EditorChrome.d.ts +2 -2
  237. package/dist/editor/client/ui/EditorChrome.js +12 -8
  238. package/dist/editor/client/ui/EditorChrome.js.map +1 -1
  239. package/dist/editor/client/ui/FullscreenControls.d.ts +3 -5
  240. package/dist/editor/client/ui/FullscreenControls.js +2 -2
  241. package/dist/editor/client/ui/FullscreenControls.js.map +1 -1
  242. package/dist/editor/client/valueStore.d.ts +22 -0
  243. package/dist/editor/client/valueStore.js +29 -0
  244. package/dist/editor/client/valueStore.js.map +1 -0
  245. package/dist/editor/commands/componentClipboardCommands.d.ts +35 -0
  246. package/dist/editor/commands/componentClipboardCommands.js +271 -0
  247. package/dist/editor/commands/componentClipboardCommands.js.map +1 -0
  248. package/dist/editor/commands/componentCommands.js +80 -19
  249. package/dist/editor/commands/componentCommands.js.map +1 -1
  250. package/dist/editor/commands/componentMenuGroups.d.ts +2 -0
  251. package/dist/editor/commands/componentMenuGroups.js +43 -0
  252. package/dist/editor/commands/componentMenuGroups.js.map +1 -0
  253. package/dist/editor/commands/itemCommands.d.ts +9 -0
  254. package/dist/editor/commands/itemCommands.js +76 -9
  255. package/dist/editor/commands/itemCommands.js.map +1 -1
  256. package/dist/editor/component-conversion/ComponentTypePickerDialog.d.ts +12 -0
  257. package/dist/editor/component-conversion/ComponentTypePickerDialog.js +40 -0
  258. package/dist/editor/component-conversion/ComponentTypePickerDialog.js.map +1 -0
  259. package/dist/editor/component-conversion/ConversionAiDebugButton.d.ts +17 -0
  260. package/dist/editor/component-conversion/ConversionAiDebugButton.js +80 -0
  261. package/dist/editor/component-conversion/ConversionAiDebugButton.js.map +1 -0
  262. package/dist/editor/component-conversion/ConvertComponentDialog.d.ts +28 -0
  263. package/dist/editor/component-conversion/ConvertComponentDialog.js +633 -0
  264. package/dist/editor/component-conversion/ConvertComponentDialog.js.map +1 -0
  265. package/dist/editor/component-conversion/conversionModel.d.ts +109 -0
  266. package/dist/editor/component-conversion/conversionModel.js +519 -0
  267. package/dist/editor/component-conversion/conversionModel.js.map +1 -0
  268. package/dist/editor/component-conversion/conversionService.d.ts +12 -0
  269. package/dist/editor/component-conversion/conversionService.js +16 -0
  270. package/dist/editor/component-conversion/conversionService.js.map +1 -0
  271. package/dist/editor/component-conversion/conversionTypes.d.ts +214 -0
  272. package/dist/editor/component-conversion/conversionTypes.js +2 -0
  273. package/dist/editor/component-conversion/conversionTypes.js.map +1 -0
  274. package/dist/editor/component-conversion/convertComponentsCommand.d.ts +25 -0
  275. package/dist/editor/component-conversion/convertComponentsCommand.js +196 -0
  276. package/dist/editor/component-conversion/convertComponentsCommand.js.map +1 -0
  277. package/dist/editor/editor-warnings/ValidationErrors.js +4 -4
  278. package/dist/editor/editor-warnings/ValidationErrors.js.map +1 -1
  279. package/dist/editor/field-types/AttachmentEditor.js +4 -3
  280. package/dist/editor/field-types/AttachmentEditor.js.map +1 -1
  281. package/dist/editor/field-types/DateFieldEditor.js +2 -1
  282. package/dist/editor/field-types/DateFieldEditor.js.map +1 -1
  283. package/dist/editor/field-types/DateTimeFieldEditor.js +2 -1
  284. package/dist/editor/field-types/DateTimeFieldEditor.js.map +1 -1
  285. package/dist/editor/field-types/DropLinkEditor.js +3 -1
  286. package/dist/editor/field-types/DropLinkEditor.js.map +1 -1
  287. package/dist/editor/field-types/DropListEditor.js +3 -1
  288. package/dist/editor/field-types/DropListEditor.js.map +1 -1
  289. package/dist/editor/field-types/FieldHistoryBoundary.js +28 -7
  290. package/dist/editor/field-types/FieldHistoryBoundary.js.map +1 -1
  291. package/dist/editor/field-types/ImageFieldEditor.js +3 -1
  292. package/dist/editor/field-types/ImageFieldEditor.js.map +1 -1
  293. package/dist/editor/field-types/InternalLinkFieldEditor.js +2 -1
  294. package/dist/editor/field-types/InternalLinkFieldEditor.js.map +1 -1
  295. package/dist/editor/field-types/LinkFieldEditor.js +2 -1
  296. package/dist/editor/field-types/LinkFieldEditor.js.map +1 -1
  297. package/dist/editor/field-types/MultiLineText.js +68 -22
  298. package/dist/editor/field-types/MultiLineText.js.map +1 -1
  299. package/dist/editor/field-types/NameValueListEditor.js +3 -1
  300. package/dist/editor/field-types/NameValueListEditor.js.map +1 -1
  301. package/dist/editor/field-types/PictureFieldEditor.js +4 -2
  302. package/dist/editor/field-types/PictureFieldEditor.js.map +1 -1
  303. package/dist/editor/field-types/RawEditor.js +7 -4
  304. package/dist/editor/field-types/RawEditor.js.map +1 -1
  305. package/dist/editor/field-types/RichTextEditor.d.ts +1 -2
  306. package/dist/editor/field-types/RichTextEditor.js +5 -26
  307. package/dist/editor/field-types/RichTextEditor.js.map +1 -1
  308. package/dist/editor/field-types/RichTextEditorComponent.d.ts +1 -2
  309. package/dist/editor/field-types/RichTextEditorComponent.js +120 -34
  310. package/dist/editor/field-types/RichTextEditorComponent.js.map +1 -1
  311. package/dist/editor/field-types/SingleLineText.js +68 -22
  312. package/dist/editor/field-types/SingleLineText.js.map +1 -1
  313. package/dist/editor/field-types/TreeListEditor.js +4 -2
  314. package/dist/editor/field-types/TreeListEditor.js.map +1 -1
  315. package/dist/editor/field-types/fieldStyles.d.ts +21 -0
  316. package/dist/editor/field-types/fieldStyles.js +22 -0
  317. package/dist/editor/field-types/fieldStyles.js.map +1 -0
  318. package/dist/editor/field-types/richtext/bridgeRichTextProfile.d.ts +15 -1
  319. package/dist/editor/field-types/richtext/bridgeRichTextProfile.js +27 -0
  320. package/dist/editor/field-types/richtext/bridgeRichTextProfile.js.map +1 -1
  321. package/dist/editor/field-types/richtext/components/EditorDropdown.css +14 -0
  322. package/dist/editor/field-types/richtext/components/EditorDropdown.d.ts +3 -1
  323. package/dist/editor/field-types/richtext/components/EditorDropdown.js +33 -8
  324. package/dist/editor/field-types/richtext/components/EditorDropdown.js.map +1 -1
  325. package/dist/editor/field-types/richtext/components/ReactSlate.css +23 -54
  326. package/dist/editor/field-types/richtext/components/ReactSlate.d.ts +10 -1
  327. package/dist/editor/field-types/richtext/components/ReactSlate.js +365 -172
  328. package/dist/editor/field-types/richtext/components/ReactSlate.js.map +1 -1
  329. package/dist/editor/field-types/richtext/components/SimpleRichTextEditor.js +1 -1
  330. package/dist/editor/field-types/richtext/components/SimpleRichTextEditor.js.map +1 -1
  331. package/dist/editor/field-types/richtext/components/ToolbarButton.js +13 -5
  332. package/dist/editor/field-types/richtext/components/ToolbarButton.js.map +1 -1
  333. package/dist/editor/field-types/richtext/config/pluginFactory.d.ts +2 -0
  334. package/dist/editor/field-types/richtext/config/pluginFactory.js +2 -1
  335. package/dist/editor/field-types/richtext/config/pluginFactory.js.map +1 -1
  336. package/dist/editor/field-types/richtext/hooks/useProfileCache.js +1 -0
  337. package/dist/editor/field-types/richtext/hooks/useProfileCache.js.map +1 -1
  338. package/dist/editor/field-types/richtext/hooks/useRichTextProfile.d.ts +0 -2
  339. package/dist/editor/field-types/richtext/hooks/useRichTextProfile.js +2 -5
  340. package/dist/editor/field-types/richtext/hooks/useRichTextProfile.js.map +1 -1
  341. package/dist/editor/field-types/richtext/types.d.ts +47 -2
  342. package/dist/editor/field-types/richtext/types.js +19 -0
  343. package/dist/editor/field-types/richtext/types.js.map +1 -1
  344. package/dist/editor/field-types/richtext/utils/changeHighlight.d.ts +14 -0
  345. package/dist/editor/field-types/richtext/utils/changeHighlight.js +12 -1
  346. package/dist/editor/field-types/richtext/utils/changeHighlight.js.map +1 -1
  347. package/dist/editor/field-types/richtext/utils/conversion.js +108 -32
  348. package/dist/editor/field-types/richtext/utils/conversion.js.map +1 -1
  349. package/dist/editor/field-types/richtext/utils/cssClasses.d.ts +27 -0
  350. package/dist/editor/field-types/richtext/utils/cssClasses.js +98 -0
  351. package/dist/editor/field-types/richtext/utils/cssClasses.js.map +1 -0
  352. package/dist/editor/field-types/richtext/utils/plugins.d.ts +40 -1
  353. package/dist/editor/field-types/richtext/utils/plugins.js +178 -4
  354. package/dist/editor/field-types/richtext/utils/plugins.js.map +1 -1
  355. package/dist/editor/field-types/richtext/utils/profileMapper.d.ts +17 -1
  356. package/dist/editor/field-types/richtext/utils/profileMapper.js +153 -55
  357. package/dist/editor/field-types/richtext/utils/profileMapper.js.map +1 -1
  358. package/dist/editor/field-types/richtext/utils/spellCheckText.d.ts +31 -0
  359. package/dist/editor/field-types/richtext/utils/spellCheckText.js +82 -0
  360. package/dist/editor/field-types/richtext/utils/spellCheckText.js.map +1 -0
  361. package/dist/editor/field-types/useFocusedFieldInput.d.ts +13 -0
  362. package/dist/editor/field-types/useFocusedFieldInput.js +50 -0
  363. package/dist/editor/field-types/useFocusedFieldInput.js.map +1 -0
  364. package/dist/editor/field-types/useFormFieldCaretPresence.js +8 -1
  365. package/dist/editor/field-types/useFormFieldCaretPresence.js.map +1 -1
  366. package/dist/editor/field-types/useFormFieldSelectionRange.d.ts +20 -13
  367. package/dist/editor/field-types/useFormFieldSelectionRange.js +40 -14
  368. package/dist/editor/field-types/useFormFieldSelectionRange.js.map +1 -1
  369. package/dist/editor/find-replace/findReplaceTargets.d.ts +2 -0
  370. package/dist/editor/find-replace/findReplaceTargets.js +2 -2
  371. package/dist/editor/find-replace/findReplaceTargets.js.map +1 -1
  372. package/dist/editor/itemContextMenuGroups.js +10 -1
  373. package/dist/editor/itemContextMenuGroups.js.map +1 -1
  374. package/dist/editor/media-selector/AiImageSearch.js +1 -163
  375. package/dist/editor/media-selector/AiImageSearch.js.map +1 -1
  376. package/dist/editor/media-selector/MediaDetailsView.d.ts +14 -0
  377. package/dist/editor/media-selector/MediaDetailsView.js +152 -0
  378. package/dist/editor/media-selector/MediaDetailsView.js.map +1 -0
  379. package/dist/editor/media-selector/MediaFolderBrowser.js +326 -106
  380. package/dist/editor/media-selector/MediaFolderBrowser.js.map +1 -1
  381. package/dist/editor/media-selector/TreeSelector.js +40 -2
  382. package/dist/editor/media-selector/TreeSelector.js.map +1 -1
  383. package/dist/editor/media-selector/UploadZone.js +1 -1
  384. package/dist/editor/media-selector/UploadZone.js.map +1 -1
  385. package/dist/editor/media-selector/useMediaFolderDrag.d.ts +26 -0
  386. package/dist/editor/media-selector/useMediaFolderDrag.js +153 -0
  387. package/dist/editor/media-selector/useMediaFolderDrag.js.map +1 -0
  388. package/dist/editor/menubar/ActiveUsers.js +5 -3
  389. package/dist/editor/menubar/ActiveUsers.js.map +1 -1
  390. package/dist/editor/menubar/PageSelector.js +21 -22
  391. package/dist/editor/menubar/PageSelector.js.map +1 -1
  392. package/dist/editor/menubar/ToolbarFactory.js +8 -2
  393. package/dist/editor/menubar/ToolbarFactory.js.map +1 -1
  394. package/dist/editor/menubar/VersionPreviewCard.js +4 -2
  395. package/dist/editor/menubar/VersionPreviewCard.js.map +1 -1
  396. package/dist/editor/menubar/WorkflowButton.js +10 -10
  397. package/dist/editor/menubar/WorkflowButton.js.map +1 -1
  398. package/dist/editor/menubar/toolbar-sections/CommentsToggleControl.d.ts +13 -0
  399. package/dist/editor/menubar/toolbar-sections/CommentsToggleControl.js +88 -0
  400. package/dist/editor/menubar/toolbar-sections/CommentsToggleControl.js.map +1 -0
  401. package/dist/editor/menubar/toolbar-sections/DeviceSwitchToolbar.d.ts +3 -4
  402. package/dist/editor/menubar/toolbar-sections/DeviceSwitchToolbar.js +15 -13
  403. package/dist/editor/menubar/toolbar-sections/DeviceSwitchToolbar.js.map +1 -1
  404. package/dist/editor/menubar/toolbar-sections/EditControls.d.ts +9 -0
  405. package/dist/editor/menubar/toolbar-sections/EditControls.js +24 -1
  406. package/dist/editor/menubar/toolbar-sections/EditControls.js.map +1 -1
  407. package/dist/editor/menubar/toolbar-sections/FullscreenControl.js +3 -2
  408. package/dist/editor/menubar/toolbar-sections/FullscreenControl.js.map +1 -1
  409. package/dist/editor/menubar/toolbar-sections/InsertControls.js +4 -2
  410. package/dist/editor/menubar/toolbar-sections/InsertControls.js.map +1 -1
  411. package/dist/editor/menubar/toolbar-sections/LayoutModeControls.js +3 -2
  412. package/dist/editor/menubar/toolbar-sections/LayoutModeControls.js.map +1 -1
  413. package/dist/editor/menubar/toolbar-sections/ReviewCommands.js +2 -2
  414. package/dist/editor/menubar/toolbar-sections/ReviewCommands.js.map +1 -1
  415. package/dist/editor/menubar/toolbar-sections/SpellCheckToggleControl.d.ts +5 -0
  416. package/dist/editor/menubar/toolbar-sections/SpellCheckToggleControl.js +16 -0
  417. package/dist/editor/menubar/toolbar-sections/SpellCheckToggleControl.js.map +1 -0
  418. package/dist/editor/menubar/toolbar-sections/UndoRedoControls.js +2 -2
  419. package/dist/editor/menubar/toolbar-sections/UndoRedoControls.js.map +1 -1
  420. package/dist/editor/menubar/toolbar-sections/UtilityControls.js +7 -7
  421. package/dist/editor/menubar/toolbar-sections/UtilityControls.js.map +1 -1
  422. package/dist/editor/menubar/toolbar-sections/ViewportControls.d.ts +3 -4
  423. package/dist/editor/menubar/toolbar-sections/ViewportControls.js +19 -31
  424. package/dist/editor/menubar/toolbar-sections/ViewportControls.js.map +1 -1
  425. package/dist/editor/menubar/toolbar-sections/index.d.ts +1 -1
  426. package/dist/editor/menubar/toolbar-sections/index.js +1 -1
  427. package/dist/editor/menubar/toolbar-sections/index.js.map +1 -1
  428. package/dist/editor/mobileBottomPanel.d.ts +40 -0
  429. package/dist/editor/mobileBottomPanel.js +63 -0
  430. package/dist/editor/mobileBottomPanel.js.map +1 -0
  431. package/dist/editor/notifications/useNotifications.js +12 -17
  432. package/dist/editor/notifications/useNotifications.js.map +1 -1
  433. package/dist/editor/page-editor-chrome/AgentChangeHighlightings.d.ts +3 -6
  434. package/dist/editor/page-editor-chrome/AgentChangeHighlightings.js +8 -6
  435. package/dist/editor/page-editor-chrome/AgentChangeHighlightings.js.map +1 -1
  436. package/dist/editor/page-editor-chrome/BridgeInlineFormatOverlay.d.ts +5 -1
  437. package/dist/editor/page-editor-chrome/BridgeInlineFormatOverlay.js +60 -10
  438. package/dist/editor/page-editor-chrome/BridgeInlineFormatOverlay.js.map +1 -1
  439. package/dist/editor/page-editor-chrome/BridgePasteCleanupOverlay.d.ts +6 -0
  440. package/dist/editor/page-editor-chrome/BridgePasteCleanupOverlay.js +100 -0
  441. package/dist/editor/page-editor-chrome/BridgePasteCleanupOverlay.js.map +1 -0
  442. package/dist/editor/page-editor-chrome/BridgeToolbarDropdown.d.ts +16 -0
  443. package/dist/editor/page-editor-chrome/BridgeToolbarDropdown.js +23 -0
  444. package/dist/editor/page-editor-chrome/BridgeToolbarDropdown.js.map +1 -0
  445. package/dist/editor/page-editor-chrome/CanvasOverviewRulerBinding.d.ts +9 -0
  446. package/dist/editor/page-editor-chrome/CanvasOverviewRulerBinding.js +32 -0
  447. package/dist/editor/page-editor-chrome/CanvasOverviewRulerBinding.js.map +1 -0
  448. package/dist/editor/page-editor-chrome/CommentHighlightings.d.ts +4 -1
  449. package/dist/editor/page-editor-chrome/CommentHighlightings.js +195 -388
  450. package/dist/editor/page-editor-chrome/CommentHighlightings.js.map +1 -1
  451. package/dist/editor/page-editor-chrome/CommentTargetPickerCanvasLayer.d.ts +14 -0
  452. package/dist/editor/page-editor-chrome/CommentTargetPickerCanvasLayer.js +110 -0
  453. package/dist/editor/page-editor-chrome/CommentTargetPickerCanvasLayer.js.map +1 -0
  454. package/dist/editor/page-editor-chrome/ConversionIndicators.d.ts +8 -0
  455. package/dist/editor/page-editor-chrome/ConversionIndicators.js +75 -0
  456. package/dist/editor/page-editor-chrome/ConversionIndicators.js.map +1 -0
  457. package/dist/editor/page-editor-chrome/DiffHighlightOverlay.d.ts +9 -13
  458. package/dist/editor/page-editor-chrome/DiffHighlightOverlay.js +25 -20
  459. package/dist/editor/page-editor-chrome/DiffHighlightOverlay.js.map +1 -1
  460. package/dist/editor/page-editor-chrome/DragInsertionOverlay.js +21 -17
  461. package/dist/editor/page-editor-chrome/DragInsertionOverlay.js.map +1 -1
  462. package/dist/editor/page-editor-chrome/EmptyImageFieldIndicators.d.ts +1 -1
  463. package/dist/editor/page-editor-chrome/EmptyImageFieldIndicators.js +9 -6
  464. package/dist/editor/page-editor-chrome/EmptyImageFieldIndicators.js.map +1 -1
  465. package/dist/editor/page-editor-chrome/FeedbackLeaderCanvasSegment.d.ts +15 -0
  466. package/dist/editor/page-editor-chrome/FeedbackLeaderCanvasSegment.js +31 -0
  467. package/dist/editor/page-editor-chrome/FeedbackLeaderCanvasSegment.js.map +1 -0
  468. package/dist/editor/page-editor-chrome/FieldActionIndicator.d.ts +1 -1
  469. package/dist/editor/page-editor-chrome/FieldActionIndicator.js +6 -3
  470. package/dist/editor/page-editor-chrome/FieldActionIndicator.js.map +1 -1
  471. package/dist/editor/page-editor-chrome/FieldEditedIndicator.js +10 -6
  472. package/dist/editor/page-editor-chrome/FieldEditedIndicator.js.map +1 -1
  473. package/dist/editor/page-editor-chrome/FindReplaceHighlightings.d.ts +1 -1
  474. package/dist/editor/page-editor-chrome/FindReplaceHighlightings.js +7 -4
  475. package/dist/editor/page-editor-chrome/FindReplaceHighlightings.js.map +1 -1
  476. package/dist/editor/page-editor-chrome/FrameMenu.d.ts +1 -1
  477. package/dist/editor/page-editor-chrome/FrameMenu.js +13 -11
  478. package/dist/editor/page-editor-chrome/FrameMenu.js.map +1 -1
  479. package/dist/editor/page-editor-chrome/FrameMenus.d.ts +1 -1
  480. package/dist/editor/page-editor-chrome/FrameMenus.js +7 -5
  481. package/dist/editor/page-editor-chrome/FrameMenus.js.map +1 -1
  482. package/dist/editor/page-editor-chrome/InlineFieldHistoryButton.d.ts +2 -2
  483. package/dist/editor/page-editor-chrome/InlineFieldHistoryButton.js +20 -39
  484. package/dist/editor/page-editor-chrome/InlineFieldHistoryButton.js.map +1 -1
  485. package/dist/editor/page-editor-chrome/LockedFieldIndicator.d.ts +1 -1
  486. package/dist/editor/page-editor-chrome/LockedFieldIndicator.js +27 -21
  487. package/dist/editor/page-editor-chrome/LockedFieldIndicator.js.map +1 -1
  488. package/dist/editor/page-editor-chrome/NoLayout.js +5 -3
  489. package/dist/editor/page-editor-chrome/NoLayout.js.map +1 -1
  490. package/dist/editor/page-editor-chrome/PageEditorChrome.d.ts +1 -1
  491. package/dist/editor/page-editor-chrome/PageEditorChrome.js +29 -23
  492. package/dist/editor/page-editor-chrome/PageEditorChrome.js.map +1 -1
  493. package/dist/editor/page-editor-chrome/PictureEditorOverlay.d.ts +1 -1
  494. package/dist/editor/page-editor-chrome/PictureEditorOverlay.js +24 -21
  495. package/dist/editor/page-editor-chrome/PictureEditorOverlay.js.map +1 -1
  496. package/dist/editor/page-editor-chrome/PlaceholderDropZone.js +10 -4
  497. package/dist/editor/page-editor-chrome/PlaceholderDropZone.js.map +1 -1
  498. package/dist/editor/page-editor-chrome/PlaceholderDropZones.d.ts +1 -1
  499. package/dist/editor/page-editor-chrome/PlaceholderDropZones.js +11 -10
  500. package/dist/editor/page-editor-chrome/PlaceholderDropZones.js.map +1 -1
  501. package/dist/editor/page-editor-chrome/SpellCheckHighlightings.d.ts +12 -0
  502. package/dist/editor/page-editor-chrome/SpellCheckHighlightings.js +197 -0
  503. package/dist/editor/page-editor-chrome/SpellCheckHighlightings.js.map +1 -0
  504. package/dist/editor/page-editor-chrome/SuggestionHighlightings.d.ts +1 -1
  505. package/dist/editor/page-editor-chrome/SuggestionHighlightings.js +226 -388
  506. package/dist/editor/page-editor-chrome/SuggestionHighlightings.js.map +1 -1
  507. package/dist/editor/page-editor-chrome/ValidationRulerMarks.d.ts +11 -0
  508. package/dist/editor/page-editor-chrome/ValidationRulerMarks.js +56 -0
  509. package/dist/editor/page-editor-chrome/ValidationRulerMarks.js.map +1 -0
  510. package/dist/editor/page-editor-chrome/VersionDiffHighlightings.d.ts +1 -1
  511. package/dist/editor/page-editor-chrome/VersionDiffHighlightings.js +11 -8
  512. package/dist/editor/page-editor-chrome/VersionDiffHighlightings.js.map +1 -1
  513. package/dist/editor/page-editor-chrome/overlay/IframeOverlayProvider.d.ts +15 -2
  514. package/dist/editor/page-editor-chrome/overlay/IframeOverlayProvider.js +70 -9
  515. package/dist/editor/page-editor-chrome/overlay/IframeOverlayProvider.js.map +1 -1
  516. package/dist/editor/page-editor-chrome/overlay/feedbackAnchorMeasurements.d.ts +44 -0
  517. package/dist/editor/page-editor-chrome/overlay/feedbackAnchorMeasurements.js +89 -0
  518. package/dist/editor/page-editor-chrome/overlay/feedbackAnchorMeasurements.js.map +1 -0
  519. package/dist/editor/page-editor-chrome/overlay/feedbackAnchorStore.d.ts +17 -0
  520. package/dist/editor/page-editor-chrome/overlay/feedbackAnchorStore.js +53 -0
  521. package/dist/editor/page-editor-chrome/overlay/feedbackAnchorStore.js.map +1 -0
  522. package/dist/editor/page-editor-chrome/overlay/geometry.d.ts +15 -0
  523. package/dist/editor/page-editor-chrome/overlay/geometry.js +40 -0
  524. package/dist/editor/page-editor-chrome/overlay/geometry.js.map +1 -1
  525. package/dist/editor/page-editor-chrome/overlay/useBridgeTextRangeRequest.d.ts +11 -0
  526. package/dist/editor/page-editor-chrome/overlay/useBridgeTextRangeRequest.js +84 -0
  527. package/dist/editor/page-editor-chrome/overlay/useBridgeTextRangeRequest.js.map +1 -0
  528. package/dist/editor/page-editor-chrome/overlay/useCommentAnchorMeasurements.d.ts +34 -0
  529. package/dist/editor/page-editor-chrome/overlay/useCommentAnchorMeasurements.js +229 -0
  530. package/dist/editor/page-editor-chrome/overlay/useCommentAnchorMeasurements.js.map +1 -0
  531. package/dist/editor/page-editor-chrome/overlay/useOverlayViewportRight.d.ts +9 -0
  532. package/dist/editor/page-editor-chrome/overlay/useOverlayViewportRight.js +34 -0
  533. package/dist/editor/page-editor-chrome/overlay/useOverlayViewportRight.js.map +1 -0
  534. package/dist/editor/page-editor-chrome/overlay/useSuggestionAnchorMeasurements.d.ts +49 -0
  535. package/dist/editor/page-editor-chrome/overlay/useSuggestionAnchorMeasurements.js +241 -0
  536. package/dist/editor/page-editor-chrome/overlay/useSuggestionAnchorMeasurements.js.map +1 -0
  537. package/dist/editor/page-editor-chrome/useBridgeInlineEditing.d.ts +7 -0
  538. package/dist/editor/page-editor-chrome/useBridgeInlineEditing.js +133 -10
  539. package/dist/editor/page-editor-chrome/useBridgeInlineEditing.js.map +1 -1
  540. package/dist/editor/page-editor-chrome/useBridgeRichTextFieldOptions.d.ts +12 -0
  541. package/dist/editor/page-editor-chrome/useBridgeRichTextFieldOptions.js +79 -0
  542. package/dist/editor/page-editor-chrome/useBridgeRichTextFieldOptions.js.map +1 -0
  543. package/dist/editor/page-editor-chrome/useComponentDragHandle.js +1 -1
  544. package/dist/editor/page-editor-chrome/useComponentDragHandle.js.map +1 -1
  545. package/dist/editor/page-editor-chrome/useDragInsertionGesture.js +1 -1
  546. package/dist/editor/page-editor-chrome/useDragInsertionGesture.js.map +1 -1
  547. package/dist/editor/page-editor-chrome/usePinnedHoveredComponentId.d.ts +1 -1
  548. package/dist/editor/page-editor-chrome/usePinnedHoveredComponentId.js +4 -2
  549. package/dist/editor/page-editor-chrome/usePinnedHoveredComponentId.js.map +1 -1
  550. package/dist/editor/page-viewer/CanvasOverviewRuler.d.ts +11 -0
  551. package/dist/editor/page-viewer/CanvasOverviewRuler.js +65 -0
  552. package/dist/editor/page-viewer/CanvasOverviewRuler.js.map +1 -0
  553. package/dist/editor/page-viewer/DeviceToolbar.d.ts +1 -1
  554. package/dist/editor/page-viewer/DeviceToolbar.js +8 -3
  555. package/dist/editor/page-viewer/DeviceToolbar.js.map +1 -1
  556. package/dist/editor/page-viewer/DynamicRenderingsBar.d.ts +23 -0
  557. package/dist/editor/page-viewer/DynamicRenderingsBar.js +28 -0
  558. package/dist/editor/page-viewer/DynamicRenderingsBar.js.map +1 -0
  559. package/dist/editor/page-viewer/DynamicRenderingsStrip.d.ts +18 -0
  560. package/dist/editor/page-viewer/DynamicRenderingsStrip.js +29 -0
  561. package/dist/editor/page-viewer/DynamicRenderingsStrip.js.map +1 -0
  562. package/dist/editor/page-viewer/EditorForm.js +29 -24
  563. package/dist/editor/page-viewer/EditorForm.js.map +1 -1
  564. package/dist/editor/page-viewer/FeedbackMargin.d.ts +57 -0
  565. package/dist/editor/page-viewer/FeedbackMargin.js +378 -0
  566. package/dist/editor/page-viewer/FeedbackMargin.js.map +1 -0
  567. package/dist/editor/page-viewer/FeedbackMarginController.d.ts +76 -0
  568. package/dist/editor/page-viewer/FeedbackMarginController.js +241 -0
  569. package/dist/editor/page-viewer/FeedbackMarginController.js.map +1 -0
  570. package/dist/editor/page-viewer/FeedbackMarginMarker.d.ts +16 -0
  571. package/dist/editor/page-viewer/FeedbackMarginMarker.js +24 -0
  572. package/dist/editor/page-viewer/FeedbackMarginMarker.js.map +1 -0
  573. package/dist/editor/page-viewer/FeedbackMarginResizeHandle.d.ts +23 -0
  574. package/dist/editor/page-viewer/FeedbackMarginResizeHandle.js +105 -0
  575. package/dist/editor/page-viewer/FeedbackMarginResizeHandle.js.map +1 -0
  576. package/dist/editor/page-viewer/InteractivePreviewBar.d.ts +24 -0
  577. package/dist/editor/page-viewer/InteractivePreviewBar.js +31 -0
  578. package/dist/editor/page-viewer/InteractivePreviewBar.js.map +1 -0
  579. package/dist/editor/page-viewer/MiniMap.d.ts +9 -3
  580. package/dist/editor/page-viewer/MiniMap.js +50 -60
  581. package/dist/editor/page-viewer/MiniMap.js.map +1 -1
  582. package/dist/editor/page-viewer/MinimapDropTargets.d.ts +1 -1
  583. package/dist/editor/page-viewer/MinimapDropTargets.js +9 -7
  584. package/dist/editor/page-viewer/MinimapDropTargets.js.map +1 -1
  585. package/dist/editor/page-viewer/MobileCommentsPanel.d.ts +16 -0
  586. package/dist/editor/page-viewer/MobileCommentsPanel.js +112 -0
  587. package/dist/editor/page-viewer/MobileCommentsPanel.js.map +1 -0
  588. package/dist/editor/page-viewer/PageViewer.js +22 -67
  589. package/dist/editor/page-viewer/PageViewer.js.map +1 -1
  590. package/dist/editor/page-viewer/PageViewerFrame.d.ts +1 -0
  591. package/dist/editor/page-viewer/PageViewerFrame.js +625 -228
  592. package/dist/editor/page-viewer/PageViewerFrame.js.map +1 -1
  593. package/dist/editor/page-viewer/RenderingAiCheck.d.ts +18 -0
  594. package/dist/editor/page-viewer/RenderingAiCheck.js +45 -0
  595. package/dist/editor/page-viewer/RenderingAiCheck.js.map +1 -0
  596. package/dist/editor/page-viewer/RenderingApprovalDialog.d.ts +32 -0
  597. package/dist/editor/page-viewer/RenderingApprovalDialog.js +191 -0
  598. package/dist/editor/page-viewer/RenderingApprovalDialog.js.map +1 -0
  599. package/dist/editor/page-viewer/SealedClientCodePreview.d.ts +17 -0
  600. package/dist/editor/page-viewer/SealedClientCodePreview.js +38 -0
  601. package/dist/editor/page-viewer/SealedClientCodePreview.js.map +1 -0
  602. package/dist/editor/page-viewer/bridgeFieldPatch.d.ts +9 -0
  603. package/dist/editor/page-viewer/bridgeFieldPatch.js +21 -0
  604. package/dist/editor/page-viewer/bridgeFieldPatch.js.map +1 -1
  605. package/dist/editor/page-viewer/bridgeInlineEditSession.js +8 -0
  606. package/dist/editor/page-viewer/bridgeInlineEditSession.js.map +1 -1
  607. package/dist/editor/page-viewer/canvasFrameNavigation.d.ts +18 -0
  608. package/dist/editor/page-viewer/canvasFrameNavigation.js +36 -0
  609. package/dist/editor/page-viewer/canvasFrameNavigation.js.map +1 -0
  610. package/dist/editor/page-viewer/canvasLoadSettling.d.ts +42 -0
  611. package/dist/editor/page-viewer/canvasLoadSettling.js +46 -0
  612. package/dist/editor/page-viewer/canvasLoadSettling.js.map +1 -0
  613. package/dist/editor/page-viewer/canvasScrollHandoff.d.ts +34 -0
  614. package/dist/editor/page-viewer/canvasScrollHandoff.js +55 -0
  615. package/dist/editor/page-viewer/canvasScrollHandoff.js.map +1 -0
  616. package/dist/editor/page-viewer/canvasScrollRestore.d.ts +28 -0
  617. package/dist/editor/page-viewer/canvasScrollRestore.js +31 -0
  618. package/dist/editor/page-viewer/canvasScrollRestore.js.map +1 -0
  619. package/dist/editor/page-viewer/feedbackMarginLayout.d.ts +119 -0
  620. package/dist/editor/page-viewer/feedbackMarginLayout.js +155 -0
  621. package/dist/editor/page-viewer/feedbackMarginLayout.js.map +1 -0
  622. package/dist/editor/page-viewer/feedbackMarginSources.d.ts +36 -0
  623. package/dist/editor/page-viewer/feedbackMarginSources.js +196 -0
  624. package/dist/editor/page-viewer/feedbackMarginSources.js.map +1 -0
  625. package/dist/editor/page-viewer/feedbackMarginWidth.d.ts +43 -0
  626. package/dist/editor/page-viewer/feedbackMarginWidth.js +107 -0
  627. package/dist/editor/page-viewer/feedbackMarginWidth.js.map +1 -0
  628. package/dist/editor/page-viewer/interactivePreview.d.ts +168 -0
  629. package/dist/editor/page-viewer/interactivePreview.js +344 -0
  630. package/dist/editor/page-viewer/interactivePreview.js.map +1 -0
  631. package/dist/editor/page-viewer/minimapViewport.js +5 -2
  632. package/dist/editor/page-viewer/minimapViewport.js.map +1 -1
  633. package/dist/editor/page-viewer/openPageItems.d.ts +29 -0
  634. package/dist/editor/page-viewer/openPageItems.js +73 -0
  635. package/dist/editor/page-viewer/openPageItems.js.map +1 -0
  636. package/dist/editor/page-viewer/overviewRuler.d.ts +128 -0
  637. package/dist/editor/page-viewer/overviewRuler.js +226 -0
  638. package/dist/editor/page-viewer/overviewRuler.js.map +1 -0
  639. package/dist/editor/page-viewer/pageViewContext.d.ts +99 -37
  640. package/dist/editor/page-viewer/pageViewContext.js +207 -238
  641. package/dist/editor/page-viewer/pageViewContext.js.map +1 -1
  642. package/dist/editor/page-viewer/renderingApproval.d.ts +59 -0
  643. package/dist/editor/page-viewer/renderingApproval.js +186 -0
  644. package/dist/editor/page-viewer/renderingApproval.js.map +1 -0
  645. package/dist/editor/page-viewer/renderingChanges.d.ts +29 -0
  646. package/dist/editor/page-viewer/renderingChanges.js +40 -0
  647. package/dist/editor/page-viewer/renderingChanges.js.map +1 -0
  648. package/dist/editor/page-viewer/scrollIntoViewTextRanges.d.ts +23 -0
  649. package/dist/editor/page-viewer/scrollIntoViewTextRanges.js +26 -0
  650. package/dist/editor/page-viewer/scrollIntoViewTextRanges.js.map +1 -0
  651. package/dist/editor/page-viewer/useInteractivePreview.d.ts +77 -0
  652. package/dist/editor/page-viewer/useInteractivePreview.js +210 -0
  653. package/dist/editor/page-viewer/useInteractivePreview.js.map +1 -0
  654. package/dist/editor/pageModel.d.ts +12 -0
  655. package/dist/editor/personalization/ConditionTreeEditor.js +1 -1
  656. package/dist/editor/personalization/ConditionTreeEditor.js.map +1 -1
  657. package/dist/editor/personalization/PersonalizationPanel.js +1 -1
  658. package/dist/editor/personalization/PersonalizationPanel.js.map +1 -1
  659. package/dist/editor/reviews/CollapsibleText.d.ts +13 -0
  660. package/dist/editor/reviews/CollapsibleText.js +41 -0
  661. package/dist/editor/reviews/CollapsibleText.js.map +1 -0
  662. package/dist/editor/reviews/Comment.d.ts +10 -1
  663. package/dist/editor/reviews/Comment.js +47 -26
  664. package/dist/editor/reviews/Comment.js.map +1 -1
  665. package/dist/editor/reviews/CommentDisplayPopover.js +29 -25
  666. package/dist/editor/reviews/CommentDisplayPopover.js.map +1 -1
  667. package/dist/editor/reviews/CommentEditor.d.ts +25 -1
  668. package/dist/editor/reviews/CommentEditor.js +130 -24
  669. package/dist/editor/reviews/CommentEditor.js.map +1 -1
  670. package/dist/editor/reviews/CommentPopover.d.ts +0 -4
  671. package/dist/editor/reviews/CommentPopover.js +4 -8
  672. package/dist/editor/reviews/CommentPopover.js.map +1 -1
  673. package/dist/editor/reviews/CommentQuote.d.ts +10 -1
  674. package/dist/editor/reviews/CommentQuote.js +15 -10
  675. package/dist/editor/reviews/CommentQuote.js.map +1 -1
  676. package/dist/editor/reviews/CommentTargetOutline.d.ts +13 -0
  677. package/dist/editor/reviews/CommentTargetOutline.js +21 -0
  678. package/dist/editor/reviews/CommentTargetOutline.js.map +1 -0
  679. package/dist/editor/reviews/CommentTargetPickerDomLayer.d.ts +7 -0
  680. package/dist/editor/reviews/CommentTargetPickerDomLayer.js +117 -0
  681. package/dist/editor/reviews/CommentTargetPickerDomLayer.js.map +1 -0
  682. package/dist/editor/reviews/CommentThreadAgentLink.d.ts +6 -1
  683. package/dist/editor/reviews/CommentThreadAgentLink.js +4 -4
  684. package/dist/editor/reviews/CommentThreadAgentLink.js.map +1 -1
  685. package/dist/editor/reviews/CommentThreadCard.d.ts +34 -0
  686. package/dist/editor/reviews/CommentThreadCard.js +156 -0
  687. package/dist/editor/reviews/CommentThreadCard.js.map +1 -0
  688. package/dist/editor/reviews/CommentView.d.ts +7 -1
  689. package/dist/editor/reviews/CommentView.js +24 -6
  690. package/dist/editor/reviews/CommentView.js.map +1 -1
  691. package/dist/editor/reviews/Comments.js +5 -14
  692. package/dist/editor/reviews/Comments.js.map +1 -1
  693. package/dist/editor/reviews/CreateReviewDialog.js +36 -9
  694. package/dist/editor/reviews/CreateReviewDialog.js.map +1 -1
  695. package/dist/editor/reviews/EditReviewSettingsDialog.js +1 -1
  696. package/dist/editor/reviews/EditReviewSettingsDialog.js.map +1 -1
  697. package/dist/editor/reviews/FeedbackCard.d.ts +16 -1
  698. package/dist/editor/reviews/FeedbackCard.js +14 -3
  699. package/dist/editor/reviews/FeedbackCard.js.map +1 -1
  700. package/dist/editor/reviews/FeedbackFilters.d.ts +9 -5
  701. package/dist/editor/reviews/FeedbackFilters.js +15 -36
  702. package/dist/editor/reviews/FeedbackFilters.js.map +1 -1
  703. package/dist/editor/reviews/FeedbackModeIntro.d.ts +7 -1
  704. package/dist/editor/reviews/FeedbackModeIntro.js +11 -6
  705. package/dist/editor/reviews/FeedbackModeIntro.js.map +1 -1
  706. package/dist/editor/reviews/MentionText.d.ts +2 -1
  707. package/dist/editor/reviews/MentionText.js +5 -3
  708. package/dist/editor/reviews/MentionText.js.map +1 -1
  709. package/dist/editor/reviews/MultiReviewManager.js +18 -3
  710. package/dist/editor/reviews/MultiReviewManager.js.map +1 -1
  711. package/dist/editor/reviews/ReviewItemsPanel.js +4 -0
  712. package/dist/editor/reviews/ReviewItemsPanel.js.map +1 -1
  713. package/dist/editor/reviews/SuggestedEdit.d.ts +10 -1
  714. package/dist/editor/reviews/SuggestedEdit.js +77 -10
  715. package/dist/editor/reviews/SuggestedEdit.js.map +1 -1
  716. package/dist/editor/reviews/SuggestionCommentThread.d.ts +5 -1
  717. package/dist/editor/reviews/SuggestionCommentThread.js +48 -17
  718. package/dist/editor/reviews/SuggestionCommentThread.js.map +1 -1
  719. package/dist/editor/reviews/SuggestionDisplayPopover.d.ts +1 -3
  720. package/dist/editor/reviews/SuggestionDisplayPopover.js +2 -7
  721. package/dist/editor/reviews/SuggestionDisplayPopover.js.map +1 -1
  722. package/dist/editor/reviews/SuggestionThreadCard.d.ts +19 -0
  723. package/dist/editor/reviews/SuggestionThreadCard.js +25 -0
  724. package/dist/editor/reviews/SuggestionThreadCard.js.map +1 -0
  725. package/dist/editor/reviews/addCommentOnTarget.d.ts +22 -0
  726. package/dist/editor/reviews/addCommentOnTarget.js +32 -0
  727. package/dist/editor/reviews/addCommentOnTarget.js.map +1 -0
  728. package/dist/editor/reviews/applySuggestedEditActions.js +7 -1
  729. package/dist/editor/reviews/applySuggestedEditActions.js.map +1 -1
  730. package/dist/editor/reviews/balloonLayout.d.ts +51 -0
  731. package/dist/editor/reviews/balloonLayout.js +101 -0
  732. package/dist/editor/reviews/balloonLayout.js.map +1 -0
  733. package/dist/editor/reviews/commentImages.d.ts +1 -2
  734. package/dist/editor/reviews/commentImages.js +1 -37
  735. package/dist/editor/reviews/commentImages.js.map +1 -1
  736. package/dist/editor/reviews/commentTargetPicker.d.ts +114 -0
  737. package/dist/editor/reviews/commentTargetPicker.js +153 -0
  738. package/dist/editor/reviews/commentTargetPicker.js.map +1 -0
  739. package/dist/editor/reviews/feedbackAvatar.js +2 -1
  740. package/dist/editor/reviews/feedbackAvatar.js.map +1 -1
  741. package/dist/editor/reviews/feedbackBalloonDate.d.ts +8 -0
  742. package/dist/editor/reviews/feedbackBalloonDate.js +22 -0
  743. package/dist/editor/reviews/feedbackBalloonDate.js.map +1 -0
  744. package/dist/editor/reviews/feedbackDrafts.d.ts +49 -0
  745. package/dist/editor/reviews/feedbackDrafts.js +74 -0
  746. package/dist/editor/reviews/feedbackDrafts.js.map +1 -0
  747. package/dist/editor/reviews/feedbackHoverState.d.ts +18 -0
  748. package/dist/editor/reviews/feedbackHoverState.js +35 -0
  749. package/dist/editor/reviews/feedbackHoverState.js.map +1 -0
  750. package/dist/editor/reviews/feedbackPersonFilter.d.ts +3 -0
  751. package/dist/editor/reviews/feedbackPersonFilter.js +32 -0
  752. package/dist/editor/reviews/feedbackPersonFilter.js.map +1 -0
  753. package/dist/editor/reviews/feedbackSelection.js +7 -3
  754. package/dist/editor/reviews/feedbackSelection.js.map +1 -1
  755. package/dist/editor/reviews/feedbackThreadSelection.d.ts +10 -0
  756. package/dist/editor/reviews/feedbackThreadSelection.js +31 -0
  757. package/dist/editor/reviews/feedbackThreadSelection.js.map +1 -0
  758. package/dist/editor/reviews/feedbackThreads.d.ts +50 -0
  759. package/dist/editor/reviews/feedbackThreads.js +135 -0
  760. package/dist/editor/reviews/feedbackThreads.js.map +1 -0
  761. package/dist/editor/reviews/feedbackWheelForwarding.d.ts +34 -0
  762. package/dist/editor/reviews/feedbackWheelForwarding.js +108 -0
  763. package/dist/editor/reviews/feedbackWheelForwarding.js.map +1 -0
  764. package/dist/editor/reviews/openCommentsFeedback.d.ts +1 -1
  765. package/dist/editor/reviews/openCommentsFeedback.js +2 -1
  766. package/dist/editor/reviews/openCommentsFeedback.js.map +1 -1
  767. package/dist/editor/reviews/pendingReviewSelection.d.ts +13 -0
  768. package/dist/editor/reviews/pendingReviewSelection.js +29 -0
  769. package/dist/editor/reviews/pendingReviewSelection.js.map +1 -0
  770. package/dist/editor/reviews/requestReview.d.ts +27 -0
  771. package/dist/editor/reviews/requestReview.js +36 -0
  772. package/dist/editor/reviews/requestReview.js.map +1 -0
  773. package/dist/editor/reviews/reviewUrlScope.d.ts +23 -0
  774. package/dist/editor/reviews/reviewUrlScope.js +86 -0
  775. package/dist/editor/reviews/reviewUrlScope.js.map +1 -0
  776. package/dist/editor/reviews/scrollWithin.d.ts +29 -0
  777. package/dist/editor/reviews/scrollWithin.js +87 -0
  778. package/dist/editor/reviews/scrollWithin.js.map +1 -0
  779. package/dist/editor/reviews/subtreeFeedback.d.ts +57 -0
  780. package/dist/editor/reviews/subtreeFeedback.js +137 -0
  781. package/dist/editor/reviews/subtreeFeedback.js.map +1 -0
  782. package/dist/editor/reviews/useCommentImagePaste.d.ts +9 -1
  783. package/dist/editor/reviews/useCommentImagePaste.js +68 -4
  784. package/dist/editor/reviews/useCommentImagePaste.js.map +1 -1
  785. package/dist/editor/reviews/useFeedbackThreads.d.ts +35 -0
  786. package/dist/editor/reviews/useFeedbackThreads.js +137 -0
  787. package/dist/editor/reviews/useFeedbackThreads.js.map +1 -0
  788. package/dist/editor/reviews/useMeasuredHeights.d.ts +25 -0
  789. package/dist/editor/reviews/useMeasuredHeights.js +176 -0
  790. package/dist/editor/reviews/useMeasuredHeights.js.map +1 -0
  791. package/dist/editor/reviews/usePendingFeedbackFocus.d.ts +7 -0
  792. package/dist/editor/reviews/usePendingFeedbackFocus.js +42 -0
  793. package/dist/editor/reviews/usePendingFeedbackFocus.js.map +1 -0
  794. package/dist/editor/services/agentService.d.ts +101 -5
  795. package/dist/editor/services/agentService.js +16 -0
  796. package/dist/editor/services/agentService.js.map +1 -1
  797. package/dist/editor/services/aiService.d.ts +2 -0
  798. package/dist/editor/services/aiService.js.map +1 -1
  799. package/dist/editor/services/contentService.d.ts +11 -1
  800. package/dist/editor/services/contentService.js +2 -1
  801. package/dist/editor/services/contentService.js.map +1 -1
  802. package/dist/editor/services/editService.d.ts +2 -0
  803. package/dist/editor/services/editService.js.map +1 -1
  804. package/dist/editor/services/indexService.d.ts +1 -0
  805. package/dist/editor/services/indexService.js +4 -0
  806. package/dist/editor/services/indexService.js.map +1 -1
  807. package/dist/editor/services/mcpAccessService.d.ts +93 -0
  808. package/dist/editor/services/mcpAccessService.js +41 -0
  809. package/dist/editor/services/mcpAccessService.js.map +1 -0
  810. package/dist/editor/services/previewTokenService.d.ts +14 -0
  811. package/dist/editor/services/previewTokenService.js +34 -0
  812. package/dist/editor/services/previewTokenService.js.map +1 -0
  813. package/dist/editor/services/renderingsService.d.ts +117 -0
  814. package/dist/editor/services/renderingsService.js +245 -0
  815. package/dist/editor/services/renderingsService.js.map +1 -0
  816. package/dist/editor/services/reviewsService.d.ts +6 -1
  817. package/dist/editor/services/reviewsService.js +14 -6
  818. package/dist/editor/services/reviewsService.js.map +1 -1
  819. package/dist/editor/services/serviceHelper.d.ts +17 -1
  820. package/dist/editor/services/serviceHelper.js +67 -12
  821. package/dist/editor/services/serviceHelper.js.map +1 -1
  822. package/dist/editor/services/spellCheckService.d.ts +13 -0
  823. package/dist/editor/services/spellCheckService.js +33 -0
  824. package/dist/editor/services/spellCheckService.js.map +1 -0
  825. package/dist/editor/services/suggestedEditsService.d.ts +1 -0
  826. package/dist/editor/services/suggestedEditsService.js +7 -0
  827. package/dist/editor/services/suggestedEditsService.js.map +1 -1
  828. package/dist/editor/settings/MigrationJournalCard.js +2 -2
  829. package/dist/editor/settings/MigrationJournalCard.js.map +1 -1
  830. package/dist/editor/settings/StatusSummary.js +5 -2
  831. package/dist/editor/settings/StatusSummary.js.map +1 -1
  832. package/dist/editor/settings/index/CollectionWarningsDisplay.js +1 -1
  833. package/dist/editor/settings/index/CollectionWarningsDisplay.js.map +1 -1
  834. package/dist/editor/settings/index/IndexGenerationsSection.d.ts +4 -5
  835. package/dist/editor/settings/index/IndexGenerationsSection.js +83 -33
  836. package/dist/editor/settings/index/IndexGenerationsSection.js.map +1 -1
  837. package/dist/editor/settings/panels/AgentProfileConfigPanel.js +1 -1
  838. package/dist/editor/settings/panels/AgentProfileConfigPanel.js.map +1 -1
  839. package/dist/editor/settings/panels/AgentToolsPanel.js +1 -1
  840. package/dist/editor/settings/panels/AgentToolsPanel.js.map +1 -1
  841. package/dist/editor/settings/panels/JavaScriptToolAgentPanel.js +1 -1
  842. package/dist/editor/settings/panels/JavaScriptToolAgentPanel.js.map +1 -1
  843. package/dist/editor/settings/panels/JavaScriptToolConfigPanel.js +1 -1
  844. package/dist/editor/settings/panels/JavaScriptToolConfigPanel.js.map +1 -1
  845. package/dist/editor/settings/panels/McpAccessPanel.d.ts +7 -0
  846. package/dist/editor/settings/panels/McpAccessPanel.js +96 -0
  847. package/dist/editor/settings/panels/McpAccessPanel.js.map +1 -0
  848. package/dist/editor/settings/panels/McpAccessSettingsView.d.ts +8 -0
  849. package/dist/editor/settings/panels/McpAccessSettingsView.js +221 -0
  850. package/dist/editor/settings/panels/McpAccessSettingsView.js.map +1 -0
  851. package/dist/editor/settings/panels/ModelConfigPanel.js +1 -0
  852. package/dist/editor/settings/panels/ModelConfigPanel.js.map +1 -1
  853. package/dist/editor/settings/panels/ModelsPanel.js +60 -6
  854. package/dist/editor/settings/panels/ModelsPanel.js.map +1 -1
  855. package/dist/editor/settings/panels/PersistentLogsPanel.js +2 -1
  856. package/dist/editor/settings/panels/PersistentLogsPanel.js.map +1 -1
  857. package/dist/editor/settings/panels/ProjectTemplateAgentPanel.js +1 -1
  858. package/dist/editor/settings/panels/ProjectTemplateAgentPanel.js.map +1 -1
  859. package/dist/editor/settings/panels/ProvidersPanel.js +2 -1
  860. package/dist/editor/settings/panels/ProvidersPanel.js.map +1 -1
  861. package/dist/editor/settings/panels/SearchConfigPanel.js +6 -5
  862. package/dist/editor/settings/panels/SearchConfigPanel.js.map +1 -1
  863. package/dist/editor/settings/panels/SpellCheckPanel.d.ts +8 -0
  864. package/dist/editor/settings/panels/SpellCheckPanel.js +253 -0
  865. package/dist/editor/settings/panels/SpellCheckPanel.js.map +1 -0
  866. package/dist/editor/settings/panels/StatusPanel.js +5 -6
  867. package/dist/editor/settings/panels/StatusPanel.js.map +1 -1
  868. package/dist/editor/settings/panels/UserPreferencesPanel.js +5 -2
  869. package/dist/editor/settings/panels/UserPreferencesPanel.js.map +1 -1
  870. package/dist/editor/settings/panels/index.d.ts +2 -0
  871. package/dist/editor/settings/panels/index.js +2 -0
  872. package/dist/editor/settings/panels/index.js.map +1 -1
  873. package/dist/editor/sidebar/ComponentPalette.js +7 -3
  874. package/dist/editor/sidebar/ComponentPalette.js.map +1 -1
  875. package/dist/editor/sidebar/ComponentTree.d.ts +1 -1
  876. package/dist/editor/sidebar/ComponentTree.js +32 -56
  877. package/dist/editor/sidebar/ComponentTree.js.map +1 -1
  878. package/dist/editor/sidebar/DictionaryEditor.js +2 -1
  879. package/dist/editor/sidebar/DictionaryEditor.js.map +1 -1
  880. package/dist/editor/sidebar/EditHistory.js +5 -4
  881. package/dist/editor/sidebar/EditHistory.js.map +1 -1
  882. package/dist/editor/sidebar/FeedbackSidebar.d.ts +7 -0
  883. package/dist/editor/sidebar/FeedbackSidebar.js +300 -0
  884. package/dist/editor/sidebar/FeedbackSidebar.js.map +1 -0
  885. package/dist/editor/sidebar/OperationDetailsContent.js +50 -0
  886. package/dist/editor/sidebar/OperationDetailsContent.js.map +1 -1
  887. package/dist/editor/sidebar/OperationItem.js +2 -0
  888. package/dist/editor/sidebar/OperationItem.js.map +1 -1
  889. package/dist/editor/sidebar/Sessions.js +3 -1
  890. package/dist/editor/sidebar/Sessions.js.map +1 -1
  891. package/dist/editor/sidebar/Validation.js +1 -1
  892. package/dist/editor/sidebar/Validation.js.map +1 -1
  893. package/dist/editor/sidebar/Workbox.js +3 -108
  894. package/dist/editor/sidebar/Workbox.js.map +1 -1
  895. package/dist/editor/sidebar/liveComponentThumbnails.d.ts +1 -1
  896. package/dist/editor/sidebar/liveComponentThumbnails.js +19 -14
  897. package/dist/editor/sidebar/liveComponentThumbnails.js.map +1 -1
  898. package/dist/editor/spellcheck/canvasSpellCheckContextMenu.d.ts +30 -0
  899. package/dist/editor/spellcheck/canvasSpellCheckContextMenu.js +69 -0
  900. package/dist/editor/spellcheck/canvasSpellCheckContextMenu.js.map +1 -0
  901. package/dist/editor/spellcheck/htmlSpellDocument.d.ts +60 -0
  902. package/dist/editor/spellcheck/htmlSpellDocument.js +181 -0
  903. package/dist/editor/spellcheck/htmlSpellDocument.js.map +1 -0
  904. package/dist/editor/spellcheck/htmlSpellTokenizer.d.ts +45 -0
  905. package/dist/editor/spellcheck/htmlSpellTokenizer.js +277 -0
  906. package/dist/editor/spellcheck/htmlSpellTokenizer.js.map +1 -0
  907. package/dist/editor/spellcheck/replacementGuard.d.ts +27 -0
  908. package/dist/editor/spellcheck/replacementGuard.js +29 -0
  909. package/dist/editor/spellcheck/replacementGuard.js.map +1 -0
  910. package/dist/editor/spellcheck/spellCheckCanvasStore.d.ts +17 -0
  911. package/dist/editor/spellcheck/spellCheckCanvasStore.js +37 -0
  912. package/dist/editor/spellcheck/spellCheckCanvasStore.js.map +1 -0
  913. package/dist/editor/spellcheck/spellCheckCanvasTargets.d.ts +71 -0
  914. package/dist/editor/spellcheck/spellCheckCanvasTargets.js +126 -0
  915. package/dist/editor/spellcheck/spellCheckCanvasTargets.js.map +1 -0
  916. package/dist/editor/spellcheck/spellCheckClient.d.ts +66 -0
  917. package/dist/editor/spellcheck/spellCheckClient.js +0 -0
  918. package/dist/editor/spellcheck/spellCheckClient.js.map +1 -0
  919. package/dist/editor/spellcheck/spellCheckContextMenu.d.ts +52 -0
  920. package/dist/editor/spellcheck/spellCheckContextMenu.js +120 -0
  921. package/dist/editor/spellcheck/spellCheckContextMenu.js.map +1 -0
  922. package/dist/editor/spellcheck/spellCheckReplace.d.ts +8 -0
  923. package/dist/editor/spellcheck/spellCheckReplace.js +20 -0
  924. package/dist/editor/spellcheck/spellCheckReplace.js.map +1 -0
  925. package/dist/editor/spellcheck/spellCheckStyles.d.ts +11 -0
  926. package/dist/editor/spellcheck/spellCheckStyles.js +12 -0
  927. package/dist/editor/spellcheck/spellCheckStyles.js.map +1 -0
  928. package/dist/editor/spellcheck/spellCheckTypes.d.ts +94 -0
  929. package/dist/editor/spellcheck/spellCheckTypes.js +2 -0
  930. package/dist/editor/spellcheck/spellCheckTypes.js.map +1 -0
  931. package/dist/editor/spellcheck/textMarkHitTest.d.ts +14 -0
  932. package/dist/editor/spellcheck/textMarkHitTest.js +39 -0
  933. package/dist/editor/spellcheck/textMarkHitTest.js.map +1 -0
  934. package/dist/editor/spellcheck/useSpellCheck.d.ts +16 -0
  935. package/dist/editor/spellcheck/useSpellCheck.js +57 -0
  936. package/dist/editor/spellcheck/useSpellCheck.js.map +1 -0
  937. package/dist/editor/ui/DynamicRenderingsPublishWarning.d.ts +14 -0
  938. package/dist/editor/ui/DynamicRenderingsPublishWarning.js +40 -0
  939. package/dist/editor/ui/DynamicRenderingsPublishWarning.js.map +1 -0
  940. package/dist/editor/ui/ItemNameDialogNew.js +11 -2
  941. package/dist/editor/ui/ItemNameDialogNew.js.map +1 -1
  942. package/dist/editor/ui/ItemSearch.d.ts +2 -0
  943. package/dist/editor/ui/ItemSearch.js +2 -2
  944. package/dist/editor/ui/ItemSearch.js.map +1 -1
  945. package/dist/editor/ui/PublishDialog.d.ts +2 -0
  946. package/dist/editor/ui/PublishDialog.js +4 -1
  947. package/dist/editor/ui/PublishDialog.js.map +1 -1
  948. package/dist/editor/ui/PublishItemDialog.js +3 -2
  949. package/dist/editor/ui/PublishItemDialog.js.map +1 -1
  950. package/dist/editor/ui/PublishReadinessSummary.js +1 -1
  951. package/dist/editor/ui/PublishReadinessSummary.js.map +1 -1
  952. package/dist/editor/ui/PublishRestrictionsDialog.d.ts +33 -0
  953. package/dist/editor/ui/PublishRestrictionsDialog.js +208 -38
  954. package/dist/editor/ui/PublishRestrictionsDialog.js.map +1 -1
  955. package/dist/editor/ui/RootItemPicker.d.ts +18 -0
  956. package/dist/editor/ui/RootItemPicker.js +112 -0
  957. package/dist/editor/ui/RootItemPicker.js.map +1 -0
  958. package/dist/editor/ui/WorkboxItemsTable.js +1 -1
  959. package/dist/editor/ui/WorkboxItemsTable.js.map +1 -1
  960. package/dist/editor/utils/dataTransferImages.d.ts +7 -0
  961. package/dist/editor/utils/dataTransferImages.js +43 -0
  962. package/dist/editor/utils/dataTransferImages.js.map +1 -0
  963. package/dist/editor/utils/itemConverters.js +9 -0
  964. package/dist/editor/utils/itemConverters.js.map +1 -1
  965. package/dist/editor/utils/keyboardNavigation.js +38 -4
  966. package/dist/editor/utils/keyboardNavigation.js.map +1 -1
  967. package/dist/editor/utils.d.ts +4 -4
  968. package/dist/editor/utils.js +9 -8
  969. package/dist/editor/utils.js.map +1 -1
  970. package/dist/editor/validation/navigateToValidationIssue.d.ts +2 -2
  971. package/dist/editor/validation/navigateToValidationIssue.js +1 -1
  972. package/dist/editor/validation/navigateToValidationIssue.js.map +1 -1
  973. package/dist/editor/validation/validationRulerIssues.d.ts +17 -0
  974. package/dist/editor/validation/validationRulerIssues.js +44 -0
  975. package/dist/editor/validation/validationRulerIssues.js.map +1 -0
  976. package/dist/editor/views/CompareView.js +3 -4
  977. package/dist/editor/views/CompareView.js.map +1 -1
  978. package/dist/editor/views/EditorSlot.js +10 -4
  979. package/dist/editor/views/EditorSlot.js.map +1 -1
  980. package/dist/editor/views/ItemEditor.d.ts +3 -1
  981. package/dist/editor/views/ItemEditor.js +43 -38
  982. package/dist/editor/views/ItemEditor.js.map +1 -1
  983. package/dist/editor/views/ItemEditorPane.js +3 -3
  984. package/dist/editor/views/ItemEditorPane.js.map +1 -1
  985. package/dist/editor/views/SingleEditView.js +10 -32
  986. package/dist/editor/views/SingleEditView.js.map +1 -1
  987. package/dist/editor/views/editorSlotContext.js +62 -90
  988. package/dist/editor/views/editorSlotContext.js.map +1 -1
  989. package/dist/index.d.ts +11 -6
  990. package/dist/index.js +9 -5
  991. package/dist/index.js.map +1 -1
  992. package/dist/licensing/FeatureGate.js +1 -1
  993. package/dist/licensing/FeatureGate.js.map +1 -1
  994. package/dist/licensing/LicenseContext.js +31 -17
  995. package/dist/licensing/LicenseContext.js.map +1 -1
  996. package/dist/revision.d.ts +2 -2
  997. package/dist/revision.js +2 -2
  998. package/dist/setup/services/setupWizardService.d.ts +6 -2
  999. package/dist/setup/services/setupWizardService.js +10 -0
  1000. package/dist/setup/services/setupWizardService.js.map +1 -1
  1001. package/dist/setup/wizard/steps/AddModelDialog.js +1 -0
  1002. package/dist/setup/wizard/steps/AddModelDialog.js.map +1 -1
  1003. package/dist/setup/wizard/steps/ImportModelDialog.js +2 -1
  1004. package/dist/setup/wizard/steps/ImportModelDialog.js.map +1 -1
  1005. package/dist/splash-screen/ModernSplashScreen.js +4 -3
  1006. package/dist/splash-screen/ModernSplashScreen.js.map +1 -1
  1007. package/dist/splash-screen/RecentPages.js +5 -2
  1008. package/dist/splash-screen/RecentPages.js.map +1 -1
  1009. package/dist/task-board/TaskBoardWorkspace.js +49 -12
  1010. package/dist/task-board/TaskBoardWorkspace.js.map +1 -1
  1011. package/dist/task-board/components/GoalsMatrix.js +1 -1
  1012. package/dist/task-board/components/GoalsMatrix.js.map +1 -1
  1013. package/dist/task-board/components/IssuePanel.js +4 -4
  1014. package/dist/task-board/components/IssuePanel.js.map +1 -1
  1015. package/dist/task-board/components/ProjectBudgetBanner.js +1 -1
  1016. package/dist/task-board/components/ProjectBudgetBanner.js.map +1 -1
  1017. package/dist/task-board/components/ProjectGoalsPanel.js +1 -1
  1018. package/dist/task-board/components/ProjectGoalsPanel.js.map +1 -1
  1019. package/dist/task-board/components/TaskDetailPanel.js +18 -8
  1020. package/dist/task-board/components/TaskDetailPanel.js.map +1 -1
  1021. package/dist/task-board/components/WizardCommunicationCards.js +1 -1
  1022. package/dist/task-board/components/WizardCommunicationCards.js.map +1 -1
  1023. package/dist/task-board/services/taskService.d.ts +1 -2
  1024. package/dist/task-board/services/taskService.js +0 -3
  1025. package/dist/task-board/services/taskService.js.map +1 -1
  1026. package/dist/task-board/taskBlockers.d.ts +10 -0
  1027. package/dist/task-board/taskBlockers.js +66 -0
  1028. package/dist/task-board/taskBlockers.js.map +1 -0
  1029. package/dist/task-board/types.d.ts +0 -7
  1030. package/dist/task-board/utils/projectDashboardModel.js +7 -1
  1031. package/dist/task-board/utils/projectDashboardModel.js.map +1 -1
  1032. package/dist/task-board/views/DependencyGraphView.d.ts +22 -0
  1033. package/dist/task-board/views/DependencyGraphView.js +111 -14
  1034. package/dist/task-board/views/DependencyGraphView.js.map +1 -1
  1035. package/dist/task-board/views/KanbanView.js +8 -10
  1036. package/dist/task-board/views/KanbanView.js.map +1 -1
  1037. package/dist/task-board/views/ProjectDashboardView.js +5 -13
  1038. package/dist/task-board/views/ProjectDashboardView.js.map +1 -1
  1039. package/dist/tour/Tour.js +4 -1
  1040. package/dist/tour/Tour.js.map +1 -1
  1041. package/dist/tour/sandbox-tour-copy.d.ts +8 -0
  1042. package/dist/tour/sandbox-tour-copy.js +8 -0
  1043. package/dist/tour/sandbox-tour-copy.js.map +1 -1
  1044. package/dist/tour/sandbox-tour.d.ts +3 -0
  1045. package/dist/tour/sandbox-tour.js +107 -3
  1046. package/dist/tour/sandbox-tour.js.map +1 -1
  1047. package/dist/types.d.ts +85 -1
  1048. package/package.json +6 -2
  1049. package/styles.css +17 -0
  1050. package/dist/editor/page-editor-chrome/bridgeLinkValue.d.ts +0 -10
  1051. package/dist/editor/page-editor-chrome/bridgeLinkValue.js +0 -55
  1052. package/dist/editor/page-editor-chrome/bridgeLinkValue.js.map +0 -1
@@ -0,0 +1,181 @@
1
+ import { decode, encode } from "html-entities";
2
+ import { tokenizeHtml } from "./htmlSpellTokenizer";
3
+ const ENTITY_PATTERN = /&(?:#[xX][0-9a-fA-F]+;?|#[0-9]+;?|[a-zA-Z][a-zA-Z0-9]*;?)/g;
4
+ function decodeText(raw) {
5
+ return decode(raw, { level: "html5", scope: "body" });
6
+ }
7
+ /** `\r\n` and lone `\r` become `\n`, matching the HTML input stream preprocessing. */
8
+ function normalizeNewlines(text) {
9
+ return text.replace(/\r\n?/g, "\n");
10
+ }
11
+ /**
12
+ * Decodes `raw` run by run (plain characters, entities, CRLF) and records the
13
+ * source range of every run. Returns undefined when the run-wise decode does
14
+ * not reproduce the authoritative decode, so callers never map offsets
15
+ * through an inconsistent table.
16
+ */
17
+ function buildRuns(raw, decoded) {
18
+ const runs = [];
19
+ let out = "";
20
+ let src = 0;
21
+ let plainStart = -1;
22
+ const closePlain = (end) => {
23
+ if (plainStart < 0)
24
+ return;
25
+ runs.push({
26
+ decStart: out.length,
27
+ decEnd: out.length + (end - plainStart),
28
+ srcStart: plainStart,
29
+ srcEnd: end,
30
+ });
31
+ out += raw.slice(plainStart, end);
32
+ plainStart = -1;
33
+ };
34
+ while (src < raw.length) {
35
+ const code = raw.charCodeAt(src);
36
+ if (code === 13 /* \r */) {
37
+ closePlain(src);
38
+ const end = raw.charCodeAt(src + 1) === 10 ? src + 2 : src + 1;
39
+ runs.push({ decStart: out.length, decEnd: out.length + 1, srcStart: src, srcEnd: end });
40
+ out += "\n";
41
+ src = end;
42
+ continue;
43
+ }
44
+ if (code === 38 /* & */) {
45
+ ENTITY_PATTERN.lastIndex = src;
46
+ const match = ENTITY_PATTERN.exec(raw);
47
+ if (match && match.index === src) {
48
+ const entityText = decodeText(match[0]);
49
+ if (entityText !== match[0]) {
50
+ closePlain(src);
51
+ runs.push({
52
+ decStart: out.length,
53
+ decEnd: out.length + entityText.length,
54
+ srcStart: src,
55
+ srcEnd: src + match[0].length,
56
+ });
57
+ out += entityText;
58
+ src += match[0].length;
59
+ continue;
60
+ }
61
+ }
62
+ }
63
+ if (plainStart < 0)
64
+ plainStart = src;
65
+ src++;
66
+ }
67
+ closePlain(raw.length);
68
+ return out === decoded ? runs : undefined;
69
+ }
70
+ export function parseHtmlSpellDocument(source) {
71
+ const tokens = tokenizeHtml(source);
72
+ const segments = [];
73
+ const separators = [];
74
+ let text = "";
75
+ const separator = () => {
76
+ separators.push(text.length);
77
+ text += "\n";
78
+ };
79
+ for (const token of tokens) {
80
+ if (token.kind === "text") {
81
+ const raw = source.slice(token.start, token.end);
82
+ const decoded = normalizeNewlines(decodeText(raw));
83
+ const runs = buildRuns(raw, decoded);
84
+ segments.push({
85
+ kind: "text",
86
+ sourceStart: token.start,
87
+ sourceEnd: token.end,
88
+ decoded,
89
+ spellStart: text.length,
90
+ spellEnd: text.length + decoded.length,
91
+ runs,
92
+ });
93
+ text += decoded;
94
+ continue;
95
+ }
96
+ if (token.kind === "rawText") {
97
+ const raw = source.slice(token.start, token.end);
98
+ const content = normalizeNewlines(token.decodesEntities ? decodeText(raw) : raw);
99
+ const masked = " ".repeat(content.length);
100
+ segments.push({
101
+ kind: "masked",
102
+ sourceStart: token.start,
103
+ sourceEnd: token.end,
104
+ decoded: masked,
105
+ spellStart: text.length,
106
+ spellEnd: text.length + masked.length,
107
+ });
108
+ text += masked;
109
+ continue;
110
+ }
111
+ if (token.kind === "startTag") {
112
+ if (token.isBlock)
113
+ separator();
114
+ continue;
115
+ }
116
+ if (token.kind === "endTag") {
117
+ if (token.isBlock && !token.isVoid)
118
+ separator();
119
+ }
120
+ }
121
+ return { source, text, separators, segments, tokens };
122
+ }
123
+ /**
124
+ * Converts a spell-text offset to the matching `element.textContent` offset by
125
+ * discounting the separators inserted before it.
126
+ */
127
+ export function toTextContentOffset(offset, separators) {
128
+ let count = 0;
129
+ for (const separator of separators) {
130
+ if (separator < offset)
131
+ count++;
132
+ else
133
+ break;
134
+ }
135
+ return offset - count;
136
+ }
137
+ /** Source offset of a decoded offset inside a segment, or undefined inside a multi-character decode. */
138
+ function toSourceOffset(segment, decodedOffset) {
139
+ const runs = segment.runs;
140
+ if (!runs)
141
+ return undefined;
142
+ if (decodedOffset === segment.decoded.length)
143
+ return segment.sourceEnd;
144
+ // Run offsets are relative to the segment's raw text.
145
+ const base = segment.sourceStart;
146
+ for (const run of runs) {
147
+ if (decodedOffset < run.decStart || decodedOffset >= run.decEnd)
148
+ continue;
149
+ if (decodedOffset === run.decStart)
150
+ return base + run.srcStart;
151
+ const oneToOne = run.decEnd - run.decStart === run.srcEnd - run.srcStart;
152
+ return oneToOne ? base + run.srcStart + (decodedOffset - run.decStart) : undefined;
153
+ }
154
+ return decodedOffset === 0 ? segment.sourceStart : undefined;
155
+ }
156
+ /**
157
+ * Replaces `[start, end)` of the spell text, which must lie inside one text
158
+ * segment and equal `word`, and returns the new source value. Everything
159
+ * outside the replaced word is copied from the source byte for byte; the
160
+ * replacement itself is entity-encoded. Returns undefined when the range spans
161
+ * a tag boundary, does not match `word`, or falls inside an entity.
162
+ */
163
+ export function replaceInDocument(document, start, end, word, replacement) {
164
+ if (end <= start)
165
+ return undefined;
166
+ const segment = document.segments.find((candidate) => candidate.kind === "text" && candidate.spellStart <= start && end <= candidate.spellEnd);
167
+ if (!segment)
168
+ return undefined;
169
+ const localStart = start - segment.spellStart;
170
+ const localEnd = end - segment.spellStart;
171
+ if (segment.decoded.slice(localStart, localEnd) !== word)
172
+ return undefined;
173
+ const sourceStart = toSourceOffset(segment, localStart);
174
+ const sourceEnd = toSourceOffset(segment, localEnd);
175
+ if (sourceStart === undefined || sourceEnd === undefined)
176
+ return undefined;
177
+ return (document.source.slice(0, sourceStart) +
178
+ encode(replacement, { mode: "specialChars" }) +
179
+ document.source.slice(sourceEnd));
180
+ }
181
+ //# sourceMappingURL=htmlSpellDocument.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"htmlSpellDocument.js","sourceRoot":"","sources":["../../../src/editor/spellcheck/htmlSpellDocument.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * A small HTML tokenizer that preserves source locations. It follows the HTML
3
+ * tokenizer states for the subset spell checking needs: data, tags with
4
+ * double-quoted / single-quoted / unquoted attribute values, self-closing
5
+ * tags, comments, doctype / bogus comments and the raw-text (script, style)
6
+ * and RCDATA (textarea, title) elements. `>` inside a quoted attribute value
7
+ * never ends a tag, so attribute content can never leak into the text.
8
+ *
9
+ * Every token carries `[start, end)` into the original string, which lets
10
+ * callers rebuild the source byte-identically around a replaced text token.
11
+ */
12
+ export type HtmlTagToken = {
13
+ kind: "startTag" | "endTag";
14
+ start: number;
15
+ end: number;
16
+ /** Lower-case element name. */
17
+ name: string;
18
+ selfClosing: boolean;
19
+ /** Block-level element: a text boundary when entered or left. */
20
+ isBlock: boolean;
21
+ /** Void element (`br`, `hr`, ...): no end tag follows. */
22
+ isVoid: boolean;
23
+ };
24
+ export type HtmlTextToken = {
25
+ kind: "text";
26
+ start: number;
27
+ end: number;
28
+ };
29
+ export type HtmlRawTextToken = {
30
+ kind: "rawText";
31
+ start: number;
32
+ end: number;
33
+ /** Element the raw text belongs to. */
34
+ name: string;
35
+ /** RCDATA elements (textarea, title) decode entities; raw text ones (script, style) do not. */
36
+ decodesEntities: boolean;
37
+ };
38
+ export type HtmlOtherToken = {
39
+ kind: "comment" | "doctype";
40
+ start: number;
41
+ end: number;
42
+ };
43
+ export type HtmlToken = HtmlTagToken | HtmlTextToken | HtmlRawTextToken | HtmlOtherToken;
44
+ export declare function isBlockElementName(name: string): boolean;
45
+ export declare function tokenizeHtml(html: string): HtmlToken[];
@@ -0,0 +1,277 @@
1
+ /**
2
+ * A small HTML tokenizer that preserves source locations. It follows the HTML
3
+ * tokenizer states for the subset spell checking needs: data, tags with
4
+ * double-quoted / single-quoted / unquoted attribute values, self-closing
5
+ * tags, comments, doctype / bogus comments and the raw-text (script, style)
6
+ * and RCDATA (textarea, title) elements. `>` inside a quoted attribute value
7
+ * never ends a tag, so attribute content can never leak into the text.
8
+ *
9
+ * Every token carries `[start, end)` into the original string, which lets
10
+ * callers rebuild the source byte-identically around a replaced text token.
11
+ */
12
+ const BLOCK_ELEMENTS = new Set([
13
+ "address",
14
+ "article",
15
+ "aside",
16
+ "blockquote",
17
+ "body",
18
+ "br",
19
+ "caption",
20
+ "center",
21
+ "colgroup",
22
+ "dd",
23
+ "details",
24
+ "dialog",
25
+ "dir",
26
+ "div",
27
+ "dl",
28
+ "dt",
29
+ "fieldset",
30
+ "figcaption",
31
+ "figure",
32
+ "footer",
33
+ "form",
34
+ "h1",
35
+ "h2",
36
+ "h3",
37
+ "h4",
38
+ "h5",
39
+ "h6",
40
+ "head",
41
+ "header",
42
+ "hgroup",
43
+ "hr",
44
+ "html",
45
+ "legend",
46
+ "li",
47
+ "main",
48
+ "menu",
49
+ "nav",
50
+ "ol",
51
+ "optgroup",
52
+ "option",
53
+ "p",
54
+ "pre",
55
+ "section",
56
+ "summary",
57
+ "table",
58
+ "tbody",
59
+ "td",
60
+ "tfoot",
61
+ "th",
62
+ "thead",
63
+ "tr",
64
+ "ul",
65
+ ]);
66
+ const VOID_ELEMENTS = new Set([
67
+ "area",
68
+ "base",
69
+ "br",
70
+ "col",
71
+ "embed",
72
+ "hr",
73
+ "img",
74
+ "input",
75
+ "link",
76
+ "meta",
77
+ "param",
78
+ "source",
79
+ "track",
80
+ "wbr",
81
+ ]);
82
+ /** Elements whose content the HTML tokenizer treats as raw text or RCDATA. */
83
+ const RAW_TEXT_ELEMENTS = {
84
+ script: false,
85
+ style: false,
86
+ xmp: false,
87
+ iframe: false,
88
+ noembed: false,
89
+ noframes: false,
90
+ textarea: true,
91
+ title: true,
92
+ };
93
+ export function isBlockElementName(name) {
94
+ return BLOCK_ELEMENTS.has(name);
95
+ }
96
+ function isAsciiLetter(code) {
97
+ return (code >= 65 && code <= 90) || (code >= 97 && code <= 122);
98
+ }
99
+ function isWhitespace(code) {
100
+ // Space, tab, LF, FF, CR.
101
+ return code === 32 || code === 9 || code === 10 || code === 12 || code === 13;
102
+ }
103
+ /** True when the `<` at `index` opens a tag, comment or doctype (per the HTML tag-open state). */
104
+ function isTagStart(html, index) {
105
+ const next = html.charCodeAt(index + 1);
106
+ if (Number.isNaN(next))
107
+ return false;
108
+ if (next === 33 /* ! */ || next === 63 /* ? */)
109
+ return true;
110
+ if (next === 47 /* / */)
111
+ return isAsciiLetter(html.charCodeAt(index + 2));
112
+ return isAsciiLetter(next);
113
+ }
114
+ function readName(html, from) {
115
+ let index = from;
116
+ while (index < html.length) {
117
+ const code = html.charCodeAt(index);
118
+ if (isWhitespace(code) || code === 47 || code === 62)
119
+ break;
120
+ index++;
121
+ }
122
+ return index;
123
+ }
124
+ /**
125
+ * Scans a start tag's attributes from `from` (right after the tag name) and
126
+ * returns the index after the closing `>` (or the end of input) plus whether
127
+ * the tag was self-closing.
128
+ */
129
+ function scanAttributes(html, from) {
130
+ let index = from;
131
+ let selfClosing = false;
132
+ while (index < html.length) {
133
+ const code = html.charCodeAt(index);
134
+ if (isWhitespace(code)) {
135
+ index++;
136
+ continue;
137
+ }
138
+ if (code === 62 /* > */) {
139
+ return { end: index + 1, selfClosing };
140
+ }
141
+ if (code === 47 /* / */) {
142
+ selfClosing = html.charCodeAt(index + 1) === 62;
143
+ index++;
144
+ continue;
145
+ }
146
+ selfClosing = false;
147
+ // Attribute name.
148
+ while (index < html.length) {
149
+ const c = html.charCodeAt(index);
150
+ if (isWhitespace(c) || c === 61 /* = */ || c === 62 || c === 47)
151
+ break;
152
+ index++;
153
+ }
154
+ while (index < html.length && isWhitespace(html.charCodeAt(index)))
155
+ index++;
156
+ if (html.charCodeAt(index) !== 61)
157
+ continue;
158
+ index++;
159
+ while (index < html.length && isWhitespace(html.charCodeAt(index)))
160
+ index++;
161
+ const quote = html.charCodeAt(index);
162
+ if (quote === 34 /* " */ || quote === 39 /* ' */) {
163
+ const close = html.indexOf(String.fromCharCode(quote), index + 1);
164
+ index = close < 0 ? html.length : close + 1;
165
+ continue;
166
+ }
167
+ // Unquoted value: up to whitespace or `>`.
168
+ while (index < html.length) {
169
+ const c = html.charCodeAt(index);
170
+ if (isWhitespace(c) || c === 62)
171
+ break;
172
+ index++;
173
+ }
174
+ }
175
+ return { end: html.length, selfClosing };
176
+ }
177
+ /** Index of `</name` (case-insensitive) followed by whitespace, `/`, `>` or EOF, from `from`. */
178
+ function findRawTextEnd(html, name, from) {
179
+ const lower = html.toLowerCase();
180
+ const needle = "</" + name;
181
+ let index = lower.indexOf(needle, from);
182
+ while (index >= 0) {
183
+ const after = lower.charCodeAt(index + needle.length);
184
+ if (Number.isNaN(after) || isWhitespace(after) || after === 47 || after === 62) {
185
+ return index;
186
+ }
187
+ index = lower.indexOf(needle, index + 1);
188
+ }
189
+ return -1;
190
+ }
191
+ export function tokenizeHtml(html) {
192
+ const tokens = [];
193
+ const length = html.length;
194
+ let index = 0;
195
+ let textStart = 0;
196
+ const flushText = (end) => {
197
+ if (end > textStart)
198
+ tokens.push({ kind: "text", start: textStart, end });
199
+ };
200
+ while (index < length) {
201
+ const lt = html.indexOf("<", index);
202
+ if (lt < 0 || !isTagStart(html, lt)) {
203
+ if (lt < 0)
204
+ break;
205
+ index = lt + 1;
206
+ continue;
207
+ }
208
+ flushText(lt);
209
+ // Comment.
210
+ if (html.startsWith("<!--", lt)) {
211
+ const close = html.indexOf("-->", lt + 4);
212
+ const end = close < 0 ? length : close + 3;
213
+ tokens.push({ kind: "comment", start: lt, end });
214
+ index = textStart = end;
215
+ continue;
216
+ }
217
+ // Doctype, CDATA and bogus comments (`<!...>`, `<?...>`).
218
+ const second = html.charCodeAt(lt + 1);
219
+ if (second === 33 || second === 63) {
220
+ const close = html.indexOf(">", lt + 2);
221
+ const end = close < 0 ? length : close + 1;
222
+ tokens.push({ kind: second === 33 ? "doctype" : "comment", start: lt, end });
223
+ index = textStart = end;
224
+ continue;
225
+ }
226
+ // End tag.
227
+ if (second === 47) {
228
+ const nameEnd = readName(html, lt + 2);
229
+ const name = html.slice(lt + 2, nameEnd).toLowerCase();
230
+ const close = html.indexOf(">", nameEnd);
231
+ const end = close < 0 ? length : close + 1;
232
+ tokens.push({
233
+ kind: "endTag",
234
+ start: lt,
235
+ end,
236
+ name,
237
+ selfClosing: false,
238
+ isBlock: BLOCK_ELEMENTS.has(name),
239
+ isVoid: VOID_ELEMENTS.has(name),
240
+ });
241
+ index = textStart = end;
242
+ continue;
243
+ }
244
+ // Start tag.
245
+ const nameEnd = readName(html, lt + 1);
246
+ const name = html.slice(lt + 1, nameEnd).toLowerCase();
247
+ const { end, selfClosing } = scanAttributes(html, nameEnd);
248
+ tokens.push({
249
+ kind: "startTag",
250
+ start: lt,
251
+ end,
252
+ name,
253
+ selfClosing,
254
+ isBlock: BLOCK_ELEMENTS.has(name),
255
+ isVoid: VOID_ELEMENTS.has(name),
256
+ });
257
+ index = textStart = end;
258
+ const decodesEntities = RAW_TEXT_ELEMENTS[name];
259
+ if (decodesEntities !== undefined && !selfClosing && end < length) {
260
+ const rawEnd = findRawTextEnd(html, name, end);
261
+ const contentEnd = rawEnd < 0 ? length : rawEnd;
262
+ if (contentEnd > end) {
263
+ tokens.push({
264
+ kind: "rawText",
265
+ start: end,
266
+ end: contentEnd,
267
+ name,
268
+ decodesEntities,
269
+ });
270
+ }
271
+ index = textStart = contentEnd;
272
+ }
273
+ }
274
+ flushText(length);
275
+ return tokens;
276
+ }
277
+ //# sourceMappingURL=htmlSpellTokenizer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"htmlSpellTokenizer.js","sourceRoot":"","sources":["../../../src/editor/spellcheck/htmlSpellTokenizer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ import type { Misspelling } from "./spellCheckTypes";
2
+ /**
3
+ * What a surface captures when it opens the suggestion menu, so applying a
4
+ * suggestion later can prove the text is still the one that was checked.
5
+ */
6
+ export type SpellReplacementCapture = {
7
+ checkedText: string;
8
+ start: number;
9
+ end: number;
10
+ word: string;
11
+ };
12
+ export type SpellReplacementVerdict = {
13
+ ok: true;
14
+ } | {
15
+ ok: false;
16
+ reason: "changed" | "mismatch";
17
+ };
18
+ export declare const STALE_REPLACEMENT_MESSAGE = "The text changed, re-checking spelling\u2026";
19
+ export declare function captureReplacement(checkedText: string, misspelling: Misspelling): SpellReplacementCapture;
20
+ /**
21
+ * A replacement is applied only when the surface's current text is exactly
22
+ * the captured text and the captured range still spells the captured word.
23
+ * There is no fallback search: a stale capture is rejected and re-checked.
24
+ */
25
+ export declare function verifyReplacement(capture: SpellReplacementCapture, currentText: string): SpellReplacementVerdict;
26
+ /** Plain-text replacement of a verified capture. */
27
+ export declare function applyReplacementToText(capture: SpellReplacementCapture, replacement: string): string;
@@ -0,0 +1,29 @@
1
+ export const STALE_REPLACEMENT_MESSAGE = "The text changed, re-checking spelling…";
2
+ export function captureReplacement(checkedText, misspelling) {
3
+ return {
4
+ checkedText,
5
+ start: misspelling.start,
6
+ end: misspelling.end,
7
+ word: misspelling.word,
8
+ };
9
+ }
10
+ /**
11
+ * A replacement is applied only when the surface's current text is exactly
12
+ * the captured text and the captured range still spells the captured word.
13
+ * There is no fallback search: a stale capture is rejected and re-checked.
14
+ */
15
+ export function verifyReplacement(capture, currentText) {
16
+ if (currentText !== capture.checkedText)
17
+ return { ok: false, reason: "changed" };
18
+ if (currentText.slice(capture.start, capture.end) !== capture.word) {
19
+ return { ok: false, reason: "mismatch" };
20
+ }
21
+ return { ok: true };
22
+ }
23
+ /** Plain-text replacement of a verified capture. */
24
+ export function applyReplacementToText(capture, replacement) {
25
+ return (capture.checkedText.slice(0, capture.start) +
26
+ replacement +
27
+ capture.checkedText.slice(capture.end));
28
+ }
29
+ //# sourceMappingURL=replacementGuard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"replacementGuard.js","sourceRoot":"","sources":["../../../src/editor/spellcheck/replacementGuard.ts"],"names":[],"mappings":"AAiBA,MAAM,CAAC,MAAM,yBAAyB,GACpC,yCAAyC,CAAC;AAE5C,MAAM,UAAU,kBAAkB,CAChC,WAAmB,EACnB,WAAwB;IAExB,OAAO;QACL,WAAW;QACX,KAAK,EAAE,WAAW,CAAC,KAAK;QACxB,GAAG,EAAE,WAAW,CAAC,GAAG;QACpB,IAAI,EAAE,WAAW,CAAC,IAAI;KACvB,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAC/B,OAAgC,EAChC,WAAmB;IAEnB,IAAI,WAAW,KAAK,OAAO,CAAC,WAAW;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IACjF,IAAI,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,IAAI,EAAE,CAAC;QACnE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;IAC3C,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AACtB,CAAC;AAED,oDAAoD;AACpD,MAAM,UAAU,sBAAsB,CACpC,OAAgC,EAChC,WAAmB;IAEnB,OAAO,CACL,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC;QAC3C,WAAW;QACX,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CACvC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,17 @@
1
+ import type { SpellCheckCanvasMatch, SpellCheckFieldTarget } from "./spellCheckCanvasTargets";
2
+ export type SpellCheckCanvasState = {
3
+ matches: SpellCheckCanvasMatch[];
4
+ /** Latest targets by `targetKey`, for the replacement guard. */
5
+ targets: Map<string, SpellCheckFieldTarget>;
6
+ };
7
+ type Listener = () => void;
8
+ export declare const spellCheckCanvasStore: {
9
+ getState: () => SpellCheckCanvasState;
10
+ getMatch: (key: string) => SpellCheckCanvasMatch | undefined;
11
+ getTarget: (targetKey: string) => SpellCheckFieldTarget | undefined;
12
+ subscribe: (listener: Listener) => () => void;
13
+ set: (matches: SpellCheckCanvasMatch[], targets: SpellCheckFieldTarget[]) => void;
14
+ reset: () => void;
15
+ };
16
+ export declare function useSpellCheckCanvasState(): SpellCheckCanvasState;
17
+ export {};
@@ -0,0 +1,37 @@
1
+ import { useSyncExternalStore } from "react";
2
+ /**
3
+ * Tiny external store bridging the canvas overlay (which computes matches)
4
+ * and the page frame's context menu (which looks a right-clicked match up).
5
+ */
6
+ function createSpellCheckCanvasStore() {
7
+ let state = { matches: [], targets: new Map() };
8
+ const listeners = new Set();
9
+ const notify = () => listeners.forEach((listener) => listener());
10
+ return {
11
+ getState: () => state,
12
+ getMatch: (key) => state.matches.find((match) => match.key === key),
13
+ getTarget: (targetKey) => state.targets.get(targetKey),
14
+ subscribe: (listener) => {
15
+ listeners.add(listener);
16
+ return () => {
17
+ listeners.delete(listener);
18
+ };
19
+ },
20
+ set: (matches, targets) => {
21
+ state = {
22
+ matches,
23
+ targets: new Map(targets.map((target) => [target.targetKey, target])),
24
+ };
25
+ notify();
26
+ },
27
+ reset: () => {
28
+ state = { matches: [], targets: new Map() };
29
+ notify();
30
+ },
31
+ };
32
+ }
33
+ export const spellCheckCanvasStore = createSpellCheckCanvasStore();
34
+ export function useSpellCheckCanvasState() {
35
+ return useSyncExternalStore(spellCheckCanvasStore.subscribe, spellCheckCanvasStore.getState, spellCheckCanvasStore.getState);
36
+ }
37
+ //# sourceMappingURL=spellCheckCanvasStore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spellCheckCanvasStore.js","sourceRoot":"","sources":["../../../src/editor/spellcheck/spellCheckCanvasStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,OAAO,CAAC;AAc7C;;;GAGG;AACH,SAAS,2BAA2B;IAClC,IAAI,KAAK,GAA0B,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,GAAG,EAAE,EAAE,CAAC;IACvE,MAAM,SAAS,GAAG,IAAI,GAAG,EAAY,CAAC;IACtC,MAAM,MAAM,GAAG,GAAG,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;IAEjE,OAAO;QACL,QAAQ,EAAE,GAAG,EAAE,CAAC,KAAK;QACrB,QAAQ,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,CAAC;QAC3E,SAAS,EAAE,CAAC,SAAiB,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC;QAC9D,SAAS,EAAE,CAAC,QAAkB,EAAE,EAAE;YAChC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACxB,OAAO,GAAG,EAAE;gBACV,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC7B,CAAC,CAAC;QACJ,CAAC;QACD,GAAG,EAAE,CAAC,OAAgC,EAAE,OAAgC,EAAE,EAAE;YAC1E,KAAK,GAAG;gBACN,OAAO;gBACP,OAAO,EAAE,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;aACtE,CAAC;YACF,MAAM,EAAE,CAAC;QACX,CAAC;QACD,KAAK,EAAE,GAAG,EAAE;YACV,KAAK,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,GAAG,EAAE,EAAE,CAAC;YAC5C,MAAM,EAAE,CAAC;QACX,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAG,2BAA2B,EAAE,CAAC;AAEnE,MAAM,UAAU,wBAAwB;IACtC,OAAO,oBAAoB,CACzB,qBAAqB,CAAC,SAAS,EAC/B,qBAAqB,CAAC,QAAQ,EAC9B,qBAAqB,CAAC,QAAQ,CAC/B,CAAC;AACJ,CAAC"}