@parhelia/core 0.1.12895 → 0.1.12900

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 (552) hide show
  1. package/dist/agents-view/AgentCard.js +1 -1
  2. package/dist/agents-view/AgentCard.js.map +1 -1
  3. package/dist/agents-view/AgentProfileIcon.d.ts +1 -1
  4. package/dist/agents-view/AgentProfileIcon.js +4 -0
  5. package/dist/agents-view/AgentProfileIcon.js.map +1 -1
  6. package/dist/agents-view/AgentsWorkspaceView.js +10 -24
  7. package/dist/agents-view/AgentsWorkspaceView.js.map +1 -1
  8. package/dist/agents-view/ProfileAgentsGroup.js +2 -3
  9. package/dist/agents-view/ProfileAgentsGroup.js.map +1 -1
  10. package/dist/components/MarkdownDisplay.js +1 -1
  11. package/dist/components/MarkdownDisplay.js.map +1 -1
  12. package/dist/components/SearchInput.d.ts +1 -0
  13. package/dist/components/SearchInput.js +2 -2
  14. package/dist/components/SearchInput.js.map +1 -1
  15. package/dist/components/ui/LanguageSelectionGrid.js +2 -1
  16. package/dist/components/ui/LanguageSelectionGrid.js.map +1 -1
  17. package/dist/components/ui/LanguageSelector.d.ts +2 -1
  18. package/dist/components/ui/LanguageSelector.js +3 -3
  19. package/dist/components/ui/LanguageSelector.js.map +1 -1
  20. package/dist/components/ui/badge.d.ts +5 -1
  21. package/dist/components/ui/badge.js +8 -3
  22. package/dist/components/ui/badge.js.map +1 -1
  23. package/dist/components/ui/button.js +4 -5
  24. package/dist/components/ui/button.js.map +1 -1
  25. package/dist/components/ui/checkbox.js +1 -1
  26. package/dist/components/ui/checkbox.js.map +1 -1
  27. package/dist/components/ui/command.js +1 -1
  28. package/dist/components/ui/command.js.map +1 -1
  29. package/dist/components/ui/context-menu.d.ts +13 -0
  30. package/dist/components/ui/context-menu.js +61 -57
  31. package/dist/components/ui/context-menu.js.map +1 -1
  32. package/dist/components/ui/dropdown-menu.js +4 -4
  33. package/dist/components/ui/dropdown-menu.js.map +1 -1
  34. package/dist/components/ui/input.js +2 -2
  35. package/dist/components/ui/input.js.map +1 -1
  36. package/dist/components/ui/switch.js +1 -1
  37. package/dist/components/ui/switch.js.map +1 -1
  38. package/dist/components/ui/textarea.js +1 -1
  39. package/dist/components/ui/textarea.js.map +1 -1
  40. package/dist/config/config.js +40 -15
  41. package/dist/config/config.js.map +1 -1
  42. package/dist/config/notificationRoutes.js +2 -2
  43. package/dist/config/notificationRoutes.js.map +1 -1
  44. package/dist/editor/ContentTree.js +13 -5
  45. package/dist/editor/ContentTree.js.map +1 -1
  46. package/dist/editor/ContextMenu.js +4 -6
  47. package/dist/editor/ContextMenu.js.map +1 -1
  48. package/dist/editor/FieldListField.js +14 -7
  49. package/dist/editor/FieldListField.js.map +1 -1
  50. package/dist/editor/GlobalMenuBar.js +1 -2
  51. package/dist/editor/GlobalMenuBar.js.map +1 -1
  52. package/dist/editor/ImageEditor.js +1 -1
  53. package/dist/editor/ImageEditor.js.map +1 -1
  54. package/dist/editor/LinkEditorDialog.js +13 -0
  55. package/dist/editor/LinkEditorDialog.js.map +1 -1
  56. package/dist/editor/MainLayout.js +66 -9
  57. package/dist/editor/MainLayout.js.map +1 -1
  58. package/dist/editor/Titlebar.js +1 -1
  59. package/dist/editor/Titlebar.js.map +1 -1
  60. package/dist/editor/WorkspaceTitleSwitcher.js +12 -31
  61. package/dist/editor/WorkspaceTitleSwitcher.js.map +1 -1
  62. package/dist/editor/ai/AgentProfileSelector.js +2 -2
  63. package/dist/editor/ai/AgentProfileSelector.js.map +1 -1
  64. package/dist/editor/ai/AgentStatusBadge.js +3 -11
  65. package/dist/editor/ai/AgentStatusBadge.js.map +1 -1
  66. package/dist/editor/ai/Agents.js +46 -41
  67. package/dist/editor/ai/Agents.js.map +1 -1
  68. package/dist/editor/ai/InlineAiDialog.js +24 -26
  69. package/dist/editor/ai/InlineAiDialog.js.map +1 -1
  70. package/dist/editor/ai/InlineAiTrigger.js +30 -1
  71. package/dist/editor/ai/InlineAiTrigger.js.map +1 -1
  72. package/dist/editor/ai/agentActivitySummary.d.ts +108 -0
  73. package/dist/editor/ai/agentActivitySummary.js +390 -0
  74. package/dist/editor/ai/agentActivitySummary.js.map +1 -0
  75. package/dist/editor/ai/terminal/agentContextMerge.d.ts +19 -0
  76. package/dist/editor/ai/terminal/agentContextMerge.js +88 -0
  77. package/dist/editor/ai/terminal/agentContextMerge.js.map +1 -0
  78. package/dist/editor/ai/terminal/components/ActivitySummaryCell.d.ts +21 -0
  79. package/dist/editor/ai/terminal/components/ActivitySummaryCell.js +133 -0
  80. package/dist/editor/ai/terminal/components/ActivitySummaryCell.js.map +1 -0
  81. package/dist/editor/ai/terminal/components/AgentActivityOverviewPanel.d.ts +7 -0
  82. package/dist/editor/ai/terminal/components/AgentActivityOverviewPanel.js +48 -0
  83. package/dist/editor/ai/terminal/components/AgentActivityOverviewPanel.js.map +1 -0
  84. package/dist/editor/ai/terminal/components/AgentEditHistoryButton.js +1 -1
  85. package/dist/editor/ai/terminal/components/AgentEditHistoryButton.js.map +1 -1
  86. package/dist/editor/ai/terminal/components/AgentFullPromptControls.d.ts +2 -1
  87. package/dist/editor/ai/terminal/components/AgentFullPromptControls.js +13 -13
  88. package/dist/editor/ai/terminal/components/AgentFullPromptControls.js.map +1 -1
  89. package/dist/editor/ai/terminal/components/AgentGreeting.js +2 -2
  90. package/dist/editor/ai/terminal/components/AgentGreeting.js.map +1 -1
  91. package/dist/editor/ai/terminal/components/AgentMobileStatusPopover.js +1 -1
  92. package/dist/editor/ai/terminal/components/AgentMobileStatusPopover.js.map +1 -1
  93. package/dist/editor/ai/terminal/components/AgentModeSelector.d.ts +1 -1
  94. package/dist/editor/ai/terminal/components/AgentModeSelector.js +86 -9
  95. package/dist/editor/ai/terminal/components/AgentModeSelector.js.map +1 -1
  96. package/dist/editor/ai/terminal/components/AgentPredefinedPromptsButton.js +1 -1
  97. package/dist/editor/ai/terminal/components/AgentPredefinedPromptsButton.js.map +1 -1
  98. package/dist/editor/ai/terminal/components/AgentPromptActionButtons.js +2 -2
  99. package/dist/editor/ai/terminal/components/AgentPromptActionButtons.js.map +1 -1
  100. package/dist/editor/ai/terminal/components/AgentPromptInputArea.d.ts +2 -2
  101. package/dist/editor/ai/terminal/components/AgentPromptInputArea.js +4 -27
  102. package/dist/editor/ai/terminal/components/AgentPromptInputArea.js.map +1 -1
  103. package/dist/editor/ai/terminal/components/AgentPromptTrayPopovers.d.ts +2 -2
  104. package/dist/editor/ai/terminal/components/AgentPromptTrayPopovers.js +15 -12
  105. package/dist/editor/ai/terminal/components/AgentPromptTrayPopovers.js.map +1 -1
  106. package/dist/editor/ai/terminal/components/AgentSettingsPopover.js +1 -1
  107. package/dist/editor/ai/terminal/components/AgentSettingsPopover.js.map +1 -1
  108. package/dist/editor/ai/terminal/components/AgentSummaryAssistantResponse.d.ts +2 -0
  109. package/dist/editor/ai/terminal/components/AgentSummaryAssistantResponse.js.map +1 -1
  110. package/dist/editor/ai/terminal/components/AgentTerminalContextChrome.d.ts +1 -3
  111. package/dist/editor/ai/terminal/components/AgentTerminalContextChrome.js.map +1 -1
  112. package/dist/editor/ai/terminal/components/AgentTerminalFullLayout.d.ts +10 -10
  113. package/dist/editor/ai/terminal/components/AgentTerminalFullLayout.js +17 -3
  114. package/dist/editor/ai/terminal/components/AgentTerminalFullLayout.js.map +1 -1
  115. package/dist/editor/ai/terminal/components/AgentTerminalFullUpperContent.d.ts +2 -1
  116. package/dist/editor/ai/terminal/components/AgentTerminalFullUpperContent.js +59 -5
  117. package/dist/editor/ai/terminal/components/AgentTerminalFullUpperContent.js.map +1 -1
  118. package/dist/editor/ai/terminal/components/AgentTerminalView.d.ts +3 -2
  119. package/dist/editor/ai/terminal/components/AgentTerminalView.js +5 -4
  120. package/dist/editor/ai/terminal/components/AgentTerminalView.js.map +1 -1
  121. package/dist/editor/ai/terminal/components/AiResponseMessage.d.ts +2 -0
  122. package/dist/editor/ai/terminal/components/AiResponseMessage.js +84 -28
  123. package/dist/editor/ai/terminal/components/AiResponseMessage.js.map +1 -1
  124. package/dist/editor/ai/terminal/components/ContextInfoBar.d.ts +2 -4
  125. package/dist/editor/ai/terminal/components/ContextInfoBar.js +93 -223
  126. package/dist/editor/ai/terminal/components/ContextInfoBar.js.map +1 -1
  127. package/dist/editor/ai/terminal/useAgentDraftInitializer.js +7 -45
  128. package/dist/editor/ai/terminal/useAgentDraftInitializer.js.map +1 -1
  129. package/dist/editor/ai/terminal/useAgentEditorContextPipeline.d.ts +0 -4
  130. package/dist/editor/ai/terminal/useAgentEditorContextPipeline.js +1 -7
  131. package/dist/editor/ai/terminal/useAgentEditorContextPipeline.js.map +1 -1
  132. package/dist/editor/ai/terminal/useAgentPromptComposerSurface.d.ts +2 -2
  133. package/dist/editor/ai/terminal/useAgentQuickActions.d.ts +2 -2
  134. package/dist/editor/ai/terminal/useAgentQuickActions.js +61 -3
  135. package/dist/editor/ai/terminal/useAgentQuickActions.js.map +1 -1
  136. package/dist/editor/ai/terminal/useAgentSettingsPanel.js +0 -2
  137. package/dist/editor/ai/terminal/useAgentSettingsPanel.js.map +1 -1
  138. package/dist/editor/ai/terminal/useAgentSettingsSelectOptions.js +3 -3
  139. package/dist/editor/ai/terminal/useAgentSettingsSelectOptions.js.map +1 -1
  140. package/dist/editor/ai/terminal/useAgentSkillActions.d.ts +0 -3
  141. package/dist/editor/ai/terminal/useAgentSkillActions.js +8 -26
  142. package/dist/editor/ai/terminal/useAgentSkillActions.js.map +1 -1
  143. package/dist/editor/ai/terminal/useAgentSubmitContextBuilder.d.ts +1 -5
  144. package/dist/editor/ai/terminal/useAgentSubmitContextBuilder.js +6 -19
  145. package/dist/editor/ai/terminal/useAgentSubmitContextBuilder.js.map +1 -1
  146. package/dist/editor/ai/terminal/useAgentTerminalChrome.d.ts +1 -3
  147. package/dist/editor/ai/terminal/useAgentTerminalChrome.js +2 -2
  148. package/dist/editor/ai/terminal/useAgentTerminalChrome.js.map +1 -1
  149. package/dist/editor/ai/terminal/useAgentTerminalController.js +18 -22
  150. package/dist/editor/ai/terminal/useAgentTerminalController.js.map +1 -1
  151. package/dist/editor/ai/terminal/useAgentTerminalViewProps.d.ts +1 -1
  152. package/dist/editor/ai/terminal/useAgentTerminalViewProps.js +2 -2
  153. package/dist/editor/ai/terminal/useAgentTerminalViewProps.js.map +1 -1
  154. package/dist/editor/ai/terminal/useAgentTerminalViewState.d.ts +0 -6
  155. package/dist/editor/ai/terminal/useAgentTerminalViewState.js +2 -16
  156. package/dist/editor/ai/terminal/useAgentTerminalViewState.js.map +1 -1
  157. package/dist/editor/ai/useActiveAgentConversation.d.ts +2 -0
  158. package/dist/editor/ai/useActiveAgentConversation.js +20 -0
  159. package/dist/editor/ai/useActiveAgentConversation.js.map +1 -1
  160. package/dist/editor/bridge/protocol.d.ts +48 -0
  161. package/dist/editor/bridge/protocol.js +13 -1
  162. package/dist/editor/bridge/protocol.js.map +1 -1
  163. package/dist/editor/client/EditorShell.d.ts +2 -0
  164. package/dist/editor/client/EditorShell.js +129 -29
  165. package/dist/editor/client/EditorShell.js.map +1 -1
  166. package/dist/editor/client/editContext.d.ts +30 -4
  167. package/dist/editor/client/editContext.js.map +1 -1
  168. package/dist/editor/client/hooks/useReducedMotion.d.ts +8 -0
  169. package/dist/editor/client/hooks/useReducedMotion.js +12 -0
  170. package/dist/editor/client/hooks/useReducedMotion.js.map +1 -0
  171. package/dist/editor/client/manualShowMeFocus.d.ts +17 -0
  172. package/dist/editor/client/manualShowMeFocus.js +32 -0
  173. package/dist/editor/client/manualShowMeFocus.js.map +1 -0
  174. package/dist/editor/client/ui/FullscreenControls.js +5 -5
  175. package/dist/editor/client/ui/FullscreenControls.js.map +1 -1
  176. package/dist/editor/commands/componentCommands.js +30 -1
  177. package/dist/editor/commands/componentCommands.js.map +1 -1
  178. package/dist/editor/commands/keyboardCommands.d.ts +6 -0
  179. package/dist/editor/commands/keyboardCommands.js +74 -0
  180. package/dist/editor/commands/keyboardCommands.js.map +1 -1
  181. package/dist/editor/commands/reorderComponent.d.ts +20 -0
  182. package/dist/editor/commands/reorderComponent.js +40 -0
  183. package/dist/editor/commands/reorderComponent.js.map +1 -0
  184. package/dist/editor/commands/undo.js +3 -3
  185. package/dist/editor/commands/undo.js.map +1 -1
  186. package/dist/editor/componentFrameColors.d.ts +11 -0
  187. package/dist/editor/componentFrameColors.js +47 -0
  188. package/dist/editor/componentFrameColors.js.map +1 -0
  189. package/dist/editor/field-types/RichTextEditor.js +25 -6
  190. package/dist/editor/field-types/RichTextEditor.js.map +1 -1
  191. package/dist/editor/field-types/RichTextEditorComponent.js +14 -1
  192. package/dist/editor/field-types/RichTextEditorComponent.js.map +1 -1
  193. package/dist/editor/field-types/richtext/hooks/useRichTextProfile.d.ts +4 -1
  194. package/dist/editor/field-types/richtext/hooks/useRichTextProfile.js +33 -5
  195. package/dist/editor/field-types/richtext/hooks/useRichTextProfile.js.map +1 -1
  196. package/dist/editor/insertMenuItems.d.ts +11 -0
  197. package/dist/editor/insertMenuItems.js +9 -0
  198. package/dist/editor/insertMenuItems.js.map +1 -1
  199. package/dist/editor/menubar/ActiveUsers.js +3 -3
  200. package/dist/editor/menubar/ActiveUsers.js.map +1 -1
  201. package/dist/editor/menubar/FavoritesControls.js +46 -27
  202. package/dist/editor/menubar/FavoritesControls.js.map +1 -1
  203. package/dist/editor/menubar/GenericToolbar.js +2 -1
  204. package/dist/editor/menubar/GenericToolbar.js.map +1 -1
  205. package/dist/editor/menubar/ItemLanguageVersion.js +7 -5
  206. package/dist/editor/menubar/ItemLanguageVersion.js.map +1 -1
  207. package/dist/editor/menubar/PageSelector.js +1 -1
  208. package/dist/editor/menubar/PageSelector.js.map +1 -1
  209. package/dist/editor/menubar/PreviewDatePicker.js +40 -21
  210. package/dist/editor/menubar/PreviewDatePicker.js.map +1 -1
  211. package/dist/editor/menubar/Separator.d.ts +2 -1
  212. package/dist/editor/menubar/Separator.js +2 -2
  213. package/dist/editor/menubar/Separator.js.map +1 -1
  214. package/dist/editor/menubar/ToolbarFactory.js +24 -17
  215. package/dist/editor/menubar/ToolbarFactory.js.map +1 -1
  216. package/dist/editor/menubar/VersionSelector.d.ts +2 -1
  217. package/dist/editor/menubar/VersionSelector.js +3 -3
  218. package/dist/editor/menubar/VersionSelector.js.map +1 -1
  219. package/dist/editor/menubar/WorkflowButton.js +17 -25
  220. package/dist/editor/menubar/WorkflowButton.js.map +1 -1
  221. package/dist/editor/menubar/toolbar-sections/ContentTreeToggle.d.ts +1 -0
  222. package/dist/editor/menubar/toolbar-sections/ContentTreeToggle.js +13 -0
  223. package/dist/editor/menubar/toolbar-sections/ContentTreeToggle.js.map +1 -0
  224. package/dist/editor/menubar/toolbar-sections/CustomCommandsToolbar.js +1 -1
  225. package/dist/editor/menubar/toolbar-sections/CustomCommandsToolbar.js.map +1 -1
  226. package/dist/editor/menubar/toolbar-sections/DeviceSwitchToolbar.js +104 -9
  227. package/dist/editor/menubar/toolbar-sections/DeviceSwitchToolbar.js.map +1 -1
  228. package/dist/editor/menubar/toolbar-sections/EditControls.d.ts +4 -2
  229. package/dist/editor/menubar/toolbar-sections/EditControls.js +78 -11
  230. package/dist/editor/menubar/toolbar-sections/EditControls.js.map +1 -1
  231. package/dist/editor/menubar/toolbar-sections/FullscreenControl.d.ts +1 -0
  232. package/dist/editor/menubar/toolbar-sections/FullscreenControl.js +15 -0
  233. package/dist/editor/menubar/toolbar-sections/FullscreenControl.js.map +1 -0
  234. package/dist/editor/menubar/toolbar-sections/InsertControls.js +1 -1
  235. package/dist/editor/menubar/toolbar-sections/InsertControls.js.map +1 -1
  236. package/dist/editor/menubar/toolbar-sections/ManualBrowser.d.ts +12 -0
  237. package/dist/editor/menubar/toolbar-sections/ManualBrowser.js +169 -26
  238. package/dist/editor/menubar/toolbar-sections/ManualBrowser.js.map +1 -1
  239. package/dist/editor/menubar/toolbar-sections/ReviewCommands.js +2 -1
  240. package/dist/editor/menubar/toolbar-sections/ReviewCommands.js.map +1 -1
  241. package/dist/editor/menubar/toolbar-sections/UtilityControls.d.ts +3 -1
  242. package/dist/editor/menubar/toolbar-sections/UtilityControls.js +11 -3
  243. package/dist/editor/menubar/toolbar-sections/UtilityControls.js.map +1 -1
  244. package/dist/editor/menubar/toolbar-sections/ViewportControls.d.ts +1 -0
  245. package/dist/editor/menubar/toolbar-sections/ViewportControls.js +48 -29
  246. package/dist/editor/menubar/toolbar-sections/ViewportControls.js.map +1 -1
  247. package/dist/editor/menubar/toolbar-sections/index.d.ts +2 -1
  248. package/dist/editor/menubar/toolbar-sections/index.js +2 -1
  249. package/dist/editor/menubar/toolbar-sections/index.js.map +1 -1
  250. package/dist/editor/notifications/NotificationCenter.d.ts +4 -1
  251. package/dist/editor/notifications/NotificationCenter.js +13 -4
  252. package/dist/editor/notifications/NotificationCenter.js.map +1 -1
  253. package/dist/editor/notifications/WatchButton.d.ts +4 -2
  254. package/dist/editor/notifications/WatchButton.js +78 -20
  255. package/dist/editor/notifications/WatchButton.js.map +1 -1
  256. package/dist/editor/page-editor-chrome/BridgeInlineFormatOverlay.js +71 -6
  257. package/dist/editor/page-editor-chrome/BridgeInlineFormatOverlay.js.map +1 -1
  258. package/dist/editor/page-editor-chrome/CommentHighlightings.js +36 -40
  259. package/dist/editor/page-editor-chrome/CommentHighlightings.js.map +1 -1
  260. package/dist/editor/page-editor-chrome/DragInsertionOverlay.d.ts +36 -0
  261. package/dist/editor/page-editor-chrome/DragInsertionOverlay.js +879 -0
  262. package/dist/editor/page-editor-chrome/DragInsertionOverlay.js.map +1 -0
  263. package/dist/editor/page-editor-chrome/FeedbackHighlightBadge.d.ts +1 -0
  264. package/dist/editor/page-editor-chrome/FeedbackHighlightBadge.js +3 -3
  265. package/dist/editor/page-editor-chrome/FeedbackHighlightBadge.js.map +1 -1
  266. package/dist/editor/page-editor-chrome/FrameMenu.d.ts +3 -2
  267. package/dist/editor/page-editor-chrome/FrameMenu.js +49 -119
  268. package/dist/editor/page-editor-chrome/FrameMenu.js.map +1 -1
  269. package/dist/editor/page-editor-chrome/FrameMenus.d.ts +1 -1
  270. package/dist/editor/page-editor-chrome/FrameMenus.js +65 -15
  271. package/dist/editor/page-editor-chrome/FrameMenus.js.map +1 -1
  272. package/dist/editor/page-editor-chrome/InsertComponentMenu.d.ts +25 -0
  273. package/dist/editor/page-editor-chrome/InsertComponentMenu.js +30 -0
  274. package/dist/editor/page-editor-chrome/InsertComponentMenu.js.map +1 -0
  275. package/dist/editor/page-editor-chrome/PageEditorChrome.js +14 -2
  276. package/dist/editor/page-editor-chrome/PageEditorChrome.js.map +1 -1
  277. package/dist/editor/page-editor-chrome/PlaceholderDropZone.d.ts +33 -2
  278. package/dist/editor/page-editor-chrome/PlaceholderDropZone.js +94 -71
  279. package/dist/editor/page-editor-chrome/PlaceholderDropZone.js.map +1 -1
  280. package/dist/editor/page-editor-chrome/PlaceholderDropZones.d.ts +13 -2
  281. package/dist/editor/page-editor-chrome/PlaceholderDropZones.js +105 -203
  282. package/dist/editor/page-editor-chrome/PlaceholderDropZones.js.map +1 -1
  283. package/dist/editor/page-editor-chrome/SuggestionHighlightings.js +51 -88
  284. package/dist/editor/page-editor-chrome/SuggestionHighlightings.js.map +1 -1
  285. package/dist/editor/page-editor-chrome/bridgeInlineFormatToolbarLayout.js +2 -1
  286. package/dist/editor/page-editor-chrome/bridgeInlineFormatToolbarLayout.js.map +1 -1
  287. package/dist/editor/page-editor-chrome/componentDragObject.d.ts +10 -0
  288. package/dist/editor/page-editor-chrome/componentDragObject.js +22 -0
  289. package/dist/editor/page-editor-chrome/componentDragObject.js.map +1 -0
  290. package/dist/editor/page-editor-chrome/overlay/IframeOverlayProvider.d.ts +32 -0
  291. package/dist/editor/page-editor-chrome/overlay/IframeOverlayProvider.js +8 -0
  292. package/dist/editor/page-editor-chrome/overlay/IframeOverlayProvider.js.map +1 -1
  293. package/dist/editor/page-editor-chrome/overlay/InsertionLine.d.ts +44 -0
  294. package/dist/editor/page-editor-chrome/overlay/InsertionLine.js +160 -0
  295. package/dist/editor/page-editor-chrome/overlay/InsertionLine.js.map +1 -0
  296. package/dist/editor/page-editor-chrome/overlay/geometry.d.ts +39 -0
  297. package/dist/editor/page-editor-chrome/overlay/geometry.js +67 -10
  298. package/dist/editor/page-editor-chrome/overlay/geometry.js.map +1 -1
  299. package/dist/editor/page-editor-chrome/overlay/placeholderZones.d.ts +66 -0
  300. package/dist/editor/page-editor-chrome/overlay/placeholderZones.js +274 -0
  301. package/dist/editor/page-editor-chrome/overlay/placeholderZones.js.map +1 -0
  302. package/dist/editor/page-editor-chrome/useComponentDragHandle.d.ts +23 -0
  303. package/dist/editor/page-editor-chrome/useComponentDragHandle.js +41 -0
  304. package/dist/editor/page-editor-chrome/useComponentDragHandle.js.map +1 -0
  305. package/dist/editor/page-editor-chrome/useDragInsertionGesture.d.ts +23 -0
  306. package/dist/editor/page-editor-chrome/useDragInsertionGesture.js +207 -0
  307. package/dist/editor/page-editor-chrome/useDragInsertionGesture.js.map +1 -0
  308. package/dist/editor/page-editor-chrome/usePinnedHoveredComponentId.d.ts +2 -0
  309. package/dist/editor/page-editor-chrome/usePinnedHoveredComponentId.js +18 -0
  310. package/dist/editor/page-editor-chrome/usePinnedHoveredComponentId.js.map +1 -0
  311. package/dist/editor/page-viewer/EditorForm.js +14 -12
  312. package/dist/editor/page-viewer/EditorForm.js.map +1 -1
  313. package/dist/editor/page-viewer/EditorFormHintPopover.d.ts +2 -2
  314. package/dist/editor/page-viewer/EditorFormHintPopover.js +4 -4
  315. package/dist/editor/page-viewer/EditorFormHintPopover.js.map +1 -1
  316. package/dist/editor/page-viewer/MiniMap.d.ts +6 -0
  317. package/dist/editor/page-viewer/MiniMap.js +97 -12
  318. package/dist/editor/page-viewer/MiniMap.js.map +1 -1
  319. package/dist/editor/page-viewer/MinimapDropTargets.d.ts +13 -0
  320. package/dist/editor/page-viewer/MinimapDropTargets.js +140 -0
  321. package/dist/editor/page-viewer/MinimapDropTargets.js.map +1 -0
  322. package/dist/editor/page-viewer/PageViewer.js +96 -10
  323. package/dist/editor/page-viewer/PageViewer.js.map +1 -1
  324. package/dist/editor/page-viewer/PageViewerFrame.js +263 -6
  325. package/dist/editor/page-viewer/PageViewerFrame.js.map +1 -1
  326. package/dist/editor/page-viewer/pageViewContext.d.ts +4 -1
  327. package/dist/editor/page-viewer/pageViewContext.js.map +1 -1
  328. package/dist/editor/reviews/Comment.js +2 -0
  329. package/dist/editor/reviews/Comment.js.map +1 -1
  330. package/dist/editor/reviews/CommentDisplayPopover.js +5 -2
  331. package/dist/editor/reviews/CommentDisplayPopover.js.map +1 -1
  332. package/dist/editor/reviews/CommentPopover.d.ts +4 -0
  333. package/dist/editor/reviews/CommentPopover.js +15 -1
  334. package/dist/editor/reviews/CommentPopover.js.map +1 -1
  335. package/dist/editor/reviews/Comments.js +61 -44
  336. package/dist/editor/reviews/Comments.js.map +1 -1
  337. package/dist/editor/reviews/DecisionsMatrix.js +3 -3
  338. package/dist/editor/reviews/DecisionsMatrix.js.map +1 -1
  339. package/dist/editor/reviews/FeedbackModeIntro.d.ts +15 -0
  340. package/dist/editor/reviews/FeedbackModeIntro.js +22 -0
  341. package/dist/editor/reviews/FeedbackModeIntro.js.map +1 -0
  342. package/dist/editor/reviews/LatestFeedback.js +8 -2
  343. package/dist/editor/reviews/LatestFeedback.js.map +1 -1
  344. package/dist/editor/reviews/ReviewersPanel.js +2 -1
  345. package/dist/editor/reviews/ReviewersPanel.js.map +1 -1
  346. package/dist/editor/reviews/SuggestedEdit.js +9 -7
  347. package/dist/editor/reviews/SuggestedEdit.js.map +1 -1
  348. package/dist/editor/reviews/SuggestionDisplayPopover.js +3 -3
  349. package/dist/editor/reviews/SuggestionDisplayPopover.js.map +1 -1
  350. package/dist/editor/reviews/feedbackScrollTarget.d.ts +19 -0
  351. package/dist/editor/reviews/feedbackScrollTarget.js +171 -0
  352. package/dist/editor/reviews/feedbackScrollTarget.js.map +1 -0
  353. package/dist/editor/reviews/feedbackSelection.js +4 -4
  354. package/dist/editor/reviews/feedbackSelection.js.map +1 -1
  355. package/dist/editor/reviews/latestFeedbackData.js +1 -1
  356. package/dist/editor/reviews/openCommentsFeedback.d.ts +35 -0
  357. package/dist/editor/reviews/openCommentsFeedback.js +89 -0
  358. package/dist/editor/reviews/openCommentsFeedback.js.map +1 -0
  359. package/dist/editor/services/agentService.d.ts +5 -0
  360. package/dist/editor/services/agentService.js.map +1 -1
  361. package/dist/editor/services/aiService.d.ts +0 -2
  362. package/dist/editor/services/aiService.js.map +1 -1
  363. package/dist/editor/services/editService.d.ts +1 -0
  364. package/dist/editor/services/editService.js +4 -0
  365. package/dist/editor/services/editService.js.map +1 -1
  366. package/dist/editor/settings/IndexOverview.js +2 -2
  367. package/dist/editor/settings/IndexOverview.js.map +1 -1
  368. package/dist/editor/settings/QuotaInfo.js +2 -2
  369. package/dist/editor/settings/QuotaInfo.js.map +1 -1
  370. package/dist/editor/settings/SettingsBreadcrumb.js +8 -2
  371. package/dist/editor/settings/SettingsBreadcrumb.js.map +1 -1
  372. package/dist/editor/settings/SettingsPanelLayout.js +1 -1
  373. package/dist/editor/settings/SettingsPanelLayout.js.map +1 -1
  374. package/dist/editor/settings/SettingsView.js +7 -9
  375. package/dist/editor/settings/SettingsView.js.map +1 -1
  376. package/dist/editor/settings/StatusSummary.js +7 -17
  377. package/dist/editor/settings/StatusSummary.js.map +1 -1
  378. package/dist/editor/settings/panels/AgentToolsPanel.js +2 -1
  379. package/dist/editor/settings/panels/AgentToolsPanel.js.map +1 -1
  380. package/dist/editor/settings/panels/ClusterInstancesPanel.js +2 -1
  381. package/dist/editor/settings/panels/ClusterInstancesPanel.js.map +1 -1
  382. package/dist/editor/settings/panels/FieldTypeSerializersPanel.js +2 -1
  383. package/dist/editor/settings/panels/FieldTypeSerializersPanel.js.map +1 -1
  384. package/dist/editor/settings/panels/GroupedFieldConfigPanel.js +3 -2
  385. package/dist/editor/settings/panels/GroupedFieldConfigPanel.js.map +1 -1
  386. package/dist/editor/settings/panels/ItemConfigPanel.js +3 -2
  387. package/dist/editor/settings/panels/ItemConfigPanel.js.map +1 -1
  388. package/dist/editor/settings/panels/JavaScriptToolAgentPanel.js +2 -1
  389. package/dist/editor/settings/panels/JavaScriptToolAgentPanel.js.map +1 -1
  390. package/dist/editor/settings/panels/NotificationSubscriptionsPanel.js +2 -1
  391. package/dist/editor/settings/panels/NotificationSubscriptionsPanel.js.map +1 -1
  392. package/dist/editor/settings/panels/PersistentLogsPanel.js +3 -2
  393. package/dist/editor/settings/panels/PersistentLogsPanel.js.map +1 -1
  394. package/dist/editor/settings/panels/ProjectTemplateAgentPanel.js +2 -1
  395. package/dist/editor/settings/panels/ProjectTemplateAgentPanel.js.map +1 -1
  396. package/dist/editor/settings/panels/ProjectTemplateSelectorList.js +3 -2
  397. package/dist/editor/settings/panels/ProjectTemplateSelectorList.js.map +1 -1
  398. package/dist/editor/settings/panels/ProjectTemplatesPanel.js +3 -3
  399. package/dist/editor/settings/panels/ProjectTemplatesPanel.js.map +1 -1
  400. package/dist/editor/settings/panels/SearchConfigPanel.js +3 -2
  401. package/dist/editor/settings/panels/SearchConfigPanel.js.map +1 -1
  402. package/dist/editor/settings/panels/StatusPanel.js +3 -2
  403. package/dist/editor/settings/panels/StatusPanel.js.map +1 -1
  404. package/dist/editor/sidebar/ComponentPalette.d.ts +1 -1
  405. package/dist/editor/sidebar/ComponentPalette.js +58 -25
  406. package/dist/editor/sidebar/ComponentPalette.js.map +1 -1
  407. package/dist/editor/sidebar/ComponentTree.js +91 -7
  408. package/dist/editor/sidebar/ComponentTree.js.map +1 -1
  409. package/dist/editor/sidebar/ContentTreePanel.d.ts +3 -0
  410. package/dist/editor/sidebar/ContentTreePanel.js +14 -0
  411. package/dist/editor/sidebar/ContentTreePanel.js.map +1 -0
  412. package/dist/editor/sidebar/Favorites.js +2 -2
  413. package/dist/editor/sidebar/Favorites.js.map +1 -1
  414. package/dist/editor/sidebar/NavigationPanelItem.js +2 -1
  415. package/dist/editor/sidebar/NavigationPanelItem.js.map +1 -1
  416. package/dist/editor/sidebar/OperationItem.js +98 -17
  417. package/dist/editor/sidebar/OperationItem.js.map +1 -1
  418. package/dist/editor/sidebar/Workbox.js +14 -133
  419. package/dist/editor/sidebar/Workbox.js.map +1 -1
  420. package/dist/editor/sidebar/WorkspaceButton.js +1 -1
  421. package/dist/editor/sidebar/WorkspaceButton.js.map +1 -1
  422. package/dist/editor/sidebar/WorkspaceRail.js +12 -9
  423. package/dist/editor/sidebar/WorkspaceRail.js.map +1 -1
  424. package/dist/editor/sidebar/contentTreeConstants.d.ts +2 -0
  425. package/dist/editor/sidebar/contentTreeConstants.js +3 -0
  426. package/dist/editor/sidebar/contentTreeConstants.js.map +1 -0
  427. package/dist/editor/tree-indicators/GutterColumns.js +4 -14
  428. package/dist/editor/tree-indicators/GutterColumns.js.map +1 -1
  429. package/dist/editor/ui/ItemCollectionEditor.js +3 -2
  430. package/dist/editor/ui/ItemCollectionEditor.js.map +1 -1
  431. package/dist/editor/ui/LoadingState.d.ts +11 -0
  432. package/dist/editor/ui/LoadingState.js +27 -0
  433. package/dist/editor/ui/LoadingState.js.map +1 -0
  434. package/dist/editor/ui/PerfectTree.d.ts +22 -1
  435. package/dist/editor/ui/PerfectTree.js +17 -11
  436. package/dist/editor/ui/PerfectTree.js.map +1 -1
  437. package/dist/editor/ui/PublishDialog.d.ts +11 -0
  438. package/dist/editor/ui/PublishDialog.js +101 -0
  439. package/dist/editor/ui/PublishDialog.js.map +1 -0
  440. package/dist/editor/ui/PublishItemDialog.js +2 -1
  441. package/dist/editor/ui/PublishItemDialog.js.map +1 -1
  442. package/dist/editor/ui/PublishRestrictionsDialog.js +3 -2
  443. package/dist/editor/ui/PublishRestrictionsDialog.js.map +1 -1
  444. package/dist/editor/ui/SimpleIconButton.d.ts +6 -0
  445. package/dist/editor/ui/SimpleIconButton.js +13 -4
  446. package/dist/editor/ui/SimpleIconButton.js.map +1 -1
  447. package/dist/editor/ui/SimpleMenu.js +4 -4
  448. package/dist/editor/ui/SimpleMenu.js.map +1 -1
  449. package/dist/editor/ui/SimpleTabs.js +1 -1
  450. package/dist/editor/ui/Spinner.d.ts +14 -1
  451. package/dist/editor/ui/Spinner.js.map +1 -1
  452. package/dist/editor/ui/WorkboxItemsTable.d.ts +15 -0
  453. package/dist/editor/ui/WorkboxItemsTable.js +142 -0
  454. package/dist/editor/ui/WorkboxItemsTable.js.map +1 -0
  455. package/dist/index.d.ts +4 -0
  456. package/dist/index.js +2 -0
  457. package/dist/index.js.map +1 -1
  458. package/dist/lib/pointerDrag.d.ts +20 -0
  459. package/dist/lib/pointerDrag.js +57 -0
  460. package/dist/lib/pointerDrag.js.map +1 -0
  461. package/dist/logging/consolePrefix.d.ts +2 -0
  462. package/dist/logging/consolePrefix.js +49 -0
  463. package/dist/logging/consolePrefix.js.map +1 -0
  464. package/dist/logging/index.d.ts +1 -0
  465. package/dist/logging/index.js +2 -0
  466. package/dist/logging/index.js.map +1 -0
  467. package/dist/logging/install-browser-console.d.ts +1 -0
  468. package/dist/logging/install-browser-console.js +3 -0
  469. package/dist/logging/install-browser-console.js.map +1 -0
  470. package/dist/revision.d.ts +2 -2
  471. package/dist/revision.js +2 -2
  472. package/dist/splash-screen/ModernSplashScreen.js +2 -1
  473. package/dist/splash-screen/ModernSplashScreen.js.map +1 -1
  474. package/dist/task-board/TaskBoardWorkspace.js +181 -35
  475. package/dist/task-board/TaskBoardWorkspace.js.map +1 -1
  476. package/dist/task-board/components/CommentsList.js +20 -9
  477. package/dist/task-board/components/CommentsList.js.map +1 -1
  478. package/dist/task-board/components/FinishedProjectCard.d.ts +5 -0
  479. package/dist/task-board/components/FinishedProjectCard.js +8 -0
  480. package/dist/task-board/components/FinishedProjectCard.js.map +1 -0
  481. package/dist/task-board/components/ProjectDashboard.d.ts +10 -1
  482. package/dist/task-board/components/ProjectDashboard.js +90 -6
  483. package/dist/task-board/components/ProjectDashboard.js.map +1 -1
  484. package/dist/task-board/components/ProjectListContent.js +2 -1
  485. package/dist/task-board/components/ProjectListContent.js.map +1 -1
  486. package/dist/task-board/components/ProjectOverviewContent.js +2 -1
  487. package/dist/task-board/components/ProjectOverviewContent.js.map +1 -1
  488. package/dist/task-board/components/TaskAgentPanel.d.ts +4 -0
  489. package/dist/task-board/components/TaskAgentPanel.js +12 -6
  490. package/dist/task-board/components/TaskAgentPanel.js.map +1 -1
  491. package/dist/task-board/components/TaskAssigneeBadge.d.ts +16 -0
  492. package/dist/task-board/components/TaskAssigneeBadge.js +21 -0
  493. package/dist/task-board/components/TaskAssigneeBadge.js.map +1 -0
  494. package/dist/task-board/components/TaskAssigneePicker.js +12 -10
  495. package/dist/task-board/components/TaskAssigneePicker.js.map +1 -1
  496. package/dist/task-board/components/TaskAttachmentDropZone.d.ts +11 -0
  497. package/dist/task-board/components/TaskAttachmentDropZone.js +100 -0
  498. package/dist/task-board/components/TaskAttachmentDropZone.js.map +1 -0
  499. package/dist/task-board/components/TaskAttachmentsSection.d.ts +1 -0
  500. package/dist/task-board/components/TaskAttachmentsSection.js +15 -41
  501. package/dist/task-board/components/TaskAttachmentsSection.js.map +1 -1
  502. package/dist/task-board/components/TaskBoardFilterBox.d.ts +4 -0
  503. package/dist/task-board/components/TaskBoardFilterBox.js +7 -0
  504. package/dist/task-board/components/TaskBoardFilterBox.js.map +1 -0
  505. package/dist/task-board/components/TaskBoardProjectListSidebar.js +4 -5
  506. package/dist/task-board/components/TaskBoardProjectListSidebar.js.map +1 -1
  507. package/dist/task-board/components/TaskCard.js +26 -15
  508. package/dist/task-board/components/TaskCard.js.map +1 -1
  509. package/dist/task-board/components/TaskDetailPanel.d.ts +1 -0
  510. package/dist/task-board/components/TaskDetailPanel.js +15 -12
  511. package/dist/task-board/components/TaskDetailPanel.js.map +1 -1
  512. package/dist/task-board/components/TaskReviewActions.d.ts +1 -0
  513. package/dist/task-board/components/TaskReviewActions.js +4 -2
  514. package/dist/task-board/components/TaskReviewActions.js.map +1 -1
  515. package/dist/task-board/components/TaskRow.js +6 -12
  516. package/dist/task-board/components/TaskRow.js.map +1 -1
  517. package/dist/task-board/components/TaskboardPersistentLogPanel.js +3 -3
  518. package/dist/task-board/components/TaskboardPersistentLogPanel.js.map +1 -1
  519. package/dist/task-board/components/WizardCommunicationCards.js +1 -1
  520. package/dist/task-board/components/WizardCommunicationCards.js.map +1 -1
  521. package/dist/task-board/components/WizardCommunicationCenter.d.ts +7 -1
  522. package/dist/task-board/components/WizardCommunicationCenter.js +10 -6
  523. package/dist/task-board/components/WizardCommunicationCenter.js.map +1 -1
  524. package/dist/task-board/components/WizardCommunicationShared.js +5 -5
  525. package/dist/task-board/components/WizardCommunicationShared.js.map +1 -1
  526. package/dist/task-board/components/WizardTask.d.ts +5 -1
  527. package/dist/task-board/components/WizardTask.js +14 -30
  528. package/dist/task-board/components/WizardTask.js.map +1 -1
  529. package/dist/task-board/components/WizardTaskDetailsPanel.d.ts +10 -2
  530. package/dist/task-board/components/WizardTaskDetailsPanel.js +56 -11
  531. package/dist/task-board/components/WizardTaskDetailsPanel.js.map +1 -1
  532. package/dist/task-board/taskBoardNavStore.d.ts +3 -0
  533. package/dist/task-board/taskBoardNavStore.js +44 -0
  534. package/dist/task-board/taskBoardNavStore.js.map +1 -1
  535. package/dist/task-board/taskPriority.d.ts +4 -0
  536. package/dist/task-board/taskPriority.js +19 -0
  537. package/dist/task-board/taskPriority.js.map +1 -0
  538. package/dist/task-board/views/DependencyGraphView.js +48 -36
  539. package/dist/task-board/views/DependencyGraphView.js.map +1 -1
  540. package/dist/task-board/views/KanbanView.js +130 -96
  541. package/dist/task-board/views/KanbanView.js.map +1 -1
  542. package/dist/task-board/views/ListView.js +3 -3
  543. package/dist/task-board/views/ListView.js.map +1 -1
  544. package/dist/task-board/views/WizardView.js +7 -6
  545. package/dist/task-board/views/WizardView.js.map +1 -1
  546. package/dist/tour/default-tour.js +5 -5
  547. package/dist/tour/default-tour.js.map +1 -1
  548. package/package.json +11 -1
  549. package/styles.css +144 -0
  550. package/dist/editor/ai/terminal/useAgentEditorContextSync.d.ts +0 -19
  551. package/dist/editor/ai/terminal/useAgentEditorContextSync.js +0 -142
  552. package/dist/editor/ai/terminal/useAgentEditorContextSync.js.map +0 -1
