@parhelia/core 0.1.12485 → 0.1.12515

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 (310) hide show
  1. package/dist/agents-view/AgentCard.js +22 -20
  2. package/dist/agents-view/AgentCard.js.map +1 -1
  3. package/dist/agents-view/AgentsInbox.js +2 -13
  4. package/dist/agents-view/AgentsInbox.js.map +1 -1
  5. package/dist/agents-view/AgentsView.js +9 -56
  6. package/dist/agents-view/AgentsView.js.map +1 -1
  7. package/dist/agents-view/AgentsWorkspaceView.js +14 -16
  8. package/dist/agents-view/AgentsWorkspaceView.js.map +1 -1
  9. package/dist/agents-view/ProfileAgentsGroup.js +2 -1
  10. package/dist/agents-view/ProfileAgentsGroup.js.map +1 -1
  11. package/dist/components/ui/copy-button.d.ts +2 -1
  12. package/dist/components/ui/copy-button.js +2 -2
  13. package/dist/components/ui/copy-button.js.map +1 -1
  14. package/dist/components/ui/input.js +1 -1
  15. package/dist/components/ui/input.js.map +1 -1
  16. package/dist/components/ui/paste-button.d.ts +2 -1
  17. package/dist/components/ui/paste-button.js +2 -2
  18. package/dist/components/ui/paste-button.js.map +1 -1
  19. package/dist/components/ui/tabs.d.ts +1 -1
  20. package/dist/components/ui/tabs.js +4 -11
  21. package/dist/components/ui/tabs.js.map +1 -1
  22. package/dist/config/config.js +73 -8
  23. package/dist/config/config.js.map +1 -1
  24. package/dist/config/types.d.ts +30 -5
  25. package/dist/config/types.js.map +1 -1
  26. package/dist/editor/ContentTree.js +36 -4
  27. package/dist/editor/ContentTree.js.map +1 -1
  28. package/dist/editor/FieldHistory.js +49 -31
  29. package/dist/editor/FieldHistory.js.map +1 -1
  30. package/dist/editor/FieldListField.js +4 -4
  31. package/dist/editor/FieldListField.js.map +1 -1
  32. package/dist/editor/FieldListFieldWithFallbacks.js +23 -2
  33. package/dist/editor/FieldListFieldWithFallbacks.js.map +1 -1
  34. package/dist/editor/GlobalMenuBar.js +1 -1
  35. package/dist/editor/GlobalMenuBar.js.map +1 -1
  36. package/dist/editor/ItemInfo.js +36 -1
  37. package/dist/editor/ItemInfo.js.map +1 -1
  38. package/dist/editor/MainLayout.d.ts +0 -2
  39. package/dist/editor/MainLayout.js +0 -1
  40. package/dist/editor/MainLayout.js.map +1 -1
  41. package/dist/editor/Titlebar.js +2 -2
  42. package/dist/editor/Titlebar.js.map +1 -1
  43. package/dist/editor/ai/AgentDocumentList.js +32 -14
  44. package/dist/editor/ai/AgentDocumentList.js.map +1 -1
  45. package/dist/editor/ai/AgentGreeting.js +3 -2
  46. package/dist/editor/ai/AgentGreeting.js.map +1 -1
  47. package/dist/editor/ai/AgentProfileSelector.js +2 -1
  48. package/dist/editor/ai/AgentProfileSelector.js.map +1 -1
  49. package/dist/editor/ai/AgentStatusBadge.d.ts +0 -5
  50. package/dist/editor/ai/AgentStatusBadge.js +57 -71
  51. package/dist/editor/ai/AgentStatusBadge.js.map +1 -1
  52. package/dist/editor/ai/AgentTerminal.js +585 -248
  53. package/dist/editor/ai/AgentTerminal.js.map +1 -1
  54. package/dist/editor/ai/Agents.js +33 -88
  55. package/dist/editor/ai/Agents.js.map +1 -1
  56. package/dist/editor/ai/AiResponseMessage.js +3 -4
  57. package/dist/editor/ai/AiResponseMessage.js.map +1 -1
  58. package/dist/editor/ai/GuidanceOverlay.js +17 -11
  59. package/dist/editor/ai/GuidanceOverlay.js.map +1 -1
  60. package/dist/editor/ai/InlineAiDialog.js +4 -8
  61. package/dist/editor/ai/InlineAiDialog.js.map +1 -1
  62. package/dist/editor/ai/MediaImage.js +40 -8
  63. package/dist/editor/ai/MediaImage.js.map +1 -1
  64. package/dist/editor/ai/SpawnedAgentsPanel.js +10 -12
  65. package/dist/editor/ai/SpawnedAgentsPanel.js.map +1 -1
  66. package/dist/editor/ai/ToolCallDisplay.js +156 -64
  67. package/dist/editor/ai/ToolCallDisplay.js.map +1 -1
  68. package/dist/editor/ai/agentDiagnostics.js +1 -3
  69. package/dist/editor/ai/agentDiagnostics.js.map +1 -1
  70. package/dist/editor/ai/dialogs/AgentDialogHandler.d.ts +1 -8
  71. package/dist/editor/ai/dialogs/AgentDialogHandler.js +89 -12
  72. package/dist/editor/ai/dialogs/AgentDialogHandler.js.map +1 -1
  73. package/dist/editor/ai/dialogs/agentDialogTypes.d.ts +62 -0
  74. package/dist/editor/ai/dialogs/agentDialogTypes.js +2 -0
  75. package/dist/editor/ai/dialogs/agentDialogTypes.js.map +1 -1
  76. package/dist/editor/ai/dialogs/browserBoundCapture.d.ts +29 -0
  77. package/dist/editor/ai/dialogs/browserBoundCapture.js +117 -0
  78. package/dist/editor/ai/dialogs/browserBoundCapture.js.map +1 -0
  79. package/dist/editor/ai/dialogs/capturePageDom.d.ts +3 -0
  80. package/dist/editor/ai/dialogs/capturePageDom.js +64 -0
  81. package/dist/editor/ai/dialogs/capturePageDom.js.map +1 -0
  82. package/dist/editor/ai/dialogs/capturePageScreenshot.d.ts +3 -0
  83. package/dist/editor/ai/dialogs/capturePageScreenshot.js +446 -0
  84. package/dist/editor/ai/dialogs/capturePageScreenshot.js.map +1 -0
  85. package/dist/editor/ai/useAgentStatus.js +23 -85
  86. package/dist/editor/ai/useAgentStatus.js.map +1 -1
  87. package/dist/editor/client/EditorShell.js +88 -100
  88. package/dist/editor/client/EditorShell.js.map +1 -1
  89. package/dist/editor/client/editContext.d.ts +8 -16
  90. package/dist/editor/client/editContext.js.map +1 -1
  91. package/dist/editor/client/hooks/useEditorUrlSync.js +1 -2
  92. package/dist/editor/client/hooks/useEditorUrlSync.js.map +1 -1
  93. package/dist/editor/client/hooks/useEditorWebSocket.js +56 -44
  94. package/dist/editor/client/hooks/useEditorWebSocket.js.map +1 -1
  95. package/dist/editor/client/hooks/useSocketMessageHandler.js +19 -6
  96. package/dist/editor/client/hooks/useSocketMessageHandler.js.map +1 -1
  97. package/dist/editor/client/itemsRepository.js +10 -6
  98. package/dist/editor/client/itemsRepository.js.map +1 -1
  99. package/dist/editor/client/operations.js +15 -3
  100. package/dist/editor/client/operations.js.map +1 -1
  101. package/dist/editor/client/pageModelBuilder.js +1 -1
  102. package/dist/editor/client/pageModelBuilder.js.map +1 -1
  103. package/dist/editor/client/ui/EditorChrome.d.ts +0 -4
  104. package/dist/editor/client/ui/EditorChrome.js.map +1 -1
  105. package/dist/editor/client/waitForEditOperationTerminal.d.ts +8 -3
  106. package/dist/editor/client/waitForEditOperationTerminal.js +5 -1
  107. package/dist/editor/client/waitForEditOperationTerminal.js.map +1 -1
  108. package/dist/editor/commands/componentCommands.js +3 -49
  109. package/dist/editor/commands/componentCommands.js.map +1 -1
  110. package/dist/editor/commands/customCommandConverter.js +2 -1
  111. package/dist/editor/commands/customCommandConverter.js.map +1 -1
  112. package/dist/editor/commands/handlers/agentHandler.js +2 -1
  113. package/dist/editor/commands/handlers/agentHandler.js.map +1 -1
  114. package/dist/editor/commands/itemCommands.js +5 -0
  115. package/dist/editor/commands/itemCommands.js.map +1 -1
  116. package/dist/editor/content-tree/IndicatorSettings.d.ts +11 -0
  117. package/dist/editor/content-tree/IndicatorSettings.js +60 -0
  118. package/dist/editor/content-tree/IndicatorSettings.js.map +1 -0
  119. package/dist/editor/content-tree/TreeOptions.d.ts +6 -0
  120. package/dist/editor/content-tree/TreeOptions.js +8 -0
  121. package/dist/editor/content-tree/TreeOptions.js.map +1 -0
  122. package/dist/editor/content-tree/TreeSettingsMenu.d.ts +2 -0
  123. package/dist/editor/content-tree/TreeSettingsMenu.js +30 -0
  124. package/dist/editor/content-tree/TreeSettingsMenu.js.map +1 -0
  125. package/dist/editor/hooks/useNavigationPanelLogic.js +2 -6
  126. package/dist/editor/hooks/useNavigationPanelLogic.js.map +1 -1
  127. package/dist/editor/manualActionEvents.d.ts +8 -0
  128. package/dist/editor/manualActionEvents.js +48 -0
  129. package/dist/editor/manualActionEvents.js.map +1 -0
  130. package/dist/editor/menubar/PageSelector.js +9 -12
  131. package/dist/editor/menubar/PageSelector.js.map +1 -1
  132. package/dist/editor/menubar/WorkflowButton.js +23 -23
  133. package/dist/editor/menubar/WorkflowButton.js.map +1 -1
  134. package/dist/editor/menubar/toolbar-sections/EditControls.js +1 -1
  135. package/dist/editor/menubar/toolbar-sections/EditControls.js.map +1 -1
  136. package/dist/editor/menubar/toolbar-sections/ManualBrowser.d.ts +3 -9
  137. package/dist/editor/menubar/toolbar-sections/ManualBrowser.js +225 -71
  138. package/dist/editor/menubar/toolbar-sections/ManualBrowser.js.map +1 -1
  139. package/dist/editor/notifications/WatchButton.js +2 -2
  140. package/dist/editor/notifications/WatchButton.js.map +1 -1
  141. package/dist/editor/page-editor-chrome/FrameMenu.js +1 -1
  142. package/dist/editor/page-editor-chrome/FrameMenu.js.map +1 -1
  143. package/dist/editor/page-editor-chrome/PlaceholderDropZone.js +11 -11
  144. package/dist/editor/page-editor-chrome/PlaceholderDropZone.js.map +1 -1
  145. package/dist/editor/page-viewer/EditorForm.js +2 -0
  146. package/dist/editor/page-viewer/EditorForm.js.map +1 -1
  147. package/dist/editor/page-viewer/PageViewer.js +8 -2
  148. package/dist/editor/page-viewer/PageViewer.js.map +1 -1
  149. package/dist/editor/page-viewer/PageViewerFrame.js +21 -8
  150. package/dist/editor/page-viewer/PageViewerFrame.js.map +1 -1
  151. package/dist/editor/page-viewer/pageModelSkeletonBuilder.js +107 -49
  152. package/dist/editor/page-viewer/pageModelSkeletonBuilder.js.map +1 -1
  153. package/dist/editor/page-viewer/pageViewContext.d.ts +1 -0
  154. package/dist/editor/page-viewer/pageViewContext.js +51 -14
  155. package/dist/editor/page-viewer/pageViewContext.js.map +1 -1
  156. package/dist/editor/reviews/CreateReviewDialog.js +1 -3
  157. package/dist/editor/reviews/CreateReviewDialog.js.map +1 -1
  158. package/dist/editor/reviews/DiffView.js +7 -14
  159. package/dist/editor/reviews/DiffView.js.map +1 -1
  160. package/dist/editor/reviews/useMultiReview.js +2 -2
  161. package/dist/editor/reviews/useMultiReview.js.map +1 -1
  162. package/dist/editor/services/agentService.d.ts +34 -3
  163. package/dist/editor/services/agentService.js +107 -72
  164. package/dist/editor/services/agentService.js.map +1 -1
  165. package/dist/editor/services/agentStatus.d.ts +12 -0
  166. package/dist/editor/services/agentStatus.js +59 -0
  167. package/dist/editor/services/agentStatus.js.map +1 -0
  168. package/dist/editor/services/aiService.d.ts +3 -1
  169. package/dist/editor/services/aiService.js.map +1 -1
  170. package/dist/editor/services/indexService.js +1 -1
  171. package/dist/editor/services/indexService.js.map +1 -1
  172. package/dist/editor/settings/SettingsView.js +22 -20
  173. package/dist/editor/settings/SettingsView.js.map +1 -1
  174. package/dist/editor/settings/Status.js +5 -4
  175. package/dist/editor/settings/Status.js.map +1 -1
  176. package/dist/editor/settings/index/useIndexStatus.js +20 -22
  177. package/dist/editor/settings/index/useIndexStatus.js.map +1 -1
  178. package/dist/editor/settings/panels/CreateJavaScriptToolDialog.d.ts +7 -0
  179. package/dist/editor/settings/panels/CreateJavaScriptToolDialog.js +48 -0
  180. package/dist/editor/settings/panels/CreateJavaScriptToolDialog.js.map +1 -0
  181. package/dist/editor/settings/panels/GroupedFieldConfigPanel.d.ts +2 -1
  182. package/dist/editor/settings/panels/GroupedFieldConfigPanel.js +2 -2
  183. package/dist/editor/settings/panels/GroupedFieldConfigPanel.js.map +1 -1
  184. package/dist/editor/settings/panels/JavaScriptToolAgentPanel.d.ts +12 -0
  185. package/dist/editor/settings/panels/JavaScriptToolAgentPanel.js +46 -0
  186. package/dist/editor/settings/panels/JavaScriptToolAgentPanel.js.map +1 -0
  187. package/dist/editor/settings/panels/JavaScriptToolConfigPanel.d.ts +9 -0
  188. package/dist/editor/settings/panels/JavaScriptToolConfigPanel.js +34 -0
  189. package/dist/editor/settings/panels/JavaScriptToolConfigPanel.js.map +1 -0
  190. package/dist/editor/settings/panels/JavaScriptToolsPanel.d.ts +2 -0
  191. package/dist/editor/settings/panels/JavaScriptToolsPanel.js +285 -0
  192. package/dist/editor/settings/panels/JavaScriptToolsPanel.js.map +1 -0
  193. package/dist/editor/settings/panels/ModelConfigPanel.d.ts +2 -1
  194. package/dist/editor/settings/panels/ModelConfigPanel.js +88 -7
  195. package/dist/editor/settings/panels/ModelConfigPanel.js.map +1 -1
  196. package/dist/editor/settings/panels/ModelsPanel.js +129 -70
  197. package/dist/editor/settings/panels/ModelsPanel.js.map +1 -1
  198. package/dist/editor/settings/panels/ProjectTemplateAgentPanel.d.ts +1 -4
  199. package/dist/editor/settings/panels/ProjectTemplateAgentPanel.js +3 -3
  200. package/dist/editor/settings/panels/ProjectTemplateAgentPanel.js.map +1 -1
  201. package/dist/editor/settings/panels/ProjectTemplatesPanel.js +78 -22
  202. package/dist/editor/settings/panels/ProjectTemplatesPanel.js.map +1 -1
  203. package/dist/editor/settings/panels/ProvidersPanel.d.ts +1 -1
  204. package/dist/editor/settings/panels/ProvidersPanel.js +40 -55
  205. package/dist/editor/settings/panels/ProvidersPanel.js.map +1 -1
  206. package/dist/editor/settings/panels/index.d.ts +1 -0
  207. package/dist/editor/settings/panels/index.js +1 -0
  208. package/dist/editor/settings/panels/index.js.map +1 -1
  209. package/dist/editor/settings/status/coreStatusChecks.js +28 -17
  210. package/dist/editor/settings/status/coreStatusChecks.js.map +1 -1
  211. package/dist/editor/sidebar/ComponentPalette.js +2 -1
  212. package/dist/editor/sidebar/ComponentPalette.js.map +1 -1
  213. package/dist/editor/sidebar/ComponentTree.js +210 -49
  214. package/dist/editor/sidebar/ComponentTree.js.map +1 -1
  215. package/dist/editor/sidebar/EditHistory.js +3 -38
  216. package/dist/editor/sidebar/EditHistory.js.map +1 -1
  217. package/dist/editor/sidebar/MainContentTree.js +4 -3
  218. package/dist/editor/sidebar/MainContentTree.js.map +1 -1
  219. package/dist/editor/sidebar/MorePanelsButton.js +1 -1
  220. package/dist/editor/sidebar/MorePanelsButton.js.map +1 -1
  221. package/dist/editor/sidebar/NavigationPanelItem.js +3 -6
  222. package/dist/editor/sidebar/NavigationPanelItem.js.map +1 -1
  223. package/dist/editor/sidebar/SidebarPanel.js +20 -4
  224. package/dist/editor/sidebar/SidebarPanel.js.map +1 -1
  225. package/dist/editor/sidebar/SidebarStack.js +1 -0
  226. package/dist/editor/sidebar/SidebarStack.js.map +1 -1
  227. package/dist/editor/sidebar/Workbox.js +53 -3
  228. package/dist/editor/sidebar/Workbox.js.map +1 -1
  229. package/dist/editor/tree-indicators/GutterColumns.d.ts +3 -1
  230. package/dist/editor/tree-indicators/GutterColumns.js +4 -3
  231. package/dist/editor/tree-indicators/GutterColumns.js.map +1 -1
  232. package/dist/editor/tree-indicators/GutterContext.d.ts +4 -0
  233. package/dist/editor/tree-indicators/GutterContext.js +23 -0
  234. package/dist/editor/tree-indicators/GutterContext.js.map +1 -1
  235. package/dist/editor/tree-indicators/index.d.ts +0 -1
  236. package/dist/editor/tree-indicators/index.js +0 -1
  237. package/dist/editor/tree-indicators/index.js.map +1 -1
  238. package/dist/editor/tree-indicators/types.d.ts +2 -1
  239. package/dist/editor/ui/HomeButton.js +1 -1
  240. package/dist/editor/ui/HomeButton.js.map +1 -1
  241. package/dist/editor/ui/ItemNameDialogNew.d.ts +2 -0
  242. package/dist/editor/ui/ItemNameDialogNew.js +17 -7
  243. package/dist/editor/ui/ItemNameDialogNew.js.map +1 -1
  244. package/dist/editor/ui/ItemSearch.js +7 -11
  245. package/dist/editor/ui/ItemSearch.js.map +1 -1
  246. package/dist/editor/ui/SimpleTabs.js +33 -16
  247. package/dist/editor/ui/SimpleTabs.js.map +1 -1
  248. package/dist/editor/ui/Splitter.js +1 -1
  249. package/dist/editor/ui/Splitter.js.map +1 -1
  250. package/dist/editor/views/CompareView.js +3 -1
  251. package/dist/editor/views/CompareView.js.map +1 -1
  252. package/dist/editor/views/EditorSlot.js +2 -2
  253. package/dist/editor/views/EditorSlot.js.map +1 -1
  254. package/dist/editor/views/ParheliaView.js +5 -6
  255. package/dist/editor/views/ParheliaView.js.map +1 -1
  256. package/dist/editor/views/SingleEditView.js +2 -0
  257. package/dist/editor/views/SingleEditView.js.map +1 -1
  258. package/dist/editor/views/editorSlotContext.js +35 -6
  259. package/dist/editor/views/editorSlotContext.js.map +1 -1
  260. package/dist/index.d.ts +4 -1
  261. package/dist/index.js +1 -0
  262. package/dist/index.js.map +1 -1
  263. package/dist/lib/sanitize.d.ts +10 -0
  264. package/dist/lib/sanitize.js +40 -0
  265. package/dist/lib/sanitize.js.map +1 -0
  266. package/dist/revision.d.ts +2 -2
  267. package/dist/revision.js +2 -2
  268. package/dist/setup/services/setupWizardService.d.ts +28 -0
  269. package/dist/setup/services/setupWizardService.js +34 -0
  270. package/dist/setup/services/setupWizardService.js.map +1 -1
  271. package/dist/setup/wizard/steps/AddModelDialog.js +12 -3
  272. package/dist/setup/wizard/steps/AddModelDialog.js.map +1 -1
  273. package/dist/setup/wizard/steps/ImportModelDialog.js +3 -1
  274. package/dist/setup/wizard/steps/ImportModelDialog.js.map +1 -1
  275. package/dist/splash-screen/NewPage.js +24 -24
  276. package/dist/splash-screen/NewPage.js.map +1 -1
  277. package/dist/task-board/TaskBoardWorkspace.js +29 -10
  278. package/dist/task-board/TaskBoardWorkspace.js.map +1 -1
  279. package/dist/task-board/components/AssignAgentDialog.js +0 -8
  280. package/dist/task-board/components/AssignAgentDialog.js.map +1 -1
  281. package/dist/task-board/components/ItemCollectionEditorDialog.js +5 -12
  282. package/dist/task-board/components/ItemCollectionEditorDialog.js.map +1 -1
  283. package/dist/task-board/components/ProjectAgentsPanel.js +2 -27
  284. package/dist/task-board/components/ProjectAgentsPanel.js.map +1 -1
  285. package/dist/task-board/components/ProjectOverviewContent.js +2 -2
  286. package/dist/task-board/components/ProjectOverviewContent.js.map +1 -1
  287. package/dist/task-board/components/ProjectPropertiesPanel.js +1 -1
  288. package/dist/task-board/components/ProjectPropertiesPanel.js.map +1 -1
  289. package/dist/task-board/components/TaskAgentPanel.js +2 -6
  290. package/dist/task-board/components/TaskAgentPanel.js.map +1 -1
  291. package/dist/task-board/components/TaskDetailPanel.js +1 -1
  292. package/dist/task-board/components/TaskDetailPanel.js.map +1 -1
  293. package/dist/task-board/components/TaskboardPersistentLogPanel.js +3 -1
  294. package/dist/task-board/components/TaskboardPersistentLogPanel.js.map +1 -1
  295. package/dist/task-board/taskAgentLink.js +1 -3
  296. package/dist/task-board/taskAgentLink.js.map +1 -1
  297. package/dist/task-board/views/DependencyGraphView.js +19 -1
  298. package/dist/task-board/views/DependencyGraphView.js.map +1 -1
  299. package/dist/tour/Tour.js +10 -4
  300. package/dist/tour/Tour.js.map +1 -1
  301. package/dist/tour/default-tour.js +51 -11
  302. package/dist/tour/default-tour.js.map +1 -1
  303. package/dist/types.d.ts +4 -13
  304. package/package.json +4 -1
  305. package/dist/editor/ComponentInfo.d.ts +0 -4
  306. package/dist/editor/ComponentInfo.js +0 -41
  307. package/dist/editor/ComponentInfo.js.map +0 -1
  308. package/dist/editor/tree-indicators/GutterSelector.d.ts +0 -5
  309. package/dist/editor/tree-indicators/GutterSelector.js +0 -91
  310. package/dist/editor/tree-indicators/GutterSelector.js.map +0 -1
