@parhelia/core 0.3.12831 → 0.4.12796

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 (339) hide show
  1. package/dist/agents-view/AgentCard.js +2 -2
  2. package/dist/agents-view/AgentCard.js.map +1 -1
  3. package/dist/agents-view/AgentsView.js +4 -2
  4. package/dist/agents-view/AgentsView.js.map +1 -1
  5. package/dist/agents-view/AgentsWorkspaceView.js +8 -1
  6. package/dist/agents-view/AgentsWorkspaceView.js.map +1 -1
  7. package/dist/agents-view/DateAgentsGroup.js +1 -1
  8. package/dist/agents-view/DateAgentsGroup.js.map +1 -1
  9. package/dist/components/ui/checkbox.js +3 -2
  10. package/dist/components/ui/checkbox.js.map +1 -1
  11. package/dist/components/ui/context-menu.d.ts +9 -1
  12. package/dist/components/ui/context-menu.js +59 -12
  13. package/dist/components/ui/context-menu.js.map +1 -1
  14. package/dist/components/ui/select.js +16 -2
  15. package/dist/components/ui/select.js.map +1 -1
  16. package/dist/config/config.d.ts +2 -0
  17. package/dist/config/config.js +66 -10
  18. package/dist/config/config.js.map +1 -1
  19. package/dist/config/types/sidebar.d.ts +8 -0
  20. package/dist/config/types/workspace.d.ts +8 -0
  21. package/dist/config/types.d.ts +24 -0
  22. package/dist/config/types.js.map +1 -1
  23. package/dist/editor/ContextMenu.js +59 -6
  24. package/dist/editor/ContextMenu.js.map +1 -1
  25. package/dist/editor/Editor.js +9 -2
  26. package/dist/editor/Editor.js.map +1 -1
  27. package/dist/editor/EditorWarning.d.ts +3 -1
  28. package/dist/editor/EditorWarning.js +24 -7
  29. package/dist/editor/EditorWarning.js.map +1 -1
  30. package/dist/editor/FieldList.js +1 -1
  31. package/dist/editor/FieldList.js.map +1 -1
  32. package/dist/editor/GlobalMenuBar.js +8 -6
  33. package/dist/editor/GlobalMenuBar.js.map +1 -1
  34. package/dist/editor/LinkEditorDialog.d.ts +2 -0
  35. package/dist/editor/LinkEditorDialog.js +6 -1
  36. package/dist/editor/LinkEditorDialog.js.map +1 -1
  37. package/dist/editor/ai/AgentSharingSection.d.ts +1 -1
  38. package/dist/editor/ai/AgentSharingSection.js +7 -0
  39. package/dist/editor/ai/AgentSharingSection.js.map +1 -1
  40. package/dist/editor/ai/Agents.js +7 -7
  41. package/dist/editor/ai/Agents.js.map +1 -1
  42. package/dist/editor/ai/InlineAiDialog.d.ts +7 -1
  43. package/dist/editor/ai/InlineAiDialog.js +27 -7
  44. package/dist/editor/ai/InlineAiDialog.js.map +1 -1
  45. package/dist/editor/ai/InlineAiTrigger.js +63 -1
  46. package/dist/editor/ai/InlineAiTrigger.js.map +1 -1
  47. package/dist/editor/ai/terminal/activeReasoningModel.d.ts +9 -0
  48. package/dist/editor/ai/terminal/activeReasoningModel.js +20 -0
  49. package/dist/editor/ai/terminal/activeReasoningModel.js.map +1 -0
  50. package/dist/editor/ai/terminal/agentDurations.d.ts +27 -0
  51. package/dist/editor/ai/terminal/agentDurations.js +89 -0
  52. package/dist/editor/ai/terminal/agentDurations.js.map +1 -0
  53. package/dist/editor/ai/terminal/agentStartRequest.d.ts +1 -0
  54. package/dist/editor/ai/terminal/agentStartRequest.js +1 -0
  55. package/dist/editor/ai/terminal/agentStartRequest.js.map +1 -1
  56. package/dist/editor/ai/terminal/agentTurnTiming.d.ts +33 -0
  57. package/dist/editor/ai/terminal/agentTurnTiming.js +103 -0
  58. package/dist/editor/ai/terminal/agentTurnTiming.js.map +1 -0
  59. package/dist/editor/ai/terminal/components/AgentCostDisplay.d.ts +3 -1
  60. package/dist/editor/ai/terminal/components/AgentCostDisplay.js +16 -25
  61. package/dist/editor/ai/terminal/components/AgentCostDisplay.js.map +1 -1
  62. package/dist/editor/ai/terminal/components/AgentGreeting.js +4 -1
  63. package/dist/editor/ai/terminal/components/AgentGreeting.js.map +1 -1
  64. package/dist/editor/ai/terminal/components/AgentProfileModelSettingsSection.d.ts +5 -1
  65. package/dist/editor/ai/terminal/components/AgentProfileModelSettingsSection.js +7 -2
  66. package/dist/editor/ai/terminal/components/AgentProfileModelSettingsSection.js.map +1 -1
  67. package/dist/editor/ai/terminal/components/AgentProfileRecovery.d.ts +10 -0
  68. package/dist/editor/ai/terminal/components/AgentProfileRecovery.js +12 -0
  69. package/dist/editor/ai/terminal/components/AgentProfileRecovery.js.map +1 -0
  70. package/dist/editor/ai/terminal/components/AgentProfileSwitcher.js +1 -1
  71. package/dist/editor/ai/terminal/components/AgentProfileSwitcher.js.map +1 -1
  72. package/dist/editor/ai/terminal/components/AgentPromptActionButtons.js +1 -1
  73. package/dist/editor/ai/terminal/components/AgentPromptActionButtons.js.map +1 -1
  74. package/dist/editor/ai/terminal/components/AgentPromptComposer.js +1 -1
  75. package/dist/editor/ai/terminal/components/AgentPromptInputArea.js +1 -1
  76. package/dist/editor/ai/terminal/components/AgentPromptInputArea.js.map +1 -1
  77. package/dist/editor/ai/terminal/components/AgentSettingsContent.d.ts +5 -1
  78. package/dist/editor/ai/terminal/components/AgentSettingsContent.js +2 -2
  79. package/dist/editor/ai/terminal/components/AgentSettingsContent.js.map +1 -1
  80. package/dist/editor/ai/terminal/components/AgentTerminalFullLayout.d.ts +2 -1
  81. package/dist/editor/ai/terminal/components/AgentTerminalFullLayout.js +2 -2
  82. package/dist/editor/ai/terminal/components/AgentTerminalFullLayout.js.map +1 -1
  83. package/dist/editor/ai/terminal/components/AgentTerminalFullPromptControls.d.ts +1 -1
  84. package/dist/editor/ai/terminal/components/AgentTerminalFullPromptControls.js +2 -2
  85. package/dist/editor/ai/terminal/components/AgentTerminalFullPromptControls.js.map +1 -1
  86. package/dist/editor/ai/terminal/components/AgentTerminalFullUpperContent.js +17 -1
  87. package/dist/editor/ai/terminal/components/AgentTerminalFullUpperContent.js.map +1 -1
  88. package/dist/editor/ai/terminal/components/AgentTerminalMessageGroups.js +2 -1
  89. package/dist/editor/ai/terminal/components/AgentTerminalMessageGroups.js.map +1 -1
  90. package/dist/editor/ai/terminal/components/AgentTerminalStatusBar.d.ts +1 -1
  91. package/dist/editor/ai/terminal/components/AgentTerminalStatusBar.js +69 -8
  92. package/dist/editor/ai/terminal/components/AgentTerminalStatusBar.js.map +1 -1
  93. package/dist/editor/ai/terminal/components/AgentTerminalSummaryLayout.d.ts +2 -1
  94. package/dist/editor/ai/terminal/components/AgentTerminalSummaryLayout.js +2 -2
  95. package/dist/editor/ai/terminal/components/AgentTerminalSummaryLayout.js.map +1 -1
  96. package/dist/editor/ai/terminal/components/AgentThinkingIndicator.d.ts +21 -1
  97. package/dist/editor/ai/terminal/components/AgentThinkingIndicator.js +15 -4
  98. package/dist/editor/ai/terminal/components/AgentThinkingIndicator.js.map +1 -1
  99. package/dist/editor/ai/terminal/components/AiResponseMessage.d.ts +3 -1
  100. package/dist/editor/ai/terminal/components/AiResponseMessage.js +84 -58
  101. package/dist/editor/ai/terminal/components/AiResponseMessage.js.map +1 -1
  102. package/dist/editor/ai/terminal/components/ApprovalCard.js +72 -10
  103. package/dist/editor/ai/terminal/components/ApprovalCard.js.map +1 -1
  104. package/dist/editor/ai/terminal/components/InitialThinkingSplash.js +2 -2
  105. package/dist/editor/ai/terminal/components/InitialThinkingSplash.js.map +1 -1
  106. package/dist/editor/ai/terminal/components/QueuedPromptsPanel.js +2 -2
  107. package/dist/editor/ai/terminal/components/ResponseTurnDuration.d.ts +15 -0
  108. package/dist/editor/ai/terminal/components/ResponseTurnDuration.js +52 -0
  109. package/dist/editor/ai/terminal/components/ResponseTurnDuration.js.map +1 -0
  110. package/dist/editor/ai/terminal/components/ToolCallDisplay.d.ts +3 -1
  111. package/dist/editor/ai/terminal/components/ToolCallDisplay.js +35 -57
  112. package/dist/editor/ai/terminal/components/ToolCallDisplay.js.map +1 -1
  113. package/dist/editor/ai/terminal/components/UserMessage.js +1 -1
  114. package/dist/editor/ai/terminal/components/UserMessage.js.map +1 -1
  115. package/dist/editor/ai/terminal/components/agentThinkingStyles.d.ts +26 -1
  116. package/dist/editor/ai/terminal/components/agentThinkingStyles.js +26 -1
  117. package/dist/editor/ai/terminal/components/agentThinkingStyles.js.map +1 -1
  118. package/dist/editor/ai/terminal/components/approvalActions.d.ts +1 -0
  119. package/dist/editor/ai/terminal/components/approvalActions.js +5 -2
  120. package/dist/editor/ai/terminal/components/approvalActions.js.map +1 -1
  121. package/dist/editor/ai/terminal/components/useApprovalActions.d.ts +4 -4
  122. package/dist/editor/ai/terminal/components/useApprovalActions.js +5 -2
  123. package/dist/editor/ai/terminal/components/useApprovalActions.js.map +1 -1
  124. package/dist/editor/ai/terminal/reasoningEffortLevels.d.ts +8 -0
  125. package/dist/editor/ai/terminal/reasoningEffortLevels.js +54 -0
  126. package/dist/editor/ai/terminal/reasoningEffortLevels.js.map +1 -0
  127. package/dist/editor/ai/terminal/requestUsage.d.ts +3 -0
  128. package/dist/editor/ai/terminal/requestUsage.js +22 -0
  129. package/dist/editor/ai/terminal/requestUsage.js.map +1 -0
  130. package/dist/editor/ai/terminal/types.d.ts +1 -0
  131. package/dist/editor/ai/terminal/useAgentModeState.js.map +1 -1
  132. package/dist/editor/ai/terminal/useAgentProfileSelection.d.ts +10 -0
  133. package/dist/editor/ai/terminal/useAgentProfileSelection.js +10 -2
  134. package/dist/editor/ai/terminal/useAgentProfileSelection.js.map +1 -1
  135. package/dist/editor/ai/terminal/useAgentReasoningEffortState.d.ts +5 -0
  136. package/dist/editor/ai/terminal/useAgentReasoningEffortState.js +10 -0
  137. package/dist/editor/ai/terminal/useAgentReasoningEffortState.js.map +1 -0
  138. package/dist/editor/ai/terminal/useAgentSessionSync.d.ts +1 -0
  139. package/dist/editor/ai/terminal/useAgentSettingsCommands.d.ts +9 -0
  140. package/dist/editor/ai/terminal/useAgentSettingsCommands.js +63 -6
  141. package/dist/editor/ai/terminal/useAgentSettingsCommands.js.map +1 -1
  142. package/dist/editor/ai/terminal/useAgentSettingsPanel.d.ts +5 -0
  143. package/dist/editor/ai/terminal/useAgentSettingsPanel.js +8 -0
  144. package/dist/editor/ai/terminal/useAgentSettingsPanel.js.map +1 -1
  145. package/dist/editor/ai/terminal/useAgentSkillActions.d.ts +1 -0
  146. package/dist/editor/ai/terminal/useAgentSkillActions.js +1 -0
  147. package/dist/editor/ai/terminal/useAgentSkillActions.js.map +1 -1
  148. package/dist/editor/ai/terminal/useAgentSubmitHandlers.d.ts +1 -0
  149. package/dist/editor/ai/terminal/useAgentSubmitHandlers.js +6 -1
  150. package/dist/editor/ai/terminal/useAgentSubmitHandlers.js.map +1 -1
  151. package/dist/editor/ai/terminal/useAgentTerminalController.d.ts +1 -1
  152. package/dist/editor/ai/terminal/useAgentTerminalController.js +21 -4
  153. package/dist/editor/ai/terminal/useAgentTerminalController.js.map +1 -1
  154. package/dist/editor/ai/terminal/useAgentTerminalControls.d.ts +4 -0
  155. package/dist/editor/ai/terminal/useAgentTerminalControls.js +5 -1
  156. package/dist/editor/ai/terminal/useAgentTerminalControls.js.map +1 -1
  157. package/dist/editor/ai-image-editor/AiImageEditorDialog.d.ts +6 -0
  158. package/dist/editor/ai-image-editor/AiImageEditorDialog.js +202 -64
  159. package/dist/editor/ai-image-editor/AiImageEditorDialog.js.map +1 -1
  160. package/dist/editor/client/EditorShell.js +733 -722
  161. package/dist/editor/client/EditorShell.js.map +1 -1
  162. package/dist/editor/client/SandboxWelcomeOverlay.d.ts +4 -1
  163. package/dist/editor/client/SandboxWelcomeOverlay.js +6 -5
  164. package/dist/editor/client/SandboxWelcomeOverlay.js.map +1 -1
  165. package/dist/editor/client/SessionsDialog.d.ts +2 -0
  166. package/dist/editor/client/SessionsDialog.js +27 -0
  167. package/dist/editor/client/SessionsDialog.js.map +1 -0
  168. package/dist/editor/client/hooks/useSocketMessageHandler.js +4 -0
  169. package/dist/editor/client/hooks/useSocketMessageHandler.js.map +1 -1
  170. package/dist/editor/client/ui/DevModeIndicator.js +6 -4
  171. package/dist/editor/client/ui/DevModeIndicator.js.map +1 -1
  172. package/dist/editor/commands/componentCommands.js +1 -2
  173. package/dist/editor/commands/componentCommands.js.map +1 -1
  174. package/dist/editor/editor-warnings/ItemLocked.js +1 -1
  175. package/dist/editor/editor-warnings/ItemLocked.js.map +1 -1
  176. package/dist/editor/editor-warnings/NoLanguageWriteAccess.js +1 -1
  177. package/dist/editor/editor-warnings/NoLanguageWriteAccess.js.map +1 -1
  178. package/dist/editor/editor-warnings/NoWorkflowWriteAccess.js +1 -1
  179. package/dist/editor/editor-warnings/NoWorkflowWriteAccess.js.map +1 -1
  180. package/dist/editor/editor-warnings/NoWriteAccess.js +1 -1
  181. package/dist/editor/editor-warnings/NoWriteAccess.js.map +1 -1
  182. package/dist/editor/field-types/LinkFieldEditor.js +15 -4
  183. package/dist/editor/field-types/LinkFieldEditor.js.map +1 -1
  184. package/dist/editor/field-types/MultiLineText.js +6 -1
  185. package/dist/editor/field-types/MultiLineText.js.map +1 -1
  186. package/dist/editor/field-types/RichTextEditor.js +5 -5
  187. package/dist/editor/field-types/RichTextEditor.js.map +1 -1
  188. package/dist/editor/field-types/SingleLineText.js +6 -1
  189. package/dist/editor/field-types/SingleLineText.js.map +1 -1
  190. package/dist/editor/field-types/TreeListEditor.js +3 -3
  191. package/dist/editor/field-types/TreeListEditor.js.map +1 -1
  192. package/dist/editor/fieldTypes.d.ts +2 -0
  193. package/dist/editor/itemContextMenuGroups.d.ts +16 -0
  194. package/dist/editor/itemContextMenuGroups.js +48 -0
  195. package/dist/editor/itemContextMenuGroups.js.map +1 -0
  196. package/dist/editor/media-selector/MediaFolderBrowser.js +1 -1
  197. package/dist/editor/menubar/ActiveUsers.js +4 -1
  198. package/dist/editor/menubar/ActiveUsers.js.map +1 -1
  199. package/dist/editor/menubar/OpenPublishedPageButton.d.ts +1 -0
  200. package/dist/editor/menubar/OpenPublishedPageButton.js +22 -0
  201. package/dist/editor/menubar/OpenPublishedPageButton.js.map +1 -0
  202. package/dist/editor/menubar/WorkflowButton.js +77 -22
  203. package/dist/editor/menubar/WorkflowButton.js.map +1 -1
  204. package/dist/editor/menubar/toolbar-sections/PreviewModeControl.js +1 -1
  205. package/dist/editor/menubar/toolbar-sections/PreviewModeControl.js.map +1 -1
  206. package/dist/editor/menubar/toolbar-sections/ViewportControls.js +8 -4
  207. package/dist/editor/menubar/toolbar-sections/ViewportControls.js.map +1 -1
  208. package/dist/editor/page-editor-chrome/BridgeInlineFormatOverlay.js +36 -1
  209. package/dist/editor/page-editor-chrome/BridgeInlineFormatOverlay.js.map +1 -1
  210. package/dist/editor/page-editor-chrome/PageEditorChrome.js +4 -0
  211. package/dist/editor/page-editor-chrome/PageEditorChrome.js.map +1 -1
  212. package/dist/editor/page-editor-chrome/bridgeInlineFormatToolbarLayout.d.ts +19 -0
  213. package/dist/editor/page-editor-chrome/bridgeInlineFormatToolbarLayout.js +14 -0
  214. package/dist/editor/page-editor-chrome/bridgeInlineFormatToolbarLayout.js.map +1 -1
  215. package/dist/editor/page-editor-chrome/overlay/IframeOverlayProvider.d.ts +3 -0
  216. package/dist/editor/page-editor-chrome/overlay/IframeOverlayProvider.js +18 -0
  217. package/dist/editor/page-editor-chrome/overlay/IframeOverlayProvider.js.map +1 -1
  218. package/dist/editor/page-viewer/DeviceToolbar.js +20 -8
  219. package/dist/editor/page-viewer/DeviceToolbar.js.map +1 -1
  220. package/dist/editor/page-viewer/EditorForm.js +8 -7
  221. package/dist/editor/page-viewer/EditorForm.js.map +1 -1
  222. package/dist/editor/page-viewer/PageViewerFrame.js +10 -0
  223. package/dist/editor/page-viewer/PageViewerFrame.js.map +1 -1
  224. package/dist/editor/page-viewer/PreviewModeNotice.d.ts +7 -0
  225. package/dist/editor/page-viewer/PreviewModeNotice.js +19 -0
  226. package/dist/editor/page-viewer/PreviewModeNotice.js.map +1 -0
  227. package/dist/editor/page-viewer/pageViewContext.d.ts +5 -1
  228. package/dist/editor/page-viewer/pageViewContext.js +59 -2
  229. package/dist/editor/page-viewer/pageViewContext.js.map +1 -1
  230. package/dist/editor/page-viewer/previewEditAttempt.d.ts +31 -0
  231. package/dist/editor/page-viewer/previewEditAttempt.js +68 -0
  232. package/dist/editor/page-viewer/previewEditAttempt.js.map +1 -0
  233. package/dist/editor/pageModel.d.ts +1 -0
  234. package/dist/editor/services/agentService.d.ts +67 -0
  235. package/dist/editor/services/agentService.js +2 -0
  236. package/dist/editor/services/agentService.js.map +1 -1
  237. package/dist/editor/services/aiService.d.ts +7 -0
  238. package/dist/editor/services/aiService.js.map +1 -1
  239. package/dist/editor/services/contentService.d.ts +9 -0
  240. package/dist/editor/services/contentService.js.map +1 -1
  241. package/dist/editor/services/editService.d.ts +13 -0
  242. package/dist/editor/services/editService.js +8 -0
  243. package/dist/editor/services/editService.js.map +1 -1
  244. package/dist/editor/services/migrationService.d.ts +31 -0
  245. package/dist/editor/services/migrationService.js +22 -0
  246. package/dist/editor/services/migrationService.js.map +1 -0
  247. package/dist/editor/services/publicSiteService.d.ts +40 -0
  248. package/dist/editor/services/publicSiteService.js +5 -0
  249. package/dist/editor/services/publicSiteService.js.map +1 -0
  250. package/dist/editor/settings/About.js +71 -32
  251. package/dist/editor/settings/About.js.map +1 -1
  252. package/dist/editor/settings/MigrationJournalCard.d.ts +12 -0
  253. package/dist/editor/settings/MigrationJournalCard.js +114 -0
  254. package/dist/editor/settings/MigrationJournalCard.js.map +1 -0
  255. package/dist/editor/settings/QuotaUserPicker.js +1 -1
  256. package/dist/editor/settings/SettingsView.js +18 -5
  257. package/dist/editor/settings/SettingsView.js.map +1 -1
  258. package/dist/editor/settings/panels/AgentProfileConfigPanel.js +1 -0
  259. package/dist/editor/settings/panels/AgentProfileConfigPanel.js.map +1 -1
  260. package/dist/editor/settings/panels/ModelConfigPanel.js +2 -0
  261. package/dist/editor/settings/panels/ModelConfigPanel.js.map +1 -1
  262. package/dist/editor/settings/panels/PublicSiteEntryDialog.d.ts +8 -0
  263. package/dist/editor/settings/panels/PublicSiteEntryDialog.js +113 -0
  264. package/dist/editor/settings/panels/PublicSiteEntryDialog.js.map +1 -0
  265. package/dist/editor/settings/panels/PublicSitesPanel.d.ts +1 -0
  266. package/dist/editor/settings/panels/PublicSitesPanel.js +153 -0
  267. package/dist/editor/settings/panels/PublicSitesPanel.js.map +1 -0
  268. package/dist/editor/settings/panels/StatusPanel.js +2 -1
  269. package/dist/editor/settings/panels/StatusPanel.js.map +1 -1
  270. package/dist/editor/settings/panels/UserPreferencesPanel.js +4 -4
  271. package/dist/editor/settings/panels/UserPreferencesPanel.js.map +1 -1
  272. package/dist/editor/settings/panels/index.d.ts +1 -0
  273. package/dist/editor/settings/panels/index.js +1 -0
  274. package/dist/editor/settings/panels/index.js.map +1 -1
  275. package/dist/editor/settings/panels/publicSiteHelpers.d.ts +6 -0
  276. package/dist/editor/settings/panels/publicSiteHelpers.js +30 -0
  277. package/dist/editor/settings/panels/publicSiteHelpers.js.map +1 -0
  278. package/dist/editor/settings/status/coreStatusChecks.js +4 -0
  279. package/dist/editor/settings/status/coreStatusChecks.js.map +1 -1
  280. package/dist/editor/sidebar/OperationDetailsContent.d.ts +14 -0
  281. package/dist/editor/sidebar/OperationDetailsContent.js +521 -0
  282. package/dist/editor/sidebar/OperationDetailsContent.js.map +1 -0
  283. package/dist/editor/sidebar/OperationItem.js +9 -77
  284. package/dist/editor/sidebar/OperationItem.js.map +1 -1
  285. package/dist/editor/sidebar/Sessions.d.ts +3 -1
  286. package/dist/editor/sidebar/Sessions.js +2 -1
  287. package/dist/editor/sidebar/Sessions.js.map +1 -1
  288. package/dist/editor/sidebar/Workbox.js +22 -7
  289. package/dist/editor/sidebar/Workbox.js.map +1 -1
  290. package/dist/editor/ui/PerfectTree.js +14 -7
  291. package/dist/editor/ui/PerfectTree.js.map +1 -1
  292. package/dist/editor/ui/PublishDialog.d.ts +7 -2
  293. package/dist/editor/ui/PublishDialog.js +67 -33
  294. package/dist/editor/ui/PublishDialog.js.map +1 -1
  295. package/dist/editor/ui/PublishItemDialog.js +31 -20
  296. package/dist/editor/ui/PublishItemDialog.js.map +1 -1
  297. package/dist/editor/ui/PublishReadinessSummary.d.ts +12 -0
  298. package/dist/editor/ui/PublishReadinessSummary.js +34 -0
  299. package/dist/editor/ui/PublishReadinessSummary.js.map +1 -0
  300. package/dist/editor/ui/TemplateSelectorDialog.js +27 -1
  301. package/dist/editor/ui/TemplateSelectorDialog.js.map +1 -1
  302. package/dist/editor/ui/publishReadiness.d.ts +85 -0
  303. package/dist/editor/ui/publishReadiness.js +251 -0
  304. package/dist/editor/ui/publishReadiness.js.map +1 -0
  305. package/dist/editor/ui/usePublishingItem.d.ts +8 -0
  306. package/dist/editor/ui/usePublishingItem.js +47 -0
  307. package/dist/editor/ui/usePublishingItem.js.map +1 -0
  308. package/dist/editor/utils/linkDisplay.d.ts +12 -0
  309. package/dist/editor/utils/linkDisplay.js +23 -0
  310. package/dist/editor/utils/linkDisplay.js.map +1 -0
  311. package/dist/editor/views/ItemEditor.js +44 -27
  312. package/dist/editor/views/ItemEditor.js.map +1 -1
  313. package/dist/index.d.ts +9 -1
  314. package/dist/index.js +8 -1
  315. package/dist/index.js.map +1 -1
  316. package/dist/lib/viewportClip.d.ts +18 -0
  317. package/dist/lib/viewportClip.js +22 -0
  318. package/dist/lib/viewportClip.js.map +1 -0
  319. package/dist/revision.d.ts +2 -2
  320. package/dist/revision.js +2 -2
  321. package/dist/setup/wizard/steps/ImportModelDialog.js +238 -176
  322. package/dist/setup/wizard/steps/ImportModelDialog.js.map +1 -1
  323. package/dist/task-board/components/ProjectSettingsDialog.js +4 -1
  324. package/dist/task-board/components/ProjectSettingsDialog.js.map +1 -1
  325. package/dist/tour/Tour.d.ts +10 -2
  326. package/dist/tour/Tour.js +136 -31
  327. package/dist/tour/Tour.js.map +1 -1
  328. package/dist/tour/default-tour.js +5 -16
  329. package/dist/tour/default-tour.js.map +1 -1
  330. package/dist/tour/preview-tour.js +1 -1
  331. package/dist/tour/preview-tour.js.map +1 -1
  332. package/dist/tour/sandbox-tour.js +4 -3
  333. package/dist/tour/sandbox-tour.js.map +1 -1
  334. package/dist/tour/tour-utils.d.ts +6 -0
  335. package/dist/tour/tour-utils.js +10 -0
  336. package/dist/tour/tour-utils.js.map +1 -1
  337. package/dist/types.d.ts +7 -0
  338. package/package.json +1 -1
  339. package/styles.css +6 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PublishReadinessSummary.js","sourceRoot":"","sources":["../../../src/editor/ui/PublishReadinessSummary.tsx"],"names":[],"mappings":"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"}