@@ -0,0 +1,25 @@
1
+ import type { ReactNode } from "react";
2
+ import type { InsertOption } from "../../types";
3
+ /**
4
+ * The component insert/append menu. Unlike a context menu it is anchored to the
5
+ * placeholder "+" button it belongs to (via {@link PopoverTrigger}) rather than
6
+ * popping up at the mouse position. It opens to the right by default, flips/
7
+ * shifts to stay on-screen (Radix collision handling), and animates in with a
8
+ * slide + zoom from the anchor.
9
+ *
10
+ * The trigger is the caller's "+" button: pass it as {@link children}. The
11
+ * caller keeps full ownership of the button's click handling - opening is driven
12
+ * by the controlled `open`/`onOpenChange` pair, so modifier-click / quick-insert
13
+ * shortcuts can short-circuit (preventDefault) without ever opening the menu.
14
+ */
15
+ export declare function InsertComponentMenu({ open, onOpenChange, title, options, onSelect, side, align, sideOffset, children, }: {
16
+ open: boolean;
17
+ onOpenChange: (open: boolean) => void;
18
+ title: string;
19
+ options: InsertOption[];
20
+ onSelect: (option: InsertOption) => void;
21
+ side?: "top" | "right" | "bottom" | "left";
22
+ align?: "start" | "center" | "end";
23
+ sideOffset?: number;
24
+ children: ReactNode;
25
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,30 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { Popover, PopoverContent, PopoverTrigger, } from "../../components/ui/popover";
4
+ import { cn } from "../../lib/utils";
5
+ import { buildInsertMenuSections } from "../insertMenuItems";
6
+ import { getAbsoluteIconUrl } from "../utils";
7
+ /**
8
+ * The component insert/append menu. Unlike a context menu it is anchored to the
9
+ * placeholder "+" button it belongs to (via {@link PopoverTrigger}) rather than
10
+ * popping up at the mouse position. It opens to the right by default, flips/
11
+ * shifts to stay on-screen (Radix collision handling), and animates in with a
12
+ * slide + zoom from the anchor.
13
+ *
14
+ * The trigger is the caller's "+" button: pass it as {@link children}. The
15
+ * caller keeps full ownership of the button's click handling - opening is driven
16
+ * by the controlled `open`/`onOpenChange` pair, so modifier-click / quick-insert
17
+ * shortcuts can short-circuit (preventDefault) without ever opening the menu.
18
+ */
19
+ export function InsertComponentMenu({ open, onOpenChange, title, options, onSelect, side = "right", align = "start", sideOffset = 14, children, }) {
20
+ const sections = buildInsertMenuSections(options);
21
+ return (_jsxs(Popover, { open: open, onOpenChange: onOpenChange, children: [_jsx(PopoverTrigger, { asChild: true, children: children }), _jsxs(PopoverContent, { side: side, align: align, sideOffset: sideOffset, collisionPadding: 12,
22
+ // Keep focus on the canvas; the overlay sits above an iframe and
23
+ // auto-focusing the panel can scroll the editor unexpectedly.
24
+ onOpenAutoFocus: (event) => event.preventDefault(), "data-testid": "insert-component-menu", className: cn("border-border-default text-popover-foreground z-250 w-60 max-w-[15rem] overflow-hidden rounded-[4px] border bg-white/95 p-1.5 backdrop-blur-md", "data-[state=open]:animate-in data-[state=closed]:animate-out", "data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0", "data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95", "data-[side=right]:slide-in-from-left-1.5 data-[side=left]:slide-in-from-right-1.5", "data-[side=top]:slide-in-from-bottom-1.5 data-[side=bottom]:slide-in-from-top-1.5", "duration-150 ease-out"), children: [_jsx("div", { className: "text-neutral-grey-50 px-2 pt-1 pb-1.5 text-[11px] font-semibold tracking-wide uppercase", children: title }), _jsx("div", { className: "flex max-h-[min(60vh,22rem)] flex-col gap-0.5 overflow-y-auto", children: sections.map((section, sectionIndex) => (_jsxs("div", { className: "flex flex-col", children: [section.name && (_jsx("div", { className: "text-neutral-grey-50/80 px-2 pt-2 pb-0.5 text-[10px] font-medium tracking-wide uppercase", children: section.name })), section.options.map((option) => (_jsxs("button", { type: "button", "data-testid": "insert-component-menu-item", "data-type-id": option.typeId, onClick: (event) => {
25
+ event.preventDefault();
26
+ event.stopPropagation();
27
+ onSelect(option);
28
+ }, className: cn("group flex w-full items-center gap-2.5 rounded-[4px] px-2 py-1.5 text-left text-[12px]", "transition-colors duration-100 ease-out", "hover:bg-neutral-grey-5 focus-visible:bg-neutral-grey-5 focus-visible:outline-none"), children: [_jsx("span", { className: "bg-neutral-grey-5 flex h-6 w-6 shrink-0 items-center justify-center rounded-[4px] transition-colors duration-100 group-hover:bg-white", children: _jsx("img", { src: getAbsoluteIconUrl(option.icon), width: 16, height: 16, className: "shrink-0", alt: "" }) }), _jsx("span", { className: "truncate", children: option.name })] }, option.typeId)))] }, section.name ?? sectionIndex))) })] })] }));
29
+ }
30
+ //# sourceMappingURL=InsertComponentMenu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InsertComponentMenu.js","sourceRoot":"","sources":["../../../src/editor/page-editor-chrome/InsertComponentMenu.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAIb,OAAO,EACL,OAAO,EACP,cAAc,EACd,cAAc,GACf,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAErC,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAE9C;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,mBAAmB,CAAC,EAClC,IAAI,EACJ,YAAY,EACZ,KAAK,EACL,OAAO,EACP,QAAQ,EACR,IAAI,GAAG,OAAO,EACd,KAAK,GAAG,OAAO,EACf,UAAU,GAAG,EAAE,EACf,QAAQ,GAWT;IACC,MAAM,QAAQ,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC;IAElD,OAAO,CACL,MAAC,OAAO,IAAC,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,aAC7C,KAAC,cAAc,IAAC,OAAO,kBAAE,QAAQ,GAAkB,EACnD,MAAC,cAAc,IACb,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,UAAU,EACtB,gBAAgB,EAAE,EAAE;gBACpB,iEAAiE;gBACjE,8DAA8D;gBAC9D,eAAe,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,cAAc,EAAE,iBACtC,uBAAuB,EACnC,SAAS,EAAE,EAAE,CACX,gJAAgJ,EAChJ,8DAA8D,EAC9D,4DAA4D,EAC5D,8DAA8D,EAC9D,mFAAmF,EACnF,mFAAmF,EACnF,uBAAuB,CACxB,aAED,cAAK,SAAS,EAAC,yFAAyF,YACrG,KAAK,GACF,EACN,cAAK,SAAS,EAAC,+DAA+D,YAC3E,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,CAAC,CACvC,eAAwC,SAAS,EAAC,eAAe,aAC9D,OAAO,CAAC,IAAI,IAAI,CACf,cAAK,SAAS,EAAC,0FAA0F,YACtG,OAAO,CAAC,IAAI,GACT,CACP,EACA,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAC/B,kBAEE,IAAI,EAAC,QAAQ,iBACD,4BAA4B,kBAC1B,MAAM,CAAC,MAAM,EAC3B,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;wCACjB,KAAK,CAAC,cAAc,EAAE,CAAC;wCACvB,KAAK,CAAC,eAAe,EAAE,CAAC;wCACxB,QAAQ,CAAC,MAAM,CAAC,CAAC;oCACnB,CAAC,EACD,SAAS,EAAE,EAAE,CACX,wFAAwF,EACxF,yCAAyC,EACzC,oFAAoF,CACrF,aAED,eAAM,SAAS,EAAC,uIAAuI,YACrJ,cACE,GAAG,EAAE,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,EACpC,KAAK,EAAE,EAAE,EACT,MAAM,EAAE,EAAE,EACV,SAAS,EAAC,UAAU,EACpB,GAAG,EAAC,EAAE,GACN,GACG,EACP,eAAM,SAAS,EAAC,UAAU,YAAE,MAAM,CAAC,IAAI,GAAQ,KAxB1C,MAAM,CAAC,MAAM,CAyBX,CACV,CAAC,KAlCM,OAAO,CAAC,IAAI,IAAI,YAAY,CAmChC,CACP,CAAC,GACE,IACS,IACT,CACX,CAAC;AACJ,CAAC"}
@@ -1,7 +1,9 @@
1
1
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useState } from "react";
2
3
  import { useEditContext } from "../client/editContext";
3
4
  import { FieldActionsIndicators } from "./FieldActionIndicators";
4
5
  import { PlaceholderDropZones } from "./PlaceholderDropZones";
6
+ import { DragInsertionOverlay } from "./DragInsertionOverlay";
5
7
  import { PictureEditorOverlay } from "./PictureEditorOverlay";
6
8
  import { LockedFieldIndicator } from "./LockedFieldIndicator";
7
9
  import { FrameMenus } from "./FrameMenus";
@@ -13,6 +15,15 @@ import { useSlotContext } from "../views/editorSlotContext";
13
15
  import { useOverlayMeasurement } from "./overlay/useOverlayMeasurement";
14
16
  import { BridgeInlineFormatOverlay } from "./BridgeInlineFormatOverlay";
15
17
  import { measureElementRect, rectEquals, } from "./overlay/geometry";
18
+ import { componentFrameBgColorVariants } from "../componentFrameColors";
19
+ // Keeps the "+" dots and the drag insertion line in sync: DragInsertionOverlay
20
+ // publishes the gap it is currently targeting, and PlaceholderDropZones lights
21
+ // up the matching dot. The state lives here (not in PageEditorChrome) so a gap
22
+ // change only re-renders these two siblings, not the whole chrome.
23
+ function PlaceholderInsertionLayer({ pageViewContext, }) {
24
+ const [activeTargetKey, setActiveTargetKey] = useState(null);
25
+ return (_jsxs(_Fragment, { children: [_jsx(PlaceholderDropZones, { size: "large", pageViewContext: pageViewContext, activeTargetKey: activeTargetKey }), _jsx(DragInsertionOverlay, { pageViewContext: pageViewContext, onActiveTargetChange: setActiveTargetKey })] }));
26
+ }
16
27
  export function PageEditorChrome(props) {
17
28
  const editContext = useEditContext();
18
29
  const hasBridgeChromeData = props.pageViewContext.bridgeReady ||
@@ -25,7 +36,7 @@ export function PageEditorChrome(props) {
25
36
  }
26
37
  function PageEditorChromeContent({ compareView, pageViewContext, editContext, onBridgeRichTextCommand, }) {
27
38
  const slotContext = useSlotContext();
28
- return (_jsxs(_Fragment, { children: [_jsx(FrameMenus, { pageViewContext: pageViewContext, compareView: compareView }), _jsx(BridgeInlineFormatOverlay, { onCommand: onBridgeRichTextCommand, pageViewContext: pageViewContext }), editContext.mode === "edit" && (_jsxs(_Fragment, { children: [_jsx(PlaceholderDropZones, { size: "large", pageViewContext: pageViewContext }), slotContext?.isActive && _jsx(InsertingIndicator, {})] })), editContext.showComments && (_jsx(CommentHighlightings, { pageViewContext: pageViewContext })), editContext.showSuggestedEdits && (_jsx(SuggestionHighlightings, { pageViewContext: pageViewContext })), _jsx(LockedFieldIndicator, { pageViewContext: pageViewContext }), editContext.mode === "edit" && (_jsx(PictureEditorOverlay, { pageViewContext: pageViewContext })), editContext.showVersionDiffHighlighting && (_jsx(VersionDiffHighlightings, { pageViewContext: pageViewContext })), _jsx(FieldActionsIndicators, { pageViewContext: pageViewContext }), _jsx(FieldEditedIndicators, { pageViewContext: pageViewContext })] }));
39
+ return (_jsxs(_Fragment, { children: [_jsx(FrameMenus, { pageViewContext: pageViewContext, compareView: compareView }), _jsx(BridgeInlineFormatOverlay, { onCommand: onBridgeRichTextCommand, pageViewContext: pageViewContext }), editContext.mode === "edit" && (_jsxs(_Fragment, { children: [_jsx(PlaceholderInsertionLayer, { pageViewContext: pageViewContext }), slotContext?.isActive && _jsx(InsertingIndicator, {})] })), editContext.showComments && (_jsx(CommentHighlightings, { pageViewContext: pageViewContext })), editContext.showSuggestedEdits && (_jsx(SuggestionHighlightings, { pageViewContext: pageViewContext })), _jsx(LockedFieldIndicator, { pageViewContext: pageViewContext }), editContext.mode === "edit" && (_jsx(PictureEditorOverlay, { pageViewContext: pageViewContext })), editContext.showVersionDiffHighlighting && (_jsx(VersionDiffHighlightings, { pageViewContext: pageViewContext })), _jsx(FieldActionsIndicators, { pageViewContext: pageViewContext }), _jsx(FieldEditedIndicators, { pageViewContext: pageViewContext })] }));
29
40
  }
30
41
  function InsertingIndicator() {
31
42
  const editContext = useEditContext();
@@ -62,7 +73,8 @@ function InsertingIndicator() {
62
73
  });
63
74
  if (!position)
64
75
  return null;
65
- return (_jsxs("div", { className: "pointer-events-none absolute flex h-8 w-8", style: { top: position.y - 16, left: position.x - 16, zIndex: 1000 }, children: [_jsx("span", { className: "bg-feedback-blue absolute inline-flex h-full w-full animate-ping rounded-full opacity-75" }), _jsx("span", { className: "bg-feedback-blue relative inline-flex h-8 w-8 rounded-full" })] }));
76
+ const colorClassName = componentFrameBgColorVariants[inserting?.color ?? "default"];
77
+ return (_jsxs("div", { className: "pointer-events-none absolute flex h-8 w-8", style: { top: position.y - 16, left: position.x - 16, zIndex: 1000 }, children: [_jsx("span", { className: `${colorClassName} absolute inline-flex h-full w-full animate-ping rounded-full opacity-75` }), _jsx("span", { className: `${colorClassName} relative inline-flex h-8 w-8 rounded-full` })] }));
66
78
  }
67
79
  function clampInsertionPosition(position, metrics) {
68
80
  const maxX = Math.max(20, metrics.scrollWidth * metrics.visualScale - 20);
@@ -1 +1 @@
1
- {"version":3,"file":"PageEditorChrome.js","sourceRoot":"","sources":["../../../src/editor/page-editor-chrome/PageEditorChrome.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PageEditorChrome.js","sourceRoot":"","sources":["../../../src/editor/page-editor-chrome/PageEditorChrome.tsx"],"names":[],"mappings":"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"}
@@ -1,5 +1,7 @@
1
1
  import { Placeholder } from "../pageModel";
2
- export declare function PlaceholderDropZone({ placeholder, description, index, parentName, spotPosition, spotPositionElement, spotPositionAnchor, size, className, insertMenuTitle, typeIdOnCtrlClick, isLayoutZone, }: {
2
+ import { type ComponentFrameColor, type ComponentFrameInsertColor } from "../componentFrameColors";
3
+ export declare const SMALL_DROPZONE_SCALE = 0.44;
4
+ export declare function PlaceholderDropZone({ placeholder, description, index, parentName, spotPosition, displaySpotPosition, spotPositionElement, spotPositionAnchor, size, className, insertMenuTitle, typeIdOnCtrlClick, color, frameColor, pillLabel, onDragHandlePointerDown, interactive, isActiveTarget, }: {
3
5
  placeholder: Placeholder;
4
6
  description?: string;
5
7
  index: number;
@@ -8,11 +10,40 @@ export declare function PlaceholderDropZone({ placeholder, description, index, p
8
10
  x: number;
9
11
  y: number;
10
12
  };
13
+ displaySpotPosition?: {
14
+ x: number;
15
+ y: number;
16
+ };
11
17
  spotPositionElement?: Element | null;
12
18
  size: "large" | "small";
13
19
  spotPositionAnchor: "top" | "bottom" | "left" | "right";
14
20
  className?: string;
15
21
  insertMenuTitle?: string;
16
22
  typeIdOnCtrlClick?: string;
17
- isLayoutZone?: boolean;
23
+ color?: ComponentFrameInsertColor;
24
+ frameColor?: ComponentFrameColor;
25
+ /**
26
+ * When set, the dropzone renders as a labelled "pill" button (a "+" icon
27
+ * followed by this text) instead of the compact circular "+". Used for the
28
+ * component append affordance in {@link FrameMenu}.
29
+ */
30
+ pillLabel?: string;
31
+ /**
32
+ * Pointer-down handler for the pill's drag grip. When provided (pill mode), a
33
+ * 6-dot grip is rendered to the left of the pill; pressing and dragging it
34
+ * starts a whole-component drag - the same gesture the frame-header grip uses.
35
+ */
36
+ onDragHandlePointerDown?: (e: React.PointerEvent<HTMLElement>) => void;
37
+ /**
38
+ * When false (e.g. while a drag is in progress), the dot renders as a
39
+ * pointer-events-none visual affordance only - the DragInsertionOverlay owns
40
+ * the drop, so the dots stay visible but never intercept dragover/drop/hover.
41
+ */
42
+ interactive?: boolean;
43
+ /**
44
+ * True when this dot's gap is the one the drag insertion line is currently
45
+ * targeting. The dot is emphasized (scaled + ringed) and lifted above its
46
+ * siblings so it reads as the live drop target.
47
+ */
48
+ isActiveTarget?: boolean;
18
49
  }): import("react/jsx-runtime").JSX.Element | null;
@@ -2,12 +2,21 @@
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { useEffect, useRef, useState } from "react";
4
4
  import { useEditContext } from "../client/editContext";
5
- import { Plus } from "lucide-react";
5
+ import { GripVertical, Plus } from "lucide-react";
6
6
  import { cn } from "../../lib/utils";
7
+ import { getVisibleInsertOptions } from "../insertMenuItems";
8
+ import { InsertComponentMenu } from "./InsertComponentMenu";
7
9
  import { Tooltip, TooltipContent, TooltipTrigger, } from "../../components/ui/tooltip";
8
- import { buildInsertMenuItems, getVisibleInsertOptions, } from "../insertMenuItems";
9
- export function PlaceholderDropZone({ placeholder, description, index, parentName, spotPosition, spotPositionElement, spotPositionAnchor, size, className, insertMenuTitle, typeIdOnCtrlClick, isLayoutZone, }) {
10
+ import { componentFrameBgColorVariants, componentFrameBgHoverColorVariants, } from "../componentFrameColors";
11
+ export const SMALL_DROPZONE_SCALE = 0.44;
12
+ // During a drag the "+" dots sit ABOVE the insertion line (z 860, see
13
+ // InsertionLine.tsx) so the line reads as passing BEHIND the buttons. The dots
14
+ // are pointer-events-none in that mode, so the drop still routes to the drag
15
+ // surface underneath.
16
+ const DRAGGING_DROPZONE_Z_INDEX = 870;
17
+ export function PlaceholderDropZone({ placeholder, description, index, parentName, spotPosition, displaySpotPosition, spotPositionElement, spotPositionAnchor, size, className, insertMenuTitle, typeIdOnCtrlClick, color = "default", frameColor, pillLabel, onDragHandlePointerDown, interactive = true, isActiveTarget = false, }) {
10
18
  const [isHovering, setIsHovering] = useState(false);
19
+ const [menuOpen, setMenuOpen] = useState(false);
11
20
  const dropZoneRef = useRef(null);
12
21
  const editContext = useEditContext();
13
22
  function dragOver(ev) {
@@ -31,16 +40,25 @@ export function PlaceholderDropZone({ placeholder, description, index, parentNam
31
40
  setIsHovering(false);
32
41
  editContext.setStatusMessage("");
33
42
  const anchorElement = spotPositionElement ?? dropZoneRef.current;
34
- editContext.droppedInPlaceholder(placeholder.key, index, anchorElement ?? undefined, anchorElement ? spotPositionAnchor : undefined, undefined, spotPosition);
43
+ editContext.droppedInPlaceholder(placeholder.key, index, anchorElement ?? undefined, anchorElement ? spotPositionAnchor : undefined, undefined, spotPosition, color);
35
44
  }
45
+ const visualSpotPosition = displaySpotPosition ?? spotPosition;
36
46
  const overlayStyle = {
37
- top: spotPosition.y,
38
- left: spotPosition.x,
39
- zIndex: isHovering ? 40 : 30,
47
+ top: visualSpotPosition.y,
48
+ left: visualSpotPosition.x,
49
+ zIndex: interactive
50
+ ? isHovering
51
+ ? 40
52
+ : 30
53
+ : isActiveTarget
54
+ ? DRAGGING_DROPZONE_Z_INDEX + 5
55
+ : DRAGGING_DROPZONE_Z_INDEX,
40
56
  transform: "none",
41
57
  };
42
- if (size === "small")
43
- overlayStyle.transform = "scale(0.5)";
58
+ // Pills keep their full size; only the compact "+" dots scale down.
59
+ if (size === "small" && !pillLabel) {
60
+ overlayStyle.transform = `scale(${SMALL_DROPZONE_SCALE})`;
61
+ }
44
62
  useEffect(() => {
45
63
  if (!editContext)
46
64
  return;
@@ -64,6 +82,14 @@ export function PlaceholderDropZone({ placeholder, description, index, parentNam
64
82
  const visibleInsertOptions = getVisibleInsertOptions(placeholder.insertOptions);
65
83
  if (visibleInsertOptions.length === 0)
66
84
  return null;
85
+ const visualColor = frameColor ?? color;
86
+ const colorClassName = componentFrameBgColorVariants[visualColor];
87
+ const hoverColorClassName = componentFrameBgHoverColorVariants[visualColor];
88
+ const selectedInsertOption = visibleInsertOptions.find((x) => x.typeId === editContext.selectedForInsertion ||
89
+ x.compatibleTypeIds?.includes(editContext.selectedForInsertion));
90
+ // Resolve a friendly placeholder label for the tooltip title: implicit
91
+ // placeholders are keyed by GUID, so swap the GUID for the datasource/item
92
+ // display name when we can find a match.
67
93
  const formatPlaceholderLabel = (rawLabel, currentPlaceholder) => {
68
94
  const isImplicit = currentPlaceholder.key.startsWith("implicit_");
69
95
  if (!isImplicit)
@@ -83,13 +109,13 @@ export function PlaceholderDropZone({ placeholder, description, index, parentNam
83
109
  return rawLabel;
84
110
  return rawLabel.replace(guidRegex, resolvedName);
85
111
  };
86
- const ctrlTypeOption = typeIdOnCtrlClick
87
- ? visibleInsertOptions.find((x) => x.typeId === typeIdOnCtrlClick)
112
+ // Name of the type that Ctrl+Click quick-inserts, shown in the tooltip.
113
+ const ctrlTypeName = typeIdOnCtrlClick
114
+ ? visibleInsertOptions.find((x) => x.typeId === typeIdOnCtrlClick)?.name
88
115
  : undefined;
89
- const ctrlTypeName = ctrlTypeOption?.name;
90
- const selectedInsertOption = visibleInsertOptions.find((x) => x.typeId === editContext.selectedForInsertion ||
91
- x.compatibleTypeIds?.includes(editContext.selectedForInsertion));
92
116
  const placeholderLabel = `${formatPlaceholderLabel(description ?? placeholder.name, placeholder)} (${index + 1})`;
117
+ // The pill's hover tooltip: placeholder context plus the Click / Ctrl+Click
118
+ // interaction hint (the Ctrl+Click line only when a quick-insert type exists).
93
119
  const tooltipBody = typeIdOnCtrlClick ? (_jsxs("div", { className: "p-1 text-sm", children: [_jsx("div", { className: "mb-1.5 text-xs font-medium text-white", children: placeholderLabel }), _jsxs("div", { className: "space-y-0.5 text-xs text-white/85", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx("span", { className: "badge-pad-sm rounded border border-white/15 bg-white/15 font-mono text-[10px] text-white", children: "Click" }), _jsx("span", { children: "Open menu" })] }), _jsxs("div", { className: "flex items-center gap-2", children: [_jsx("span", { className: "badge-pad-sm rounded border border-white/15 bg-white/15 font-mono text-[10px] text-white", children: "Ctrl+Click" }), _jsxs("span", { children: ["Quick-add ", ctrlTypeName || "same type"] })] })] })] })) : (_jsx("div", { className: "p-1 text-sm", children: _jsx("div", { className: "text-xs font-medium text-white", children: placeholderLabel }) }));
94
120
  function dragLeave(ev) {
95
121
  // Check if we're actually leaving the drop zone (not just moving to a child element)
@@ -102,62 +128,59 @@ export function PlaceholderDropZone({ placeholder, description, index, parentNam
102
128
  }
103
129
  setIsHovering(false);
104
130
  }
105
- return (_jsx("div", { className: "pointer-events-auto absolute", style: overlayStyle, children: _jsxs("div", { ref: dropZoneRef, onDragOver: dragOver, "data-testid": "placeholder-dropzone", "data-testindex": index, "data-parent-name": parentName || "", "data-placeholder-name": description || placeholder.name, "data-insert-option-type-ids": visibleInsertOptions
106
- .map((x) => x.typeId)
107
- .join("|"), "data-insert-option-names": visibleInsertOptions
108
- .map((x) => x.name)
109
- .join("|"), "data-selected-insert-type": selectedInsertOption ? editContext.selectedForInsertion : undefined, onDrop: drop, onDragLeave: dragLeave, onClick: (e) => {
110
- // Prevent the initiating click from bubbling to the window-level
111
- // context menu close handlers, which would immediately close the menu
112
- // after opening it.
113
- e.stopPropagation();
114
- // Quick-insert on Ctrl+Click: add a component of the provided type immediately
115
- if (e.ctrlKey && typeIdOnCtrlClick) {
116
- e.preventDefault();
117
- e.stopPropagation();
118
- const sameTypeOption = visibleInsertOptions.find((x) => x.typeId === typeIdOnCtrlClick);
119
- const anchorElement = spotPositionElement ?? dropZoneRef.current;
120
- if (sameTypeOption) {
121
- editContext.droppedInPlaceholder(placeholder.key, index, anchorElement ?? undefined, anchorElement ? spotPositionAnchor : undefined, sameTypeOption, spotPosition);
122
- }
123
- else {
124
- editContext.operations.addComponent(typeIdOnCtrlClick, placeholder.key, index, editContext.currentItemDescriptor);
125
- }
126
- return;
127
- }
128
- //const placeholderKeyComponents = placeholder.key.split("_");
129
- // const parentId =
130
- // placeholderKeyComponents.length === 1
131
- // ? undefined
132
- // : placeholderKeyComponents[0];
133
- const insertOption = visibleInsertOptions.find((x) => x.typeId === editContext.selectedForInsertion);
134
- if (insertOption) {
135
- const anchorElement = spotPositionElement ?? dropZoneRef.current;
136
- editContext.droppedInPlaceholder(placeholder.key, index, anchorElement ?? undefined, anchorElement ? spotPositionAnchor : undefined, insertOption, spotPosition);
137
- return;
138
- }
139
- const insertMenuItems = buildInsertMenuItems(visibleInsertOptions, async (x) => {
140
- await editContext.operations.addComponent(x.typeId, placeholder.key, index, editContext.currentItemDescriptor);
141
- });
142
- if (insertMenuItems.length > 0)
143
- editContext.showContextMenu(e, [
144
- {
145
- id: "header",
146
- label: insertMenuTitle || "Insert Component",
147
- disabled: true,
148
- className: "pb-0.5 text-neutral-grey-50",
149
- },
150
- ...insertMenuItems,
151
- ]);
152
- e.preventDefault();
153
- }, className: "placeholder placeholder-dropzone pointer-events-auto cursor-pointer", children: [isHovering && (_jsx("div", { className: "pointer-events-none absolute top-full left-1/2 z-50 mt-3 min-w-max -translate-x-1/2", "data-testid": "placeholder-dropzone-drag-label", children: _jsx("div", { className: "bg-neutral-grey-100/95 rounded-md border-0 text-white shadow-xl backdrop-blur-md", children: tooltipBody }) })), _jsxs(Tooltip, { delayDuration: 500, children: [_jsx(TooltipTrigger, { asChild: true, children: _jsx("div", { draggable: false, className: cn("test-ph-dropzone tour-placeholder-dropzone", "absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2", "flex items-center justify-center rounded-full", "h-8 w-8", "text-white", "transition-all duration-300 ease-out", "border border-white/50", isHovering ? "z-40 scale-[1.15]" : "z-30 hover:scale-[1.15]", isLayoutZone ? "bg-highlight-100" : "bg-component-default", className), style: {
154
- boxShadow: isLayoutZone
155
- ? isHovering
156
- ? "0 8px 24px color-mix(in srgb, var(--color-highlight-100) 50%, transparent)"
157
- : "0 4px 12px color-mix(in srgb, var(--color-highlight-100) 30%, transparent)"
158
- : isHovering
159
- ? "0 8px 24px color-mix(in srgb, var(--color-component-default) 50%, transparent)"
160
- : "0 4px 12px color-mix(in srgb, var(--color-component-default) 30%, transparent)",
161
- }, "data-testid": "placeholder-dropzone-button", children: _jsx(Plus, { className: "h-4 w-4", strokeWidth: 2.5, style: { pointerEvents: "none" } }) }) }), _jsx(TooltipContent, { className: "bg-neutral-grey-100/95 border-0 text-white shadow-xl backdrop-blur-md", sideOffset: 8, children: tooltipBody })] })] }) }));
131
+ const insertOptionAtThisGap = (option) => {
132
+ void editContext.operations.addComponent(option.typeId, placeholder.key, index, editContext.currentItemDescriptor);
133
+ };
134
+ const handleDropZoneClick = (e) => {
135
+ // Keep the click from bubbling to window-level close handlers.
136
+ e.stopPropagation();
137
+ // Quick-insert on Ctrl+Click: add a component of the provided type
138
+ // immediately. preventDefault() stops the popover trigger from also opening.
139
+ if (e.ctrlKey && typeIdOnCtrlClick) {
140
+ e.preventDefault();
141
+ const sameTypeOption = visibleInsertOptions.find((x) => x.typeId === typeIdOnCtrlClick);
142
+ const anchorElement = spotPositionElement ?? dropZoneRef.current;
143
+ if (sameTypeOption) {
144
+ editContext.droppedInPlaceholder(placeholder.key, index, anchorElement ?? undefined, anchorElement ? spotPositionAnchor : undefined, sameTypeOption, spotPosition, color);
145
+ }
146
+ else {
147
+ editContext.operations.addComponent(typeIdOnCtrlClick, placeholder.key, index, editContext.currentItemDescriptor);
148
+ }
149
+ return;
150
+ }
151
+ // A type pre-selected for insertion (insert mode) drops directly into this
152
+ // gap - no menu. preventDefault() keeps the popover trigger from opening.
153
+ const insertOption = visibleInsertOptions.find((x) => x.typeId === editContext.selectedForInsertion);
154
+ if (insertOption) {
155
+ e.preventDefault();
156
+ const anchorElement = spotPositionElement ?? dropZoneRef.current;
157
+ editContext.droppedInPlaceholder(placeholder.key, index, anchorElement ?? undefined, anchorElement ? spotPositionAnchor : undefined, insertOption, spotPosition, color);
158
+ return;
159
+ }
160
+ // Otherwise let the InsertComponentMenu popover trigger toggle (do NOT
161
+ // preventDefault): the menu opens anchored to this "+" button.
162
+ };
163
+ return (_jsx("div", { className: cn("absolute", interactive ? "pointer-events-auto" : "pointer-events-none"), style: overlayStyle, children: pillLabel ? (
164
+ // Append affordance: a labelled "+ <pillLabel>" pill, optionally preceded
165
+ // by a 6-dot grip that drag-moves the owning component.
166
+ _jsxs("div", { className: "absolute top-1/2 left-1/2 flex -translate-x-1/2 -translate-y-1/2 items-center gap-1.5", children: [onDragHandlePointerDown && (_jsx("div", { onPointerDown: onDragHandlePointerDown, onClick: (e) => e.stopPropagation(), "aria-label": `Drag to move ${parentName ?? "component"}`, "data-testid": "placeholder-dropzone-drag-handle", className: cn("pointer-events-auto flex h-8 w-7 cursor-move items-center justify-center rounded-[4px] text-white transition-colors duration-100 ease-out select-none", colorClassName, hoverColorClassName, className), children: _jsx(GripVertical, { className: "h-5 w-5", strokeWidth: 1, style: { pointerEvents: "none" } }) })), _jsxs(Tooltip, { children: [_jsx(InsertComponentMenu, { open: menuOpen, onOpenChange: setMenuOpen, title: insertMenuTitle || "Insert Component", options: visibleInsertOptions, onSelect: insertOptionAtThisGap, side: "right", align: "start", sideOffset: 12, children: _jsx(TooltipTrigger, { asChild: true, children: _jsx("div", { ref: dropZoneRef, onDragOver: dragOver, "data-testid": "placeholder-dropzone", "data-testindex": index, "data-parent-name": parentName || "", "data-placeholder-name": description || placeholder.name, "data-insert-option-type-ids": visibleInsertOptions
167
+ .map((x) => x.typeId)
168
+ .join("|"), "data-insert-option-names": visibleInsertOptions
169
+ .map((x) => x.name)
170
+ .join("|"), "data-selected-insert-type": selectedInsertOption
171
+ ? editContext.selectedForInsertion
172
+ : undefined, onDrop: drop, onDragLeave: dragLeave, onClick: handleDropZoneClick, "aria-label": pillLabel, className: cn("placeholder placeholder-dropzone group/add-component pointer-events-auto flex h-8 cursor-pointer items-center overflow-hidden rounded-[4px] px-2 text-[12px] font-normal whitespace-nowrap text-white transition-colors duration-100 ease-out select-none data-[state=open]:ring-2 data-[state=open]:ring-white/70", colorClassName, hoverColorClassName, className), children: _jsxs("span", { "data-testid": "placeholder-dropzone-button", className: "test-ph-dropzone tour-placeholder-dropzone flex items-center", children: [_jsx(Plus, { className: "h-4 w-4 shrink-0", strokeWidth: 1 }), _jsx("span", { className: "ml-0 max-w-0 translate-x-[-2px] overflow-hidden opacity-0 transition-[max-width,opacity,transform,margin] duration-200 ease-out group-hover/add-component:ml-1.5 group-hover/add-component:max-w-[7rem] group-hover/add-component:translate-x-0 group-hover/add-component:opacity-100 group-data-[state=open]/add-component:ml-1.5 group-data-[state=open]/add-component:max-w-[7rem] group-data-[state=open]/add-component:translate-x-0 group-data-[state=open]/add-component:opacity-100", children: pillLabel })] }) }) }) }), _jsx(TooltipContent, { side: "top", sideOffset: 8, className: "bg-neutral-grey-100/95 border-0 text-white shadow-xl backdrop-blur-md", children: tooltipBody })] })] })) : (_jsx(InsertComponentMenu, { open: menuOpen, onOpenChange: setMenuOpen, title: insertMenuTitle || "Insert Component", options: visibleInsertOptions, onSelect: insertOptionAtThisGap, side: "right", align: "start", sideOffset: 24, children: _jsx("div", { ref: dropZoneRef, onDragOver: dragOver, "data-testid": "placeholder-dropzone", "data-testindex": index, "data-parent-name": parentName || "", "data-placeholder-name": description || placeholder.name, "data-insert-option-type-ids": visibleInsertOptions
173
+ .map((x) => x.typeId)
174
+ .join("|"), "data-insert-option-names": visibleInsertOptions
175
+ .map((x) => x.name)
176
+ .join("|"), "data-selected-insert-type": selectedInsertOption
177
+ ? editContext.selectedForInsertion
178
+ : undefined, onDrop: drop, onDragLeave: dragLeave, onClick: handleDropZoneClick, className: cn("placeholder placeholder-dropzone group/placeholder-dropzone relative h-0 w-0 cursor-pointer", interactive ? "pointer-events-auto" : "pointer-events-none"), children: _jsx("div", { draggable: false, className: cn("test-ph-dropzone tour-placeholder-dropzone", "absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2", "flex items-center justify-center rounded-[4px]", "h-8 w-8", "text-white", "transition-all duration-300 ease-out", "border border-white/50", isActiveTarget
179
+ ? "z-50 scale-[1.25] shadow-md ring-2 ring-white"
180
+ : menuOpen
181
+ ? "z-50 scale-[1.15] shadow-md ring-2 ring-white/80"
182
+ : isHovering
183
+ ? "z-40 scale-[1.15]"
184
+ : "z-30 hover:scale-[1.15]", colorClassName, hoverColorClassName, className), "data-testid": "placeholder-dropzone-button", "data-active-target": isActiveTarget || undefined, children: _jsx(Plus, { className: "h-4 w-4", strokeWidth: 2.5, style: { pointerEvents: "none" } }) }) }) })) }));
162
185
  }
163
186
  //# sourceMappingURL=PlaceholderDropZone.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PlaceholderDropZone.js","sourceRoot":"","sources":["../../../src/editor/page-editor-chrome/PlaceholderDropZone.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PlaceholderDropZone.js","sourceRoot":"","sources":["../../../src/editor/page-editor-chrome/PlaceholderDropZone.tsx"],"names":[],"mappings":"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"}
@@ -1,5 +1,16 @@
1
1
  import type { PageViewContext } from "../page-viewer/pageViewContext";
2
- export declare function PlaceholderDropZones({ size, pageViewContext, }: {
2
+ import type { OverlayMetrics } from "./overlay/geometry";
3
+ import { type PlaceholderZone } from "./overlay/placeholderZones";
4
+ export declare function PlaceholderDropZones({ size, pageViewContext, scopeInsertModeToHoveredComponent, avoidOverlaps, activeTargetKey, }: {
3
5
  size: "large" | "small";
4
6
  pageViewContext?: PageViewContext;
5
- }): import("react/jsx-runtime").JSX.Element[] | null;
7
+ scopeInsertModeToHoveredComponent?: boolean;
8
+ avoidOverlaps?: boolean;
9
+ activeTargetKey?: string | null;
10
+ }): import("react/jsx-runtime").JSX.Element | null;
11
+ export type DropZoneOverlapOptions = {
12
+ edgePadding: number;
13
+ overlapThreshold: number;
14
+ shiftStep: number;
15
+ };
16
+ export declare function applyDropZoneOverlapAvoidance(zones: PlaceholderZone[], metrics: OverlayMetrics, options?: DropZoneOverlapOptions): PlaceholderZone[];