@@ -1,7 +1,7 @@
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
7
  import { useSlotContext } from "../views/editorSlotContext";
@@ -11,9 +11,11 @@ import { buildInsertMenuItems, getVisibleInsertOptions, } from "../insertMenuIte
11
11
  import { Plus, LayoutTemplate, Pentagon, Folder, Square, ChevronRight, Circle, File, Home, } from "lucide-react";
12
12
  import { SimpleIconButton } from "../ui/SimpleIconButton";
13
13
  import { Spinner } from "../ui/Spinner";
14
+ import { FilterInput } from "../../components/FilterInput";
14
15
  export function ComponentTree({ pageViewContext, itemDescriptor, item, isLoading, }) {
15
16
  const [expandedKeys, setExpandedKeys] = useState(["page"]);
16
17
  const [selectedKeys, setSelectedKeys] = useState(["page"]);
18
+ const [filter, setFilter] = useState("");
17
19
  const [rootNodes, setRootNodes] = useState([]);
18
20
  const [nodeDictionary, setNodeDictionary] = useState({});
19
21
  const [isTreeReady, setIsTreeReady] = useState(false);
@@ -82,8 +84,16 @@ export function ComponentTree({ pageViewContext, itemDescriptor, item, isLoading
82
84
  }
83
85
  useEffect(() => {
84
86
  if (treeRef.current) {
85
- const selectedNodeKey = Object.keys(selectedKeys || {})[0];
86
- 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
+ }
87
97
  if (selectedNodeElement) {
88
98
  selectedNodeElement.scrollIntoView({
89
99
  behavior: "smooth",
@@ -125,6 +135,28 @@ export function ComponentTree({ pageViewContext, itemDescriptor, item, isLoading
125
135
  setExpandedKeys(newExpandedKeys);
126
136
  }
127
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
+ }
128
160
  function mapPlaceholderNode(p, parent) {
129
161
  const rawLabel = p.description || p.name;
130
162
  let cleanedLabel = cleanPlaceholderLabel(rawLabel);
@@ -156,12 +188,8 @@ export function ComponentTree({ pageViewContext, itemDescriptor, item, isLoading
156
188
  });
157
189
  }
158
190
  if (!editContext?.showLayoutComponents) {
159
- // Map components and filter out layout components when hidden
160
- const mappedComponents = p.components.map((c) => mapComponentNode(c, node));
161
- node.children = mappedComponents.filter((componentNode) => {
162
- const component = componentNode.data;
163
- return !component.layoutId;
164
- });
191
+ // Hide layout nodes, but keep their visible descendants in the tree.
192
+ node.children = p.components.flatMap((component) => mapVisibleComponentNodes(component, node));
165
193
  }
166
194
  else {
167
195
  // Always map components, but filter based on editability and descendants
@@ -193,22 +221,12 @@ export function ComponentTree({ pageViewContext, itemDescriptor, item, isLoading
193
221
  const allComponents = [];
194
222
  const seenKeys = new Set();
195
223
  for (const placeholder of placeholdersToShow) {
196
- const mappedComponents = placeholder.components.map((c) => {
197
- const componentNode = mapComponentNode(c, parent);
198
- // Apply gray styling to components in non-editable placeholders
199
- if (!placeholder.editable) {
200
- componentNode.className =
201
- (componentNode.className || "") + " text-gray-400";
202
- }
203
- return componentNode;
204
- });
205
- // Filter out layout components when not showing them
206
- const filteredComponents = mappedComponents.filter((componentNode) => {
207
- const component = componentNode.data;
208
- return !component.layoutId && (component.editable || true);
209
- });
224
+ const placeholderClassName = !placeholder.editable
225
+ ? "text-gray-400"
226
+ : undefined;
227
+ const visibleComponents = placeholder.components.flatMap((component) => mapVisibleComponentNodes(component, parent, placeholderClassName));
210
228
  // Add only components we haven't seen yet to prevent duplicate keys
211
- for (const componentNode of filteredComponents) {
229
+ for (const componentNode of visibleComponents) {
212
230
  if (!seenKeys.has(componentNode.key)) {
213
231
  seenKeys.add(componentNode.key);
214
232
  allComponents.push(componentNode);
@@ -386,6 +404,22 @@ export function ComponentTree({ pageViewContext, itemDescriptor, item, isLoading
386
404
  setNodeDictionary(dict);
387
405
  setIsTreeReady(true);
388
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]);
389
423
  const handleTreeSelection = useCallback((key, event) => {
390
424
  let newKeys = [];
391
425
  // Helper: gather visible component keys using current tree data and expanded state
@@ -395,12 +429,12 @@ export function ComponentTree({ pageViewContext, itemDescriptor, item, isLoading
395
429
  for (const n of nodes) {
396
430
  if (n.type === "component")
397
431
  keys.push(n.key);
398
- if (n.children && expandedKeys.includes(n.key)) {
432
+ if (n.children && effectiveExpandedKeys.includes(n.key)) {
399
433
  visit(n.children);
400
434
  }
401
435
  }
402
436
  };
403
- visit(rootNodes);
437
+ visit(visibleRootNodes);
404
438
  return keys;
405
439
  };
406
440
  if (event.shiftKey) {
@@ -449,7 +483,7 @@ export function ComponentTree({ pageViewContext, itemDescriptor, item, isLoading
449
483
  if (selectedComponentIds.length === 1) {
450
484
  editContextRef.current?.setScrollIntoView(selectedComponentIds[0]);
451
485
  }
452
- }, [selectedKeys, nodeDictionary, editContextRef]);
486
+ }, [selectedKeys, nodeDictionary, editContextRef, visibleRootNodes, effectiveExpandedKeys]);
453
487
  // Handle tree context menu
454
488
  const handleTreeContextMenu = async (node, event) => {
455
489
  const componentId = nodeDictionary[node.key]?.componentId;
@@ -510,7 +544,7 @@ export function ComponentTree({ pageViewContext, itemDescriptor, item, isLoading
510
544
  editContextRef.current?.showContextMenu(event, menu);
511
545
  };
512
546
  // Convert expanded keys for PerfectTree
513
- const expandedItems = expandedKeys;
547
+ const expandedItems = effectiveExpandedKeys;
514
548
  // Convert selected keys for PerfectTree
515
549
  const selectedItems = selectedKeys;
516
550
  const handleCollapseItem = useCallback((key) => {
@@ -721,6 +755,15 @@ export function ComponentTree({ pageViewContext, itemDescriptor, item, isLoading
721
755
  // Check if we have a valid page model
722
756
  const hasPageModel = page && page.rootComponent && page.item;
723
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");
724
767
  if (!page) {
725
768
  // If item has no versions, show appropriate message instead of spinner
726
769
  if (resolvedItem?.versions === 0) {
@@ -731,15 +774,6 @@ export function ComponentTree({ pageViewContext, itemDescriptor, item, isLoading
731
774
  }
732
775
  return (_jsx("div", { className: "flex h-full items-center justify-center text-xs text-gray-500", children: "This item has no layout." }));
733
776
  }
734
- // Check if the page model failed to load (invalid page model)
735
- // Only show error if page model is missing, not if page is just empty (no components)
736
- const hasInvalidPageModel = !hasPageModel;
737
- // Check if the tree is empty (no components/placeholders) - this is valid, not an error
738
- const hasEmptyTree = hasPageModel &&
739
- (!page.rootComponent?.placeholders ||
740
- page.rootComponent.placeholders.length === 0) &&
741
- rootNodes.length <= 1 &&
742
- (rootNodes.length === 0 || rootNodes[0]?.key === "page");
743
777
  // If the page model is incomplete but we're still loading, show a spinner instead of error
744
778
  if (hasInvalidPageModel && (!isTreeReady || isSlotLoading || isRefreshing)) {
745
779
  return (_jsx("div", { className: "flex h-full items-center justify-center text-xs text-gray-500", children: _jsx(Spinner, {}) }));
@@ -767,19 +801,57 @@ export function ComponentTree({ pageViewContext, itemDescriptor, item, isLoading
767
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 ||
768
802
  !editContext ||
769
803
  editContext.readonly ||
770
- 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 })] }));
771
805
  }
772
- function renderNode(node) {
773
- return (_jsx("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: 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: {
774
- backgroundColor: x.color,
775
- marginLeft: "8px",
776
- fontSize: "10px",
777
- }, title: x.tooltip, onClick: x.onClick
778
- ? (e) => {
779
- e.stopPropagation();
780
- x.onClick();
781
- }
782
- : undefined, children: [x.icon, x.value] }) }, `tag-${node.key}-${x.id}`)))] }) }));
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));
825
+ }
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;
783
855
  }
784
856
  function createMap(treeNodes, nodeDictionary) {
785
857
  treeNodes.forEach((n) => {
@@ -808,4 +880,93 @@ function hasSameProps(obj1, obj2) {
808
880
  }
809
881
  return false;
810
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, node.key);
895
+ addSearchValue(values, node.componentId);
896
+ addSearchValue(values, node.type);
897
+ node.tags?.forEach((tag) => {
898
+ addSearchValue(values, tag.id);
899
+ addSearchValue(values, tag.value);
900
+ addSearchValue(values, tag.tooltip);
901
+ });
902
+ if (node.type === "component" && node.data) {
903
+ const component = node.data;
904
+ addSearchValue(values, component.id);
905
+ addSearchValue(values, component.name);
906
+ addSearchValue(values, component.type);
907
+ addSearchValue(values, component.typeId);
908
+ addSearchValue(values, component.layoutId);
909
+ addSearchValue(values, component.parentPlaceholder?.key);
910
+ addSearchValue(values, component.parentPlaceholder?.name);
911
+ addSearchValue(values, component.parentPlaceholder?.description);
912
+ addSearchValue(values, component.datasourceItem?.id);
913
+ addSearchValue(values, component.datasourceItem?.name);
914
+ addSearchValue(values, component.datasourceItem?.path);
915
+ addSearchValue(values, component.datasourceItem?.templateName);
916
+ component.items.forEach((item) => {
917
+ addSearchValue(values, item.id);
918
+ addSearchValue(values, item.name);
919
+ addSearchValue(values, item.path);
920
+ addSearchValue(values, item.templateName);
921
+ });
922
+ component.renderedDictionaryKeys.forEach((key) => addSearchValue(values, key));
923
+ }
924
+ if (node.type === "placeholder" && node.data) {
925
+ const placeholder = node.data;
926
+ addSearchValue(values, placeholder.key);
927
+ addSearchValue(values, placeholder.name);
928
+ addSearchValue(values, placeholder.description);
929
+ placeholder.insertOptions?.forEach((option) => {
930
+ addSearchValue(values, option.name);
931
+ addSearchValue(values, option.typeId);
932
+ addSearchValue(values, option.group);
933
+ });
934
+ }
935
+ return values.join(" ").toLowerCase();
936
+ }
937
+ function filterComponentTreeNodes(nodes, filter) {
938
+ const normalizedFilter = filter.trim().toLowerCase();
939
+ if (!normalizedFilter) {
940
+ return { nodes, expandedKeys: [] };
941
+ }
942
+ const expandedKeys = new Set();
943
+ const filterNode = (node, ancestors) => {
944
+ const filteredChildren = Array.isArray(node.children)
945
+ ? node.children
946
+ .map((child) => filterNode(child, [...ancestors, node.key]))
947
+ .filter((child) => child !== null)
948
+ : node.children;
949
+ const hasMatchingChildren = Array.isArray(filteredChildren) && filteredChildren.length > 0;
950
+ const nodeMatches = getNodeSearchText(node).includes(normalizedFilter);
951
+ if (!nodeMatches && !hasMatchingChildren) {
952
+ return null;
953
+ }
954
+ ancestors.forEach((ancestorKey) => expandedKeys.add(ancestorKey));
955
+ if (hasMatchingChildren) {
956
+ expandedKeys.add(node.key);
957
+ }
958
+ return {
959
+ ...node,
960
+ children: Array.isArray(node.children)
961
+ ? filteredChildren
962
+ : node.children,
963
+ };
964
+ };
965
+ return {
966
+ nodes: nodes
967
+ .map((node) => filterNode(node, []))
968
+ .filter((node) => node !== null),
969
+ expandedKeys: Array.from(expandedKeys),
970
+ };
971
+ }
811
972
  //# 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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"}
@@ -1,9 +1,9 @@
1
1
  "use client";
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { useEditContext } from "../client/editContext";
4
- import { useEffect, useState, useCallback } from "react";
4
+ import { useEffect, useState } from "react";
5
5
  import { SimpleIconButton } from "../ui/SimpleIconButton";
6
- import { User, Globe, FileText, GitCommit, AlignLeft, CheckSquare, Square, Languages, } from "lucide-react";
6
+ import { User, Globe, FileText, GitCommit, AlignLeft, Languages, } from "lucide-react";
7
7
  import { SimpleToolbar } from "../ui/SimpleToolbar";
8
8
  import { OperationItem } from "./OperationItem";
9
9
  import { TimelineView } from "./TimelineView";
@@ -16,7 +16,6 @@ export function EditHistory() {
16
16
  return saved !== null ? saved === "true" : true;
17
17
  });
18
18
  const [history, setHistory] = useState([]);
19
- const [selectedIds, setSelectedIds] = useState(new Set());
20
19
  if (!editContext)
21
20
  return;
22
21
  // Persist showDescriptions to localStorage when it changes
@@ -28,45 +27,11 @@ export function EditHistory() {
28
27
  useEffect(() => {
29
28
  if (!editContext.editHistory || editContext.editHistory.length === 0) {
30
29
  setHistory([]);
31
- setSelectedIds(new Set());
32
30
  return;
33
31
  }
34
32
  const operations = editContext.editHistory;
35
33
  setHistory(operations);
36
- // Cleanup selection if IDs are no longer in history or already undone
37
- setSelectedIds((prev) => {
38
- const next = new Set();
39
- prev.forEach((id) => {
40
- const op = operations.find((o) => o.id === id);
41
- if (op && !op.undone) {
42
- next.add(id);
43
- }
44
- });
45
- return next;
46
- });
47
34
  }, [editContext.editHistory]);
48
- const handleToggleSelection = useCallback((id, selected) => {
49
- setSelectedIds((prev) => {
50
- const next = new Set(prev);
51
- if (selected) {
52
- next.add(id);
53
- }
54
- else {
55
- next.delete(id);
56
- }
57
- return next;
58
- });
59
- }, []);
60
- const handleSelectAll = useCallback(() => {
61
- const undoableOps = history.filter((o) => !o.undone && o.undoSupported !== false);
62
- if (selectedIds.size === undoableOps.length) {
63
- setSelectedIds(new Set());
64
- }
65
- else {
66
- setSelectedIds(new Set(undoableOps.map((o) => o.id)));
67
- }
68
- }, [history, selectedIds]);
69
- const undoableCount = history.filter((o) => !o.undone && o.undoSupported !== false).length;
70
35
  return (_jsxs("div", { className: "absolute inset-0 flex flex-col", children: [_jsxs(SimpleToolbar, { children: [_jsx(SimpleIconButton, { selected: editContext.historyMode === "global", onClick: () => {
71
36
  if (editContext.setHistoryMode) {
72
37
  editContext.setHistoryMode("global");
@@ -79,6 +44,6 @@ export function EditHistory() {
79
44
  if (editContext.setHistoryMode) {
80
45
  editContext.setHistoryMode("current-version");
81
46
  }
82
- }, icon: _jsx(GitCommit, { className: "h-4 w-4", strokeWidth: 1 }), label: "Current version", "data-testid": "history-mode-current-version-button" }), _jsx("div", { className: "mx-1 h-4 w-px bg-gray-300" }), _jsx(SimpleIconButton, { selected: editContext.showOnlyMyChanges, onClick: () => editContext.setShowOnlyMyChanges(!editContext.showOnlyMyChanges), icon: _jsx(User, { className: "h-4 w-4", strokeWidth: 1 }), label: "Show only my changes", "data-testid": "history-show-only-my-changes-button" }), editContext.historyMode === "global" && (_jsx(SimpleIconButton, { selected: editContext.filterByCurrentLanguage, onClick: () => editContext.setFilterByCurrentLanguage(!editContext.filterByCurrentLanguage), icon: _jsx(Languages, { className: "h-4 w-4", strokeWidth: 1 }), label: "Filter by current language", "data-testid": "history-filter-by-language-button" })), _jsx(SimpleIconButton, { selected: showDescriptions, onClick: () => setShowDescriptions(!showDescriptions), icon: _jsx(AlignLeft, { className: "h-4 w-4", strokeWidth: 1 }), label: "Show descriptions", "data-testid": "history-show-descriptions-button" }), _jsx("div", { className: "mx-1 h-4 w-px bg-gray-300" }), _jsx(SimpleIconButton, { selected: selectedIds.size > 0 && selectedIds.size === undoableCount, onClick: handleSelectAll, icon: selectedIds.size === undoableCount ? (_jsx(CheckSquare, { className: "h-4 w-4", strokeWidth: 1 })) : (_jsx(Square, { className: "h-4 w-4", strokeWidth: 1 })), label: selectedIds.size === undoableCount ? "Deselect All" : "Select All", "data-testid": "history-select-all-button" })] }), _jsx("div", { className: "flex flex-1 flex-col overflow-x-hidden overflow-y-auto text-sm", children: history.length === 0 ? (_jsx("div", { className: "p-4 text-center text-xs text-gray-500", children: "No edit history available" })) : editContext.historyMode === "page-centric" ? (_jsx(TimelineView, { operations: history, showUserName: !editContext.showOnlyMyChanges, showDescription: showDescriptions, showCheckbox: true, selectedIds: selectedIds, onSelect: handleToggleSelection })) : (history.map((o, i) => (_jsx(OperationItem, { operation: o, index: i, showUserName: !editContext.showOnlyMyChanges, showDescription: showDescriptions, showCheckbox: true, selected: selectedIds.has(o.id), onSelect: (selected) => handleToggleSelection(o.id, selected), hidePath: editContext.historyMode !== "global", showLanguage: editContext.historyMode === "global" }, o.id || i)))) })] }));
47
+ }, icon: _jsx(GitCommit, { className: "h-4 w-4", strokeWidth: 1 }), label: "Current version", "data-testid": "history-mode-current-version-button" }), _jsx("div", { className: "mx-1 h-4 w-px bg-gray-300" }), _jsx(SimpleIconButton, { selected: editContext.showOnlyMyChanges, onClick: () => editContext.setShowOnlyMyChanges(!editContext.showOnlyMyChanges), icon: _jsx(User, { className: "h-4 w-4", strokeWidth: 1 }), label: "Show only my changes", "data-testid": "history-show-only-my-changes-button" }), editContext.historyMode === "global" && (_jsx(SimpleIconButton, { selected: editContext.filterByCurrentLanguage, onClick: () => editContext.setFilterByCurrentLanguage(!editContext.filterByCurrentLanguage), icon: _jsx(Languages, { className: "h-4 w-4", strokeWidth: 1 }), label: "Filter by current language", "data-testid": "history-filter-by-language-button" })), _jsx(SimpleIconButton, { selected: showDescriptions, onClick: () => setShowDescriptions(!showDescriptions), icon: _jsx(AlignLeft, { className: "h-4 w-4", strokeWidth: 1 }), label: "Show descriptions", "data-testid": "history-show-descriptions-button" })] }), _jsx("div", { className: "flex flex-1 flex-col overflow-x-hidden overflow-y-auto text-sm", children: history.length === 0 ? (_jsx("div", { className: "p-4 text-center text-xs text-gray-500", children: "No edit history available" })) : editContext.historyMode === "page-centric" ? (_jsx(TimelineView, { operations: history, showUserName: !editContext.showOnlyMyChanges, showDescription: showDescriptions })) : (history.map((o, i) => (_jsx(OperationItem, { operation: o, index: i, showUserName: !editContext.showOnlyMyChanges, showDescription: showDescriptions, hidePath: editContext.historyMode !== "global", showLanguage: editContext.historyMode === "global" }, o.id || i)))) })] }));
83
48
  }
84
49
  //# sourceMappingURL=EditHistory.js.map