@parhelia/core 0.1.12556 → 0.1.12560

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 (579) hide show
  1. package/dist/agents-view/AgentCard.d.ts +6 -4
  2. package/dist/agents-view/AgentCard.js +143 -24
  3. package/dist/agents-view/AgentCard.js.map +1 -1
  4. package/dist/agents-view/AgentsInbox.d.ts +1 -1
  5. package/dist/agents-view/AgentsInbox.js +7 -92
  6. package/dist/agents-view/AgentsInbox.js.map +1 -1
  7. package/dist/agents-view/AgentsTitlebar.js +3 -2
  8. package/dist/agents-view/AgentsTitlebar.js.map +1 -1
  9. package/dist/agents-view/AgentsView.d.ts +6 -7
  10. package/dist/agents-view/AgentsView.js +187 -98
  11. package/dist/agents-view/AgentsView.js.map +1 -1
  12. package/dist/agents-view/AgentsWorkspaceView.d.ts +2 -6
  13. package/dist/agents-view/AgentsWorkspaceView.js +266 -113
  14. package/dist/agents-view/AgentsWorkspaceView.js.map +1 -1
  15. package/dist/agents-view/ProfileAgentsGroup.d.ts +2 -1
  16. package/dist/agents-view/ProfileAgentsGroup.js +4 -3
  17. package/dist/agents-view/ProfileAgentsGroup.js.map +1 -1
  18. package/dist/components/ActionButton.d.ts +1 -1
  19. package/dist/components/ActionButton.js.map +1 -1
  20. package/dist/components/FilterInput.d.ts +1 -1
  21. package/dist/components/FilterInput.js +1 -1
  22. package/dist/components/FilterInput.js.map +1 -1
  23. package/dist/components/ui/LanguageSelector.js +2 -4
  24. package/dist/components/ui/LanguageSelector.js.map +1 -1
  25. package/dist/components/ui/PlaceholderInput.js +3 -3
  26. package/dist/components/ui/PlaceholderInput.js.map +1 -1
  27. package/dist/components/ui/PlaceholderInputTypes.js +1 -1
  28. package/dist/components/ui/PlaceholderInputTypes.js.map +1 -1
  29. package/dist/components/ui/alert-dialog.d.ts +1 -1
  30. package/dist/components/ui/alert-dialog.js +6 -10
  31. package/dist/components/ui/alert-dialog.js.map +1 -1
  32. package/dist/components/ui/button.d.ts +4 -4
  33. package/dist/components/ui/button.js +4 -1
  34. package/dist/components/ui/button.js.map +1 -1
  35. package/dist/components/ui/context-menu.d.ts +1 -1
  36. package/dist/components/ui/context-menu.js +12 -4
  37. package/dist/components/ui/context-menu.js.map +1 -1
  38. package/dist/components/ui/copy-button.d.ts +2 -1
  39. package/dist/components/ui/copy-button.js +2 -2
  40. package/dist/components/ui/copy-button.js.map +1 -1
  41. package/dist/components/ui/dialog.d.ts +1 -1
  42. package/dist/components/ui/dialog.js +21 -126
  43. package/dist/components/ui/dialog.js.map +1 -1
  44. package/dist/components/ui/input.d.ts +1 -1
  45. package/dist/components/ui/input.js +5 -3
  46. package/dist/components/ui/input.js.map +1 -1
  47. package/dist/components/ui/paste-button.d.ts +2 -1
  48. package/dist/components/ui/paste-button.js +2 -2
  49. package/dist/components/ui/paste-button.js.map +1 -1
  50. package/dist/components/ui/popover.js +1 -9
  51. package/dist/components/ui/popover.js.map +1 -1
  52. package/dist/components/ui/select.js +1 -1
  53. package/dist/components/ui/select.js.map +1 -1
  54. package/dist/components/ui/styled-dialog-title.js +1 -1
  55. package/dist/components/ui/styled-dialog-title.js.map +1 -1
  56. package/dist/components/ui/tabs.d.ts +1 -1
  57. package/dist/components/ui/tabs.js +4 -11
  58. package/dist/components/ui/tabs.js.map +1 -1
  59. package/dist/config/config.d.ts +4 -2
  60. package/dist/config/config.js +250 -70
  61. package/dist/config/config.js.map +1 -1
  62. package/dist/config/notificationRoutes.js +14 -0
  63. package/dist/config/notificationRoutes.js.map +1 -1
  64. package/dist/config/types/workspace.d.ts +6 -0
  65. package/dist/config/types.d.ts +63 -12
  66. package/dist/config/types.js.map +1 -1
  67. package/dist/editor/ConfirmationDialog.js +20 -4
  68. package/dist/editor/ConfirmationDialog.js.map +1 -1
  69. package/dist/editor/ContentTree.d.ts +2 -1
  70. package/dist/editor/ContentTree.js +93 -32
  71. package/dist/editor/ContentTree.js.map +1 -1
  72. package/dist/editor/Editor.js +87 -22
  73. package/dist/editor/Editor.js.map +1 -1
  74. package/dist/editor/FieldHistory.js +84 -36
  75. package/dist/editor/FieldHistory.js.map +1 -1
  76. package/dist/editor/FieldListField.js +21 -9
  77. package/dist/editor/FieldListField.js.map +1 -1
  78. package/dist/editor/FieldListFieldWithFallbacks.js +23 -2
  79. package/dist/editor/FieldListFieldWithFallbacks.js.map +1 -1
  80. package/dist/editor/GlobalMenuBar.js +29 -2
  81. package/dist/editor/GlobalMenuBar.js.map +1 -1
  82. package/dist/editor/ImageEditor.js +5 -2
  83. package/dist/editor/ImageEditor.js.map +1 -1
  84. package/dist/editor/ItemInfo.js +36 -1
  85. package/dist/editor/ItemInfo.js.map +1 -1
  86. package/dist/editor/LinkEditorDialog.js +3 -0
  87. package/dist/editor/LinkEditorDialog.js.map +1 -1
  88. package/dist/editor/MainLayout.d.ts +0 -2
  89. package/dist/editor/MainLayout.js +65 -8
  90. package/dist/editor/MainLayout.js.map +1 -1
  91. package/dist/editor/MigrationsView.js +29 -5
  92. package/dist/editor/MigrationsView.js.map +1 -1
  93. package/dist/editor/MobileLayout.js +37 -12
  94. package/dist/editor/MobileLayout.js.map +1 -1
  95. package/dist/editor/PictureCropper.js +54 -45
  96. package/dist/editor/PictureCropper.js.map +1 -1
  97. package/dist/editor/PictureEditor.js +17 -15
  98. package/dist/editor/PictureEditor.js.map +1 -1
  99. package/dist/editor/QuickItemSwitcher.js +21 -21
  100. package/dist/editor/QuickItemSwitcher.js.map +1 -1
  101. package/dist/editor/SetupWizard.js +52 -12
  102. package/dist/editor/SetupWizard.js.map +1 -1
  103. package/dist/editor/Titlebar.js +7 -2
  104. package/dist/editor/Titlebar.js.map +1 -1
  105. package/dist/editor/ai/AgentCostDisplay.d.ts +1 -0
  106. package/dist/editor/ai/AgentCostDisplay.js +1 -1
  107. package/dist/editor/ai/AgentCostDisplay.js.map +1 -1
  108. package/dist/editor/ai/AgentDocumentList.js +32 -14
  109. package/dist/editor/ai/AgentDocumentList.js.map +1 -1
  110. package/dist/editor/ai/AgentGreeting.js +3 -2
  111. package/dist/editor/ai/AgentGreeting.js.map +1 -1
  112. package/dist/editor/ai/AgentProfileSelector.js +2 -1
  113. package/dist/editor/ai/AgentProfileSelector.js.map +1 -1
  114. package/dist/editor/ai/AgentStatusBadge.d.ts +0 -5
  115. package/dist/editor/ai/AgentStatusBadge.js +67 -65
  116. package/dist/editor/ai/AgentStatusBadge.js.map +1 -1
  117. package/dist/editor/ai/AgentTerminal.d.ts +14 -2
  118. package/dist/editor/ai/AgentTerminal.js +2377 -483
  119. package/dist/editor/ai/AgentTerminal.js.map +1 -1
  120. package/dist/editor/ai/AgentTerminalStatusBar.d.ts +8 -3
  121. package/dist/editor/ai/AgentTerminalStatusBar.js +460 -56
  122. package/dist/editor/ai/AgentTerminalStatusBar.js.map +1 -1
  123. package/dist/editor/ai/Agents.js +150 -113
  124. package/dist/editor/ai/Agents.js.map +1 -1
  125. package/dist/editor/ai/AiResponseMessage.d.ts +10 -1
  126. package/dist/editor/ai/AiResponseMessage.js +238 -23
  127. package/dist/editor/ai/AiResponseMessage.js.map +1 -1
  128. package/dist/editor/ai/ContextInfoBar.d.ts +2 -3
  129. package/dist/editor/ai/ContextInfoBar.js +64 -7
  130. package/dist/editor/ai/ContextInfoBar.js.map +1 -1
  131. package/dist/editor/ai/GuidanceOverlay.js +17 -11
  132. package/dist/editor/ai/GuidanceOverlay.js.map +1 -1
  133. package/dist/editor/ai/InlineAiDialog.d.ts +1 -1
  134. package/dist/editor/ai/InlineAiDialog.js +514 -192
  135. package/dist/editor/ai/InlineAiDialog.js.map +1 -1
  136. package/dist/editor/ai/InlineAiTrigger.js +115 -12
  137. package/dist/editor/ai/InlineAiTrigger.js.map +1 -1
  138. package/dist/editor/ai/MediaImage.js +40 -8
  139. package/dist/editor/ai/MediaImage.js.map +1 -1
  140. package/dist/editor/ai/SpawnedAgentsPanel.js +10 -12
  141. package/dist/editor/ai/SpawnedAgentsPanel.js.map +1 -1
  142. package/dist/editor/ai/ToolCallDisplay.d.ts +22 -2
  143. package/dist/editor/ai/ToolCallDisplay.js +518 -147
  144. package/dist/editor/ai/ToolCallDisplay.js.map +1 -1
  145. package/dist/editor/ai/dialogs/AgentDialogHandler.d.ts +1 -8
  146. package/dist/editor/ai/dialogs/AgentDialogHandler.js +379 -42
  147. package/dist/editor/ai/dialogs/AgentDialogHandler.js.map +1 -1
  148. package/dist/editor/ai/dialogs/QuestionnaireInline.d.ts +5 -1
  149. package/dist/editor/ai/dialogs/QuestionnaireInline.js +628 -60
  150. package/dist/editor/ai/dialogs/QuestionnaireInline.js.map +1 -1
  151. package/dist/editor/ai/dialogs/agentDialogTypes.d.ts +115 -0
  152. package/dist/editor/ai/dialogs/agentDialogTypes.js +2 -0
  153. package/dist/editor/ai/dialogs/agentDialogTypes.js.map +1 -1
  154. package/dist/editor/ai/types.d.ts +3 -1
  155. package/dist/editor/ai/useAgentStatus.d.ts +2 -1
  156. package/dist/editor/ai/useAgentStatus.js +86 -99
  157. package/dist/editor/ai/useAgentStatus.js.map +1 -1
  158. package/dist/editor/ai/useInlineAiPosition.js +45 -5
  159. package/dist/editor/ai/useInlineAiPosition.js.map +1 -1
  160. package/dist/editor/client/AboutDialog.js +4 -2
  161. package/dist/editor/client/AboutDialog.js.map +1 -1
  162. package/dist/editor/client/EditorShell.d.ts +4 -1
  163. package/dist/editor/client/EditorShell.js +770 -237
  164. package/dist/editor/client/EditorShell.js.map +1 -1
  165. package/dist/editor/client/editContext.d.ts +33 -19
  166. package/dist/editor/client/editContext.js.map +1 -1
  167. package/dist/editor/client/helpers.js +6 -0
  168. package/dist/editor/client/helpers.js.map +1 -1
  169. package/dist/editor/client/hooks/useEditorUrlSync.js +1 -2
  170. package/dist/editor/client/hooks/useEditorUrlSync.js.map +1 -1
  171. package/dist/editor/client/hooks/useEditorWebSocket.d.ts +10 -0
  172. package/dist/editor/client/hooks/useEditorWebSocket.js +209 -14
  173. package/dist/editor/client/hooks/useEditorWebSocket.js.map +1 -1
  174. package/dist/editor/client/hooks/useQuota.d.ts +8 -0
  175. package/dist/editor/client/hooks/useQuota.js.map +1 -1
  176. package/dist/editor/client/hooks/useSocketMessageHandler.js +68 -7
  177. package/dist/editor/client/hooks/useSocketMessageHandler.js.map +1 -1
  178. package/dist/editor/client/itemsRepository.js +10 -6
  179. package/dist/editor/client/itemsRepository.js.map +1 -1
  180. package/dist/editor/client/navigation.js +35 -3
  181. package/dist/editor/client/navigation.js.map +1 -1
  182. package/dist/editor/client/operations.d.ts +6 -3
  183. package/dist/editor/client/operations.js +208 -30
  184. package/dist/editor/client/operations.js.map +1 -1
  185. package/dist/editor/client/pageModelBuilder.js +4 -31
  186. package/dist/editor/client/pageModelBuilder.js.map +1 -1
  187. package/dist/editor/client/ui/DevModeIndicator.js +2 -2
  188. package/dist/editor/client/ui/DevModeIndicator.js.map +1 -1
  189. package/dist/editor/client/ui/EditorChrome.d.ts +0 -6
  190. package/dist/editor/client/ui/EditorChrome.js +55 -72
  191. package/dist/editor/client/ui/EditorChrome.js.map +1 -1
  192. package/dist/editor/client/ui/FullscreenControls.js +5 -3
  193. package/dist/editor/client/ui/FullscreenControls.js.map +1 -1
  194. package/dist/editor/commands/commands.d.ts +11 -1
  195. package/dist/editor/commands/commands.js +12 -1
  196. package/dist/editor/commands/commands.js.map +1 -1
  197. package/dist/editor/commands/componentCommands.js +109 -55
  198. package/dist/editor/commands/componentCommands.js.map +1 -1
  199. package/dist/editor/commands/customCommandConverter.d.ts +8 -1
  200. package/dist/editor/commands/customCommandConverter.js +35 -5
  201. package/dist/editor/commands/customCommandConverter.js.map +1 -1
  202. package/dist/editor/commands/handlers/agentHandler.js +2 -1
  203. package/dist/editor/commands/handlers/agentHandler.js.map +1 -1
  204. package/dist/editor/commands/itemCommands.d.ts +3 -0
  205. package/dist/editor/commands/itemCommands.js +93 -10
  206. package/dist/editor/commands/itemCommands.js.map +1 -1
  207. package/dist/editor/commands/undo.d.ts +9 -15
  208. package/dist/editor/commands/undo.js +24 -0
  209. package/dist/editor/commands/undo.js.map +1 -1
  210. package/dist/editor/context-menu/InsertMenu.js +83 -39
  211. package/dist/editor/context-menu/InsertMenu.js.map +1 -1
  212. package/dist/editor/field-types/MultiLineText.js +1 -1
  213. package/dist/editor/field-types/MultiLineText.js.map +1 -1
  214. package/dist/editor/field-types/RawEditor.js +1 -1
  215. package/dist/editor/field-types/RichTextEditor.js +13 -5
  216. package/dist/editor/field-types/RichTextEditor.js.map +1 -1
  217. package/dist/editor/field-types/RichTextEditorComponent.js +37 -3
  218. package/dist/editor/field-types/RichTextEditorComponent.js.map +1 -1
  219. package/dist/editor/field-types/SingleLineText.js +1 -1
  220. package/dist/editor/field-types/TreeListEditor.js +3 -2
  221. package/dist/editor/field-types/TreeListEditor.js.map +1 -1
  222. package/dist/editor/field-types/richtext/components/ReactSlate.css +23 -5
  223. package/dist/editor/field-types/richtext/components/ReactSlate.d.ts +2 -0
  224. package/dist/editor/field-types/richtext/components/ReactSlate.js +28 -4
  225. package/dist/editor/field-types/richtext/components/ReactSlate.js.map +1 -1
  226. package/dist/editor/field-types/richtext/components/ToolbarButton.js +4 -2
  227. package/dist/editor/field-types/richtext/components/ToolbarButton.js.map +1 -1
  228. package/dist/editor/field-types/richtext/contextMenuFactory.d.ts +13 -0
  229. package/dist/editor/field-types/richtext/contextMenuFactory.js +181 -24
  230. package/dist/editor/field-types/richtext/contextMenuFactory.js.map +1 -1
  231. package/dist/editor/field-types/richtext/types.d.ts +2 -0
  232. package/dist/editor/field-types/richtext/types.js.map +1 -1
  233. package/dist/editor/field-types/richtext/utils/plugins.js +4 -0
  234. package/dist/editor/field-types/richtext/utils/plugins.js.map +1 -1
  235. package/dist/editor/field-types/textContextMenuFactory.js +3 -2
  236. package/dist/editor/field-types/textContextMenuFactory.js.map +1 -1
  237. package/dist/editor/media-selector/AiImageSearchPrompt.js +4 -2
  238. package/dist/editor/media-selector/AiImageSearchPrompt.js.map +1 -1
  239. package/dist/editor/media-selector/MediaFolderBrowser.js +1 -1
  240. package/dist/editor/media-selector/MediaFolderBrowser.js.map +1 -1
  241. package/dist/editor/media-selector/MediaSelector.js +7 -1
  242. package/dist/editor/media-selector/MediaSelector.js.map +1 -1
  243. package/dist/editor/media-selector/TreeSelector.js +40 -35
  244. package/dist/editor/media-selector/TreeSelector.js.map +1 -1
  245. package/dist/editor/menubar/ActiveUsers.js +1 -1
  246. package/dist/editor/menubar/ActiveUsers.js.map +1 -1
  247. package/dist/editor/menubar/GenericToolbar.js +4 -2
  248. package/dist/editor/menubar/GenericToolbar.js.map +1 -1
  249. package/dist/editor/menubar/ItemLanguageVersion.js +2 -2
  250. package/dist/editor/menubar/ItemLanguageVersion.js.map +1 -1
  251. package/dist/editor/menubar/PageSelector.js +26 -147
  252. package/dist/editor/menubar/PageSelector.js.map +1 -1
  253. package/dist/editor/menubar/Separator.js +1 -1
  254. package/dist/editor/menubar/VersionSelector.js +2 -4
  255. package/dist/editor/menubar/VersionSelector.js.map +1 -1
  256. package/dist/editor/menubar/WorkflowButton.js +39 -12
  257. package/dist/editor/menubar/WorkflowButton.js.map +1 -1
  258. package/dist/editor/menubar/toolbar-sections/CustomCommandsToolbar.js +16 -38
  259. package/dist/editor/menubar/toolbar-sections/CustomCommandsToolbar.js.map +1 -1
  260. package/dist/editor/menubar/toolbar-sections/EditControls.js +3 -3
  261. package/dist/editor/menubar/toolbar-sections/EditControls.js.map +1 -1
  262. package/dist/editor/menubar/toolbar-sections/HelpButton.js +1 -0
  263. package/dist/editor/menubar/toolbar-sections/HelpButton.js.map +1 -1
  264. package/dist/editor/menubar/toolbar-sections/ManualBrowser.d.ts +6 -10
  265. package/dist/editor/menubar/toolbar-sections/ManualBrowser.js +597 -220
  266. package/dist/editor/menubar/toolbar-sections/ManualBrowser.js.map +1 -1
  267. package/dist/editor/menubar/toolbar-sections/UtilityControls.js +13 -2
  268. package/dist/editor/menubar/toolbar-sections/UtilityControls.js.map +1 -1
  269. package/dist/editor/page-editor-chrome/CommentHighlighting.js +42 -1
  270. package/dist/editor/page-editor-chrome/CommentHighlighting.js.map +1 -1
  271. package/dist/editor/page-editor-chrome/FrameMenu.js +1 -1
  272. package/dist/editor/page-editor-chrome/FrameMenu.js.map +1 -1
  273. package/dist/editor/page-editor-chrome/InlineEditor.js +97 -48
  274. package/dist/editor/page-editor-chrome/InlineEditor.js.map +1 -1
  275. package/dist/editor/page-editor-chrome/PlaceholderDropZone.js +38 -17
  276. package/dist/editor/page-editor-chrome/PlaceholderDropZone.js.map +1 -1
  277. package/dist/editor/page-editor-chrome/PlaceholderDropZones.js +17 -11
  278. package/dist/editor/page-editor-chrome/PlaceholderDropZones.js.map +1 -1
  279. package/dist/editor/page-editor-chrome/useInlineAICompletion.js +301 -301
  280. package/dist/editor/page-editor-chrome/useInlineAICompletion.js.map +1 -1
  281. package/dist/editor/page-viewer/DeviceToolbar.js +1 -1
  282. package/dist/editor/page-viewer/DeviceToolbar.js.map +1 -1
  283. package/dist/editor/page-viewer/EditorForm.js +69 -11
  284. package/dist/editor/page-viewer/EditorForm.js.map +1 -1
  285. package/dist/editor/page-viewer/MiniMap.d.ts +2 -4
  286. package/dist/editor/page-viewer/MiniMap.js +91 -28
  287. package/dist/editor/page-viewer/MiniMap.js.map +1 -1
  288. package/dist/editor/page-viewer/PageViewer.d.ts +3 -1
  289. package/dist/editor/page-viewer/PageViewer.js +92 -19
  290. package/dist/editor/page-viewer/PageViewer.js.map +1 -1
  291. package/dist/editor/page-viewer/PageViewerFrame.d.ts +2 -1
  292. package/dist/editor/page-viewer/PageViewerFrame.js +348 -115
  293. package/dist/editor/page-viewer/PageViewerFrame.js.map +1 -1
  294. package/dist/editor/page-viewer/pageModelSkeletonBuilder.js +114 -49
  295. package/dist/editor/page-viewer/pageModelSkeletonBuilder.js.map +1 -1
  296. package/dist/editor/page-viewer/pageViewContext.d.ts +1 -0
  297. package/dist/editor/page-viewer/pageViewContext.js +51 -14
  298. package/dist/editor/page-viewer/pageViewContext.js.map +1 -1
  299. package/dist/editor/pageModel.d.ts +14 -1
  300. package/dist/editor/reviews/Comment.js +26 -12
  301. package/dist/editor/reviews/Comment.js.map +1 -1
  302. package/dist/editor/reviews/CommentDisplayPopover.js +7 -5
  303. package/dist/editor/reviews/CommentDisplayPopover.js.map +1 -1
  304. package/dist/editor/reviews/CommentView.js +19 -4
  305. package/dist/editor/reviews/CommentView.js.map +1 -1
  306. package/dist/editor/reviews/Comments.js +89 -72
  307. package/dist/editor/reviews/Comments.js.map +1 -1
  308. package/dist/editor/reviews/CreateReviewDialog.js +281 -177
  309. package/dist/editor/reviews/CreateReviewDialog.js.map +1 -1
  310. package/dist/editor/reviews/DecisionsMatrix.js +96 -25
  311. package/dist/editor/reviews/DecisionsMatrix.js.map +1 -1
  312. package/dist/editor/reviews/DiffView.js +7 -14
  313. package/dist/editor/reviews/DiffView.js.map +1 -1
  314. package/dist/editor/reviews/EditReviewSettingsDialog.js +6 -4
  315. package/dist/editor/reviews/EditReviewSettingsDialog.js.map +1 -1
  316. package/dist/editor/reviews/MultiReviewManager.js +25 -3
  317. package/dist/editor/reviews/MultiReviewManager.js.map +1 -1
  318. package/dist/editor/reviews/PagesPanel.js +31 -15
  319. package/dist/editor/reviews/PagesPanel.js.map +1 -1
  320. package/dist/editor/reviews/PreviewInfo.js +1 -4
  321. package/dist/editor/reviews/PreviewInfo.js.map +1 -1
  322. package/dist/editor/reviews/ReviewCard.js +13 -7
  323. package/dist/editor/reviews/ReviewCard.js.map +1 -1
  324. package/dist/editor/reviews/ReviewDetail.js +3 -2
  325. package/dist/editor/reviews/ReviewDetail.js.map +1 -1
  326. package/dist/editor/reviews/ReviewsList.js +7 -3
  327. package/dist/editor/reviews/ReviewsList.js.map +1 -1
  328. package/dist/editor/reviews/SuggestedEdit.js +34 -3
  329. package/dist/editor/reviews/SuggestedEdit.js.map +1 -1
  330. package/dist/editor/reviews/SuggestionDisplayPopover.js +31 -5
  331. package/dist/editor/reviews/SuggestionDisplayPopover.js.map +1 -1
  332. package/dist/editor/reviews/commentAi.js +25 -6
  333. package/dist/editor/reviews/commentAi.js.map +1 -1
  334. package/dist/editor/reviews/reviewCommands.js +4 -1
  335. package/dist/editor/reviews/reviewCommands.js.map +1 -1
  336. package/dist/editor/reviews/useMultiReview.js +2 -2
  337. package/dist/editor/reviews/useMultiReview.js.map +1 -1
  338. package/dist/editor/reviews/useReviews.d.ts +2 -2
  339. package/dist/editor/reviews/useReviews.js +12 -30
  340. package/dist/editor/reviews/useReviews.js.map +1 -1
  341. package/dist/editor/services/agentService.d.ts +229 -5
  342. package/dist/editor/services/agentService.js +292 -39
  343. package/dist/editor/services/agentService.js.map +1 -1
  344. package/dist/editor/services/aiService.d.ts +57 -1
  345. package/dist/editor/services/aiService.js +79 -6
  346. package/dist/editor/services/aiService.js.map +1 -1
  347. package/dist/editor/services/contentService.d.ts +6 -3
  348. package/dist/editor/services/contentService.js +13 -12
  349. package/dist/editor/services/contentService.js.map +1 -1
  350. package/dist/editor/services/editService.d.ts +52 -1
  351. package/dist/editor/services/editService.js +94 -2
  352. package/dist/editor/services/editService.js.map +1 -1
  353. package/dist/editor/services/indexService.js +1 -1
  354. package/dist/editor/services/indexService.js.map +1 -1
  355. package/dist/editor/services/reviewsService.d.ts +3 -6
  356. package/dist/editor/services/reviewsService.js +2 -11
  357. package/dist/editor/services/reviewsService.js.map +1 -1
  358. package/dist/editor/services/serviceHelper.d.ts +2 -1
  359. package/dist/editor/services/serviceHelper.js +112 -20
  360. package/dist/editor/services/serviceHelper.js.map +1 -1
  361. package/dist/editor/services/systemService.d.ts +2 -1
  362. package/dist/editor/services/systemService.js +3 -0
  363. package/dist/editor/services/systemService.js.map +1 -1
  364. package/dist/editor/services-server/api.d.ts +1 -2
  365. package/dist/editor/services-server/api.js +11 -6
  366. package/dist/editor/services-server/api.js.map +1 -1
  367. package/dist/editor/settings/About.js +317 -3
  368. package/dist/editor/settings/About.js.map +1 -1
  369. package/dist/editor/settings/QuotaInfo.js +210 -4
  370. package/dist/editor/settings/QuotaInfo.js.map +1 -1
  371. package/dist/editor/settings/SettingsView.js +25 -23
  372. package/dist/editor/settings/SettingsView.js.map +1 -1
  373. package/dist/editor/settings/Status.js +7 -6
  374. package/dist/editor/settings/Status.js.map +1 -1
  375. package/dist/editor/settings/index/useIndexStatus.js +20 -22
  376. package/dist/editor/settings/index/useIndexStatus.js.map +1 -1
  377. package/dist/editor/settings/panels/AgentsPanel.d.ts +0 -4
  378. package/dist/editor/settings/panels/AgentsPanel.js +95 -121
  379. package/dist/editor/settings/panels/AgentsPanel.js.map +1 -1
  380. package/dist/editor/settings/panels/ModelsPanel.js +329 -108
  381. package/dist/editor/settings/panels/ModelsPanel.js.map +1 -1
  382. package/dist/editor/settings/panels/ProvidersPanel.d.ts +1 -1
  383. package/dist/editor/settings/panels/ProvidersPanel.js +86 -59
  384. package/dist/editor/settings/panels/ProvidersPanel.js.map +1 -1
  385. package/dist/editor/settings/panels/SearchConfigPanel.js +4 -4
  386. package/dist/editor/settings/panels/SearchConfigPanel.js.map +1 -1
  387. package/dist/editor/settings/panels/index.d.ts +3 -2
  388. package/dist/editor/settings/panels/index.js +3 -2
  389. package/dist/editor/settings/panels/index.js.map +1 -1
  390. package/dist/editor/settings/status/coreStatusChecks.js +124 -19
  391. package/dist/editor/settings/status/coreStatusChecks.js.map +1 -1
  392. package/dist/editor/settings/status/useStartupChecks.d.ts +3 -1
  393. package/dist/editor/settings/status/useStartupChecks.js +9 -5
  394. package/dist/editor/settings/status/useStartupChecks.js.map +1 -1
  395. package/dist/editor/setup-wizard/steps/CompleteStep.d.ts +2 -1
  396. package/dist/editor/setup-wizard/steps/CompleteStep.js +2 -1
  397. package/dist/editor/setup-wizard/steps/CompleteStep.js.map +1 -1
  398. package/dist/editor/sidebar/ComponentPalette.js +2 -1
  399. package/dist/editor/sidebar/ComponentPalette.js.map +1 -1
  400. package/dist/editor/sidebar/ComponentTree.d.ts +8 -1
  401. package/dist/editor/sidebar/ComponentTree.js +216 -69
  402. package/dist/editor/sidebar/ComponentTree.js.map +1 -1
  403. package/dist/editor/sidebar/EditHistory.js +22 -46
  404. package/dist/editor/sidebar/EditHistory.js.map +1 -1
  405. package/dist/editor/sidebar/Favorites.js +4 -8
  406. package/dist/editor/sidebar/Favorites.js.map +1 -1
  407. package/dist/editor/sidebar/MainContentTree.js +4 -3
  408. package/dist/editor/sidebar/MainContentTree.js.map +1 -1
  409. package/dist/editor/sidebar/OperationItem.js +21 -7
  410. package/dist/editor/sidebar/OperationItem.js.map +1 -1
  411. package/dist/editor/sidebar/SidebarPanel.d.ts +3 -1
  412. package/dist/editor/sidebar/SidebarPanel.js +44 -12
  413. package/dist/editor/sidebar/SidebarPanel.js.map +1 -1
  414. package/dist/editor/sidebar/SidebarStack.d.ts +2 -1
  415. package/dist/editor/sidebar/SidebarStack.js +4 -3
  416. package/dist/editor/sidebar/SidebarStack.js.map +1 -1
  417. package/dist/editor/sidebar/Validation.js +22 -12
  418. package/dist/editor/sidebar/Validation.js.map +1 -1
  419. package/dist/editor/sidebar/Workbox.js +53 -3
  420. package/dist/editor/sidebar/Workbox.js.map +1 -1
  421. package/dist/editor/sidebar/WorkspaceRail.d.ts +0 -1
  422. package/dist/editor/sidebar/WorkspaceRail.js +56 -167
  423. package/dist/editor/sidebar/WorkspaceRail.js.map +1 -1
  424. package/dist/editor/tree-indicators/GutterColumns.d.ts +3 -1
  425. package/dist/editor/tree-indicators/GutterColumns.js +26 -5
  426. package/dist/editor/tree-indicators/GutterColumns.js.map +1 -1
  427. package/dist/editor/tree-indicators/GutterContext.d.ts +4 -0
  428. package/dist/editor/tree-indicators/GutterContext.js +23 -0
  429. package/dist/editor/tree-indicators/GutterContext.js.map +1 -1
  430. package/dist/editor/tree-indicators/index.d.ts +0 -1
  431. package/dist/editor/tree-indicators/index.js +0 -1
  432. package/dist/editor/tree-indicators/index.js.map +1 -1
  433. package/dist/editor/tree-indicators/types.d.ts +12 -1
  434. package/dist/editor/ui/CopyMoveTargetSelectorDialog.js +1 -1
  435. package/dist/editor/ui/CopyMoveTargetSelectorDialog.js.map +1 -1
  436. package/dist/editor/ui/Icons.js +1 -1
  437. package/dist/editor/ui/Icons.js.map +1 -1
  438. package/dist/editor/ui/ItemNameDialogNew.d.ts +2 -0
  439. package/dist/editor/ui/ItemNameDialogNew.js +33 -17
  440. package/dist/editor/ui/ItemNameDialogNew.js.map +1 -1
  441. package/dist/editor/ui/ItemSearch.js +7 -11
  442. package/dist/editor/ui/ItemSearch.js.map +1 -1
  443. package/dist/editor/ui/SimpleIconButton.js +1 -1
  444. package/dist/editor/ui/SimpleIconButton.js.map +1 -1
  445. package/dist/editor/ui/SimpleTabs.d.ts +1 -0
  446. package/dist/editor/ui/SimpleTabs.js +45 -25
  447. package/dist/editor/ui/SimpleTabs.js.map +1 -1
  448. package/dist/editor/ui/Splitter.d.ts +1 -0
  449. package/dist/editor/ui/Splitter.js +102 -86
  450. package/dist/editor/ui/Splitter.js.map +1 -1
  451. package/dist/editor/ui/TemplateSelectorDialog.js +4 -4
  452. package/dist/editor/ui/TemplateSelectorDialog.js.map +1 -1
  453. package/dist/editor/ui/TreeListSelector.d.ts +6 -1
  454. package/dist/editor/ui/TreeListSelector.js +2 -2
  455. package/dist/editor/ui/TreeListSelector.js.map +1 -1
  456. package/dist/editor/utils/keyboardNavigation.d.ts +6 -20
  457. package/dist/editor/utils/keyboardNavigation.js +48 -140
  458. package/dist/editor/utils/keyboardNavigation.js.map +1 -1
  459. package/dist/editor/utils.js +19 -9
  460. package/dist/editor/utils.js.map +1 -1
  461. package/dist/editor/views/CompareView.d.ts +3 -1
  462. package/dist/editor/views/CompareView.js +7 -5
  463. package/dist/editor/views/CompareView.js.map +1 -1
  464. package/dist/editor/views/EditView.js +1 -1
  465. package/dist/editor/views/EditView.js.map +1 -1
  466. package/dist/editor/views/EditorSlot.js +27 -34
  467. package/dist/editor/views/EditorSlot.js.map +1 -1
  468. package/dist/editor/views/ItemEditor.js +7 -3
  469. package/dist/editor/views/ItemEditor.js.map +1 -1
  470. package/dist/editor/views/MediaFolderEditView.js +1 -1
  471. package/dist/editor/views/MediaFolderEditView.js.map +1 -1
  472. package/dist/editor/views/ParheliaView.js +5 -6
  473. package/dist/editor/views/ParheliaView.js.map +1 -1
  474. package/dist/editor/views/SingleEditView.d.ts +2 -1
  475. package/dist/editor/views/SingleEditView.js +10 -8
  476. package/dist/editor/views/SingleEditView.js.map +1 -1
  477. package/dist/editor/views/editorSlotContext.js +35 -6
  478. package/dist/editor/views/editorSlotContext.js.map +1 -1
  479. package/dist/index.d.ts +16 -2
  480. package/dist/index.js +11 -0
  481. package/dist/index.js.map +1 -1
  482. package/dist/revision.d.ts +2 -2
  483. package/dist/revision.js +2 -2
  484. package/dist/setup/services/setupWizardService.d.ts +40 -13
  485. package/dist/setup/services/setupWizardService.js +32 -17
  486. package/dist/setup/services/setupWizardService.js.map +1 -1
  487. package/dist/setup/wizard/steps/AddModelDialog.js +12 -3
  488. package/dist/setup/wizard/steps/AddModelDialog.js.map +1 -1
  489. package/dist/setup/wizard/steps/ImportModelDialog.js +39 -22
  490. package/dist/setup/wizard/steps/ImportModelDialog.js.map +1 -1
  491. package/dist/splash-screen/ModernSplashScreen.js +112 -32
  492. package/dist/splash-screen/ModernSplashScreen.js.map +1 -1
  493. package/dist/splash-screen/NewPage.js +33 -50
  494. package/dist/splash-screen/NewPage.js.map +1 -1
  495. package/dist/splash-screen/OpenPage.js +2 -6
  496. package/dist/splash-screen/OpenPage.js.map +1 -1
  497. package/dist/splash-screen/ParheliaAssistantChat.js +12 -29
  498. package/dist/splash-screen/ParheliaAssistantChat.js.map +1 -1
  499. package/dist/splash-screen/ParheliaLogo.js +87 -37
  500. package/dist/splash-screen/ParheliaLogo.js.map +1 -1
  501. package/dist/splash-screen/RecentPages.js +3 -3
  502. package/dist/splash-screen/RecentPages.js.map +1 -1
  503. package/dist/tour/Tour.d.ts +2 -1
  504. package/dist/tour/Tour.js +256 -75
  505. package/dist/tour/Tour.js.map +1 -1
  506. package/dist/tour/default-tour.js +222 -96
  507. package/dist/tour/default-tour.js.map +1 -1
  508. package/dist/types.d.ts +63 -29
  509. package/package.json +19 -15
  510. package/styles.css +14 -10
  511. package/dist/editor/ComponentInfo.d.ts +0 -4
  512. package/dist/editor/ComponentInfo.js +0 -41
  513. package/dist/editor/ComponentInfo.js.map +0 -1
  514. package/dist/editor/ai/HelpTerminal.d.ts +0 -5
  515. package/dist/editor/ai/HelpTerminal.js +0 -166
  516. package/dist/editor/ai/HelpTerminal.js.map +0 -1
  517. package/dist/editor/field-types/ReactQuill.d.ts +0 -125
  518. package/dist/editor/field-types/ReactQuill.js +0 -385
  519. package/dist/editor/field-types/ReactQuill.js.map +0 -1
  520. package/dist/editor/services-server/graphQL.d.ts +0 -29
  521. package/dist/editor/services-server/graphQL.js +0 -53
  522. package/dist/editor/services-server/graphQL.js.map +0 -1
  523. package/dist/editor/settings/AllAgentsPanel.d.ts +0 -5
  524. package/dist/editor/settings/AllAgentsPanel.js +0 -139
  525. package/dist/editor/settings/AllAgentsPanel.js.map +0 -1
  526. package/dist/editor/settings/LatestFeedback.d.ts +0 -1
  527. package/dist/editor/settings/LatestFeedback.js +0 -136
  528. package/dist/editor/settings/LatestFeedback.js.map +0 -1
  529. package/dist/editor/settings/Setup.d.ts +0 -1
  530. package/dist/editor/settings/Setup.js +0 -211
  531. package/dist/editor/settings/Setup.js.map +0 -1
  532. package/dist/editor/settings/panels/DatabasePanel.d.ts +0 -6
  533. package/dist/editor/settings/panels/DatabasePanel.js +0 -50
  534. package/dist/editor/settings/panels/DatabasePanel.js.map +0 -1
  535. package/dist/editor/settings/setup-steps/AiSetupStep/EmbeddingsModelSection.d.ts +0 -2
  536. package/dist/editor/settings/setup-steps/AiSetupStep/EmbeddingsModelSection.js +0 -195
  537. package/dist/editor/settings/setup-steps/AiSetupStep/EmbeddingsModelSection.js.map +0 -1
  538. package/dist/editor/settings/setup-steps/AiSetupStep/index.d.ts +0 -2
  539. package/dist/editor/settings/setup-steps/AiSetupStep/index.js +0 -21
  540. package/dist/editor/settings/setup-steps/AiSetupStep/index.js.map +0 -1
  541. package/dist/editor/settings/setup-steps/AiSetupStep/provider/ProviderSection.d.ts +0 -1
  542. package/dist/editor/settings/setup-steps/AiSetupStep/provider/ProviderSection.js +0 -233
  543. package/dist/editor/settings/setup-steps/AiSetupStep/provider/ProviderSection.js.map +0 -1
  544. package/dist/editor/settings/setup-steps/AiSetupStep/required-containers/RequiredContainersList.d.ts +0 -15
  545. package/dist/editor/settings/setup-steps/AiSetupStep/required-containers/RequiredContainersList.js +0 -14
  546. package/dist/editor/settings/setup-steps/AiSetupStep/required-containers/RequiredContainersList.js.map +0 -1
  547. package/dist/editor/settings/setup-steps/AiSetupStep/required-containers/RequiredContainersSection.d.ts +0 -1
  548. package/dist/editor/settings/setup-steps/AiSetupStep/required-containers/RequiredContainersSection.js +0 -94
  549. package/dist/editor/settings/setup-steps/AiSetupStep/required-containers/RequiredContainersSection.js.map +0 -1
  550. package/dist/editor/settings/setup-steps/AiSetupStep/types.d.ts +0 -1
  551. package/dist/editor/settings/setup-steps/AiSetupStep/types.js +0 -2
  552. package/dist/editor/settings/setup-steps/AiSetupStep/types.js.map +0 -1
  553. package/dist/editor/settings/setup-steps/AiSetupStep/utils.d.ts +0 -5
  554. package/dist/editor/settings/setup-steps/AiSetupStep/utils.js +0 -44
  555. package/dist/editor/settings/setup-steps/AiSetupStep/utils.js.map +0 -1
  556. package/dist/editor/settings/setup-steps/IndexSetupStep.d.ts +0 -2
  557. package/dist/editor/settings/setup-steps/IndexSetupStep.js +0 -36
  558. package/dist/editor/settings/setup-steps/IndexSetupStep.js.map +0 -1
  559. package/dist/editor/settings/setup-steps/SettingsSetupStep.d.ts +0 -2
  560. package/dist/editor/settings/setup-steps/SettingsSetupStep.js +0 -111
  561. package/dist/editor/settings/setup-steps/SettingsSetupStep.js.map +0 -1
  562. package/dist/editor/settings/setup-steps/SetupOverview.d.ts +0 -14
  563. package/dist/editor/settings/setup-steps/SetupOverview.js +0 -38
  564. package/dist/editor/settings/setup-steps/SetupOverview.js.map +0 -1
  565. package/dist/editor/sidebar/Debug.d.ts +0 -1
  566. package/dist/editor/sidebar/Debug.js +0 -70
  567. package/dist/editor/sidebar/Debug.js.map +0 -1
  568. package/dist/editor/sidebar/GraphQL.d.ts +0 -2
  569. package/dist/editor/sidebar/GraphQL.js +0 -234
  570. package/dist/editor/sidebar/GraphQL.js.map +0 -1
  571. package/dist/editor/sidebar/LeftToolbar.d.ts +0 -1
  572. package/dist/editor/sidebar/LeftToolbar.js +0 -12
  573. package/dist/editor/sidebar/LeftToolbar.js.map +0 -1
  574. package/dist/editor/sidebar/NavigationSidebar.d.ts +0 -4
  575. package/dist/editor/sidebar/NavigationSidebar.js +0 -254
  576. package/dist/editor/sidebar/NavigationSidebar.js.map +0 -1
  577. package/dist/editor/tree-indicators/GutterSelector.d.ts +0 -5
  578. package/dist/editor/tree-indicators/GutterSelector.js +0 -91
  579. package/dist/editor/tree-indicators/GutterSelector.js.map +0 -1
