@parhelia/core 0.4.12800 → 0.4.12818

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 (495) hide show
  1. package/dist/agents-view/AgentsWorkspaceView.d.ts +2 -0
  2. package/dist/agents-view/AgentsWorkspaceView.js +12 -3
  3. package/dist/agents-view/AgentsWorkspaceView.js.map +1 -1
  4. package/dist/components/WorkspaceHomeView.d.ts +14 -3
  5. package/dist/components/WorkspaceHomeView.js +7 -4
  6. package/dist/components/WorkspaceHomeView.js.map +1 -1
  7. package/dist/components/ui/dialog.d.ts +7 -1
  8. package/dist/components/ui/dialog.js +6 -3
  9. package/dist/components/ui/dialog.js.map +1 -1
  10. package/dist/components/ui/popover.d.ts +8 -0
  11. package/dist/components/ui/popover.js +40 -6
  12. package/dist/components/ui/popover.js.map +1 -1
  13. package/dist/components/ui/tooltip.d.ts +2 -2
  14. package/dist/components/ui/tooltip.js +9 -4
  15. package/dist/components/ui/tooltip.js.map +1 -1
  16. package/dist/config/config.js +2 -2
  17. package/dist/config/config.js.map +1 -1
  18. package/dist/editor/ConfirmationDialog.d.ts +1 -0
  19. package/dist/editor/ConfirmationDialog.js +9 -2
  20. package/dist/editor/ConfirmationDialog.js.map +1 -1
  21. package/dist/editor/ContentTree.d.ts +9 -1
  22. package/dist/editor/ContentTree.js +50 -23
  23. package/dist/editor/ContentTree.js.map +1 -1
  24. package/dist/editor/FieldList.js +41 -4
  25. package/dist/editor/FieldList.js.map +1 -1
  26. package/dist/editor/FieldListField.js +156 -123
  27. package/dist/editor/FieldListField.js.map +1 -1
  28. package/dist/editor/LinkEditorDialog.d.ts +3 -0
  29. package/dist/editor/LinkEditorDialog.js +9 -4
  30. package/dist/editor/LinkEditorDialog.js.map +1 -1
  31. package/dist/editor/MainLayout.js +9 -2
  32. package/dist/editor/MainLayout.js.map +1 -1
  33. package/dist/editor/SetupWizard.js +1 -1
  34. package/dist/editor/SetupWizard.js.map +1 -1
  35. package/dist/editor/UsedBy.d.ts +2 -0
  36. package/dist/editor/UsedBy.js +50 -10
  37. package/dist/editor/UsedBy.js.map +1 -1
  38. package/dist/editor/agent-changes/agentChangeTargets.d.ts +58 -0
  39. package/dist/editor/agent-changes/agentChangeTargets.js +174 -0
  40. package/dist/editor/agent-changes/agentChangeTargets.js.map +1 -0
  41. package/dist/editor/agent-changes/agentChangeTextHighlight.d.ts +57 -0
  42. package/dist/editor/agent-changes/agentChangeTextHighlight.js +109 -0
  43. package/dist/editor/agent-changes/agentChangeTextHighlight.js.map +1 -0
  44. package/dist/editor/ai/AgentImagePreview.d.ts +13 -0
  45. package/dist/editor/ai/AgentImagePreview.js +41 -0
  46. package/dist/editor/ai/AgentImagePreview.js.map +1 -0
  47. package/dist/editor/ai/ContentInspectorPopover.d.ts +2 -1
  48. package/dist/editor/ai/ContentInspectorPopover.js +3 -3
  49. package/dist/editor/ai/ContentInspectorPopover.js.map +1 -1
  50. package/dist/editor/ai/MediaImage.js +2 -1
  51. package/dist/editor/ai/MediaImage.js.map +1 -1
  52. package/dist/editor/ai/activityRowNavigation.d.ts +28 -0
  53. package/dist/editor/ai/activityRowNavigation.js +53 -0
  54. package/dist/editor/ai/activityRowNavigation.js.map +1 -0
  55. package/dist/editor/ai/agentMessageGrouping.d.ts +1 -1
  56. package/dist/editor/ai/agentMessageGrouping.js +2 -13
  57. package/dist/editor/ai/agentMessageGrouping.js.map +1 -1
  58. package/dist/editor/ai/agentMessageHelpers.js +21 -1
  59. package/dist/editor/ai/agentMessageHelpers.js.map +1 -1
  60. package/dist/editor/ai/terminal/agentSessionSelectors.js +0 -4
  61. package/dist/editor/ai/terminal/agentSessionSelectors.js.map +1 -1
  62. package/dist/editor/ai/terminal/agentSessionState.d.ts +0 -2
  63. package/dist/editor/ai/terminal/agentSessionState.js +8 -12
  64. package/dist/editor/ai/terminal/agentSessionState.js.map +1 -1
  65. package/dist/editor/ai/terminal/agentTurnTiming.d.ts +2 -0
  66. package/dist/editor/ai/terminal/agentTurnTiming.js +26 -1
  67. package/dist/editor/ai/terminal/agentTurnTiming.js.map +1 -1
  68. package/dist/editor/ai/terminal/components/AgentActivityOverviewPanel.d.ts +3 -1
  69. package/dist/editor/ai/terminal/components/AgentActivityOverviewPanel.js +48 -6
  70. package/dist/editor/ai/terminal/components/AgentActivityOverviewPanel.js.map +1 -1
  71. package/dist/editor/ai/terminal/components/AgentBanners.d.ts +2 -1
  72. package/dist/editor/ai/terminal/components/AgentBanners.js +3 -2
  73. package/dist/editor/ai/terminal/components/AgentBanners.js.map +1 -1
  74. package/dist/editor/ai/terminal/components/AgentCostDisplay.js +6 -5
  75. package/dist/editor/ai/terminal/components/AgentCostDisplay.js.map +1 -1
  76. package/dist/editor/ai/terminal/components/AgentDocumentList.js +20 -10
  77. package/dist/editor/ai/terminal/components/AgentDocumentList.js.map +1 -1
  78. package/dist/editor/ai/terminal/components/AgentGreeting.js +1 -1
  79. package/dist/editor/ai/terminal/components/AgentGreeting.js.map +1 -1
  80. package/dist/editor/ai/terminal/components/AgentMemoryPanel.d.ts +2 -1
  81. package/dist/editor/ai/terminal/components/AgentMemoryPanel.js +12 -9
  82. package/dist/editor/ai/terminal/components/AgentMemoryPanel.js.map +1 -1
  83. package/dist/editor/ai/terminal/components/AgentMemorySettingsSection.d.ts +9 -0
  84. package/dist/editor/ai/terminal/components/AgentMemorySettingsSection.js +75 -0
  85. package/dist/editor/ai/terminal/components/AgentMemorySettingsSection.js.map +1 -0
  86. package/dist/editor/ai/terminal/components/AgentPromptTrayPopovers.d.ts +1 -1
  87. package/dist/editor/ai/terminal/components/AgentPromptTrayPopovers.js +3 -71
  88. package/dist/editor/ai/terminal/components/AgentPromptTrayPopovers.js.map +1 -1
  89. package/dist/editor/ai/terminal/components/AgentRunStatusBanners.d.ts +2 -1
  90. package/dist/editor/ai/terminal/components/AgentRunStatusBanners.js +2 -2
  91. package/dist/editor/ai/terminal/components/AgentRunStatusBanners.js.map +1 -1
  92. package/dist/editor/ai/terminal/components/AgentSettingsContent.js +2 -1
  93. package/dist/editor/ai/terminal/components/AgentSettingsContent.js.map +1 -1
  94. package/dist/editor/ai/terminal/components/AgentSettingsSections.d.ts +1 -0
  95. package/dist/editor/ai/terminal/components/AgentSettingsSections.js +1 -1
  96. package/dist/editor/ai/terminal/components/AgentSettingsSections.js.map +1 -1
  97. package/dist/editor/ai/terminal/components/AgentSummaryAssistantResponse.d.ts +2 -1
  98. package/dist/editor/ai/terminal/components/AgentSummaryAssistantResponse.js +2 -2
  99. package/dist/editor/ai/terminal/components/AgentSummaryAssistantResponse.js.map +1 -1
  100. package/dist/editor/ai/terminal/components/AgentTerminalFullUpperContent.d.ts +2 -1
  101. package/dist/editor/ai/terminal/components/AgentTerminalFullUpperContent.js +9 -3
  102. package/dist/editor/ai/terminal/components/AgentTerminalFullUpperContent.js.map +1 -1
  103. package/dist/editor/ai/terminal/components/AgentTerminalMessageGroups.d.ts +2 -1
  104. package/dist/editor/ai/terminal/components/AgentTerminalMessageGroups.js +2 -6
  105. package/dist/editor/ai/terminal/components/AgentTerminalMessageGroups.js.map +1 -1
  106. package/dist/editor/ai/terminal/components/AgentTerminalSummaryLayout.d.ts +2 -1
  107. package/dist/editor/ai/terminal/components/AgentTerminalSummaryLayout.js +8 -2
  108. package/dist/editor/ai/terminal/components/AgentTerminalSummaryLayout.js.map +1 -1
  109. package/dist/editor/ai/terminal/components/AgentTerminalView.js +1 -1
  110. package/dist/editor/ai/terminal/components/AgentTerminalView.js.map +1 -1
  111. package/dist/editor/ai/terminal/components/AgentThinkingIndicator.d.ts +6 -1
  112. package/dist/editor/ai/terminal/components/AgentThinkingIndicator.js +5 -3
  113. package/dist/editor/ai/terminal/components/AgentThinkingIndicator.js.map +1 -1
  114. package/dist/editor/ai/terminal/components/AiResponseMessage.d.ts +2 -1
  115. package/dist/editor/ai/terminal/components/AiResponseMessage.js +12 -9
  116. package/dist/editor/ai/terminal/components/AiResponseMessage.js.map +1 -1
  117. package/dist/editor/ai/terminal/components/ContextInfoBar.js +1 -1
  118. package/dist/editor/ai/terminal/components/ContextInfoBar.js.map +1 -1
  119. package/dist/editor/ai/terminal/components/CreateItemToolCallContent.d.ts +3 -0
  120. package/dist/editor/ai/terminal/components/CreateItemToolCallContent.js +47 -0
  121. package/dist/editor/ai/terminal/components/CreateItemToolCallContent.js.map +1 -0
  122. package/dist/editor/ai/terminal/components/ResponseTurnDuration.js +15 -4
  123. package/dist/editor/ai/terminal/components/ResponseTurnDuration.js.map +1 -1
  124. package/dist/editor/ai/terminal/components/ToolCallDisplay.d.ts +2 -1
  125. package/dist/editor/ai/terminal/components/ToolCallDisplay.js +22 -54
  126. package/dist/editor/ai/terminal/components/ToolCallDisplay.js.map +1 -1
  127. package/dist/editor/ai/terminal/components/UserMessage.d.ts +6 -0
  128. package/dist/editor/ai/terminal/components/UserMessage.js +17 -4
  129. package/dist/editor/ai/terminal/components/UserMessage.js.map +1 -1
  130. package/dist/editor/ai/terminal/components/agentThinkingStyles.d.ts +5 -0
  131. package/dist/editor/ai/terminal/components/agentThinkingStyles.js +5 -0
  132. package/dist/editor/ai/terminal/components/agentThinkingStyles.js.map +1 -1
  133. package/dist/editor/ai/terminal/components/toolCallContentRenderers.d.ts +2 -0
  134. package/dist/editor/ai/terminal/components/toolCallContentRenderers.js +6 -0
  135. package/dist/editor/ai/terminal/components/toolCallContentRenderers.js.map +1 -1
  136. package/dist/editor/ai/terminal/components/toolCallResultJson.d.ts +1 -0
  137. package/dist/editor/ai/terminal/components/toolCallResultJson.js +46 -0
  138. package/dist/editor/ai/terminal/components/toolCallResultJson.js.map +1 -0
  139. package/dist/editor/ai/terminal/types.d.ts +2 -0
  140. package/dist/editor/ai/terminal/useAgentDraftInitializer.d.ts +2 -0
  141. package/dist/editor/ai/terminal/useAgentDraftInitializer.js +51 -14
  142. package/dist/editor/ai/terminal/useAgentDraftInitializer.js.map +1 -1
  143. package/dist/editor/ai/terminal/useAgentLoadPipeline.d.ts +2 -0
  144. package/dist/editor/ai/terminal/useAgentLoadPipeline.js +3 -1
  145. package/dist/editor/ai/terminal/useAgentLoadPipeline.js.map +1 -1
  146. package/dist/editor/ai/terminal/useAgentProviderWait.d.ts +18 -0
  147. package/dist/editor/ai/terminal/useAgentProviderWait.js +23 -0
  148. package/dist/editor/ai/terminal/useAgentProviderWait.js.map +1 -0
  149. package/dist/editor/ai/terminal/useAgentRunCompletionSocketHandler.d.ts +1 -1
  150. package/dist/editor/ai/terminal/useAgentRunCompletionSocketHandler.js +3 -3
  151. package/dist/editor/ai/terminal/useAgentRunCompletionSocketHandler.js.map +1 -1
  152. package/dist/editor/ai/terminal/useAgentRunDeltaRouter.d.ts +2 -2
  153. package/dist/editor/ai/terminal/useAgentRunDeltaRouter.js +5 -5
  154. package/dist/editor/ai/terminal/useAgentRunDeltaRouter.js.map +1 -1
  155. package/dist/editor/ai/terminal/useAgentRunDeltaSocketHandler.js +14 -10
  156. package/dist/editor/ai/terminal/useAgentRunDeltaSocketHandler.js.map +1 -1
  157. package/dist/editor/ai/terminal/useAgentRunMessagePipeline.d.ts +6 -7
  158. package/dist/editor/ai/terminal/useAgentRunMessagePipeline.js +5 -5
  159. package/dist/editor/ai/terminal/useAgentRunMessagePipeline.js.map +1 -1
  160. package/dist/editor/ai/terminal/useAgentRunStatusSocketHandler.d.ts +1 -1
  161. package/dist/editor/ai/terminal/useAgentRunStatusSocketHandler.js +23 -16
  162. package/dist/editor/ai/terminal/useAgentRunStatusSocketHandler.js.map +1 -1
  163. package/dist/editor/ai/terminal/useAgentSession.d.ts +0 -2
  164. package/dist/editor/ai/terminal/useAgentSession.js +8 -15
  165. package/dist/editor/ai/terminal/useAgentSession.js.map +1 -1
  166. package/dist/editor/ai/terminal/useAgentSessionFacade.d.ts +1 -0
  167. package/dist/editor/ai/terminal/useAgentSessionFacade.js +2 -0
  168. package/dist/editor/ai/terminal/useAgentSessionFacade.js.map +1 -1
  169. package/dist/editor/ai/terminal/useAgentSettleCompletedRun.d.ts +1 -1
  170. package/dist/editor/ai/terminal/useAgentSettleCompletedRun.js +3 -3
  171. package/dist/editor/ai/terminal/useAgentSettleCompletedRun.js.map +1 -1
  172. package/dist/editor/ai/terminal/useAgentStreamPipeline.d.ts +2 -2
  173. package/dist/editor/ai/terminal/useAgentStreamPipeline.js +5 -5
  174. package/dist/editor/ai/terminal/useAgentStreamPipeline.js.map +1 -1
  175. package/dist/editor/ai/terminal/useAgentSubmitContextBuilder.d.ts +0 -1
  176. package/dist/editor/ai/terminal/useAgentSubmitContextBuilder.js +3 -12
  177. package/dist/editor/ai/terminal/useAgentSubmitContextBuilder.js.map +1 -1
  178. package/dist/editor/ai/terminal/useAgentSubmitHandlers.js +18 -5
  179. package/dist/editor/ai/terminal/useAgentSubmitHandlers.js.map +1 -1
  180. package/dist/editor/ai/terminal/useAgentSubmitResponseHandler.js +6 -1
  181. package/dist/editor/ai/terminal/useAgentSubmitResponseHandler.js.map +1 -1
  182. package/dist/editor/ai/terminal/useAgentTerminalController.js +9 -10
  183. package/dist/editor/ai/terminal/useAgentTerminalController.js.map +1 -1
  184. package/dist/editor/ai/terminal/useAgentTerminalViewProps.d.ts +1 -1
  185. package/dist/editor/ai/terminal/useAgentTerminalViewProps.js.map +1 -1
  186. package/dist/editor/ai-image-editor/AiImageEditorDialog.js +1 -1
  187. package/dist/editor/ai-image-editor/AiImageEditorDialog.js.map +1 -1
  188. package/dist/editor/bridge/bridgeKeys.d.ts +5 -0
  189. package/dist/editor/bridge/bridgeKeys.js +8 -0
  190. package/dist/editor/bridge/bridgeKeys.js.map +1 -0
  191. package/dist/editor/bridge/linkDownload.d.ts +3 -0
  192. package/dist/editor/bridge/linkDownload.js +52 -0
  193. package/dist/editor/bridge/linkDownload.js.map +1 -0
  194. package/dist/editor/bridge/protocol.d.ts +34 -0
  195. package/dist/editor/bridge/protocol.js +3 -1
  196. package/dist/editor/bridge/protocol.js.map +1 -1
  197. package/dist/editor/client/EditorShell.js +30 -21
  198. package/dist/editor/client/EditorShell.js.map +1 -1
  199. package/dist/editor/client/OperationDialogContent.d.ts +10 -3
  200. package/dist/editor/client/OperationDialogContent.js +27 -4
  201. package/dist/editor/client/OperationDialogContent.js.map +1 -1
  202. package/dist/editor/client/agentLoadItemPolicy.d.ts +22 -0
  203. package/dist/editor/client/agentLoadItemPolicy.js +60 -0
  204. package/dist/editor/client/agentLoadItemPolicy.js.map +1 -0
  205. package/dist/editor/client/editContext.d.ts +16 -0
  206. package/dist/editor/client/editContext.js.map +1 -1
  207. package/dist/editor/client/hooks/useSocketMessageHandler.d.ts +5 -0
  208. package/dist/editor/client/hooks/useSocketMessageHandler.js +53 -13
  209. package/dist/editor/client/hooks/useSocketMessageHandler.js.map +1 -1
  210. package/dist/editor/client/itemsRepository.js +26 -7
  211. package/dist/editor/client/itemsRepository.js.map +1 -1
  212. package/dist/editor/client/localUserEditActivity.d.ts +3 -0
  213. package/dist/editor/client/localUserEditActivity.js +12 -0
  214. package/dist/editor/client/localUserEditActivity.js.map +1 -0
  215. package/dist/editor/client/operations.js +26 -13
  216. package/dist/editor/client/operations.js.map +1 -1
  217. package/dist/editor/commands/undo.js +8 -2
  218. package/dist/editor/commands/undo.js.map +1 -1
  219. package/dist/editor/componentVisualMode.d.ts +14 -0
  220. package/dist/editor/componentVisualMode.js +43 -0
  221. package/dist/editor/componentVisualMode.js.map +1 -0
  222. package/dist/editor/field-types/ImageFieldEditor.js +1 -1
  223. package/dist/editor/field-types/ImageFieldEditor.js.map +1 -1
  224. package/dist/editor/field-types/MultiLineText.js +29 -46
  225. package/dist/editor/field-types/MultiLineText.js.map +1 -1
  226. package/dist/editor/field-types/PictureFieldEditor.js +1 -1
  227. package/dist/editor/field-types/PictureFieldEditor.js.map +1 -1
  228. package/dist/editor/field-types/RichTextEditorComponent.js +9 -2
  229. package/dist/editor/field-types/RichTextEditorComponent.js.map +1 -1
  230. package/dist/editor/field-types/SingleLineText.js +28 -79
  231. package/dist/editor/field-types/SingleLineText.js.map +1 -1
  232. package/dist/editor/field-types/richtext/components/ReactSlate.js +59 -8
  233. package/dist/editor/field-types/richtext/components/ReactSlate.js.map +1 -1
  234. package/dist/editor/field-types/richtext/components/SimpleToolbarButton.js +4 -1
  235. package/dist/editor/field-types/richtext/components/SimpleToolbarButton.js.map +1 -1
  236. package/dist/editor/field-types/richtext/components/ToolbarButton.js +4 -1
  237. package/dist/editor/field-types/richtext/components/ToolbarButton.js.map +1 -1
  238. package/dist/editor/field-types/richtext/types.d.ts +7 -0
  239. package/dist/editor/field-types/richtext/types.js.map +1 -1
  240. package/dist/editor/field-types/richtext/utils/changeHighlight.d.ts +18 -0
  241. package/dist/editor/field-types/richtext/utils/changeHighlight.js +57 -0
  242. package/dist/editor/field-types/richtext/utils/changeHighlight.js.map +1 -0
  243. package/dist/editor/field-types/useFormFieldCaretPresence.d.ts +11 -0
  244. package/dist/editor/field-types/useFormFieldCaretPresence.js +32 -16
  245. package/dist/editor/field-types/useFormFieldCaretPresence.js.map +1 -1
  246. package/dist/editor/field-types/useFormFieldSelectionRange.d.ts +36 -0
  247. package/dist/editor/field-types/useFormFieldSelectionRange.js +123 -0
  248. package/dist/editor/field-types/useFormFieldSelectionRange.js.map +1 -0
  249. package/dist/editor/field-types/useTextCompletion.js +13 -3
  250. package/dist/editor/field-types/useTextCompletion.js.map +1 -1
  251. package/dist/editor/media-selector/AiImageSearchPrompt.d.ts +2 -1
  252. package/dist/editor/media-selector/AiImageSearchPrompt.js +2 -2
  253. package/dist/editor/media-selector/AiImageSearchPrompt.js.map +1 -1
  254. package/dist/editor/media-selector/Thumbnails.d.ts +2 -1
  255. package/dist/editor/media-selector/Thumbnails.js +2 -2
  256. package/dist/editor/media-selector/Thumbnails.js.map +1 -1
  257. package/dist/editor/media-selector/TreeSelector.js +142 -42
  258. package/dist/editor/media-selector/TreeSelector.js.map +1 -1
  259. package/dist/editor/media-selector/UploadZone.d.ts +6 -1
  260. package/dist/editor/media-selector/UploadZone.js +10 -7
  261. package/dist/editor/media-selector/UploadZone.js.map +1 -1
  262. package/dist/editor/media-selector/mediaFileType.d.ts +2 -0
  263. package/dist/editor/media-selector/mediaFileType.js +37 -0
  264. package/dist/editor/media-selector/mediaFileType.js.map +1 -1
  265. package/dist/editor/menubar/GenericToolbar.d.ts +2 -1
  266. package/dist/editor/menubar/GenericToolbar.js +2 -2
  267. package/dist/editor/menubar/GenericToolbar.js.map +1 -1
  268. package/dist/editor/menubar/ToolbarFactory.js +1 -1
  269. package/dist/editor/menubar/ToolbarFactory.js.map +1 -1
  270. package/dist/editor/menubar/toolbar-sections/DeviceSwitchToolbar.js +10 -3
  271. package/dist/editor/menubar/toolbar-sections/DeviceSwitchToolbar.js.map +1 -1
  272. package/dist/editor/menubar/toolbar-sections/ViewportControls.js +6 -1
  273. package/dist/editor/menubar/toolbar-sections/ViewportControls.js.map +1 -1
  274. package/dist/editor/notifications/WatchButton.js +11 -4
  275. package/dist/editor/notifications/WatchButton.js.map +1 -1
  276. package/dist/editor/page-editor-chrome/AgentChangeHighlightings.d.ts +20 -0
  277. package/dist/editor/page-editor-chrome/AgentChangeHighlightings.js +31 -0
  278. package/dist/editor/page-editor-chrome/AgentChangeHighlightings.js.map +1 -0
  279. package/dist/editor/page-editor-chrome/BridgeInlineFormatOverlay.js +2 -2
  280. package/dist/editor/page-editor-chrome/BridgeInlineFormatOverlay.js.map +1 -1
  281. package/dist/editor/page-editor-chrome/DiffHighlightOverlay.d.ts +33 -0
  282. package/dist/editor/page-editor-chrome/DiffHighlightOverlay.js +290 -0
  283. package/dist/editor/page-editor-chrome/DiffHighlightOverlay.js.map +1 -0
  284. package/dist/editor/page-editor-chrome/InlineFieldHistoryButton.js +27 -10
  285. package/dist/editor/page-editor-chrome/InlineFieldHistoryButton.js.map +1 -1
  286. package/dist/editor/page-editor-chrome/InsertComponentMenu.d.ts +6 -1
  287. package/dist/editor/page-editor-chrome/InsertComponentMenu.js +53 -6
  288. package/dist/editor/page-editor-chrome/InsertComponentMenu.js.map +1 -1
  289. package/dist/editor/page-editor-chrome/PageEditorChrome.js +2 -1
  290. package/dist/editor/page-editor-chrome/PageEditorChrome.js.map +1 -1
  291. package/dist/editor/page-editor-chrome/PlaceholderDropZone.js +14 -2
  292. package/dist/editor/page-editor-chrome/PlaceholderDropZone.js.map +1 -1
  293. package/dist/editor/page-editor-chrome/SuggestionHighlightings.js +59 -13
  294. package/dist/editor/page-editor-chrome/SuggestionHighlightings.js.map +1 -1
  295. package/dist/editor/page-editor-chrome/VersionDiffHighlightings.d.ts +1 -1
  296. package/dist/editor/page-editor-chrome/VersionDiffHighlightings.js +6 -271
  297. package/dist/editor/page-editor-chrome/VersionDiffHighlightings.js.map +1 -1
  298. package/dist/editor/page-editor-chrome/diffRulerSegments.d.ts +18 -0
  299. package/dist/editor/page-editor-chrome/diffRulerSegments.js +37 -0
  300. package/dist/editor/page-editor-chrome/diffRulerSegments.js.map +1 -0
  301. package/dist/editor/page-editor-chrome/overlay/IframeOverlayProvider.js +15 -2
  302. package/dist/editor/page-editor-chrome/overlay/IframeOverlayProvider.js.map +1 -1
  303. package/dist/editor/page-editor-chrome/useBridgeInlineEditing.d.ts +2 -0
  304. package/dist/editor/page-editor-chrome/useBridgeInlineEditing.js +58 -5
  305. package/dist/editor/page-editor-chrome/useBridgeInlineEditing.js.map +1 -1
  306. package/dist/editor/page-viewer/DeviceToolbar.js +53 -10
  307. package/dist/editor/page-viewer/DeviceToolbar.js.map +1 -1
  308. package/dist/editor/page-viewer/MiniMap.js +22 -24
  309. package/dist/editor/page-viewer/MiniMap.js.map +1 -1
  310. package/dist/editor/page-viewer/PageViewerFrame.js +204 -27
  311. package/dist/editor/page-viewer/PageViewerFrame.js.map +1 -1
  312. package/dist/editor/page-viewer/bridgeFieldPatch.js +1 -0
  313. package/dist/editor/page-viewer/bridgeFieldPatch.js.map +1 -1
  314. package/dist/editor/page-viewer/compareFrameWidth.d.ts +8 -0
  315. package/dist/editor/page-viewer/compareFrameWidth.js +25 -0
  316. package/dist/editor/page-viewer/compareFrameWidth.js.map +1 -0
  317. package/dist/editor/page-viewer/pageViewContext.d.ts +2 -1
  318. package/dist/editor/page-viewer/pageViewContext.js +10 -4
  319. package/dist/editor/page-viewer/pageViewContext.js.map +1 -1
  320. package/dist/editor/pageModel.d.ts +2 -0
  321. package/dist/editor/reviews/Comment.js +13 -12
  322. package/dist/editor/reviews/Comment.js.map +1 -1
  323. package/dist/editor/reviews/CommentDisplayPopover.js +25 -29
  324. package/dist/editor/reviews/CommentDisplayPopover.js.map +1 -1
  325. package/dist/editor/reviews/CommentEditor.js +47 -13
  326. package/dist/editor/reviews/CommentEditor.js.map +1 -1
  327. package/dist/editor/reviews/CommentQuote.d.ts +4 -0
  328. package/dist/editor/reviews/CommentQuote.js +30 -0
  329. package/dist/editor/reviews/CommentQuote.js.map +1 -0
  330. package/dist/editor/reviews/CommentThreadAgentLink.d.ts +23 -0
  331. package/dist/editor/reviews/CommentThreadAgentLink.js +37 -0
  332. package/dist/editor/reviews/CommentThreadAgentLink.js.map +1 -0
  333. package/dist/editor/reviews/CommentView.d.ts +2 -3
  334. package/dist/editor/reviews/CommentView.js +17 -14
  335. package/dist/editor/reviews/CommentView.js.map +1 -1
  336. package/dist/editor/reviews/Comments.js +14 -5
  337. package/dist/editor/reviews/Comments.js.map +1 -1
  338. package/dist/editor/reviews/MentionText.d.ts +5 -1
  339. package/dist/editor/reviews/MentionText.js +23 -0
  340. package/dist/editor/reviews/MentionText.js.map +1 -1
  341. package/dist/editor/reviews/ReviewCard.js +14 -8
  342. package/dist/editor/reviews/ReviewCard.js.map +1 -1
  343. package/dist/editor/reviews/ReviewersPanel.js +7 -2
  344. package/dist/editor/reviews/ReviewersPanel.js.map +1 -1
  345. package/dist/editor/reviews/SuggestedEdit.js +75 -15
  346. package/dist/editor/reviews/SuggestedEdit.js.map +1 -1
  347. package/dist/editor/reviews/SuggestionCommentThread.js +5 -4
  348. package/dist/editor/reviews/SuggestionCommentThread.js.map +1 -1
  349. package/dist/editor/reviews/commentAi.d.ts +27 -3
  350. package/dist/editor/reviews/commentAi.js +109 -28
  351. package/dist/editor/reviews/commentAi.js.map +1 -1
  352. package/dist/editor/reviews/commentImages.d.ts +49 -0
  353. package/dist/editor/reviews/commentImages.js +164 -0
  354. package/dist/editor/reviews/commentImages.js.map +1 -0
  355. package/dist/editor/reviews/feedbackAvatar.js +11 -5
  356. package/dist/editor/reviews/feedbackAvatar.js.map +1 -1
  357. package/dist/editor/reviews/feedbackCommentRules.d.ts +1 -1
  358. package/dist/editor/reviews/feedbackCommentRules.js +3 -9
  359. package/dist/editor/reviews/feedbackCommentRules.js.map +1 -1
  360. package/dist/editor/reviews/feedbackSelection.d.ts +13 -0
  361. package/dist/editor/reviews/feedbackSelection.js +37 -0
  362. package/dist/editor/reviews/feedbackSelection.js.map +1 -1
  363. package/dist/editor/reviews/suggestionDisplayValue.d.ts +24 -2
  364. package/dist/editor/reviews/suggestionDisplayValue.js +28 -4
  365. package/dist/editor/reviews/suggestionDisplayValue.js.map +1 -1
  366. package/dist/editor/reviews/useCommentImagePaste.d.ts +45 -0
  367. package/dist/editor/reviews/useCommentImagePaste.js +149 -0
  368. package/dist/editor/reviews/useCommentImagePaste.js.map +1 -0
  369. package/dist/editor/services/agentErrorMessage.js +5 -1
  370. package/dist/editor/services/agentErrorMessage.js.map +1 -1
  371. package/dist/editor/services/agentService.d.ts +12 -0
  372. package/dist/editor/services/agentService.js.map +1 -1
  373. package/dist/editor/services/contentService.d.ts +2 -0
  374. package/dist/editor/services/contentService.js.map +1 -1
  375. package/dist/editor/services/editService.d.ts +17 -2
  376. package/dist/editor/services/editService.js +7 -2
  377. package/dist/editor/services/editService.js.map +1 -1
  378. package/dist/editor/services/searchService.d.ts +2 -1
  379. package/dist/editor/services/searchService.js +2 -1
  380. package/dist/editor/services/searchService.js.map +1 -1
  381. package/dist/editor/services/userResolution.js +6 -5
  382. package/dist/editor/services/userResolution.js.map +1 -1
  383. package/dist/editor/sidebar/ComponentPalette.js +12 -4
  384. package/dist/editor/sidebar/ComponentPalette.js.map +1 -1
  385. package/dist/editor/sidebar/ComponentTree.js +38 -22
  386. package/dist/editor/sidebar/ComponentTree.js.map +1 -1
  387. package/dist/editor/sidebar/EditHistory.js +2 -2
  388. package/dist/editor/sidebar/EditHistory.js.map +1 -1
  389. package/dist/editor/sidebar/MainContentTree.js +1 -1
  390. package/dist/editor/sidebar/MainContentTree.js.map +1 -1
  391. package/dist/editor/sidebar/MorePanelsButton.js +2 -2
  392. package/dist/editor/sidebar/MorePanelsButton.js.map +1 -1
  393. package/dist/editor/sidebar/NavigationPanelMenuItem.js +2 -2
  394. package/dist/editor/sidebar/NavigationPanelMenuItem.js.map +1 -1
  395. package/dist/editor/sidebar/Validation.js +38 -44
  396. package/dist/editor/sidebar/Validation.js.map +1 -1
  397. package/dist/editor/sidebar/liveComponentThumbnails.d.ts +62 -0
  398. package/dist/editor/sidebar/liveComponentThumbnails.js +215 -0
  399. package/dist/editor/sidebar/liveComponentThumbnails.js.map +1 -0
  400. package/dist/editor/ui/ItemCollectionEditor.d.ts +17 -1
  401. package/dist/editor/ui/ItemCollectionEditor.js +17 -5
  402. package/dist/editor/ui/ItemCollectionEditor.js.map +1 -1
  403. package/dist/editor/ui/ItemList.d.ts +5 -0
  404. package/dist/editor/ui/ItemList.js +10 -2
  405. package/dist/editor/ui/ItemList.js.map +1 -1
  406. package/dist/editor/ui/ItemSearch.d.ts +7 -0
  407. package/dist/editor/ui/ItemSearch.js +14 -6
  408. package/dist/editor/ui/ItemSearch.js.map +1 -1
  409. package/dist/editor/ui/PublishDialog.js +3 -2
  410. package/dist/editor/ui/PublishDialog.js.map +1 -1
  411. package/dist/editor/ui/SimpleTabs.js +58 -3
  412. package/dist/editor/ui/SimpleTabs.js.map +1 -1
  413. package/dist/editor/ui/Splitter.d.ts +15 -0
  414. package/dist/editor/ui/Splitter.js +77 -100
  415. package/dist/editor/ui/Splitter.js.map +1 -1
  416. package/dist/editor/ui/TreeListSelector.d.ts +15 -1
  417. package/dist/editor/ui/TreeListSelector.js +2 -2
  418. package/dist/editor/ui/TreeListSelector.js.map +1 -1
  419. package/dist/editor/ui/WorkboxItemsTable.d.ts +6 -1
  420. package/dist/editor/ui/WorkboxItemsTable.js +44 -48
  421. package/dist/editor/ui/WorkboxItemsTable.js.map +1 -1
  422. package/dist/editor/ui/publishReadiness.d.ts +13 -0
  423. package/dist/editor/ui/publishReadiness.js +56 -0
  424. package/dist/editor/ui/publishReadiness.js.map +1 -1
  425. package/dist/editor/validation/ValidationIssuesPopover.d.ts +39 -0
  426. package/dist/editor/validation/ValidationIssuesPopover.js +51 -0
  427. package/dist/editor/validation/ValidationIssuesPopover.js.map +1 -0
  428. package/dist/editor/validation/navigateToValidationIssue.d.ts +13 -0
  429. package/dist/editor/validation/navigateToValidationIssue.js +43 -0
  430. package/dist/editor/validation/navigateToValidationIssue.js.map +1 -0
  431. package/dist/editor/validation/validationFixAgent.d.ts +26 -0
  432. package/dist/editor/validation/validationFixAgent.js +124 -0
  433. package/dist/editor/validation/validationFixAgent.js.map +1 -0
  434. package/dist/editor/validation/validationSeverity.d.ts +15 -0
  435. package/dist/editor/validation/validationSeverity.js +47 -0
  436. package/dist/editor/validation/validationSeverity.js.map +1 -0
  437. package/dist/editor/version-diff/versionDiffGeometryKeys.d.ts +10 -4
  438. package/dist/editor/version-diff/versionDiffGeometryKeys.js +21 -7
  439. package/dist/editor/version-diff/versionDiffGeometryKeys.js.map +1 -1
  440. package/dist/editor/version-diff/versionDiffTargets.d.ts +6 -1
  441. package/dist/editor/version-diff/versionDiffTargets.js +5 -5
  442. package/dist/editor/version-diff/versionDiffTargets.js.map +1 -1
  443. package/dist/editor/views/editorSlotContext.d.ts +4 -0
  444. package/dist/editor/views/editorSlotContext.js +37 -1
  445. package/dist/editor/views/editorSlotContext.js.map +1 -1
  446. package/dist/revision.d.ts +2 -2
  447. package/dist/revision.js +2 -2
  448. package/dist/splash-screen/ModernSplashScreen.js +6 -5
  449. package/dist/splash-screen/ModernSplashScreen.js.map +1 -1
  450. package/dist/splash-screen/RecentPages.js +33 -18
  451. package/dist/splash-screen/RecentPages.js.map +1 -1
  452. package/dist/task-board/TaskBoardWorkspace.js +65 -49
  453. package/dist/task-board/TaskBoardWorkspace.js.map +1 -1
  454. package/dist/task-board/components/CommentsList.js +11 -11
  455. package/dist/task-board/components/CommentsList.js.map +1 -1
  456. package/dist/task-board/components/GoalDataView.d.ts +32 -1
  457. package/dist/task-board/components/GoalDataView.js +105 -42
  458. package/dist/task-board/components/GoalDataView.js.map +1 -1
  459. package/dist/task-board/components/ProjectDashboard.d.ts +2 -18
  460. package/dist/task-board/components/ProjectDashboard.js +2 -206
  461. package/dist/task-board/components/ProjectDashboard.js.map +1 -1
  462. package/dist/task-board/components/ProjectGoalsPanel.js +115 -10
  463. package/dist/task-board/components/ProjectGoalsPanel.js.map +1 -1
  464. package/dist/task-board/components/ProjectProgressIndicator.d.ts +8 -0
  465. package/dist/task-board/components/ProjectProgressIndicator.js +17 -0
  466. package/dist/task-board/components/ProjectProgressIndicator.js.map +1 -0
  467. package/dist/task-board/components/TaskBoardHomeView.d.ts +11 -0
  468. package/dist/task-board/components/TaskBoardHomeView.js +40 -2
  469. package/dist/task-board/components/TaskBoardHomeView.js.map +1 -1
  470. package/dist/task-board/components/TaskBoardProjectListSidebar.js +2 -11
  471. package/dist/task-board/components/TaskBoardProjectListSidebar.js.map +1 -1
  472. package/dist/task-board/components/TaskDetailPanel.js +62 -23
  473. package/dist/task-board/components/TaskDetailPanel.js.map +1 -1
  474. package/dist/task-board/components/commentAuthor.d.ts +14 -0
  475. package/dist/task-board/components/commentAuthor.js +25 -0
  476. package/dist/task-board/components/commentAuthor.js.map +1 -0
  477. package/dist/task-board/taskBoardNavStore.d.ts +6 -0
  478. package/dist/task-board/taskBoardNavStore.js +36 -1
  479. package/dist/task-board/taskBoardNavStore.js.map +1 -1
  480. package/dist/task-board/types.d.ts +4 -0
  481. package/dist/task-board/utils/projectDashboardModel.d.ts +68 -0
  482. package/dist/task-board/utils/projectDashboardModel.js +355 -0
  483. package/dist/task-board/utils/projectDashboardModel.js.map +1 -0
  484. package/dist/task-board/views/DependencyGraphView.d.ts +7 -1
  485. package/dist/task-board/views/DependencyGraphView.js +58 -19
  486. package/dist/task-board/views/DependencyGraphView.js.map +1 -1
  487. package/dist/task-board/views/ProjectDashboardView.d.ts +28 -0
  488. package/dist/task-board/views/ProjectDashboardView.js +316 -0
  489. package/dist/task-board/views/ProjectDashboardView.js.map +1 -0
  490. package/dist/tour/Tour.js +21 -2
  491. package/dist/tour/Tour.js.map +1 -1
  492. package/dist/types.d.ts +11 -0
  493. package/images/Parhelia-Onboarding-Beach.jpg +0 -0
  494. package/package.json +1 -1
  495. package/images/Parhelia-Onboarding-BG.jpg +0 -0