@@ -22,11 +22,37 @@ const MAX_RECENT_TEMPLATES = 10;
22
22
  export function TemplateSelectorDialog(props) {
23
23
  if (!props)
24
24
  return null;
25
- const [selectedItem, setSelectedItem] = useState();
25
+ const [selectedItem, setSelectedItem] = useState(() => props.currentItem.templateId
26
+ ? {
27
+ id: props.currentItem.templateId,
28
+ version: 0,
29
+ language: props.currentItem.language,
30
+ }
31
+ : null);
26
32
  const [expandIdPath, setExpandIdPath] = useState();
27
33
  const [recentTemplates, setRecentTemplates] = useState([]);
28
34
  const [recentItems, setRecentItems] = useState([]);
29
35
  const [isLoadingRecent, setIsLoadingRecent] = useState(false);
36
+ useEffect(() => {
37
+ if (!selectedItem)
38
+ return;
39
+ let cancelled = false;
40
+ const expandSelectedTemplate = async () => {
41
+ try {
42
+ const template = await props.editContext.itemsRepository.getItem(selectedItem);
43
+ if (!cancelled && template?.idPath) {
44
+ setExpandIdPath(template.idPath);
45
+ }
46
+ }
47
+ catch (error) {
48
+ console.error("Failed to load selected template:", error);
49
+ }
50
+ };
51
+ void expandSelectedTemplate();
52
+ return () => {
53
+ cancelled = true;
54
+ };
55
+ }, [selectedItem, props.editContext.itemsRepository]);
30
56
  useEffect(() => {
31
57
  const stored = localStorageService.getItem(RECENT_TEMPLATES_STORAGE_KEY);
32
58
  if (stored) {
@@ -1 +1 @@
1
- {"version":3,"file":"TemplateSelectorDialog.js","sourceRoot":"","sources":["../../../src/editor/ui/TemplateSelectorDialog.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAEpD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAGrD,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAC5E,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAG5C,OAAO,WAAW,MAAM,gBAAgB,CAAC;AACzC,OAAO,UAAU,MAAM,cAAc,CAAC;AACtC,OAAO,EAAW,MAAM,EAAc,MAAM,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAC1E,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAEtE,MAAM,iBAAiB,GAAG,wCAAwC,CAAC,CAAC,sBAAsB;AAC1F,MAAM,oBAAoB,GAAG,sCAAsC,CAAC,CAAC,4BAA4B;AAEjG,8FAA8F;AAC9F,MAAM,aAAa,GAAG,CAAC,IAAwB,EAAU,EAAE;IACzD,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IACrB,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;AACjD,CAAC,CAAC;AAOF,MAAM,4BAA4B,GAAG,8BAA8B,CAAC;AACpE,MAAM,oBAAoB,GAAG,EAAE,CAAC;AAEhC,MAAM,UAAU,sBAAsB,CACpC,KAAgE;IAEhE,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IAExB,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,EAAyB,CAAC;IAC1E,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,EAAsB,CAAC;IACvE,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAW,EAAE,CAAC,CAAC;IACrE,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAa,EAAE,CAAC,CAAC;IAC/D,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE9D,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,MAAM,GAAG,mBAAmB,CAAC,OAAO,CACxC,4BAA4B,CAC7B,CAAC;QACF,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;gBACvC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAgB,EAAE,CAAC,OAAO,EAAE,KAAK,QAAQ,CAAC;gBAC7D,CAAC,CAAC,EAAE,CAAC;YACP,MAAM,eAAe,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;YAClD,kBAAkB,CAAC,eAAe,CAAC,CAAC;QACtC,CAAC;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,eAAe,GAAG,KAAK,IAAI,EAAE;YACjC,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACjC,cAAc,CAAC,EAAE,CAAC,CAAC;gBACnB,OAAO;YACT,CAAC;YAED,kBAAkB,CAAC,IAAI,CAAC,CAAC;YACzB,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC,eAAe,CAAC,QAAQ,CAC5D,eAAe,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;oBAC3B,EAAE;oBACF,OAAO,EAAE,CAAC;oBACV,QAAQ,EAAE,KAAK,CAAC,WAAW,CAAC,QAAQ;iBACrC,CAAC,CAAC,CACJ,CAAC;gBAEF,IAAI,KAAK,EAAE,CAAC;oBACV,uDAAuD;oBACvD,4DAA4D;oBAC5D,MAAM,iBAAiB,GAAG,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;oBACtE,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CACjC,CAAC,IAAI,EAAE,EAAE,CACP,aAAa,CAAC,IAAI,EAAE,UAAU,CAAC,KAAK,oBAAoB;wBACxD,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,iBAAiB,CAC/C,CAAC;oBACF,MAAM,WAAW,GAAG,cAAc,CAAC,MAAM,CACvC,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CACpB,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC,KAAK,KAAK,CACpD,CAAC;oBACF,cAAc,CAAC,WAAW,CAAC,CAAC;gBAC9B,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAE,KAAK,CAAC,CAAC;gBACzD,cAAc,CAAC,EAAE,CAAC,CAAC;YACrB,CAAC;oBAAS,CAAC;gBACT,kBAAkB,CAAC,KAAK,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC,CAAC;QACF,eAAe,EAAE,CAAC;IACpB,CAAC,EAAE;QACD,eAAe;QACf,KAAK,CAAC,WAAW,CAAC,QAAQ;QAC1B,KAAK,CAAC,WAAW,CAAC,UAAU;QAC5B,KAAK,CAAC,WAAW,CAAC,eAAe;KAClC,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,GAAG,EAAE;QACpB,KAAK,CAAC,OAAO,EAAE,CAAC,YAAY,IAAI,IAAI,CAAC,CAAC;IACxC,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,GAAG,EAAE;QACxB,KAAK,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC,CAAC;IAEF,MAAM,kBAAkB,GAAG,KAAK,EAC9B,IAA0C,EAC1C,EAAE;QACF,gDAAgD;QAChD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACvE,IAAI,aAAa,CAAC,QAAQ,EAAE,UAAU,CAAC,KAAK,oBAAoB,EAAE,CAAC;YACjE,eAAe,CAAC;gBACd,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,OAAO,EAAE,CAAC;gBACV,QAAQ,EAAE,IAAI;aACf,CAAC,CAAC;YACH,4EAA4E;YAC5E,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,QAAQ,EAAE,MAAM,CAAC;YAC/C,IAAI,MAAM,EAAE,CAAC;gBACX,eAAe,CAAC,MAAM,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,4BAA4B,GAAG,CAAC,QAAkB,EAAE,EAAE;QAC1D,eAAe,CAAC;YACd,EAAE,EAAE,QAAQ,CAAC,EAAE;YACf,OAAO,EAAE,CAAC;YACV,QAAQ,EAAE,QAAQ,CAAC,QAAQ,IAAI,IAAI;SACpC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,OAAO,CACzB,GAAG,EAAE,CAAC,CAAC;QACL,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,GAAG;QAChB,SAAS,EAAE,sBAAsB;QACjC,OAAO,EAAE,CACP,eAAK,SAAS,EAAC,+CAA+C,aAC5D,eAAK,SAAS,EAAC,iEAAiE,aAC9E,KAAC,KAAK,IAAC,WAAW,EAAE,CAAC,EAAE,SAAS,EAAC,+BAA+B,GAAG,EACnE,eAAM,SAAS,EAAC,yDAAyD,uBAElE,IACH,EACN,cAAK,SAAS,EAAC,0BAA0B,YACtC,eAAe,CAAC,CAAC,CAAC,CACjB,cAAK,SAAS,EAAC,oEAAoE,2BAE7E,CACP,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAC7B,eAAK,SAAS,EAAC,yFAAyF,aACtG,KAAC,KAAK,IAAC,WAAW,EAAE,CAAC,EAAE,SAAS,EAAC,yBAAyB,GAAG,EAC7D,8CAA0B,IACtB,CACP,CAAC,CAAC,CAAC,CACF,cAAK,SAAS,EAAC,WAAW,YACvB,WAAW,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAC7B,eAEE,SAAS,EAAE,qFACT,YAAY,EAAE,EAAE,KAAK,QAAQ,CAAC,EAAE;gCAC9B,CAAC,CAAC,iEAAiE;gCACnE,CAAC,CAAC,wEACN,EAAE,EACF,OAAO,EAAE,GAAG,EAAE,CAAC,4BAA4B,CAAC,QAAQ,CAAC,aAEpD,QAAQ,CAAC,IAAI,IAAI,CAChB,cACE,GAAG,EAAE,QAAQ,CAAC,IAAI,EAClB,GAAG,EAAC,EAAE,EACN,SAAS,EAAC,qDAAqD,EAC/D,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,EAAE,GACtC,CACH,EACD,eAAM,SAAS,EAAC,2DAA2D,YACxE,QAAQ,CAAC,IAAI,GACT,KAlBF,QAAQ,CAAC,EAAE,CAmBZ,CACP,CAAC,GACE,CACP,GACG,IACF,CACP;KACF,CAAC,EACF,CAAC,eAAe,EAAE,WAAW,EAAE,YAAY,CAAC,CAC7C,CAAC;IAEF,MAAM,WAAW,GAAG,OAAO,CACzB,GAAG,EAAE,CAAC,CAAC;QACL,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,MAAM;QACnB,OAAO,EAAE,CACP,eAAK,SAAS,EAAC,+CAA+C,aAC5D,eAAK,SAAS,EAAC,iEAAiE,aAC9E,KAAC,MAAM,IAAC,WAAW,EAAE,CAAC,EAAE,SAAS,EAAC,+BAA+B,GAAG,EACpE,eAAM,SAAS,EAAC,yDAAyD,qCAElE,IACH,EACN,eAAK,SAAS,EAAC,0CAA0C,aACvD,cAAK,SAAS,EAAC,eAAe,YAC5B,KAAC,UAAU,IACT,WAAW,EAAE,CAAC,iBAAiB,CAAC,EAChC,YAAY,EAAE,kBAAkB,EAChC,QAAQ,EAAE,KAAK,CAAC,WAAW,CAAC,QAAQ,EACpC,SAAS,EAAE,IAAI,GACf,GACE,EACN,cAAK,SAAS,EAAC,yGAAyG,YACtH,cAAK,SAAS,EAAC,KAAK,YAClB,KAAC,WAAW,IACV,QAAQ,EAAE,KAAK,CAAC,WAAW,CAAC,QAAQ,EACpC,WAAW,EAAE,CAAC,iBAAiB,CAAC,EAChC,eAAe,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAC1D,aAAa,EAAC,QAAQ,EACtB,SAAS,EAAC,KAAK,EACf,YAAY,EAAE,YAAY,EAC1B,gBAAgB,EAAE,IAAI,EACtB,iBAAiB,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;wCAChC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;4CACb,eAAe,CAAC,IAAI,CAAC,CAAC;wCACxB,CAAC;6CAAM,CAAC;4CACN,MAAM,IAAI,GACR,MAAM,KAAK,CAAC,WAAW,CAAC,eAAe,CAAC,OAAO,CAC7C,IAAI,CAAC,CAAC,CAAC,CACR,CAAC;4CACJ,iEAAiE;4CACjE,IACE,aAAa,CAAC,IAAI,EAAE,UAAU,CAAC,KAAK,oBAAoB,EACxD,CAAC;gDACD,eAAe,CAAC;oDACd,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE;oDACd,OAAO,EAAE,CAAC;oDACV,QAAQ,EAAE,IAAI;iDACf,CAAC,CAAC;4CACL,CAAC;iDAAM,CAAC;gDACN,eAAe,CAAC,IAAI,CAAC,CAAC;4CACxB,CAAC;wCACH,CAAC;oCACH,CAAC,EACD,aAAa,EAAE,IAAI,GACnB,GACE,GACF,IACF,IACF,CACP;KACF,CAAC,EACF;QACE,YAAY;QACZ,YAAY;QACZ,KAAK,CAAC,WAAW,CAAC,QAAQ;QAC1B,kBAAkB;QAClB,KAAK,CAAC,WAAW,CAAC,eAAe;KAClC,CACF,CAAC;IAEF,OAAO,CACL,KAAC,MAAM,IACL,IAAI,EAAE,IAAI,EACV,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE;YACrB,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,KAAK,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;YACxB,CAAC;QACH,CAAC,YAED,MAAC,aAAa,IACZ,SAAS,EAAC,0DAA0D,EACpE,KAAK,EAAE;gBACL,KAAK,EAAE,MAAM;gBACb,QAAQ,EAAE,QAAQ;gBAClB,MAAM,EAAE,MAAM;gBACd,SAAS,EAAE,OAAO;aACnB,aAED,KAAC,iBAAiB,IAChB,IAAI,EAAE,KAAC,MAAM,IAAC,WAAW,EAAE,CAAC,GAAI,EAChC,KAAK,EAAC,iBAAiB,EACvB,QAAQ,EAAC,4CAA4C,EACrD,eAAe,EAAC,uCAAuC,GACvD,EAEF,cAAK,SAAS,EAAC,8CAA8C,YAC3D,KAAC,QAAQ,IACP,eAAe,EAAC,+BAA+B,EAC/C,MAAM,EAAE,CAAC,WAAkB,EAAE,WAAkB,CAAC,GAChD,GACE,EAEN,MAAC,aAAa,IAAC,SAAS,EAAC,UAAU,aACjC,KAAC,MAAM,IAAC,OAAO,EAAE,YAAY,EAAE,OAAO,EAAC,OAAO,uBAErC,EACT,KAAC,MAAM,IACL,OAAO,EAAE,QAAQ,EACjB,OAAO,EAAC,SAAS,EACjB,QAAQ,EAAE,CAAC,YAAY,EACvB,SAAS,EAAC,yBAAyB,gCAG5B,IACK,IACF,GACT,CACV,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"TemplateSelectorDialog.js","sourceRoot":"","sources":["../../../src/editor/ui/TemplateSelectorDialog.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,85 @@
1
+ import type { ItemDescriptor, ValidationResult, WorkboxItem } from "../../types";
2
+ export type PublishStatusOutcome = "published" | "pending" | "will-not-publish" | "unknown";
3
+ export type PublishImpact = "none" | "never-published" | "stale" | "other-version" | "unknown";
4
+ export type PublishBlockReason = {
5
+ kind: "workflow";
6
+ workflowState: string;
7
+ } | {
8
+ kind: "no-valid-version";
9
+ } | {
10
+ kind: "not-valid-version";
11
+ validVersion?: number;
12
+ };
13
+ export type PublishReadinessCategory = "will-publish" | "already-published" | "covered-by-subitems" | "blocked-by-workflow" | "will-not-publish";
14
+ export type PublishReadinessEntry = {
15
+ item: WorkboxItem;
16
+ key: string;
17
+ category: PublishReadinessCategory;
18
+ inBatch: boolean;
19
+ reason?: PublishBlockReason;
20
+ impact: PublishImpact;
21
+ affectedTargets: string[];
22
+ targetCount: number;
23
+ validVersion?: number;
24
+ };
25
+ export type CurrentPageReadiness = {
26
+ item: WorkboxItem;
27
+ blockedByWorkflow: boolean;
28
+ reason?: PublishBlockReason;
29
+ impact: PublishImpact;
30
+ affectedTargets: string[];
31
+ targetCount: number;
32
+ validVersion?: number;
33
+ };
34
+ export type PublishReadiness = {
35
+ currentPage?: CurrentPageReadiness;
36
+ entries: PublishReadinessEntry[];
37
+ batchDescriptors: ItemDescriptor[];
38
+ leftBehind: PublishReadinessEntry[];
39
+ };
40
+ export declare function isReadyToPublish(item: WorkboxItem): boolean;
41
+ export declare function classifyPublishStatus(status: string): {
42
+ outcome: PublishStatusOutcome;
43
+ impact: PublishImpact;
44
+ validVersion?: number;
45
+ };
46
+ /**
47
+ * Compares descriptors the way the workbox does: ids without braces and
48
+ * case-insensitive, languages case-insensitive. A version of 0/undefined means
49
+ * "latest" (the editor keeps the *requested* descriptor when an item is opened
50
+ * from the tree) and matches any concrete version of that item.
51
+ */
52
+ export declare function isSameDescriptor(a: ItemDescriptor, b: ItemDescriptor): boolean;
53
+ /** The workbox row for the item currently open in the editor, if listed. */
54
+ export declare function findCurrentWorkboxItem(workboxItems: WorkboxItem[], currentItem: ItemDescriptor | undefined): WorkboxItem | undefined;
55
+ /**
56
+ * Display order for the Publish dialog: the current item stays first, then the
57
+ * related items grouped by template name and ordered by item path, so media,
58
+ * layouts and datasources cluster together instead of following the link
59
+ * database's order. Returns a new array; the input is left untouched.
60
+ */
61
+ export declare function sortWorkboxItemsForPublish(workboxItems: WorkboxItem[], currentItem: ItemDescriptor | undefined): WorkboxItem[];
62
+ export type PublishValidationSummary = {
63
+ /** Listed workbox items that carry at least one validation result. */
64
+ itemCount: number;
65
+ /** All validation results across those items. */
66
+ issueCount: number;
67
+ };
68
+ /**
69
+ * Counts the validation issues that affect the listed workbox items. The
70
+ * server only reports failing validators, so every result is an issue; a
71
+ * page's entry also carries results for its embedded components, which are
72
+ * counted with the page.
73
+ */
74
+ export declare function getPublishValidationSummary(workboxItems: WorkboxItem[], validationResults: ValidationResult[] | undefined): PublishValidationSummary;
75
+ /** True when `path` lies strictly below `rootPath` (Sitecore paths are case-insensitive). */
76
+ export declare function isDescendantPath(path?: string, rootPath?: string): boolean;
77
+ export declare function getPublishReadiness({ workboxItems, currentItem, pagePath, includeSubitems, }: {
78
+ workboxItems: WorkboxItem[];
79
+ currentItem: ItemDescriptor | undefined;
80
+ pagePath: string | undefined;
81
+ includeSubitems: boolean;
82
+ }): PublishReadiness;
83
+ export declare function getPublishReasonText(reason: PublishBlockReason, affectedTargets: string[], targetCount: number): string;
84
+ export declare function getPublishImpactText(impact: PublishImpact, validVersion?: number): string | undefined;
85
+ export declare function getPublishReadinessHeadline(readiness: PublishReadiness): string | undefined;
@@ -0,0 +1,251 @@
1
+ export function isReadyToPublish(item) {
2
+ return item.isPublishable && !item.isPublished;
3
+ }
4
+ export function classifyPublishStatus(status) {
5
+ const normalized = status.trim().toLowerCase();
6
+ if (normalized === "published")
7
+ return { outcome: "published", impact: "none" };
8
+ if (normalized.startsWith("item is not yet published") ||
9
+ normalized.startsWith("language version is not yet published.")) {
10
+ return { outcome: "pending", impact: "never-published" };
11
+ }
12
+ if (normalized.startsWith("version is not yet published: currently published version:") ||
13
+ normalized.startsWith("version is not yet published. published revision:") ||
14
+ normalized.startsWith("published item has a different name:")) {
15
+ return { outcome: "pending", impact: "stale" };
16
+ }
17
+ if (normalized.startsWith("item has no valid version, but version")) {
18
+ return { outcome: "will-not-publish", impact: "stale" };
19
+ }
20
+ if (normalized.startsWith("this item has no valid version and will not be published.")) {
21
+ return { outcome: "will-not-publish", impact: "never-published" };
22
+ }
23
+ if (normalized.startsWith("this version is still published even though it is not the valid version.") ||
24
+ normalized.startsWith("this version will not be published. valid version is")) {
25
+ const match = status.match(/valid version is (\d+)/i);
26
+ return {
27
+ outcome: "will-not-publish",
28
+ impact: "other-version",
29
+ ...(match ? { validVersion: Number(match[1]) } : {}),
30
+ };
31
+ }
32
+ return { outcome: "unknown", impact: "unknown" };
33
+ }
34
+ function normalizeDescriptorId(id) {
35
+ return (id ?? "").replace(/[{}]/g, "").toLowerCase();
36
+ }
37
+ /**
38
+ * Compares descriptors the way the workbox does: ids without braces and
39
+ * case-insensitive, languages case-insensitive. A version of 0/undefined means
40
+ * "latest" (the editor keeps the *requested* descriptor when an item is opened
41
+ * from the tree) and matches any concrete version of that item.
42
+ */
43
+ export function isSameDescriptor(a, b) {
44
+ return (normalizeDescriptorId(a.id) === normalizeDescriptorId(b.id) &&
45
+ (a.language ?? "").toLowerCase() === (b.language ?? "").toLowerCase() &&
46
+ (!a.version || !b.version || a.version === b.version));
47
+ }
48
+ /** The workbox row for the item currently open in the editor, if listed. */
49
+ export function findCurrentWorkboxItem(workboxItems, currentItem) {
50
+ return currentItem
51
+ ? workboxItems.find((item) => isSameDescriptor(item.item, currentItem))
52
+ : undefined;
53
+ }
54
+ const compareText = (left, right) => (left ?? "").localeCompare(right ?? "", undefined, {
55
+ sensitivity: "base",
56
+ numeric: true,
57
+ });
58
+ /**
59
+ * Display order for the Publish dialog: the current item stays first, then the
60
+ * related items grouped by template name and ordered by item path, so media,
61
+ * layouts and datasources cluster together instead of following the link
62
+ * database's order. Returns a new array; the input is left untouched.
63
+ */
64
+ export function sortWorkboxItemsForPublish(workboxItems, currentItem) {
65
+ const isCurrent = (item) => !!currentItem && isSameDescriptor(item.item, currentItem);
66
+ return [...workboxItems].sort((left, right) => Number(isCurrent(right)) - Number(isCurrent(left)) ||
67
+ compareText(left.templateName, right.templateName) ||
68
+ compareText(left.path, right.path) ||
69
+ compareText(left.name, right.name) ||
70
+ compareText(left.item.language, right.item.language) ||
71
+ (left.item.version ?? 0) - (right.item.version ?? 0));
72
+ }
73
+ /**
74
+ * Counts the validation issues that affect the listed workbox items. The
75
+ * server only reports failing validators, so every result is an issue; a
76
+ * page's entry also carries results for its embedded components, which are
77
+ * counted with the page.
78
+ */
79
+ export function getPublishValidationSummary(workboxItems, validationResults) {
80
+ if (!validationResults?.length)
81
+ return { itemCount: 0, issueCount: 0 };
82
+ return workboxItems.reduce((summary, item) => {
83
+ const issueCount = validationResults
84
+ .filter((result) => isSameDescriptor(result.item, item.item))
85
+ .reduce((count, result) => count + result.results.length, 0);
86
+ return issueCount
87
+ ? {
88
+ itemCount: summary.itemCount + 1,
89
+ issueCount: summary.issueCount + issueCount,
90
+ }
91
+ : summary;
92
+ }, { itemCount: 0, issueCount: 0 });
93
+ }
94
+ /** True when `path` lies strictly below `rootPath` (Sitecore paths are case-insensitive). */
95
+ export function isDescendantPath(path, rootPath) {
96
+ if (!path || !rootPath)
97
+ return false;
98
+ const root = rootPath.toLowerCase();
99
+ const prefix = root.endsWith("/") ? root : `${root}/`;
100
+ return path.toLowerCase() !== root && path.toLowerCase().startsWith(prefix);
101
+ }
102
+ const impactSeverity = {
103
+ none: 0,
104
+ unknown: 1,
105
+ "other-version": 2,
106
+ stale: 3,
107
+ "never-published": 4,
108
+ };
109
+ function getItemReadiness(item, blockedByWorkflow) {
110
+ const targets = Object.entries(item.publishStatus).map(([target, status]) => ({
111
+ target,
112
+ ...classifyPublishStatus(status),
113
+ }));
114
+ const unpublished = targets.filter((target) => target.outcome !== "published");
115
+ const restricted = targets.filter((target) => target.outcome === "will-not-publish");
116
+ const worst = unpublished.reduce((result, target) => !result || impactSeverity[target.impact] > impactSeverity[result.impact]
117
+ ? target
118
+ : result, undefined);
119
+ const restriction = restricted.reduce((result, target) => !result || impactSeverity[target.impact] > impactSeverity[result.impact]
120
+ ? target
121
+ : result, undefined);
122
+ const reason = blockedByWorkflow
123
+ ? { kind: "workflow", workflowState: item.workflowState }
124
+ : restriction
125
+ ? restriction.impact === "other-version"
126
+ ? { kind: "not-valid-version", validVersion: restriction.validVersion }
127
+ : { kind: "no-valid-version" }
128
+ : undefined;
129
+ return {
130
+ reason,
131
+ impact: worst?.impact ?? (targets.length ? "none" : "unknown"),
132
+ validVersion: worst?.validVersion,
133
+ affectedTargets: (blockedByWorkflow ? unpublished : restricted).map(({ target }) => target),
134
+ targetCount: targets.length,
135
+ };
136
+ }
137
+ export function getPublishReadiness({ workboxItems, currentItem, pagePath, includeSubitems, }) {
138
+ const coveredBySubitems = (item) => includeSubitems &&
139
+ (item.item.language || currentItem?.language) === currentItem?.language &&
140
+ isDescendantPath(item.path, pagePath);
141
+ // Preserve the existing batch even when a target warns: other targets may
142
+ // still need publishing, or Sitecore may publish the valid version instead.
143
+ const batchDescriptors = workboxItems
144
+ .filter(isReadyToPublish)
145
+ .filter((item) => !coveredBySubitems(item))
146
+ .map((item) => ({
147
+ ...item.item,
148
+ language: item.item.language || currentItem?.language,
149
+ }))
150
+ .filter((descriptor) => !!descriptor.language &&
151
+ (!currentItem ||
152
+ !isSameDescriptor(descriptor, currentItem)));
153
+ const page = findCurrentWorkboxItem(workboxItems, currentItem);
154
+ const blockedByWorkflow = !!page?.workflowState && !page.isPublishable;
155
+ const currentPage = page
156
+ ? {
157
+ item: page,
158
+ blockedByWorkflow,
159
+ ...getItemReadiness(page, blockedByWorkflow),
160
+ }
161
+ : undefined;
162
+ const entries = workboxItems
163
+ .filter((item) => !currentItem || !isSameDescriptor(item.item, currentItem))
164
+ .map((item) => {
165
+ const details = getItemReadiness(item, !item.isPublishable);
166
+ const category = item.isPublished
167
+ ? "already-published"
168
+ : !item.isPublishable
169
+ ? "blocked-by-workflow"
170
+ : details.reason
171
+ ? "will-not-publish"
172
+ : coveredBySubitems(item)
173
+ ? "covered-by-subitems"
174
+ : "will-publish";
175
+ const descriptor = {
176
+ ...item.item,
177
+ language: item.item.language || currentItem?.language,
178
+ };
179
+ return {
180
+ item,
181
+ // Matches WorkboxItemsTable's row key; a future Show action can use it.
182
+ key: [
183
+ item.item.id?.toLowerCase(),
184
+ item.item.language?.toLowerCase(),
185
+ item.item.version ?? 0,
186
+ item.item.database?.toLowerCase() ?? "",
187
+ ].join("|"),
188
+ category,
189
+ inBatch: isReadyToPublish(item) &&
190
+ !coveredBySubitems(item) &&
191
+ !!descriptor.language &&
192
+ (!currentItem ||
193
+ !isSameDescriptor(descriptor, currentItem)),
194
+ ...details,
195
+ };
196
+ });
197
+ return {
198
+ currentPage,
199
+ entries,
200
+ batchDescriptors,
201
+ leftBehind: entries.filter((entry) => entry.category === "blocked-by-workflow" ||
202
+ entry.category === "will-not-publish"),
203
+ };
204
+ }
205
+ export function getPublishReasonText(reason, affectedTargets, targetCount) {
206
+ const prefix = targetCount > 1 && affectedTargets.length
207
+ ? `On ${affectedTargets.join(", ")}: `
208
+ : "";
209
+ switch (reason.kind) {
210
+ case "workflow":
211
+ return (prefix +
212
+ (reason.workflowState
213
+ ? `In workflow state "${reason.workflowState}".`
214
+ : "Not in a final workflow state."));
215
+ case "no-valid-version":
216
+ return prefix + "No valid version. Check its publish restrictions.";
217
+ case "not-valid-version":
218
+ return (prefix +
219
+ (reason.validVersion !== undefined
220
+ ? `Version ${reason.validVersion} is the valid version, not this one.`
221
+ : "Not the valid version."));
222
+ }
223
+ }
224
+ export function getPublishImpactText(impact, validVersion) {
225
+ switch (impact) {
226
+ case "never-published":
227
+ return "Visitors will see nothing for this item until it is published.";
228
+ case "stale":
229
+ return "Visitors will still see the previous version.";
230
+ case "other-version":
231
+ return validVersion !== undefined
232
+ ? `Visitors will see version ${validVersion} instead.`
233
+ : "Visitors will see a different version.";
234
+ default:
235
+ return undefined;
236
+ }
237
+ }
238
+ export function getPublishReadinessHeadline(readiness) {
239
+ const count = readiness.leftBehind.length;
240
+ const related = `${count} related item${count === 1 ? "" : "s"}`;
241
+ if (readiness.currentPage?.blockedByWorkflow)
242
+ return count
243
+ ? `This page cannot be published yet, and ${related} cannot either.`
244
+ : "This page cannot be published yet.";
245
+ if (readiness.currentPage?.reason)
246
+ return count
247
+ ? `This page will not go live as it is, and ${related} cannot publish.`
248
+ : "This page will not go live as it is.";
249
+ return count ? `This page can publish, but ${related} cannot.` : undefined;
250
+ }
251
+ //# sourceMappingURL=publishReadiness.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"publishReadiness.js","sourceRoot":"","sources":["../../../src/editor/ui/publishReadiness.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { FullItem } from "../pageModel";
2
+ /** Resolve the owner before showing publish options or allowing a publish. */
3
+ export declare function usePublishingItem(source: FullItem | undefined): {
4
+ item: FullItem | undefined;
5
+ isLoading: boolean;
6
+ error: string | undefined;
7
+ isEmbedded: boolean;
8
+ };
@@ -0,0 +1,47 @@
1
+ import { useEffect, useState } from "react";
2
+ import { useEditContext } from "../client/editContext";
3
+ /** Resolve the owner before showing publish options or allowing a publish. */
4
+ export function usePublishingItem(source) {
5
+ const editContext = useEditContext();
6
+ const repository = editContext?.itemsRepository;
7
+ const mainItemId = source?.mainItemId;
8
+ const isEmbedded = !!mainItemId &&
9
+ mainItemId.replace(/[{}]/g, "").toLowerCase() !==
10
+ source?.id.replace(/[{}]/g, "").toLowerCase();
11
+ const [resolved, setResolved] = useState();
12
+ useEffect(() => {
13
+ if (!isEmbedded || !source || !repository)
14
+ return;
15
+ let cancelled = false;
16
+ repository
17
+ .getItem({ ...source.descriptor, id: mainItemId })
18
+ .then((item) => {
19
+ if (!cancelled)
20
+ setResolved({
21
+ source,
22
+ item,
23
+ error: item
24
+ ? undefined
25
+ : "Failed to load the main item for publishing.",
26
+ });
27
+ })
28
+ .catch(() => {
29
+ if (!cancelled)
30
+ setResolved({
31
+ source,
32
+ error: "Failed to load the main item for publishing.",
33
+ });
34
+ });
35
+ return () => {
36
+ cancelled = true;
37
+ };
38
+ }, [isEmbedded, source, mainItemId, repository]);
39
+ const current = resolved?.source === source ? resolved : undefined;
40
+ return {
41
+ item: isEmbedded ? current?.item : source,
42
+ isLoading: isEmbedded && !current,
43
+ error: isEmbedded ? current?.error : undefined,
44
+ isEmbedded,
45
+ };
46
+ }
47
+ //# sourceMappingURL=usePublishingItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usePublishingItem.js","sourceRoot":"","sources":["../../../src/editor/ui/usePublishingItem.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAGvD,8EAA8E;AAC9E,MAAM,UAAU,iBAAiB,CAAC,MAA4B;IAC5D,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IACrC,MAAM,UAAU,GAAG,WAAW,EAAE,eAAe,CAAC;IAChD,MAAM,UAAU,GAAG,MAAM,EAAE,UAAU,CAAC;IACtC,MAAM,UAAU,GACd,CAAC,CAAC,UAAU;QACZ,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE;YAC3C,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAClD,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,EAIpC,CAAC;IAEL,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,UAAU,IAAI,CAAC,MAAM,IAAI,CAAC,UAAU;YAAE,OAAO;QAClD,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,UAAU;aACP,OAAO,CAAC,EAAE,GAAG,MAAM,CAAC,UAAU,EAAE,EAAE,EAAE,UAAW,EAAE,CAAC;aAClD,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;YACb,IAAI,CAAC,SAAS;gBACZ,WAAW,CAAC;oBACV,MAAM;oBACN,IAAI;oBACJ,KAAK,EAAE,IAAI;wBACT,CAAC,CAAC,SAAS;wBACX,CAAC,CAAC,8CAA8C;iBACnD,CAAC,CAAC;QACP,CAAC,CAAC;aACD,KAAK,CAAC,GAAG,EAAE;YACV,IAAI,CAAC,SAAS;gBACZ,WAAW,CAAC;oBACV,MAAM;oBACN,KAAK,EAAE,8CAA8C;iBACtD,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QACL,OAAO,GAAG,EAAE;YACV,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;IAEjD,MAAM,OAAO,GAAG,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;IACnE,OAAO;QACL,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM;QACzC,SAAS,EAAE,UAAU,IAAI,CAAC,OAAO;QACjC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,SAAS;QAC9C,UAAU;KACX,CAAC;AACJ,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Builds the URL shown for a general link field: the resolved target URL with
3
+ * the configured anchor appended as a fragment.
4
+ *
5
+ * The backend keeps `url` and `anchor` separate so the link dialog can edit
6
+ * them independently; this is the read-only composition of the two.
7
+ */
8
+ export declare function formatLinkDisplayUrl(value: {
9
+ url?: string | null;
10
+ anchor?: string | null;
11
+ type?: string;
12
+ }): string;
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Builds the URL shown for a general link field: the resolved target URL with
3
+ * the configured anchor appended as a fragment.
4
+ *
5
+ * The backend keeps `url` and `anchor` separate so the link dialog can edit
6
+ * them independently; this is the read-only composition of the two.
7
+ */
8
+ export function formatLinkDisplayUrl(value) {
9
+ const url = value.url ?? "";
10
+ const anchor = (value.anchor ?? "").trim().replace(/^#/, "");
11
+ // Sitecore's own "anchor" link type stores the fragment name as the url.
12
+ if (value.type === "anchor") {
13
+ const name = anchor || url.replace(/^#/, "");
14
+ return name ? `#${name}` : "";
15
+ }
16
+ if (!anchor)
17
+ return url;
18
+ // Anchor-only links (url="#section") already carry their fragment.
19
+ if (url.includes("#"))
20
+ return url;
21
+ return `${url}#${anchor}`;
22
+ }
23
+ //# sourceMappingURL=linkDisplay.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"linkDisplay.js","sourceRoot":"","sources":["../../../src/editor/utils/linkDisplay.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAIpC;IACC,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,IAAI,EAAE,CAAC;IAC5B,MAAM,MAAM,GAAG,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAE7D,yEAAyE;IACzE,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC7C,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAChC,CAAC;IAED,IAAI,CAAC,MAAM;QAAE,OAAO,GAAG,CAAC;IACxB,mEAAmE;IACnE,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC;IAClC,OAAO,GAAG,GAAG,IAAI,MAAM,EAAE,CAAC;AAC5B,CAAC"}