@@ -1,24 +1,39 @@
1
1
  "use client";
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { useEditContext, useEditContextRef } from "../client/editContext";
4
- import { useCallback, useEffect, useRef, useState } from "react";
4
+ import { useCallback, useEffect, useMemo, useRef, useState } from "react";
5
5
  import { getComponentCommands } from "../commands/componentCommands";
6
6
  import ConfirmationDialog from "../ConfirmationDialog";
7
+ import { useSlotContext } from "../views/editorSlotContext";
7
8
  import { PerfectTree } from "../ui/PerfectTree";
8
9
  import { isValidPlaceholder } from "../componentTreeHelper";
9
- import { buildInsertMenuItems, getVisibleInsertOptions } from "../insertMenuItems";
10
+ import { buildInsertMenuItems, getVisibleInsertOptions, } from "../insertMenuItems";
10
11
  import { Plus, LayoutTemplate, Pentagon, Folder, Square, ChevronRight, Circle, File, Home, } from "lucide-react";
11
12
  import { SimpleIconButton } from "../ui/SimpleIconButton";
12
13
  import { Spinner } from "../ui/Spinner";
13
- export function ComponentTree({}) {
14
+ import { FilterInput } from "../../components/FilterInput";
15
+ export function ComponentTree({ pageViewContext, itemDescriptor, item, isLoading, }) {
14
16
  const [expandedKeys, setExpandedKeys] = useState(["page"]);
15
17
  const [selectedKeys, setSelectedKeys] = useState(["page"]);
18
+ const [filter, setFilter] = useState("");
16
19
  const [rootNodes, setRootNodes] = useState([]);
17
20
  const [nodeDictionary, setNodeDictionary] = useState({});
18
21
  const [isTreeReady, setIsTreeReady] = useState(false);
19
22
  const [treeKey, setTreeKey] = useState(null);
20
23
  let editContextRef = useEditContextRef();
21
24
  const editContext = useEditContext();
25
+ const slotContext = useSlotContext();
26
+ // Prefer the nearest slot context so multiple visible trees can render the
27
+ // correct page instead of following the globally active slot.
28
+ const page = pageViewContext?.page ?? slotContext?.primaryPageViewContext.page ?? editContext?.page;
29
+ const pageItemDescriptor = itemDescriptor ?? page?.item ?? slotContext?.itemDescriptor ?? editContext?.currentItemDescriptor;
30
+ const resolvedItem = item ?? slotContext?.item ?? editContext?.item;
31
+ const isSlotLoading = isLoading ??
32
+ slotContext?.isLoading ??
33
+ editContext?.getActiveSlotContext?.()?.isLoading ??
34
+ false;
35
+ const pageLanguage = page?.item.language ?? pageItemDescriptor?.language;
36
+ const pageVersion = page?.item.version ?? pageItemDescriptor?.version;
22
37
  const treeRef = useRef(null);
23
38
  const confirmDialogRef = useRef(null);
24
39
  const pendingDragStartTimeoutRef = useRef(null);
@@ -69,8 +84,16 @@ export function ComponentTree({}) {
69
84
  }
70
85
  useEffect(() => {
71
86
  if (treeRef.current) {
72
- const selectedNodeKey = Object.keys(selectedKeys || {})[0];
73
- const selectedNodeElement = treeRef.current.querySelector(`[data-id="${selectedNodeKey}"]`);
87
+ const selectedNodeKey = selectedKeys[0];
88
+ let selectedNodeElement = null;
89
+ if (selectedNodeKey) {
90
+ try {
91
+ selectedNodeElement = treeRef.current.querySelector(`[data-node-key="${CSS.escape(selectedNodeKey)}"]`);
92
+ }
93
+ catch {
94
+ selectedNodeElement = treeRef.current.querySelector(`[data-node-key="${selectedNodeKey}"]`);
95
+ }
96
+ }
74
97
  if (selectedNodeElement) {
75
98
  selectedNodeElement.scrollIntoView({
76
99
  behavior: "smooth",
@@ -82,13 +105,24 @@ export function ComponentTree({}) {
82
105
  useEffect(() => {
83
106
  if (editContext?.selection && editContext.selection.length > 0) {
84
107
  setSelectedKeys(editContext.selection);
108
+ return;
85
109
  }
86
- else {
87
- setSelectedKeys(["page"]);
88
- }
89
- }, [editContext?.selection]);
110
+ // Keep non-component tree selection (e.g. placeholder) when editor selection is empty.
111
+ // This allows users to click and work with placeholders without being reset to "page".
112
+ setSelectedKeys((prev) => {
113
+ if (prev.length === 1) {
114
+ const current = prev[0];
115
+ if (current) {
116
+ const node = nodeDictionary[current];
117
+ if (node && node.type !== "component") {
118
+ return prev;
119
+ }
120
+ }
121
+ }
122
+ return ["page"];
123
+ });
124
+ }, [editContext?.selection, nodeDictionary]);
90
125
  const selection = editContext?.selection || [];
91
- const page = editContext?.page;
92
126
  useEffect(() => {
93
127
  const newExpandedKeys = [...expandedKeys];
94
128
  for (const id of selection) {
@@ -101,6 +135,28 @@ export function ComponentTree({}) {
101
135
  setExpandedKeys(newExpandedKeys);
102
136
  }
103
137
  }, [selection, nodeDictionary]);
138
+ function appendNodeClassName(node, className) {
139
+ node.className = `${node.className || ""} ${className}`.trim();
140
+ }
141
+ function reparentVisibleNodes(nodes, parent, inheritedClassName) {
142
+ return nodes.map((node) => {
143
+ node.parent = parent;
144
+ if (inheritedClassName) {
145
+ appendNodeClassName(node, inheritedClassName);
146
+ }
147
+ return node;
148
+ });
149
+ }
150
+ function mapVisibleComponentNodes(component, parent, inheritedClassName) {
151
+ const componentNode = mapComponentNode(component, parent);
152
+ if (inheritedClassName) {
153
+ appendNodeClassName(componentNode, inheritedClassName);
154
+ }
155
+ if (!component.layoutId) {
156
+ return [componentNode];
157
+ }
158
+ return reparentVisibleNodes((componentNode.children || []), parent, inheritedClassName);
159
+ }
104
160
  function mapPlaceholderNode(p, parent) {
105
161
  const rawLabel = p.description || p.name;
106
162
  let cleanedLabel = cleanPlaceholderLabel(rawLabel);
@@ -132,12 +188,8 @@ export function ComponentTree({}) {
132
188
  });
133
189
  }
134
190
  if (!editContext?.showLayoutComponents) {
135
- // Map components and filter out layout components when hidden
136
- const mappedComponents = p.components.map((c) => mapComponentNode(c, node));
137
- node.children = mappedComponents.filter((componentNode) => {
138
- const component = componentNode.data;
139
- return !component.layoutId;
140
- });
191
+ // Hide layout nodes, but keep their visible descendants in the tree.
192
+ node.children = p.components.flatMap((component) => mapVisibleComponentNodes(component, node));
141
193
  }
142
194
  else {
143
195
  // Always map components, but filter based on editability and descendants
@@ -169,22 +221,12 @@ export function ComponentTree({}) {
169
221
  const allComponents = [];
170
222
  const seenKeys = new Set();
171
223
  for (const placeholder of placeholdersToShow) {
172
- const mappedComponents = placeholder.components.map((c) => {
173
- const componentNode = mapComponentNode(c, parent);
174
- // Apply gray styling to components in non-editable placeholders
175
- if (!placeholder.editable) {
176
- componentNode.className =
177
- (componentNode.className || "") + " text-gray-400";
178
- }
179
- return componentNode;
180
- });
181
- // Filter out layout components when not showing them
182
- const filteredComponents = mappedComponents.filter((componentNode) => {
183
- const component = componentNode.data;
184
- return !component.layoutId && (component.editable || true);
185
- });
224
+ const placeholderClassName = !placeholder.editable
225
+ ? "text-gray-400"
226
+ : undefined;
227
+ const visibleComponents = placeholder.components.flatMap((component) => mapVisibleComponentNodes(component, parent, placeholderClassName));
186
228
  // Add only components we haven't seen yet to prevent duplicate keys
187
- for (const componentNode of filteredComponents) {
229
+ for (const componentNode of visibleComponents) {
188
230
  if (!seenKeys.has(componentNode.key)) {
189
231
  seenKeys.add(componentNode.key);
190
232
  allComponents.push(componentNode);
@@ -362,6 +404,22 @@ export function ComponentTree({}) {
362
404
  setNodeDictionary(dict);
363
405
  setIsTreeReady(true);
364
406
  }, [page, editContext?.showLayoutComponents]);
407
+ const { visibleRootNodes, effectiveExpandedKeys, isFiltering } = useMemo(() => {
408
+ const query = filter.trim();
409
+ if (!query) {
410
+ return {
411
+ visibleRootNodes: rootNodes,
412
+ effectiveExpandedKeys: expandedKeys,
413
+ isFiltering: false,
414
+ };
415
+ }
416
+ const filteredTree = filterComponentTreeNodes(rootNodes, query);
417
+ return {
418
+ visibleRootNodes: filteredTree.nodes,
419
+ effectiveExpandedKeys: filteredTree.expandedKeys,
420
+ isFiltering: true,
421
+ };
422
+ }, [expandedKeys, filter, rootNodes]);
365
423
  const handleTreeSelection = useCallback((key, event) => {
366
424
  let newKeys = [];
367
425
  // Helper: gather visible component keys using current tree data and expanded state
@@ -371,12 +429,12 @@ export function ComponentTree({}) {
371
429
  for (const n of nodes) {
372
430
  if (n.type === "component")
373
431
  keys.push(n.key);
374
- if (n.children && expandedKeys.includes(n.key)) {
432
+ if (n.children && effectiveExpandedKeys.includes(n.key)) {
375
433
  visit(n.children);
376
434
  }
377
435
  }
378
436
  };
379
- visit(rootNodes);
437
+ visit(visibleRootNodes);
380
438
  return keys;
381
439
  };
382
440
  if (event.shiftKey) {
@@ -417,6 +475,7 @@ export function ComponentTree({}) {
417
475
  else {
418
476
  newKeys = [key];
419
477
  }
478
+ setSelectedKeys(newKeys);
420
479
  const selectedComponentIds = Array.from(new Set(newKeys
421
480
  .filter((k) => nodeDictionary[k]?.type === "component")
422
481
  .map((k) => nodeDictionary[k].componentId)));
@@ -424,7 +483,7 @@ export function ComponentTree({}) {
424
483
  if (selectedComponentIds.length === 1) {
425
484
  editContextRef.current?.setScrollIntoView(selectedComponentIds[0]);
426
485
  }
427
- }, [selectedKeys, nodeDictionary, editContextRef]);
486
+ }, [selectedKeys, nodeDictionary, editContextRef, visibleRootNodes, effectiveExpandedKeys]);
428
487
  // Handle tree context menu
429
488
  const handleTreeContextMenu = async (node, event) => {
430
489
  const componentId = nodeDictionary[node.key]?.componentId;
@@ -466,7 +525,7 @@ export function ComponentTree({}) {
466
525
  const insertOptions = getVisibleInsertOptions(placeholder.insertOptions);
467
526
  const insertMenuItems = buildInsertMenuItems(insertOptions, async (x) => {
468
527
  await editContextRef.current?.operations.addComponent(x.typeId, placeholder.key, 0, // Insert at the beginning by default
469
- editContextRef.current?.currentItemDescriptor);
528
+ pageItemDescriptor);
470
529
  });
471
530
  if (insertMenuItems.length > 0) {
472
531
  // Add separator if there are existing menu items
@@ -485,7 +544,7 @@ export function ComponentTree({}) {
485
544
  editContextRef.current?.showContextMenu(event, menu);
486
545
  };
487
546
  // Convert expanded keys for PerfectTree
488
- const expandedItems = expandedKeys;
547
+ const expandedItems = effectiveExpandedKeys;
489
548
  // Convert selected keys for PerfectTree
490
549
  const selectedItems = selectedKeys;
491
550
  const handleCollapseItem = useCallback((key) => {
@@ -652,8 +711,10 @@ export function ComponentTree({}) {
652
711
  if (!component?.datasourceItem)
653
712
  return;
654
713
  pendingDragStartTimeoutRef.current = setTimeout(() => {
655
- const language = editContext.page.item.language;
656
- const version = editContext.page.item.version;
714
+ if (!pageLanguage || pageVersion == null)
715
+ return;
716
+ const language = pageLanguage;
717
+ const version = pageVersion;
657
718
  const selectedIds = (editContext?.selection?.length || 0) > 1 &&
658
719
  editContext.selection.includes(component.id)
659
720
  ? editContext.selection
@@ -693,38 +754,32 @@ export function ComponentTree({}) {
693
754
  }, []);
694
755
  // Check if we have a valid page model
695
756
  const hasPageModel = page && page.rootComponent && page.item;
696
- // Check if the active slot is still loading its item/page
697
- const activeSlotContext = editContext?.getActiveSlotContext?.();
698
- const isSlotLoading = activeSlotContext?.isLoading ?? false;
699
757
  const isRefreshing = editContext?.isRefreshing ?? false;
758
+ // Check if the page model failed to load (invalid page model)
759
+ // Only show error if page model is missing, not if page is just empty (no components)
760
+ const hasInvalidPageModel = !hasPageModel;
761
+ // Check if the tree is empty (no components/placeholders) - this is valid, not an error
762
+ const hasEmptyTree = !!hasPageModel &&
763
+ (!page?.rootComponent?.placeholders ||
764
+ page.rootComponent.placeholders.length === 0) &&
765
+ rootNodes.length <= 1 &&
766
+ (rootNodes.length === 0 || rootNodes[0]?.key === "page");
700
767
  if (!page) {
701
768
  // If item has no versions, show appropriate message instead of spinner
702
- if (editContext?.item?.versions === 0) {
769
+ if (resolvedItem?.versions === 0) {
703
770
  return (_jsx("div", { className: "flex h-full items-center justify-center text-xs text-gray-500", children: "Item has no versions." }));
704
771
  }
705
- if (editContext?.item?.hasLayout || isSlotLoading || isRefreshing) {
772
+ if (resolvedItem?.hasLayout || isSlotLoading || isRefreshing) {
706
773
  return (_jsx("div", { className: "flex h-full items-center justify-center text-xs text-gray-500", children: _jsx(Spinner, {}) }));
707
774
  }
708
775
  return (_jsx("div", { className: "flex h-full items-center justify-center text-xs text-gray-500", children: "This item has no layout." }));
709
776
  }
710
- // Check if the page model failed to load (invalid page model)
711
- // Only show error if page model is missing, not if page is just empty (no components)
712
- const hasInvalidPageModel = !hasPageModel;
713
- // Check if the tree is empty (no components/placeholders) - this is valid, not an error
714
- const hasEmptyTree = hasPageModel &&
715
- (!page.rootComponent?.placeholders ||
716
- page.rootComponent.placeholders.length === 0) &&
717
- rootNodes.length <= 1 &&
718
- (rootNodes.length === 0 || rootNodes[0]?.key === "page");
719
777
  // If the page model is incomplete but we're still loading, show a spinner instead of error
720
778
  if (hasInvalidPageModel && (!isTreeReady || isSlotLoading || isRefreshing)) {
721
779
  return (_jsx("div", { className: "flex h-full items-center justify-center text-xs text-gray-500", children: _jsx(Spinner, {}) }));
722
780
  }
723
- // Get canWriteItem from active slot context if available, fallback to editContext.page
724
- // Calculate once and reuse in both error and normal states
725
- const canWriteItem = activeSlotContext?.primaryPageViewContext.page?.item.canWriteItem ??
726
- activeSlotContext?.item?.canWriteItem ??
727
- editContext?.page?.item.canWriteItem ??
781
+ const canWriteItem = page?.item.canWriteItem ??
782
+ resolvedItem?.canWriteItem ??
728
783
  false;
729
784
  // Get insert mode state for toggle button
730
785
  const insertMode = editContext?.insertMode ?? false;
@@ -746,19 +801,57 @@ export function ComponentTree({}) {
746
801
  return (_jsxs("div", { className: "flex h-full flex-col", children: [_jsxs("div", { className: "flex items-center justify-between border-b border-gray-200 px-2 py-1", children: [_jsx("div", { className: "flex items-center gap-1", children: _jsx(SimpleIconButton, { icon: _jsx(Plus, { strokeWidth: 1, className: "h-4 w-4" }), label: "Add component", size: "small", "data-testid": "component-tree-add-component", selected: insertMode, disabled: !canWriteItem ||
747
802
  !editContext ||
748
803
  editContext.readonly ||
749
- editContext.mode !== "edit", onClick: toggleInsertMode }) }), _jsx("div", { className: "flex items-center gap-1", children: _jsx(SimpleIconButton, { icon: _jsx(LayoutTemplate, { strokeWidth: 1, className: "h-4 w-4" }), label: editContext?.showLayoutComponents ? "Hide layout" : "Show layout", size: "small", selected: editContext?.showLayoutComponents, "data-testid": "component-tree-toggle-layout", onClick: () => editContext?.setShowLayoutComponents(!editContext.showLayoutComponents) }) })] }), _jsx("div", { className: "flex-1 p-2", ref: treeRef, "data-testid": "component-tree", children: _jsx(PerfectTree, { nodes: rootNodes, isDragging: !!editContext?.dragObject, multiDragNoun: "components", selectedKeys: selectedItems, expandedKeys: expandedItems, onToggleExpand: handleToggle, onSelect: handleTreeSelection, onContextMenu: handleTreeContextMenu, enableDragAndDrop: true, onDragOverZone: handleDragOverZone, isValidDropZone: handleIsValidDropZone, onStartDrag: handleStartDrag, onDragEnd: handleDragEnd, onDrop: handleDropZone, renderNode: (node) => renderNode(node) }) }), _jsx(ConfirmationDialog, { ref: confirmDialogRef })] }));
804
+ editContext.mode !== "edit", onClick: toggleInsertMode }) }), _jsx("div", { className: "flex items-center gap-1", children: _jsx(SimpleIconButton, { icon: _jsx(LayoutTemplate, { strokeWidth: 1, className: "h-4 w-4" }), label: editContext?.showLayoutComponents ? "Hide layout" : "Show layout", size: "small", selected: editContext?.showLayoutComponents, "data-testid": "component-tree-toggle-layout", onClick: () => editContext?.setShowLayoutComponents(!editContext.showLayoutComponents) }) })] }), _jsx("div", { className: "border-b border-gray-200 p-2", "data-testid": "component-tree-search", children: _jsx(FilterInput, { value: filter, onChange: setFilter, className: "w-full", placeholder: "Search IDs, names, types..." }) }), _jsx("div", { className: "flex-1 min-h-0 overflow-auto overflow-x-hidden p-2", ref: treeRef, "data-testid": "component-tree", children: isFiltering && visibleRootNodes.length === 0 ? (_jsxs("div", { className: "flex h-full items-center justify-center px-4 text-center text-xs text-gray-500", children: ["No components match \"", filter.trim(), "\"."] })) : (_jsx(PerfectTree, { nodes: visibleRootNodes, isDragging: !isFiltering && !!editContext?.dragObject, multiDragNoun: "components", selectedKeys: selectedItems, expandedKeys: expandedItems, onToggleExpand: isFiltering ? undefined : handleToggle, onSelect: handleTreeSelection, onContextMenu: handleTreeContextMenu, enableDragAndDrop: !isFiltering, onDragOverZone: handleDragOverZone, isValidDropZone: handleIsValidDropZone, onStartDrag: handleStartDrag, onDragEnd: handleDragEnd, onDrop: handleDropZone, renderNode: (node) => renderNode(node, filter) })) }), _jsx(ConfirmationDialog, { ref: confirmDialogRef })] }));
805
+ }
806
+ function renderNode(node, filter = "") {
807
+ const trimmedFilter = filter.trim();
808
+ const filterDetails = trimmedFilter ? getNodeFilterDetails(node) : null;
809
+ return (_jsxs("div", { className: `component-tree-node ${node.type ? `component-tree-${node.type}` : ""}`, "data-component-node": node.type === "component" ? "true" : undefined, "data-testid": "component-tree-node", "data-component-key": node.key, "data-component-type": node.type, children: [_jsxs("div", { className: "flex items-center gap-2 text-[12px] text-gray-600", children: [typeof node.icon === "string" ? (_jsx("i", { className: node.icon })) : (node.icon), _jsx("span", { className: node.className, "data-testid": "component-tree-node-label", children: highlightSearchMatch(node.label, trimmedFilter) }), node.tags?.map((x) => (_jsx("div", { children: _jsxs("span", { id: `id-${node.key}-${x.id}`, className: "ml-2 flex rounded p-0.5 px-1.5 text-xs text-white", style: {
810
+ backgroundColor: x.color,
811
+ marginLeft: "8px",
812
+ fontSize: "10px",
813
+ }, title: x.tooltip, onClick: x.onClick
814
+ ? (e) => {
815
+ e.stopPropagation();
816
+ x.onClick();
817
+ }
818
+ : undefined, children: [x.icon, highlightSearchMatch(x.value, trimmedFilter)] }) }, `tag-${node.key}-${x.id}`)))] }), filterDetails ? (_jsx("div", { className: "ml-6 mt-0.5 truncate text-[10px] text-gray-400", title: filterDetails, children: highlightSearchMatch(filterDetails, trimmedFilter) })) : null] }));
819
+ }
820
+ function highlightSearchMatch(text, filter) {
821
+ if (!filter.trim())
822
+ return text;
823
+ const regex = new RegExp(`(${filter.replace(/[.*+?^${}()|[\]\\]/g, "\\$&")})`, "gi");
824
+ return text.split(regex).map((part, index) => part.toLowerCase() === filter.toLowerCase() && part ? (_jsx("span", { className: "bg-yellow-200/80", children: part }, `${part}-${index}`)) : (part));
750
825
  }
751
- function renderNode(node) {
752
- return (_jsx("div", { className: `component-tree-node ${node.type ? `component-tree-${node.type}` : ""}`, "data-component-node": node.type === "component" ? "true" : undefined, children: _jsxs("div", { className: "flex items-center gap-2 text-[12px] text-gray-600", children: [typeof node.icon === "string" ? (_jsx("i", { className: node.icon })) : (node.icon), _jsx("span", { className: node.className, children: node.label }), node.tags?.map((x) => (_jsx("div", { children: _jsxs("span", { id: `id-${node.key}-${x.id}`, className: "ml-2 flex rounded p-0.5 px-1.5 text-xs text-white", style: {
753
- backgroundColor: x.color,
754
- marginLeft: "8px",
755
- fontSize: "10px",
756
- }, title: x.tooltip, onClick: x.onClick
757
- ? (e) => {
758
- e.stopPropagation();
759
- x.onClick();
760
- }
761
- : undefined, children: [x.icon, x.value] }) }, `tag-${node.key}-${x.id}`)))] }) }));
826
+ function getNodeFilterDetails(node) {
827
+ if (node.type === "component" && node.data) {
828
+ const component = node.data;
829
+ return [
830
+ component.id ? `ID: ${component.id}` : "",
831
+ component.type ? `Type: ${component.type}` : "",
832
+ component.typeId ? `Type ID: ${component.typeId}` : "",
833
+ component.datasourceItem?.name
834
+ ? `Datasource: ${component.datasourceItem.name}`
835
+ : "",
836
+ component.parentPlaceholder?.key
837
+ ? `Placeholder: ${component.parentPlaceholder.key}`
838
+ : "",
839
+ ]
840
+ .filter(Boolean)
841
+ .join(" | ");
842
+ }
843
+ if (node.type === "placeholder" && node.data) {
844
+ const placeholder = node.data;
845
+ return [
846
+ placeholder.key ? `Key: ${placeholder.key}` : "",
847
+ placeholder.description
848
+ ? `Description: ${placeholder.description}`
849
+ : "",
850
+ ]
851
+ .filter(Boolean)
852
+ .join(" | ");
853
+ }
854
+ return node.componentId ? `ID: ${node.componentId}` : null;
762
855
  }
763
856
  function createMap(treeNodes, nodeDictionary) {
764
857
  treeNodes.forEach((n) => {
@@ -787,4 +880,58 @@ function hasSameProps(obj1, obj2) {
787
880
  }
788
881
  return false;
789
882
  }
883
+ function addSearchValue(values, value) {
884
+ if (!value)
885
+ return;
886
+ const trimmed = value.trim();
887
+ if (trimmed) {
888
+ values.push(trimmed);
889
+ }
890
+ }
891
+ function getNodeSearchText(node) {
892
+ const values = [];
893
+ addSearchValue(values, node.label);
894
+ addSearchValue(values, getNodeFilterDetails(node));
895
+ addSearchValue(values, node.type);
896
+ node.tags?.forEach((tag) => {
897
+ addSearchValue(values, tag.id);
898
+ addSearchValue(values, tag.value);
899
+ });
900
+ return values.join(" ").toLowerCase();
901
+ }
902
+ function filterComponentTreeNodes(nodes, filter) {
903
+ const normalizedFilter = filter.trim().toLowerCase();
904
+ if (!normalizedFilter) {
905
+ return { nodes, expandedKeys: [] };
906
+ }
907
+ const expandedKeys = new Set();
908
+ const filterNode = (node, ancestors) => {
909
+ const filteredChildren = Array.isArray(node.children)
910
+ ? node.children
911
+ .map((child) => filterNode(child, [...ancestors, node.key]))
912
+ .filter((child) => child !== null)
913
+ : node.children;
914
+ const hasMatchingChildren = Array.isArray(filteredChildren) && filteredChildren.length > 0;
915
+ const nodeMatches = getNodeSearchText(node).includes(normalizedFilter);
916
+ if (!nodeMatches && !hasMatchingChildren) {
917
+ return null;
918
+ }
919
+ ancestors.forEach((ancestorKey) => expandedKeys.add(ancestorKey));
920
+ if (hasMatchingChildren) {
921
+ expandedKeys.add(node.key);
922
+ }
923
+ return {
924
+ ...node,
925
+ children: Array.isArray(node.children)
926
+ ? filteredChildren
927
+ : node.children,
928
+ };
929
+ };
930
+ return {
931
+ nodes: nodes
932
+ .map((node) => filterNode(node, []))
933
+ .filter((node) => node !== null),
934
+ expandedKeys: Array.from(expandedKeys),
935
+ };
936
+ }
790
937
  //# sourceMappingURL=ComponentTree.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ComponentTree.js","sourceRoot":"","sources":["../../../src/editor/sidebar/ComponentTree.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ComponentTree.js","sourceRoot":"","sources":["../../../src/editor/sidebar/ComponentTree.tsx"],"names":[],"mappings":"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"}