@@ -20,7 +20,7 @@ function formatRelativeTime(dateString, now) {
20
20
  return `${diffDays}d ago`;
21
21
  return date.toLocaleDateString(undefined, { month: "short", day: "numeric" });
22
22
  }
23
- export const ItemList = ({ items, onItemHover, onItemClick, maxItems = 6, className = "", showPath = true, }) => {
23
+ export const ItemList = ({ items, onItemHover, onItemClick, maxItems = 6, className = "", showPath = true, isItemDisabled, disabledTitle, }) => {
24
24
  // Track current time for relative time calculations
25
25
  // Initialize to null to avoid hydration mismatch, then set after mount
26
26
  const [currentTime, setCurrentTime] = useState(null);
@@ -40,6 +40,7 @@ export const ItemList = ({ items, onItemHover, onItemClick, maxItems = 6, classN
40
40
  path: item.path,
41
41
  icon: item.icon,
42
42
  idPath: item.idPath,
43
+ canWrite: item.canWrite,
43
44
  });
44
45
  };
45
46
  if (filteredItems.length === 0) {
@@ -47,7 +48,14 @@ export const ItemList = ({ items, onItemHover, onItemClick, maxItems = 6, classN
47
48
  }
48
49
  return (_jsx("div", { className: `flex flex-1 flex-col gap-1 overflow-y-auto ${className}`, "data-testid": "item-list", children: filteredItems.map((item) => {
49
50
  const isDeleted = !item.icon;
50
- return (_jsxs("div", { className: `hover:bg-neutral-grey-5 flex cursor-pointer items-start gap-2 rounded p-1 text-xs ${isDeleted ? "opacity-60" : ""}`, "data-testid": "item-list-entry", "data-item-id": item.id, "data-item-name": item.name, onMouseEnter: () => onItemHover?.(item), onMouseLeave: () => onItemHover?.(undefined), onClick: () => handleItemClick(item), children: [item.icon ? (_jsx("img", { src: item.icon, width: "16", height: "16", className: "mt-0.5 flex-shrink-0" })) : (_jsx(Ban, { className: "text-neutral-grey-50 mt-0.5 h-4 w-4 flex-shrink-0", strokeWidth: 1 })), _jsxs("div", { className: "flex min-w-0 flex-1 flex-col gap-0.5", children: [_jsxs("div", { className: "flex items-center justify-between gap-2", children: [_jsxs("div", { className: `truncate font-medium ${isDeleted ? "text-neutral-grey-50" : "text-neutral-grey-100"}`, children: [item.displayName || item.name, _jsxs("span", { className: "text-2xs text-neutral-grey-50 ml-1", children: ["(", item.language, ")"] })] }), item.visitedAt && currentTime && (_jsx("span", { className: "text-2xs text-neutral-grey-50 shrink-0", children: formatRelativeTime(item.visitedAt, currentTime) }))] }), showPath && (_jsx("div", { className: "text-2xs text-neutral-grey-50 break-words", children: item.path }))] })] }, item.id + item.language));
51
+ const isDisabled = isItemDisabled?.(item) === true;
52
+ return (_jsxs("div", { className: `flex items-start gap-2 rounded p-1 text-xs ${isDisabled
53
+ ? "cursor-not-allowed opacity-50"
54
+ : "hover:bg-neutral-grey-5 cursor-pointer"} ${isDeleted ? "opacity-60" : ""}`, title: isDisabled ? disabledTitle : undefined, "aria-disabled": isDisabled || undefined, "data-testid": "item-list-entry", "data-item-id": item.id, "data-item-name": item.name, "data-disabled": isDisabled || undefined, onMouseEnter: () => onItemHover?.(item), onMouseLeave: () => onItemHover?.(undefined), onClick: () => {
55
+ if (isDisabled)
56
+ return;
57
+ handleItemClick(item);
58
+ }, children: [item.icon ? (_jsx("img", { src: item.icon, width: "16", height: "16", className: "mt-0.5 flex-shrink-0" })) : (_jsx(Ban, { className: "text-neutral-grey-50 mt-0.5 h-4 w-4 flex-shrink-0", strokeWidth: 1 })), _jsxs("div", { className: "flex min-w-0 flex-1 flex-col gap-0.5", children: [_jsxs("div", { className: "flex items-center justify-between gap-2", children: [_jsxs("div", { className: `truncate font-medium ${isDeleted ? "text-neutral-grey-50" : "text-neutral-grey-100"}`, children: [item.displayName || item.name, _jsxs("span", { className: "text-2xs text-neutral-grey-50 ml-1", children: ["(", item.language, ")"] })] }), item.visitedAt && currentTime && (_jsx("span", { className: "text-2xs text-neutral-grey-50 shrink-0", children: formatRelativeTime(item.visitedAt, currentTime) }))] }), showPath && (_jsx("div", { className: "text-2xs text-neutral-grey-50 break-words", children: item.path }))] })] }, item.id + item.language));
51
59
  }) }));
52
60
  };
53
61
  //# sourceMappingURL=ItemList.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ItemList.js","sourceRoot":"","sources":["../../../src/editor/ui/ItemList.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ItemList.js","sourceRoot":"","sources":["../../../src/editor/ui/ItemList.tsx"],"names":[],"mappings":"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"}
@@ -8,6 +8,8 @@ export type ResultItem = {
8
8
  path: string;
9
9
  idPath?: string;
10
10
  visitedAt?: string;
11
+ /** Item write ACL for the current user. Undefined when the source doesn't report it. */
12
+ canWrite?: boolean;
11
13
  };
12
14
  interface SearchProps {
13
15
  rootItemIds?: string[];
@@ -16,6 +18,7 @@ interface SearchProps {
16
18
  path?: string;
17
19
  idPath?: string;
18
20
  icon?: string;
21
+ canWrite?: boolean;
19
22
  }) => void;
20
23
  language?: string;
21
24
  resultClassName?: string;
@@ -23,6 +26,10 @@ interface SearchProps {
23
26
  disabled?: boolean;
24
27
  database?: string;
25
28
  placeholder?: string;
29
+ /** Results this predicate rejects render greyed out and cannot be picked. */
30
+ isItemSelectable?: (item: ResultItem) => boolean;
31
+ /** Tooltip shown on rejected results. */
32
+ unselectableTitle?: string;
26
33
  }
27
34
  export declare const ItemSearch: React.FC<SearchProps>;
28
35
  export default ItemSearch;
@@ -7,12 +7,14 @@ import { useDebouncedCallback } from "use-debounce";
7
7
  import { ItemList } from "./ItemList";
8
8
  import { SearchInput } from "../../components/SearchInput";
9
9
  import { GUID_REGEX_EXACT } from "../utils";
10
- export const ItemSearch = ({ rootItemIds, setHoveredItem, itemSelected, language, resultClassName, autoFocus = false, disabled = false, database = "master", placeholder = "Search...", }) => {
10
+ export const ItemSearch = ({ rootItemIds, setHoveredItem, itemSelected, language, resultClassName, autoFocus = false, disabled = false, database = "master", placeholder = "Search...", isItemSelectable, unselectableTitle, }) => {
11
11
  const [query, setQuery] = useState("");
12
12
  const [results, setResults] = useState([]);
13
13
  const [loading, setLoading] = useState(false);
14
14
  const editContext = useEditContext();
15
15
  const inputRef = useRef(null);
16
+ const queryRef = useRef(query);
17
+ queryRef.current = query;
16
18
  const handleSearch = useDebouncedCallback(async (searchPrompt) => {
17
19
  if (!editContext || disabled)
18
20
  return;
@@ -28,7 +30,7 @@ export const ItemSearch = ({ rootItemIds, setHoveredItem, itemSelected, language
28
30
  version: 0,
29
31
  });
30
32
  if (item) {
31
- if (query === currentQuery) {
33
+ if (queryRef.current === currentQuery) {
32
34
  const resultItem = {
33
35
  id: item.id,
34
36
  name: item.name,
@@ -37,10 +39,12 @@ export const ItemSearch = ({ rootItemIds, setHoveredItem, itemSelected, language
37
39
  icon: item.icon,
38
40
  path: item.path || item.name,
39
41
  idPath: item.idPath,
42
+ canWrite: item.canWriteItem,
40
43
  };
41
44
  setResults([resultItem]);
42
45
  }
43
- setLoading(false);
46
+ if (queryRef.current === currentQuery)
47
+ setLoading(false);
44
48
  return;
45
49
  }
46
50
  }
@@ -54,8 +58,9 @@ export const ItemSearch = ({ rootItemIds, setHoveredItem, itemSelected, language
54
58
  rootItemIds,
55
59
  maxResults: isPath ? 15 : 15,
56
60
  skipValidation: isPath,
61
+ nameOnly: !isPath,
57
62
  });
58
- if (query === currentQuery) {
63
+ if (queryRef.current === currentQuery) {
59
64
  if (result.type == "success") {
60
65
  setResults(() => result.data);
61
66
  }
@@ -63,7 +68,8 @@ export const ItemSearch = ({ rootItemIds, setHoveredItem, itemSelected, language
63
68
  toast.error(result.response.statusText || "Error searching");
64
69
  }
65
70
  }
66
- setLoading(false);
71
+ if (queryRef.current === currentQuery)
72
+ setLoading(false);
67
73
  }, 600);
68
74
  useEffect(() => {
69
75
  if (query && !disabled) {
@@ -71,6 +77,8 @@ export const ItemSearch = ({ rootItemIds, setHoveredItem, itemSelected, language
71
77
  handleSearch(query);
72
78
  }
73
79
  else {
80
+ handleSearch.cancel();
81
+ setLoading(false);
74
82
  setResults([]);
75
83
  }
76
84
  }, [query, disabled]);
@@ -87,7 +95,7 @@ export const ItemSearch = ({ rootItemIds, setHoveredItem, itemSelected, language
87
95
  itemSelected(item);
88
96
  setResults([]);
89
97
  setQuery("");
90
- }, maxItems: 15, className: `mt-1 ${resultClassName} max-h-[200px] overflow-y-auto` })), results.length === 0 && !loading && query && (_jsx("div", { "data-slot": "item-search-empty", className: "text-neutral-grey-50 mt-2 mb-2 px-3 text-xs", children: "No results found" }))] }));
98
+ }, maxItems: 15, className: `mt-1 ${resultClassName} max-h-[200px] overflow-y-auto`, isItemDisabled: isItemSelectable ? (item) => !isItemSelectable(item) : undefined, disabledTitle: unselectableTitle })), results.length === 0 && !loading && query && (_jsx("div", { "data-slot": "item-search-empty", className: "text-neutral-grey-50 mt-2 mb-2 px-3 text-xs", children: "No results found" }))] }));
91
99
  };
92
100
  export default ItemSearch;
93
101
  //# sourceMappingURL=ItemSearch.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ItemSearch.js","sourceRoot":"","sources":["../../../src/editor/ui/ItemSearch.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ItemSearch.js","sourceRoot":"","sources":["../../../src/editor/ui/ItemSearch.tsx"],"names":[],"mappings":"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"}
@@ -126,7 +126,8 @@ export function PublishDialog({ onClose }) {
126
126
  canUndo: false,
127
127
  };
128
128
  const opResult = await editContext.operations.publishItem(operation);
129
- toast.success(`Publishing ${item.displayName || item.name}…`);
129
+ // The operation lifecycle owns the result toast. A queued job is not a
130
+ // published item, and this response can arrive after its terminal event.
130
131
  onClose(opResult);
131
132
  }
132
133
  catch {
@@ -151,6 +152,6 @@ export function PublishDialog({ onClose }) {
151
152
  ? "One listed item has validation issues."
152
153
  : `${validationSummary.itemCount} listed items have validation issues.` }), _jsxs(AlertDescription, { children: ["Publishing is still possible, but the", " ", validationSummary.issueCount === 1
153
154
  ? "issue"
154
- : `${validationSummary.issueCount} issues`, " ", "will go live as well. Review and fix", " ", validationSummary.issueCount === 1 ? "it" : "them", " in the", " ", _jsx(Button, { variant: "link", className: "h-auto p-0 text-sm font-medium", onClick: openValidationSidebar, "data-testid": "publish-validation-hint-link", children: "Validation sidebar" }), "."] })] })), _jsx("div", { className: "min-h-[12rem]", children: _jsx(WorkboxItemsTable, { items: workboxItems, isLoading: editContext.isWorkboxLoading, emptyMessage: "No items to publish." }) })] }), _jsxs(DialogFooter, { className: "mt-auto shrink-0 border-t bg-white px-6 py-4 sm:items-center", children: [_jsxs("label", { className: "flex cursor-pointer items-center gap-3 sm:mr-auto", "data-testid": "publish-dialog-include-subitems-option", children: [_jsx(Checkbox, { checked: includeSubitems, onCheckedChange: (checked) => setIncludeSubitems(!!checked), disabled: isPublishing || editContext.readonly, "data-testid": "publish-dialog-include-subitems" }), _jsxs("span", { children: [_jsx("span", { className: "block text-sm font-medium", children: "Include subitems" }), _jsx("span", { className: "text-2xs text-muted-foreground block", children: "Also publish everything below this page." })] })] }), _jsx(Button, { variant: "outline", onClick: () => onClose(null), children: "Close" }), _jsx(Button, { onClick: publishCurrentItem, disabled: !canPublishCurrentItem, title: publishButtonTooltip, "data-testid": "publish-dialog-submit", children: isPublishing ? (_jsxs(_Fragment, { children: [_jsx(Spinner, { size: "sm" }), " Publishing..."] })) : (_jsxs(_Fragment, { children: [_jsx(Rocket, { className: "h-3.5 w-3.5", strokeWidth: 1 }), "Publish"] })) })] })] }) }));
155
+ : `${validationSummary.issueCount} issues`, " ", "will go live as well. Review and fix", " ", validationSummary.issueCount === 1 ? "it" : "them", " in the", " ", _jsx(Button, { variant: "link", className: "h-auto p-0 text-sm font-medium", onClick: openValidationSidebar, "data-testid": "publish-validation-hint-link", children: "Validation sidebar" }), "."] })] })), _jsx("div", { className: "min-h-[12rem]", children: _jsx(WorkboxItemsTable, { items: workboxItems, isLoading: editContext.isWorkboxLoading, emptyMessage: "No items to publish.", onValidationAction: () => onClose(null) }) })] }), _jsxs(DialogFooter, { className: "mt-auto shrink-0 border-t bg-white px-6 py-4 sm:items-center", children: [_jsxs("label", { className: "flex cursor-pointer items-center gap-3 sm:mr-auto", "data-testid": "publish-dialog-include-subitems-option", children: [_jsx(Checkbox, { checked: includeSubitems, onCheckedChange: (checked) => setIncludeSubitems(!!checked), disabled: isPublishing || editContext.readonly, "data-testid": "publish-dialog-include-subitems" }), _jsxs("span", { children: [_jsx("span", { className: "block text-sm font-medium", children: "Include subitems" }), _jsx("span", { className: "text-2xs text-muted-foreground block", children: "Also publish everything below this page." })] })] }), _jsx(Button, { variant: "outline", onClick: () => onClose(null), children: "Close" }), _jsx(Button, { onClick: publishCurrentItem, disabled: !canPublishCurrentItem, title: publishButtonTooltip, "data-testid": "publish-dialog-submit", children: isPublishing ? (_jsxs(_Fragment, { children: [_jsx(Spinner, { size: "sm" }), " Publishing..."] })) : (_jsxs(_Fragment, { children: [_jsx(Rocket, { className: "h-3.5 w-3.5", strokeWidth: 1 }), "Publish"] })) })] })] }) }));
155
156
  }
156
157
  //# sourceMappingURL=PublishDialog.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PublishDialog.js","sourceRoot":"","sources":["../../../src/editor/ui/PublishDialog.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PublishDialog.js","sourceRoot":"","sources":["../../../src/editor/ui/PublishDialog.tsx"],"names":[],"mappings":"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"}
@@ -43,6 +43,21 @@ export function SimpleTabs({ tabs, setActiveTab, activeTab, className, tabClassN
43
43
  activeTab = 0;
44
44
  }
45
45
  const [canCenter, setCanCenter] = useState(true);
46
+ // Which edges currently hide tabs. Drives the fade masks that hint at
47
+ // overflow, since the strip's scrollbar is hidden.
48
+ const [overflowEdges, setOverflowEdges] = useState({
49
+ left: false,
50
+ right: false,
51
+ });
52
+ const updateOverflowEdges = useCallback(() => {
53
+ const container = containerRef.current;
54
+ if (!container)
55
+ return;
56
+ const maxScrollLeft = container.scrollWidth - container.clientWidth;
57
+ const left = container.scrollLeft > 1;
58
+ const right = maxScrollLeft - container.scrollLeft > 1;
59
+ setOverflowEdges((prev) => prev.left === left && prev.right === right ? prev : { left, right });
60
+ }, []);
46
61
  const updateUnderlinePosition = useCallback(() => {
47
62
  const activeTabEl = tabRefs.current[activeTab];
48
63
  const container = containerRef.current;
@@ -121,7 +136,11 @@ export function SimpleTabs({ tabs, setActiveTab, activeTab, className, tabClassN
121
136
  });
122
137
  }
123
138
  // scrollIntoView can change scrollLeft; recompute after layout settles.
124
- requestAnimationFrame(updateUnderlinePosition);
139
+ updateOverflowEdges();
140
+ requestAnimationFrame(() => {
141
+ updateUnderlinePosition();
142
+ updateOverflowEdges();
143
+ });
125
144
  // Enable transitions after first render
126
145
  if (!isInitialized) {
127
146
  requestAnimationFrame(() => setIsInitialized(true));
@@ -133,8 +152,34 @@ export function SimpleTabs({ tabs, setActiveTab, activeTab, className, tabClassN
133
152
  isInitialized,
134
153
  tabs.length,
135
154
  tabsLayoutSignature,
155
+ updateOverflowEdges,
136
156
  updateUnderlinePosition,
137
157
  ]);
158
+ // Let a plain vertical wheel scroll an overflowing strip sideways. The
159
+ // scrollbar is hidden, so without this only shift+wheel or a trackpad swipe
160
+ // reaches the clipped tabs. Registered natively because React marks wheel
161
+ // listeners passive, which would ignore preventDefault.
162
+ useEffect(() => {
163
+ const container = containerRef.current;
164
+ if (!container)
165
+ return;
166
+ const handleWheel = (event) => {
167
+ const maxScrollLeft = container.scrollWidth - container.clientWidth;
168
+ if (maxScrollLeft <= 0)
169
+ return;
170
+ if (Math.abs(event.deltaX) >= Math.abs(event.deltaY))
171
+ return;
172
+ const atStart = event.deltaY < 0 && container.scrollLeft <= 0;
173
+ const atEnd = event.deltaY > 0 && container.scrollLeft >= maxScrollLeft;
174
+ // Past either end, hand the wheel back to the page.
175
+ if (atStart || atEnd)
176
+ return;
177
+ event.preventDefault();
178
+ container.scrollLeft += event.deltaY;
179
+ };
180
+ container.addEventListener("wheel", handleWheel, { passive: false });
181
+ return () => container.removeEventListener("wheel", handleWheel);
182
+ }, []);
138
183
  // Handle container resize
139
184
  useEffect(() => {
140
185
  const container = containerRef.current;
@@ -159,6 +204,7 @@ export function SimpleTabs({ tabs, setActiveTab, activeTab, className, tabClassN
159
204
  }
160
205
  setCanCenter(container.scrollWidth <= container.clientWidth);
161
206
  updateUnderlinePosition();
207
+ updateOverflowEdges();
162
208
  }
163
209
  lastContainerWidth.current = currentWidth;
164
210
  });
@@ -166,10 +212,19 @@ export function SimpleTabs({ tabs, setActiveTab, activeTab, className, tabClassN
166
212
  return () => {
167
213
  resizeObserver.disconnect();
168
214
  };
169
- }, [updateUnderlinePosition]);
215
+ }, [updateOverflowEdges, updateUnderlinePosition]);
216
+ const handleScroll = useCallback(() => {
217
+ updateUnderlinePosition();
218
+ updateOverflowEdges();
219
+ }, [updateOverflowEdges, updateUnderlinePosition]);
220
+ const fadeMask = overflowEdges.left || overflowEdges.right
221
+ ? `linear-gradient(to right, ${overflowEdges.left ? "transparent 0, black 28px" : "black 0"}, ${overflowEdges.right
222
+ ? "black calc(100% - 28px), transparent 100%"
223
+ : "black 100%"})`
224
+ : undefined;
170
225
  if (tabs.length === 0)
171
226
  return null;
172
- return (_jsxs("div", { className: "flex h-full flex-col", "data-testid": testId, children: [_jsxs("div", { ref: containerRef, className: twMerge("scrollbar-hide relative flex shrink-0 items-start gap-2 overflow-x-auto", canCenter && variant !== "large" && "justify-center", variantConfig.containerClassName, className), onScroll: updateUnderlinePosition, children: [tabs.map((tab, index) => (_jsxs("button", { ref: (el) => {
227
+ return (_jsxs("div", { className: "flex h-full flex-col", "data-testid": testId, children: [_jsxs("div", { ref: containerRef, className: twMerge("scrollbar-hide relative flex shrink-0 items-start gap-2 overflow-x-auto", canCenter && variant !== "large" && "justify-center", variantConfig.containerClassName, className), onScroll: handleScroll, style: { maskImage: fadeMask, WebkitMaskImage: fadeMask }, children: [tabs.map((tab, index) => (_jsxs("button", { ref: (el) => {
173
228
  tabRefs.current[index] = el;
174
229
  }, id: tab.id, className: twMerge("flex min-w-0 shrink-0 cursor-pointer items-center justify-center gap-2 truncate whitespace-nowrap transition-colors", variantConfig.tabClassName, tabClassName, activeTab === index ? "active-tab" : ""), "data-testid": tab.testId, disabled: tab.disabled, onClick: () => setActiveTab(index), style: {
175
230
  fontWeight: index === activeTab ? variantConfig.activeFontWeight : "normal",
@@ -1 +1 @@
1
- {"version":3,"file":"SimpleTabs.js","sourceRoot":"","sources":["../../../src/editor/ui/SimpleTabs.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SimpleTabs.js","sourceRoot":"","sources":["../../../src/editor/ui/SimpleTabs.tsx"],"names":[],"mappings":"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"}
@@ -11,6 +11,12 @@ export type SplitterPanel = {
11
11
  preserveVisibilityOnCollapse?: boolean;
12
12
  collapsedSize?: number;
13
13
  minSize?: number;
14
+ /**
15
+ * Caps `defaultSize` to this fraction (0..1) of the container when sizes are
16
+ * first laid out without a stored value, so a fixed pixel default cannot
17
+ * swallow a small viewport. Never goes below `minSize`.
18
+ */
19
+ maxDefaultFraction?: number;
14
20
  hidden?: boolean;
15
21
  className?: string;
16
22
  };
@@ -31,5 +37,14 @@ interface SplitterProps {
31
37
  onPanelTransitionEnd?: (panelName: string) => void;
32
38
  onLastPanelCollapsedChange?: (collapsed: boolean) => void;
33
39
  }
40
+ type PanelSizes = {
41
+ [name: string]: number | "auto";
42
+ };
43
+ /**
44
+ * Initial sizes for panels that have no stored value: fixed panels take their
45
+ * (possibly fraction-capped) defaults, "auto" panels share the remainder, and
46
+ * everything scales down when the container is too small for the defaults.
47
+ */
48
+ export declare function computeDefaultPanelSizes(panels: SplitterPanel[], containerSize: number): PanelSizes | null;
34
49
  export declare const Splitter: React.FC<SplitterProps>;
35
50
  export {};
@@ -5,6 +5,77 @@ import { ChevronLeft, ChevronUp } from "lucide-react";
5
5
  import { cn } from "../../lib/utils";
6
6
  import { localStorageService } from "../services/localStorageService";
7
7
  import { dispatchSplitterResize, SPLITTER_PANEL_SIZE_REQUEST_EVENT, } from "./splitterResizeEvent";
8
+ const MIN_PANEL_SIZE = 50;
9
+ /** The pixel default of a fixed panel for a given container size. */
10
+ function resolveDefaultSize(panel, containerSize) {
11
+ const defaultSize = typeof panel.defaultSize === "number" ? panel.defaultSize : 0;
12
+ const fraction = panel.maxDefaultFraction;
13
+ if (fraction === undefined ||
14
+ !(fraction > 0 && fraction <= 1) ||
15
+ containerSize <= 0) {
16
+ return defaultSize;
17
+ }
18
+ const cap = Math.floor(containerSize * fraction);
19
+ const floor = Math.max(panel.minSize ?? MIN_PANEL_SIZE, 0);
20
+ return Math.max(Math.min(defaultSize, cap), Math.min(floor, defaultSize));
21
+ }
22
+ /**
23
+ * Initial sizes for panels that have no stored value: fixed panels take their
24
+ * (possibly fraction-capped) defaults, "auto" panels share the remainder, and
25
+ * everything scales down when the container is too small for the defaults.
26
+ */
27
+ export function computeDefaultPanelSizes(panels, containerSize) {
28
+ const visiblePanels = panels.filter((p) => !p.hidden);
29
+ if (visiblePanels.length === 0)
30
+ return null;
31
+ const fixedPanels = visiblePanels.filter((p) => typeof p.defaultSize === "number");
32
+ const autoPanels = visiblePanels.filter((p) => p.defaultSize === "auto");
33
+ const defaults = new Map();
34
+ fixedPanels.forEach((p) => {
35
+ defaults.set(p.name, resolveDefaultSize(p, containerSize));
36
+ });
37
+ const sumFixed = fixedPanels.reduce((sum, p) => sum + (defaults.get(p.name) ?? 0), 0);
38
+ const updated = {};
39
+ if (autoPanels.length === 0) {
40
+ const scale = containerSize > 0 && sumFixed > 0 ? containerSize / sumFixed : 1;
41
+ visiblePanels.forEach((p) => {
42
+ updated[p.name] = Math.max(MIN_PANEL_SIZE, Math.round((defaults.get(p.name) ?? 0) * scale));
43
+ });
44
+ }
45
+ else if (containerSize > 0) {
46
+ const minAutoTotal = autoPanels.length * MIN_PANEL_SIZE;
47
+ const remainder = containerSize - sumFixed;
48
+ if (remainder >= minAutoTotal) {
49
+ const per = Math.floor(remainder / autoPanels.length);
50
+ fixedPanels.forEach((p) => {
51
+ updated[p.name] = defaults.get(p.name) ?? 0;
52
+ });
53
+ autoPanels.forEach((p) => {
54
+ updated[p.name] = per;
55
+ });
56
+ }
57
+ else {
58
+ const availableForFixed = Math.max(0, containerSize - minAutoTotal);
59
+ const scale = sumFixed > 0 ? availableForFixed / sumFixed : 0;
60
+ fixedPanels.forEach((p) => {
61
+ updated[p.name] = Math.max(MIN_PANEL_SIZE, Math.round((defaults.get(p.name) ?? 0) * scale));
62
+ });
63
+ autoPanels.forEach((p) => {
64
+ updated[p.name] = MIN_PANEL_SIZE;
65
+ });
66
+ }
67
+ }
68
+ else {
69
+ // Fallback when container size is 0
70
+ fixedPanels.forEach((p) => {
71
+ updated[p.name] = defaults.get(p.name) ?? 0;
72
+ });
73
+ autoPanels.forEach((p) => {
74
+ updated[p.name] = MIN_PANEL_SIZE;
75
+ });
76
+ }
77
+ return updated;
78
+ }
8
79
  export const Splitter = ({ panels, localStorageKey = "splitter-sizes", expandLabel, expandButtonLabel, expandButtonTestId, direction = "horizontal", // Default to horizontal for backward compatibility
9
80
  className, splitterClassName, expandButtonClassName, forceCollapseLastPanelKey, forceExpandLastPanelKey, handleContent, onPanelTransitionEnd, onLastPanelCollapsedChange, }) => {
10
81
  const totalPanels = panels.length;
@@ -83,56 +154,9 @@ className, splitterClassName, expandButtonClassName, forceCollapseLastPanelKey,
83
154
  const containerSize = isHorizontal
84
155
  ? container.clientWidth
85
156
  : container.clientHeight;
86
- const visiblePanels = panels.filter((p) => !p.hidden);
87
- if (visiblePanels.length === 0)
88
- return;
89
- const minPanelSize = 50;
90
- const fixedPanels = visiblePanels.filter((p) => typeof p.defaultSize === "number");
91
- const autoPanels = visiblePanels.filter((p) => p.defaultSize === "auto");
92
- const sumFixed = fixedPanels.reduce((sum, p) => {
93
- const size = p.defaultSize;
94
- return sum + (typeof size === "number" ? size : 0);
95
- }, 0);
96
- const updated = {};
97
- if (autoPanels.length === 0) {
98
- const scale = containerSize > 0 && sumFixed > 0 ? containerSize / sumFixed : 1;
99
- visiblePanels.forEach((p) => {
100
- updated[p.name] = Math.max(minPanelSize, Math.round(p.defaultSize * scale));
101
- });
102
- }
103
- else if (containerSize > 0) {
104
- const minAutoTotal = autoPanels.length * minPanelSize;
105
- const remainder = containerSize - sumFixed;
106
- if (remainder >= minAutoTotal) {
107
- const per = Math.floor(remainder / autoPanels.length);
108
- fixedPanels.forEach((p) => {
109
- updated[p.name] = p.defaultSize;
110
- });
111
- autoPanels.forEach((p) => {
112
- updated[p.name] = per;
113
- });
114
- }
115
- else {
116
- const availableForFixed = Math.max(0, containerSize - minAutoTotal);
117
- const scale = sumFixed > 0 ? availableForFixed / sumFixed : 0;
118
- fixedPanels.forEach((p) => {
119
- updated[p.name] = Math.max(minPanelSize, Math.round(p.defaultSize * scale));
120
- });
121
- autoPanels.forEach((p) => {
122
- updated[p.name] = minPanelSize;
123
- });
124
- }
125
- }
126
- else {
127
- // Fallback when container size is 0
128
- fixedPanels.forEach((p) => {
129
- updated[p.name] = p.defaultSize;
130
- });
131
- autoPanels.forEach((p) => {
132
- updated[p.name] = minPanelSize;
133
- });
134
- }
135
- setPanelSizes(updated);
157
+ const updated = computeDefaultPanelSizes(panels, containerSize);
158
+ if (updated)
159
+ setPanelSizes(updated);
136
160
  };
137
161
  const hasZeroSize = Object.values(panelSizes).some((size) => typeof size === "number" && size <= 0);
138
162
  if (hasZeroSize) {
@@ -145,56 +169,9 @@ className, splitterClassName, expandButtonClassName, forceCollapseLastPanelKey,
145
169
  const container = splitterRef.current;
146
170
  const isHorizontal = direction === "horizontal";
147
171
  const computeAndSet = (containerSize) => {
148
- const visiblePanels = panels.filter((p) => !p.hidden);
149
- if (visiblePanels.length === 0)
150
- return;
151
- const minPanelSize = 50;
152
- const fixedPanels = visiblePanels.filter((p) => typeof p.defaultSize === "number");
153
- const autoPanels = visiblePanels.filter((p) => p.defaultSize === "auto");
154
- const sumFixed = fixedPanels.reduce((sum, p) => {
155
- const size = p.defaultSize;
156
- return sum + (typeof size === "number" ? size : 0);
157
- }, 0);
158
- const updated = {};
159
- if (autoPanels.length === 0) {
160
- const scale = containerSize > 0 && sumFixed > 0 ? containerSize / sumFixed : 1;
161
- visiblePanels.forEach((p) => {
162
- updated[p.name] = Math.max(minPanelSize, Math.round(p.defaultSize * scale));
163
- });
164
- }
165
- else if (containerSize > 0) {
166
- const minAutoTotal = autoPanels.length * minPanelSize;
167
- const remainder = containerSize - sumFixed;
168
- if (remainder >= minAutoTotal) {
169
- const per = Math.floor(remainder / autoPanels.length);
170
- fixedPanels.forEach((p) => {
171
- updated[p.name] = p.defaultSize;
172
- });
173
- autoPanels.forEach((p) => {
174
- updated[p.name] = per;
175
- });
176
- }
177
- else {
178
- const availableForFixed = Math.max(0, containerSize - minAutoTotal);
179
- const scale = sumFixed > 0 ? availableForFixed / sumFixed : 0;
180
- fixedPanels.forEach((p) => {
181
- updated[p.name] = Math.max(minPanelSize, Math.round(p.defaultSize * scale));
182
- });
183
- autoPanels.forEach((p) => {
184
- updated[p.name] = minPanelSize;
185
- });
186
- }
187
- }
188
- else {
189
- // Fallback when container size is 0
190
- fixedPanels.forEach((p) => {
191
- updated[p.name] = p.defaultSize;
192
- });
193
- autoPanels.forEach((p) => {
194
- updated[p.name] = minPanelSize;
195
- });
196
- }
197
- setPanelSizes(updated);
172
+ const updated = computeDefaultPanelSizes(panels, containerSize);
173
+ if (updated)
174
+ setPanelSizes(updated);
198
175
  };
199
176
  const initialSize = isHorizontal
200
177
  ? container.clientWidth