@parhelia/core 0.1.12938 → 0.1.12940

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 (266) hide show
  1. package/dist/agents-view/AgentCard.d.ts +2 -1
  2. package/dist/agents-view/AgentCard.js +2 -2
  3. package/dist/agents-view/AgentCard.js.map +1 -1
  4. package/dist/agents-view/AgentsView.d.ts +3 -1
  5. package/dist/agents-view/AgentsView.js +4 -4
  6. package/dist/agents-view/AgentsView.js.map +1 -1
  7. package/dist/agents-view/DateAgentsGroup.d.ts +2 -1
  8. package/dist/agents-view/DateAgentsGroup.js +2 -2
  9. package/dist/agents-view/DateAgentsGroup.js.map +1 -1
  10. package/dist/agents-view/ProfileAgentsGroup.d.ts +2 -1
  11. package/dist/agents-view/ProfileAgentsGroup.js +3 -3
  12. package/dist/agents-view/ProfileAgentsGroup.js.map +1 -1
  13. package/dist/agents-view/RenameAgentDialog.js +6 -6
  14. package/dist/agents-view/RenameAgentDialog.js.map +1 -1
  15. package/dist/components/ui/PlaceholderInput.d.ts +1 -0
  16. package/dist/components/ui/PlaceholderInput.js +4 -2
  17. package/dist/components/ui/PlaceholderInput.js.map +1 -1
  18. package/dist/components/ui/PlaceholderItemSelector.js +15 -28
  19. package/dist/components/ui/PlaceholderItemSelector.js.map +1 -1
  20. package/dist/components/ui/context-menu.js +5 -0
  21. package/dist/components/ui/context-menu.js.map +1 -1
  22. package/dist/components/ui/popover.d.ts +2 -0
  23. package/dist/components/ui/popover.js +62 -1
  24. package/dist/components/ui/popover.js.map +1 -1
  25. package/dist/config/notificationRoutes.js +86 -97
  26. package/dist/config/notificationRoutes.js.map +1 -1
  27. package/dist/editor/FieldActionsOverlay.js +8 -10
  28. package/dist/editor/FieldActionsOverlay.js.map +1 -1
  29. package/dist/editor/ai/Agents.js +68 -29
  30. package/dist/editor/ai/Agents.js.map +1 -1
  31. package/dist/editor/ai/agentProfileDefaults.d.ts +7 -0
  32. package/dist/editor/ai/agentProfileDefaults.js +9 -0
  33. package/dist/editor/ai/agentProfileDefaults.js.map +1 -0
  34. package/dist/editor/ai/terminal/agentCost.d.ts +19 -0
  35. package/dist/editor/ai/terminal/agentCost.js +31 -0
  36. package/dist/editor/ai/terminal/agentCost.js.map +1 -0
  37. package/dist/editor/ai/terminal/agentSessionLiveTotals.js +13 -7
  38. package/dist/editor/ai/terminal/agentSessionLiveTotals.js.map +1 -1
  39. package/dist/editor/ai/terminal/components/AgentBanners.d.ts +2 -1
  40. package/dist/editor/ai/terminal/components/AgentBanners.js +3 -2
  41. package/dist/editor/ai/terminal/components/AgentBanners.js.map +1 -1
  42. package/dist/editor/ai/terminal/components/AgentCostDisplay.js +7 -3
  43. package/dist/editor/ai/terminal/components/AgentCostDisplay.js.map +1 -1
  44. package/dist/editor/ai/terminal/components/AgentFullPromptControls.js +2 -10
  45. package/dist/editor/ai/terminal/components/AgentFullPromptControls.js.map +1 -1
  46. package/dist/editor/ai/terminal/components/AgentGreeting.d.ts +3 -1
  47. package/dist/editor/ai/terminal/components/AgentGreeting.js +3 -3
  48. package/dist/editor/ai/terminal/components/AgentGreeting.js.map +1 -1
  49. package/dist/editor/ai/terminal/components/AgentMemoryPanel.js +8 -5
  50. package/dist/editor/ai/terminal/components/AgentMemoryPanel.js.map +1 -1
  51. package/dist/editor/ai/terminal/components/AgentModeSelector.js +4 -10
  52. package/dist/editor/ai/terminal/components/AgentModeSelector.js.map +1 -1
  53. package/dist/editor/ai/terminal/components/AgentProfileSwitcher.d.ts +30 -0
  54. package/dist/editor/ai/terminal/components/AgentProfileSwitcher.js +161 -0
  55. package/dist/editor/ai/terminal/components/AgentProfileSwitcher.js.map +1 -0
  56. package/dist/editor/ai/terminal/components/AgentPromptInputArea.js +21 -3
  57. package/dist/editor/ai/terminal/components/AgentPromptInputArea.js.map +1 -1
  58. package/dist/editor/ai/terminal/components/AgentPromptTrayPopovers.d.ts +1 -1
  59. package/dist/editor/ai/terminal/components/AgentPromptTrayPopovers.js +21 -1
  60. package/dist/editor/ai/terminal/components/AgentPromptTrayPopovers.js.map +1 -1
  61. package/dist/editor/ai/terminal/components/AgentSummaryAssistantResponse.d.ts +1 -5
  62. package/dist/editor/ai/terminal/components/AgentSummaryAssistantResponse.js +2 -2
  63. package/dist/editor/ai/terminal/components/AgentSummaryAssistantResponse.js.map +1 -1
  64. package/dist/editor/ai/terminal/components/AgentTerminalContextChrome.d.ts +2 -1
  65. package/dist/editor/ai/terminal/components/AgentTerminalContextChrome.js +2 -2
  66. package/dist/editor/ai/terminal/components/AgentTerminalContextChrome.js.map +1 -1
  67. package/dist/editor/ai/terminal/components/AgentTerminalFullLayout.d.ts +3 -1
  68. package/dist/editor/ai/terminal/components/AgentTerminalFullLayout.js +2 -2
  69. package/dist/editor/ai/terminal/components/AgentTerminalFullLayout.js.map +1 -1
  70. package/dist/editor/ai/terminal/components/AgentTerminalFullUpperContent.d.ts +8 -2
  71. package/dist/editor/ai/terminal/components/AgentTerminalFullUpperContent.js +4 -3
  72. package/dist/editor/ai/terminal/components/AgentTerminalFullUpperContent.js.map +1 -1
  73. package/dist/editor/ai/terminal/components/AgentTerminalMessageGroups.d.ts +1 -3
  74. package/dist/editor/ai/terminal/components/AgentTerminalMessageGroups.js +2 -2
  75. package/dist/editor/ai/terminal/components/AgentTerminalMessageGroups.js.map +1 -1
  76. package/dist/editor/ai/terminal/components/AgentTerminalStatusBar.js +9 -0
  77. package/dist/editor/ai/terminal/components/AgentTerminalStatusBar.js.map +1 -1
  78. package/dist/editor/ai/terminal/components/AgentTerminalSummaryLayout.d.ts +1 -1
  79. package/dist/editor/ai/terminal/components/AgentTerminalSummaryLayout.js +2 -2
  80. package/dist/editor/ai/terminal/components/AgentTerminalSummaryLayout.js.map +1 -1
  81. package/dist/editor/ai/terminal/components/AgentTerminalView.d.ts +2 -1
  82. package/dist/editor/ai/terminal/components/AgentTerminalView.js +3 -3
  83. package/dist/editor/ai/terminal/components/AgentTerminalView.js.map +1 -1
  84. package/dist/editor/ai/terminal/components/AgentThinkingIndicator.d.ts +1 -0
  85. package/dist/editor/ai/terminal/components/AgentThinkingIndicator.js +5 -0
  86. package/dist/editor/ai/terminal/components/AgentThinkingIndicator.js.map +1 -0
  87. package/dist/editor/ai/terminal/components/AiResponseMessage.d.ts +1 -4
  88. package/dist/editor/ai/terminal/components/AiResponseMessage.js +52 -72
  89. package/dist/editor/ai/terminal/components/AiResponseMessage.js.map +1 -1
  90. package/dist/editor/ai/terminal/components/ApprovalCard.d.ts +18 -0
  91. package/dist/editor/ai/terminal/components/ApprovalCard.js +63 -0
  92. package/dist/editor/ai/terminal/components/ApprovalCard.js.map +1 -0
  93. package/dist/editor/ai/terminal/components/ContextInfoBar.js +3 -3
  94. package/dist/editor/ai/terminal/components/ContextInfoBar.js.map +1 -1
  95. package/dist/editor/ai/terminal/components/InitialThinkingSplash.js +2 -2
  96. package/dist/editor/ai/terminal/components/InitialThinkingSplash.js.map +1 -1
  97. package/dist/editor/ai/terminal/components/ToolCallDisplay.d.ts +3 -5
  98. package/dist/editor/ai/terminal/components/ToolCallDisplay.js +13 -248
  99. package/dist/editor/ai/terminal/components/ToolCallDisplay.js.map +1 -1
  100. package/dist/editor/ai/terminal/components/UserMessage.js +43 -4
  101. package/dist/editor/ai/terminal/components/UserMessage.js.map +1 -1
  102. package/dist/editor/ai/terminal/components/approvalActions.d.ts +49 -0
  103. package/dist/editor/ai/terminal/components/approvalActions.js +128 -0
  104. package/dist/editor/ai/terminal/components/approvalActions.js.map +1 -0
  105. package/dist/editor/ai/terminal/components/toolCallApprovalGate.d.ts +14 -0
  106. package/dist/editor/ai/terminal/components/toolCallApprovalGate.js +31 -10
  107. package/dist/editor/ai/terminal/components/toolCallApprovalGate.js.map +1 -1
  108. package/dist/editor/ai/terminal/components/useApprovalActions.d.ts +23 -0
  109. package/dist/editor/ai/terminal/components/useApprovalActions.js +58 -0
  110. package/dist/editor/ai/terminal/components/useApprovalActions.js.map +1 -0
  111. package/dist/editor/ai/terminal/types.d.ts +8 -0
  112. package/dist/editor/ai/terminal/useAgentAutoStartOnCreate.d.ts +1 -0
  113. package/dist/editor/ai/terminal/useAgentAutoStartOnCreate.js +3 -1
  114. package/dist/editor/ai/terminal/useAgentAutoStartOnCreate.js.map +1 -1
  115. package/dist/editor/ai/terminal/useAgentCostLimitWatcher.js +4 -1
  116. package/dist/editor/ai/terminal/useAgentCostLimitWatcher.js.map +1 -1
  117. package/dist/editor/ai/terminal/useAgentDraftInitializer.js +19 -2
  118. package/dist/editor/ai/terminal/useAgentDraftInitializer.js.map +1 -1
  119. package/dist/editor/ai/terminal/useAgentInitialPrompt.d.ts +1 -0
  120. package/dist/editor/ai/terminal/useAgentInitialPrompt.js +3 -1
  121. package/dist/editor/ai/terminal/useAgentInitialPrompt.js.map +1 -1
  122. package/dist/editor/ai/terminal/useAgentPendingApprovals.js +3 -1
  123. package/dist/editor/ai/terminal/useAgentPendingApprovals.js.map +1 -1
  124. package/dist/editor/ai/terminal/useAgentPendingInitialPrompt.d.ts +1 -0
  125. package/dist/editor/ai/terminal/useAgentPendingInitialPrompt.js +3 -1
  126. package/dist/editor/ai/terminal/useAgentPendingInitialPrompt.js.map +1 -1
  127. package/dist/editor/ai/terminal/useAgentProfileSelection.d.ts +18 -0
  128. package/dist/editor/ai/terminal/useAgentProfileSelection.js +37 -7
  129. package/dist/editor/ai/terminal/useAgentProfileSelection.js.map +1 -1
  130. package/dist/editor/ai/terminal/useAgentPromptComposerSurface.d.ts +2 -2
  131. package/dist/editor/ai/terminal/useAgentQuickActions.d.ts +2 -2
  132. package/dist/editor/ai/terminal/useAgentQuickActions.js +3 -61
  133. package/dist/editor/ai/terminal/useAgentQuickActions.js.map +1 -1
  134. package/dist/editor/ai/terminal/useAgentRunStatusSocketHandler.js +15 -2
  135. package/dist/editor/ai/terminal/useAgentRunStatusSocketHandler.js.map +1 -1
  136. package/dist/editor/ai/terminal/useAgentSettingsCommands.d.ts +10 -0
  137. package/dist/editor/ai/terminal/useAgentSettingsCommands.js +65 -23
  138. package/dist/editor/ai/terminal/useAgentSettingsCommands.js.map +1 -1
  139. package/dist/editor/ai/terminal/useAgentSettingsPanel.d.ts +1 -1
  140. package/dist/editor/ai/terminal/useAgentSettingsPanel.js +4 -3
  141. package/dist/editor/ai/terminal/useAgentSettingsPanel.js.map +1 -1
  142. package/dist/editor/ai/terminal/useAgentSettingsSelectOptions.js +0 -3
  143. package/dist/editor/ai/terminal/useAgentSettingsSelectOptions.js.map +1 -1
  144. package/dist/editor/ai/terminal/useAgentStatusBarContent.js +9 -0
  145. package/dist/editor/ai/terminal/useAgentStatusBarContent.js.map +1 -1
  146. package/dist/editor/ai/terminal/useAgentSubmitHandlers.d.ts +1 -0
  147. package/dist/editor/ai/terminal/useAgentSubmitHandlers.js +6 -1
  148. package/dist/editor/ai/terminal/useAgentSubmitHandlers.js.map +1 -1
  149. package/dist/editor/ai/terminal/useAgentTerminalChrome.js +1 -1
  150. package/dist/editor/ai/terminal/useAgentTerminalChrome.js.map +1 -1
  151. package/dist/editor/ai/terminal/useAgentTerminalController.d.ts +1 -1
  152. package/dist/editor/ai/terminal/useAgentTerminalController.js +31 -2
  153. package/dist/editor/ai/terminal/useAgentTerminalController.js.map +1 -1
  154. package/dist/editor/ai/terminal/useAgentTerminalViewProps.d.ts +1 -0
  155. package/dist/editor/ai/terminal/useAgentTerminalViewProps.js +2 -1
  156. package/dist/editor/ai/terminal/useAgentTerminalViewProps.js.map +1 -1
  157. package/dist/editor/ai/types.d.ts +5 -0
  158. package/dist/editor/bridge/protocol.d.ts +4 -0
  159. package/dist/editor/bridge/protocol.js.map +1 -1
  160. package/dist/editor/client/ui/EditorChrome.js +1 -1
  161. package/dist/editor/client/ui/EditorChrome.js.map +1 -1
  162. package/dist/editor/client/ui/FullscreenControls.js +2 -2
  163. package/dist/editor/client/ui/FullscreenControls.js.map +1 -1
  164. package/dist/editor/menubar/PageSelector.js +7 -16
  165. package/dist/editor/menubar/PageSelector.js.map +1 -1
  166. package/dist/editor/menubar/pageSelectorHistoryFilter.d.ts +2 -0
  167. package/dist/editor/menubar/pageSelectorHistoryFilter.js +15 -0
  168. package/dist/editor/menubar/pageSelectorHistoryFilter.js.map +1 -0
  169. package/dist/editor/menubar/toolbar-sections/FullscreenControl.js +2 -2
  170. package/dist/editor/menubar/toolbar-sections/FullscreenControl.js.map +1 -1
  171. package/dist/editor/menubar/toolbar-sections/UndoRedoControls.js +1 -1
  172. package/dist/editor/menubar/toolbar-sections/UndoRedoControls.js.map +1 -1
  173. package/dist/editor/page-editor-chrome/DragInsertionOverlay.js +51 -0
  174. package/dist/editor/page-editor-chrome/DragInsertionOverlay.js.map +1 -1
  175. package/dist/editor/page-editor-chrome/EmptyImageFieldIndicators.d.ts +3 -1
  176. package/dist/editor/page-editor-chrome/EmptyImageFieldIndicators.js +42 -11
  177. package/dist/editor/page-editor-chrome/EmptyImageFieldIndicators.js.map +1 -1
  178. package/dist/editor/page-editor-chrome/PageEditorChrome.d.ts +2 -1
  179. package/dist/editor/page-editor-chrome/PageEditorChrome.js +4 -2
  180. package/dist/editor/page-editor-chrome/PageEditorChrome.js.map +1 -1
  181. package/dist/editor/page-editor-chrome/PictureEditorOverlay.d.ts +3 -2
  182. package/dist/editor/page-editor-chrome/PictureEditorOverlay.js +8 -3
  183. package/dist/editor/page-editor-chrome/PictureEditorOverlay.js.map +1 -1
  184. package/dist/editor/page-editor-chrome/PlaceholderDropZone.d.ts +10 -4
  185. package/dist/editor/page-editor-chrome/PlaceholderDropZone.js +13 -13
  186. package/dist/editor/page-editor-chrome/PlaceholderDropZone.js.map +1 -1
  187. package/dist/editor/page-editor-chrome/PlaceholderDropZones.js +5 -5
  188. package/dist/editor/page-editor-chrome/PlaceholderDropZones.js.map +1 -1
  189. package/dist/editor/page-editor-chrome/useBridgeInlineEditing.js +11 -3
  190. package/dist/editor/page-editor-chrome/useBridgeInlineEditing.js.map +1 -1
  191. package/dist/editor/page-viewer/MiniMap.d.ts +3 -0
  192. package/dist/editor/page-viewer/MiniMap.js +9 -2
  193. package/dist/editor/page-viewer/MiniMap.js.map +1 -1
  194. package/dist/editor/page-viewer/PageViewerFrame.js +76 -77
  195. package/dist/editor/page-viewer/PageViewerFrame.js.map +1 -1
  196. package/dist/editor/page-viewer/bridgeFieldPatch.d.ts +12 -0
  197. package/dist/editor/page-viewer/bridgeFieldPatch.js +34 -0
  198. package/dist/editor/page-viewer/bridgeFieldPatch.js.map +1 -1
  199. package/dist/editor/page-viewer/bridgeTextCompletion.d.ts +25 -0
  200. package/dist/editor/page-viewer/bridgeTextCompletion.js +98 -0
  201. package/dist/editor/page-viewer/bridgeTextCompletion.js.map +1 -0
  202. package/dist/editor/reviews/Comments.js +31 -2
  203. package/dist/editor/reviews/Comments.js.map +1 -1
  204. package/dist/editor/reviews/CreateReviewDialog.js +3 -1
  205. package/dist/editor/reviews/CreateReviewDialog.js.map +1 -1
  206. package/dist/editor/reviews/EditReviewSettingsDialog.js +52 -96
  207. package/dist/editor/reviews/EditReviewSettingsDialog.js.map +1 -1
  208. package/dist/editor/reviews/ReviewCard.d.ts +6 -3
  209. package/dist/editor/reviews/ReviewCard.js +62 -35
  210. package/dist/editor/reviews/ReviewCard.js.map +1 -1
  211. package/dist/editor/reviews/ReviewDetail.d.ts +1 -1
  212. package/dist/editor/reviews/ReviewDetail.js +83 -93
  213. package/dist/editor/reviews/ReviewDetail.js.map +1 -1
  214. package/dist/editor/reviews/ReviewItemsPanel.d.ts +29 -0
  215. package/dist/editor/reviews/ReviewItemsPanel.js +176 -0
  216. package/dist/editor/reviews/ReviewItemsPanel.js.map +1 -0
  217. package/dist/editor/reviews/ReviewersPanel.d.ts +1 -1
  218. package/dist/editor/reviews/ReviewersPanel.js +108 -235
  219. package/dist/editor/reviews/ReviewersPanel.js.map +1 -1
  220. package/dist/editor/reviews/ReviewsList.d.ts +1 -1
  221. package/dist/editor/reviews/ReviewsList.js +116 -67
  222. package/dist/editor/reviews/ReviewsList.js.map +1 -1
  223. package/dist/editor/reviews/SuggestedEdit.js +2 -16
  224. package/dist/editor/reviews/SuggestedEdit.js.map +1 -1
  225. package/dist/editor/reviews/feedbackSelection.d.ts +2 -1
  226. package/dist/editor/reviews/feedbackSelection.js +18 -1
  227. package/dist/editor/reviews/feedbackSelection.js.map +1 -1
  228. package/dist/editor/reviews/pendingFeedbackFocus.d.ts +19 -0
  229. package/dist/editor/reviews/pendingFeedbackFocus.js +36 -0
  230. package/dist/editor/reviews/pendingFeedbackFocus.js.map +1 -0
  231. package/dist/editor/reviews/reviewListPresentation.d.ts +19 -0
  232. package/dist/editor/reviews/reviewListPresentation.js +78 -0
  233. package/dist/editor/reviews/reviewListPresentation.js.map +1 -0
  234. package/dist/editor/services/agentService.js.map +1 -1
  235. package/dist/editor/services/aiService.d.ts +2 -0
  236. package/dist/editor/services/aiService.js.map +1 -1
  237. package/dist/editor/services/contentService.js +16 -0
  238. package/dist/editor/services/contentService.js.map +1 -1
  239. package/dist/editor/settings/index/QueueErrorsDisplay.js +1 -1
  240. package/dist/editor/settings/index/QueueErrorsDisplay.js.map +1 -1
  241. package/dist/editor/settings/index/RebuildIndexSection.js +1 -1
  242. package/dist/editor/settings/index/RebuildIndexSection.js.map +1 -1
  243. package/dist/editor/settings/panels/ProvidersPanel.js +12 -6
  244. package/dist/editor/settings/panels/ProvidersPanel.js.map +1 -1
  245. package/dist/editor/setup-wizard/steps/ProviderStep.js +1 -1
  246. package/dist/editor/setup-wizard/steps/ProviderStep.js.map +1 -1
  247. package/dist/editor/sidebar/SidebarPanel.d.ts +2 -1
  248. package/dist/editor/sidebar/SidebarPanel.js +14 -4
  249. package/dist/editor/sidebar/SidebarPanel.js.map +1 -1
  250. package/dist/editor/sidebar/Workbox.js +59 -59
  251. package/dist/editor/sidebar/Workbox.js.map +1 -1
  252. package/dist/editor/ui/TreeListSelector.d.ts +2 -1
  253. package/dist/editor/ui/TreeListSelector.js +2 -2
  254. package/dist/editor/ui/TreeListSelector.js.map +1 -1
  255. package/dist/editor/ui/WorkboxItemsTable.js +39 -5
  256. package/dist/editor/ui/WorkboxItemsTable.js.map +1 -1
  257. package/dist/revision.d.ts +2 -2
  258. package/dist/revision.js +2 -2
  259. package/dist/splash-screen/NewPage.d.ts +7 -0
  260. package/dist/splash-screen/NewPage.js +11 -6
  261. package/dist/splash-screen/NewPage.js.map +1 -1
  262. package/dist/tour/default-tour.js +29 -21
  263. package/dist/tour/default-tour.js.map +1 -1
  264. package/dist/types.d.ts +12 -0
  265. package/package.json +1 -1
  266. package/styles.css +34 -0
@@ -1,282 +1,155 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useState } from "react";
3
- import { SimpleToolbar } from "../ui/SimpleToolbar";
4
- import { SimpleIconButton } from "../ui/SimpleIconButton";
5
- import { Plus, Send, X, Mail, Check, Clock } from "lucide-react";
3
+ import { Avatar } from "../../components/ui/avatar";
6
4
  import { Button } from "../../components/ui/button";
7
- import { Checkbox } from "../../components/ui/checkbox";
8
- import { Popover, PopoverContent, PopoverTrigger, } from "../../components/ui/popover";
9
5
  import { Input } from "../../components/ui/input";
10
- import { Loader2 } from "lucide-react";
6
+ import { Popover, PopoverContent, PopoverTrigger, } from "../../components/ui/popover";
11
7
  import { cn } from "../../lib/utils";
12
- import { PreconfiguredReviewerSelector } from "./PreconfiguredReviewerSelector";
8
+ import { Check, Clock, Loader2, Mail, Plus, Send, X } from "lucide-react";
13
9
  import { useEditContext } from "../client/editContext";
14
- import { CountBadge } from "../../components/ui/badge";
10
+ import { PreconfiguredReviewerSelector } from "./PreconfiguredReviewerSelector";
11
+ const reviewerAvatarClasses = [
12
+ "bg-feedback-blue text-white",
13
+ "bg-feedback-orange text-white",
14
+ "bg-highlight-100 text-white",
15
+ "bg-feedback-green text-white",
16
+ "bg-feedback-red text-white",
17
+ ];
18
+ function getReviewerAvatarClassName(index) {
19
+ return reviewerAvatarClasses[index];
20
+ }
15
21
  export function ReviewersPanel({ assignments, onAddReviewer, onRemoveReviewer, onSendInvitations, loading, selectedReviewerId, onSelectReviewer, itemIds = [], language, }) {
16
22
  const editContext = useEditContext();
17
23
  const isLimitedPreviewUser = editContext?.user?.isLimitedPreviewUser ?? false;
18
24
  const currentUserEmail = editContext?.user?.email;
19
- // For limited preview users, only show their own assignment
20
25
  const displayAssignments = isLimitedPreviewUser && currentUserEmail
21
- ? assignments.filter((a) => a.reviewerEmail.toLowerCase() === currentUserEmail.toLowerCase())
26
+ ? assignments.filter((assignment) => assignment.reviewerEmail.toLowerCase() ===
27
+ currentUserEmail.toLowerCase())
22
28
  : assignments;
23
29
  const [isAddReviewerOpen, setIsAddReviewerOpen] = useState(false);
24
- const [selectedAssignments, setSelectedAssignments] = useState(new Set());
25
30
  const [newReviewer, setNewReviewer] = useState({
26
31
  name: "",
27
32
  email: "",
28
33
  });
29
34
  const [showErrors, setShowErrors] = useState(false);
30
35
  const [waiting, setWaiting] = useState(false);
31
- const [invitationErrors, setInvitationErrors] = useState(new Map());
32
36
  const [sendingInvitations, setSendingInvitations] = useState(new Set());
33
- const isValidEmail = (email) => {
34
- const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
35
- return emailRegex.test(email);
36
- };
37
- const emailAlreadyExists = (email) => {
38
- return assignments.some((a) => a.reviewerEmail.toLowerCase() === email.toLowerCase());
39
- };
37
+ const [invitationErrors, setInvitationErrors] = useState(new Map());
38
+ const isValidEmail = (email) => /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(email);
39
+ const emailAlreadyExists = (email) => assignments.some((assignment) => assignment.reviewerEmail.toLowerCase() === email.toLowerCase());
40
40
  const handleAddReviewer = async () => {
41
41
  setShowErrors(true);
42
- if (!newReviewer.name || !newReviewer.email) {
42
+ if (!newReviewer.name ||
43
+ !newReviewer.email ||
44
+ !isValidEmail(newReviewer.email) ||
45
+ emailAlreadyExists(newReviewer.email)) {
43
46
  return;
44
47
  }
45
- if (!isValidEmail(newReviewer.email)) {
46
- return;
48
+ setWaiting(true);
49
+ try {
50
+ await onAddReviewer([newReviewer]);
51
+ setNewReviewer({ name: "", email: "" });
52
+ setIsAddReviewerOpen(false);
53
+ setShowErrors(false);
47
54
  }
48
- if (emailAlreadyExists(newReviewer.email)) {
49
- return;
55
+ finally {
56
+ setWaiting(false);
50
57
  }
51
- setWaiting(true);
52
- await onAddReviewer([newReviewer]);
53
- setNewReviewer({ name: "", email: "" });
54
- setIsAddReviewerOpen(false);
55
- setShowErrors(false);
56
- setWaiting(false);
57
58
  };
58
- const handleSendInvitations = async () => {
59
- if (selectedAssignments.size === 0)
60
- return;
61
- const assignmentIds = Array.from(selectedAssignments);
62
- setSendingInvitations(new Set(assignmentIds));
63
- setInvitationErrors(new Map());
59
+ const handleSendInvitation = async (assignmentId) => {
60
+ setSendingInvitations((current) => new Set(current).add(assignmentId));
61
+ setInvitationErrors((current) => {
62
+ const next = new Map(current);
63
+ next.delete(assignmentId);
64
+ return next;
65
+ });
64
66
  try {
65
- await onSendInvitations(assignmentIds);
66
- setSelectedAssignments(new Set());
67
+ await onSendInvitations([assignmentId]);
67
68
  }
68
- catch (err) {
69
- const errorMap = new Map();
70
- // Check if there are individual assignment errors
71
- if (err && typeof err === "object" && "assignmentErrors" in err) {
72
- const assignmentErrorMap = err.assignmentErrors;
73
- if (assignmentErrorMap) {
74
- // Use individual errors for each assignment
75
- assignmentIds.forEach((id) => {
76
- if (assignmentErrorMap.has(id)) {
77
- let errorMsg = assignmentErrorMap.get(id);
78
- // Ensure error message is a string, not JSON
79
- if (typeof errorMsg !== "string") {
80
- errorMsg = String(errorMsg);
81
- }
82
- errorMap.set(id, errorMsg);
83
- }
84
- });
85
- }
86
- }
87
- // If no individual errors, use the general error message for all
88
- if (errorMap.size === 0) {
89
- let errorMessage = err instanceof Error ? err.message : "Failed to send invitations";
90
- // Ensure error message is a string, not JSON
91
- if (typeof errorMessage !== "string") {
92
- errorMessage = String(errorMessage);
93
- }
94
- assignmentIds.forEach((id) => {
95
- errorMap.set(id, errorMessage);
96
- });
69
+ catch (error) {
70
+ let message = error instanceof Error ? error.message : "Failed to send invitation";
71
+ if (error && typeof error === "object" && "assignmentErrors" in error) {
72
+ const assignmentErrors = error.assignmentErrors;
73
+ message = assignmentErrors?.get(assignmentId) || message;
97
74
  }
98
- setInvitationErrors(errorMap);
75
+ setInvitationErrors((current) => new Map(current).set(assignmentId, String(message)));
99
76
  }
100
77
  finally {
101
- setSendingInvitations(new Set());
78
+ setSendingInvitations((current) => {
79
+ const next = new Set(current);
80
+ next.delete(assignmentId);
81
+ return next;
82
+ });
102
83
  }
103
84
  };
104
85
  const getReviewerStatus = (assignment) => {
105
- // Count unique items that have decisions (by itemId + itemLanguage)
106
- const uniqueItemsWithDecisions = new Set(assignment.decisions?.map((d) => `${d.itemId}:${d.itemLanguage}`) || []);
107
- const decisionsCount = uniqueItemsWithDecisions.size;
108
- const totalDecisions = itemIds?.length || 0;
109
- // If reviewer has started reviewing
110
- if (decisionsCount > 0) {
111
- // Check if any decision is rejected
112
- const hasRejection = assignment.decisions?.some((d) => d.decision === "Rejected");
113
- // Check if all pages are approved
114
- const allApproved = decisionsCount === totalDecisions &&
115
- assignment.decisions?.every((d) => d.decision === "Approved");
86
+ const reviewedItems = new Set(assignment.decisions?.map((decision) => `${decision.itemId}:${decision.itemLanguage}`) ?? []);
87
+ const reviewedCount = reviewedItems.size;
88
+ const totalCount = itemIds.length;
89
+ if (reviewedCount > 0) {
90
+ const hasRejection = assignment.decisions?.some((decision) => decision.decision === "Rejected");
91
+ const allApproved = reviewedCount === totalCount &&
92
+ assignment.decisions?.every((decision) => decision.decision === "Approved");
116
93
  if (hasRejection) {
117
94
  return {
118
- type: "rejected",
119
- count: decisionsCount,
120
- total: totalDecisions,
95
+ label: `${reviewedCount}/${totalCount}`,
96
+ className: "bg-feedback-red-light text-feedback-red",
97
+ icon: X,
121
98
  };
122
99
  }
123
- else if (allApproved) {
100
+ if (allApproved) {
124
101
  return {
125
- type: "approved",
126
- count: decisionsCount,
127
- total: totalDecisions,
128
- };
129
- }
130
- else {
131
- return {
132
- type: "partial",
133
- count: decisionsCount,
134
- total: totalDecisions,
102
+ label: `${reviewedCount}/${totalCount}`,
103
+ className: "bg-feedback-green-light text-feedback-green",
104
+ icon: Check,
135
105
  };
136
106
  }
107
+ return {
108
+ label: `${reviewedCount}/${totalCount}`,
109
+ className: "bg-feedback-orange-light text-feedback-orange",
110
+ icon: Clock,
111
+ };
137
112
  }
138
- // Gray: Not started reviewing
139
113
  if (assignment.invitationSentDate) {
140
- return { type: "invited", date: assignment.invitationSentDate };
141
- }
142
- return { type: "pending" };
143
- };
144
- const StatusBadge = ({ status, }) => {
145
- switch (status.type) {
146
- case "approved":
147
- return (_jsxs("span", { className: "rounded-badge bg-feedback-green-light badge-pad-sm text-2xs text-feedback-green inline-flex items-center gap-1 font-medium", children: [_jsx(Check, { className: "h-2.5 w-2.5" }), status.count, "/", status.total] }));
148
- case "rejected":
149
- return (_jsxs("span", { className: "rounded-badge bg-feedback-red-light badge-pad-sm text-2xs text-feedback-red inline-flex items-center gap-1 font-medium", children: [_jsx(X, { className: "h-2.5 w-2.5" }), status.count, "/", status.total] }));
150
- case "partial":
151
- return (_jsxs("span", { className: "rounded-badge bg-feedback-orange-light badge-pad-sm text-2xs text-feedback-orange inline-flex items-center gap-1 font-medium", children: [_jsx(Clock, { className: "h-2.5 w-2.5" }), status.count, "/", status.total] }));
152
- case "invited":
153
- return (_jsxs("span", { className: "rounded-badge bg-feedback-blue-light badge-pad-sm text-2xs text-feedback-blue inline-flex items-center gap-1 font-medium", children: [_jsx(Mail, { className: "h-2.5 w-2.5" }), "Invited"] }));
154
- case "pending":
155
- return (_jsxs("span", { className: "rounded-badge bg-neutral-grey-5 badge-pad-sm text-2xs text-neutral-grey-50 inline-flex items-center gap-1 font-medium", children: [_jsx(Clock, { className: "h-2.5 w-2.5" }), "Pending"] }));
114
+ return {
115
+ label: "Invited",
116
+ className: "bg-feedback-blue-light text-feedback-blue",
117
+ icon: undefined,
118
+ };
156
119
  }
120
+ return {
121
+ label: "Pending",
122
+ className: "bg-neutral-grey-10 text-neutral-grey-50",
123
+ icon: undefined,
124
+ };
157
125
  };
158
- const canSendInvitations = displayAssignments.some((a) => !a.invitationSentDate && selectedAssignments.has(a.assignmentId));
159
- return (_jsxs("div", { className: "flex h-full flex-col", children: [_jsxs("div", { className: "bg-neutral-grey-5/80 flex items-center gap-2 border-b px-3 py-2", children: [_jsx("span", { className: "text-neutral-grey-50 text-xs font-medium tracking-wide", children: "Reviewers" }), _jsx(CountBadge, { children: displayAssignments.length })] }), _jsxs(SimpleToolbar, { children: [!isLimitedPreviewUser && (_jsxs(Popover, { open: isAddReviewerOpen, onOpenChange: setIsAddReviewerOpen, children: [_jsx(PopoverTrigger, { asChild: true, children: _jsx(SimpleIconButton, { label: "Add Reviewer", icon: _jsx(Plus, { className: "h-4 w-4" }), "data-testid": "add-reviewer-button", onClick: () => {
160
- setIsAddReviewerOpen(true);
161
- setTimeout(() => {
162
- document.getElementById("reviewer-name")?.focus();
163
- }, 100);
164
- } }) }), _jsx(PopoverContent, { className: "m-2", children: _jsxs("div", { className: "flex flex-col gap-2 p-2 text-xs", "data-testid": "add-reviewer-popover", children: [itemIds.length > 0 && language ? (_jsx(PreconfiguredReviewerSelector, { itemIds: itemIds, language: language, onReviewerSelected: async (reviewer) => {
165
- // Check if reviewer already exists (by email, case-insensitive)
166
- const exists = assignments.some((a) => a.reviewerEmail.toLowerCase() ===
167
- reviewer.email.toLowerCase());
168
- if (!exists) {
169
- await onAddReviewer([reviewer]);
170
- setIsAddReviewerOpen(false);
171
- }
172
- }, existingReviewers: assignments.map((a) => ({
173
- name: a.reviewerName,
174
- email: a.reviewerEmail,
175
- })) })) : (_jsx("div", { className: "text-neutral-grey-50 mb-2 text-xs", children: !language
176
- ? "Language not available"
177
- : itemIds.length === 0
178
- ? "No items in review"
179
- : "Predefined reviewers not available" })), _jsxs("div", { className: "flex flex-col gap-2", children: [_jsx("label", { className: "text-neutral-grey-100 text-xs font-medium", children: "New Reviewer" }), _jsx("label", { htmlFor: "reviewer-name", children: "Name" }), _jsx(Input, { id: "reviewer-name", className: "w-full", value: newReviewer?.name, onChange: (e) => {
180
- setNewReviewer((x) => ({
181
- ...x,
182
- name: e.target.value,
183
- }));
184
- }, autoFocus: true }), showErrors && !newReviewer?.name && (_jsx("small", { className: "text-feedback-red", children: "Name is required" })), _jsxs("div", { className: "flex flex-col gap-2", children: [_jsx("label", { htmlFor: "reviewer-email", children: "Email" }), _jsx(Input, { id: "reviewer-email", className: "w-full", value: newReviewer?.email, onChange: (e) => {
185
- setNewReviewer((x) => ({
186
- ...x,
187
- email: e.target.value,
188
- }));
189
- } }), showErrors && !isValidEmail(newReviewer.email) && (_jsx("small", { className: "text-feedback-red", children: "Not a valid email address" })), showErrors && emailAlreadyExists(newReviewer.email) && (_jsx("small", { className: "text-feedback-red", children: "Email already exists" }))] }), _jsx(Button, { disabled: waiting, "data-testid": "add-reviewer-submit-button", onClick: handleAddReviewer, children: waiting ? (_jsxs(_Fragment, { children: [_jsx(Loader2, { className: "mr-2 h-4 w-4 animate-spin" }), "Adding..."] })) : (_jsxs(_Fragment, { children: [_jsx(Plus, { className: "mr-2 h-4 w-4" }), "Add Reviewer"] })) })] })] }) })] })), !isLimitedPreviewUser && canSendInvitations && (_jsx(SimpleIconButton, { label: "Send Invitations", icon: _jsx(Send, { className: "h-4 w-4" }), onClick: handleSendInvitations, disabled: loading }))] }), _jsx("div", { className: "flex-1 overflow-y-auto", children: displayAssignments.length === 0 ? (_jsx("div", { className: "text-neutral-grey-50 flex h-full items-center justify-center text-sm", children: "No reviewers assigned" })) : (_jsxs("table", { className: "w-full text-xs", children: [_jsx("thead", { className: "bg-neutral-grey-5/95 sticky top-0 backdrop-blur-sm", children: _jsxs("tr", { className: "text-neutral-grey-50 border-b text-left text-[10px] font-medium tracking-wider", children: [!isLimitedPreviewUser && (_jsx("th", { className: "w-8 px-2 py-1.5", children: _jsx(Checkbox, { checked: displayAssignments.filter((a) => !a.invitationSentDate)
190
- .length > 0 &&
191
- displayAssignments
192
- .filter((a) => !a.invitationSentDate)
193
- .every((a) => selectedAssignments.has(a.assignmentId)), onCheckedChange: (checked) => {
194
- const newSet = new Set(selectedAssignments);
195
- displayAssignments
196
- .filter((a) => !a.invitationSentDate)
197
- .forEach((a) => {
198
- if (checked) {
199
- newSet.add(a.assignmentId);
200
- }
201
- else {
202
- newSet.delete(a.assignmentId);
203
- }
204
- });
205
- setSelectedAssignments(newSet);
206
- }, className: "h-3 w-3" }) })), _jsx("th", { className: "px-2 py-1.5", children: "Name" }), _jsx("th", { className: "px-2 py-1.5", children: "Email" }), _jsx("th", { className: "px-2 py-1.5 text-center", children: "Status" }), !isLimitedPreviewUser && (_jsx("th", { className: "w-16 px-2 py-1.5 text-right", children: "Actions" }))] }) }), _jsx("tbody", { children: displayAssignments.map((assignment) => {
207
- const status = getReviewerStatus(assignment);
208
- const displayName = assignment.reviewerName ||
209
- assignment.reviewerEmail ||
210
- "Reviewer";
211
- const hasError = invitationErrors.has(assignment.assignmentId);
212
- return (_jsxs("tr", { className: cn("group border-border-default cursor-pointer border-b transition-colors", selectedReviewerId === assignment.assignmentId
213
- ? "bg-feedback-blue-light/60"
214
- : "hover:bg-neutral-grey-5/50"), onClick: () => onSelectReviewer(assignment.assignmentId), children: [!isLimitedPreviewUser && (_jsx("td", { className: "px-2 py-1.5", onClick: (e) => e.stopPropagation(), children: !assignment.invitationSentDate && (_jsx(Checkbox, { checked: selectedAssignments.has(assignment.assignmentId), onCheckedChange: (checked) => {
215
- const newSet = new Set(selectedAssignments);
216
- if (checked) {
217
- newSet.add(assignment.assignmentId);
218
- }
219
- else {
220
- newSet.delete(assignment.assignmentId);
221
- }
222
- setSelectedAssignments(newSet);
223
- }, className: "h-3 w-3" })) })), _jsxs("td", { className: "max-w-[120px] px-2 py-1.5", children: [_jsx("span", { className: "text-neutral-grey-100 block truncate font-medium", title: displayName, children: displayName }), hasError && (_jsx("span", { className: "text-feedback-red block truncate text-[10px]", children: invitationErrors.get(assignment.assignmentId) }))] }), _jsx("td", { className: "max-w-[140px] px-2 py-1.5", children: _jsx("span", { className: "text-neutral-grey-50 block truncate", title: assignment.reviewerEmail, children: assignment.reviewerEmail || "—" }) }), _jsx("td", { className: "px-2 py-1.5 text-center", children: _jsx(StatusBadge, { status: status }) }), !isLimitedPreviewUser && (_jsx("td", { className: "px-2 py-1.5 text-right", onClick: (e) => e.stopPropagation(), children: _jsxs("div", { className: "flex items-center justify-end gap-0.5 opacity-0 transition-opacity group-hover:opacity-100", children: [_jsx(Button, { variant: "ghost", size: "sm", className: "text-neutral-grey-50 hover:text-feedback-blue h-5 w-5 p-0", onClick: async (e) => {
224
- e.stopPropagation();
225
- const assignmentId = assignment.assignmentId;
226
- setSendingInvitations(new Set([...sendingInvitations, assignmentId]));
227
- const newErrors = new Map(invitationErrors);
228
- newErrors.delete(assignmentId);
229
- setInvitationErrors(newErrors);
230
- try {
231
- await onSendInvitations([assignmentId]);
232
- }
233
- catch (err) {
234
- let errorMessage = err instanceof Error
235
- ? err.message
236
- : "Failed to send invitation";
237
- if (typeof errorMessage !== "string") {
238
- errorMessage = String(errorMessage);
239
- }
240
- if (err &&
241
- typeof err === "object" &&
242
- "assignmentErrors" in err) {
243
- const assignmentErrorMap = err
244
- .assignmentErrors;
245
- if (assignmentErrorMap &&
246
- assignmentErrorMap.has(assignmentId)) {
247
- const specificError = assignmentErrorMap.get(assignmentId);
248
- if (specificError &&
249
- typeof specificError === "string") {
250
- errorMessage = specificError;
251
- }
252
- }
253
- }
254
- const newErrorMap = new Map(invitationErrors);
255
- newErrorMap.set(assignmentId, errorMessage);
256
- setInvitationErrors(newErrorMap);
257
- }
258
- finally {
259
- const newSending = new Set(sendingInvitations);
260
- newSending.delete(assignmentId);
261
- setSendingInvitations(newSending);
262
- }
263
- }, disabled: loading ||
264
- sendingInvitations.has(assignment.assignmentId), title: assignment.invitationSentDate
265
- ? "Resend invitation"
266
- : "Send invitation", children: sendingInvitations.has(assignment.assignmentId) ? (_jsx(Loader2, { className: "h-3 w-3 animate-spin" })) : (_jsx(Send, { className: "h-3 w-3" })) }), _jsx(Button, { variant: "ghost", size: "sm", className: "text-neutral-grey-50 hover:text-feedback-red h-5 w-5 p-0", onClick: (e) => {
267
- e.stopPropagation();
268
- const reviewerName = assignment.reviewerName ||
269
- assignment.reviewerEmail;
270
- editContext?.confirm({
271
- header: "Remove Reviewer",
272
- message: `Are you sure you want to remove ${reviewerName} from this review?`,
273
- acceptLabel: "Remove",
274
- showCancel: true,
275
- accept: async () => {
276
- await onRemoveReviewer(assignment.assignmentId);
277
- },
278
- });
279
- }, disabled: loading, title: "Remove reviewer", children: _jsx(X, { className: "h-3 w-3" }) })] }) }))] }, assignment.assignmentId));
280
- }) })] })) })] }));
126
+ return (_jsxs("div", { className: "flex flex-col gap-2.5", "data-testid": "reviewers-panel", children: [!isLimitedPreviewUser && (_jsxs(Popover, { open: isAddReviewerOpen, onOpenChange: setIsAddReviewerOpen, children: [_jsx(PopoverTrigger, { asChild: true, children: _jsxs(Button, { variant: "outline", size: "lg", className: "h-10 w-full rounded-lg text-xs font-medium", "data-testid": "add-reviewer-button", children: ["Add reviewer", _jsx(Plus, { className: "h-5 w-5", strokeWidth: 1.25 })] }) }), _jsx(PopoverContent, { className: "m-2 w-[320px] p-3", align: "start", "data-testid": "add-reviewer-popover", children: _jsxs("div", { className: "flex flex-col gap-3 text-xs", children: [itemIds.length > 0 && language ? (_jsx(PreconfiguredReviewerSelector, { itemIds: itemIds, language: language, onReviewerSelected: async (reviewer) => {
127
+ if (!emailAlreadyExists(reviewer.email)) {
128
+ await onAddReviewer([reviewer]);
129
+ setIsAddReviewerOpen(false);
130
+ }
131
+ }, existingReviewers: assignments.map((assignment) => ({
132
+ name: assignment.reviewerName,
133
+ email: assignment.reviewerEmail,
134
+ })) })) : (_jsx("div", { className: "text-neutral-grey-50", children: "No predefined reviewers available" })), _jsxs("div", { className: "border-border-default border-t pt-3", children: [_jsx("div", { className: "text-neutral-grey-100 mb-2 font-medium", children: "New reviewer" }), _jsxs("div", { className: "space-y-2", children: [_jsx(Input, { id: "reviewer-name", value: newReviewer.name, onChange: (event) => setNewReviewer((current) => ({
135
+ ...current,
136
+ name: event.target.value,
137
+ })), placeholder: "Name", autoFocus: true }), showErrors && !newReviewer.name && (_jsx("div", { className: "text-feedback-red", children: "Name is required" })), _jsx(Input, { id: "reviewer-email", value: newReviewer.email, onChange: (event) => setNewReviewer((current) => ({
138
+ ...current,
139
+ email: event.target.value,
140
+ })), placeholder: "Email", type: "email" }), showErrors && !isValidEmail(newReviewer.email) && (_jsx("div", { className: "text-feedback-red", children: "Enter a valid email address" })), showErrors && emailAlreadyExists(newReviewer.email) && (_jsx("div", { className: "text-feedback-red", children: "This reviewer is already assigned" }))] })] }), _jsxs(Button, { onClick: handleAddReviewer, disabled: waiting, children: [waiting && _jsx(Loader2, { className: "animate-spin" }), "Add reviewer"] })] }) })] })), displayAssignments.length === 0 ? (_jsx("div", { className: "text-neutral-grey-50 py-5 text-center text-xs", children: "No reviewers assigned" })) : (_jsx("div", { className: "space-y-1", children: displayAssignments.map((assignment) => {
141
+ const displayName = assignment.reviewerName || assignment.reviewerEmail || "Reviewer";
142
+ const status = getReviewerStatus(assignment);
143
+ const StatusIcon = status.icon;
144
+ const isSending = sendingInvitations.has(assignment.assignmentId);
145
+ const isCurrentUser = currentUserEmail?.toLowerCase() ===
146
+ assignment.reviewerEmail.toLowerCase();
147
+ const assignmentIndex = Math.max(assignments.findIndex((candidate) => candidate.assignmentId === assignment.assignmentId), 0);
148
+ return (_jsxs("div", { children: [_jsxs("div", { className: cn("group flex cursor-pointer items-center gap-2.5 rounded-lg px-0.5 py-1.5 transition-colors", selectedReviewerId === assignment.assignmentId
149
+ ? "bg-feedback-blue-light"
150
+ : "hover:bg-neutral-grey-5"), onClick: () => onSelectReviewer(selectedReviewerId === assignment.assignmentId
151
+ ? null
152
+ : assignment.assignmentId), title: assignment.reviewerEmail, "data-testid": `reviewer-row-${assignment.assignmentId}`, children: [_jsx(Avatar, { src: isCurrentUser ? editContext?.user?.avatarUrl : undefined, name: displayName, size: "md", fallbackClassName: getReviewerAvatarClassName(assignmentIndex % reviewerAvatarClasses.length) }), _jsx("span", { className: "text-neutral-grey-100 min-w-0 flex-1 truncate text-xs", children: displayName }), _jsxs("span", { className: cn("inline-flex items-center gap-1 rounded-[5px] px-2 py-1 text-[11px] leading-none font-medium", status.className), children: [StatusIcon && _jsx(StatusIcon, { className: "h-3 w-3" }), status.label] }), !isLimitedPreviewUser && (_jsxs("div", { className: "pointer-events-none flex w-[58px] shrink-0 items-center justify-end gap-0.5 opacity-0 transition-opacity group-hover:pointer-events-auto group-hover:opacity-100 group-focus-within:pointer-events-auto group-focus-within:opacity-100", onClick: (event) => event.stopPropagation(), children: [!assignment.invitationSentDate && (_jsx(Button, { variant: "ghost", size: "iconXs", onClick: () => handleSendInvitation(assignment.assignmentId), disabled: loading || isSending, title: "Send invitation", children: isSending ? (_jsx(Loader2, { className: "animate-spin" })) : (_jsx(Send, {})) })), _jsx(Button, { variant: "ghost", size: "iconXs", onClick: () => onRemoveReviewer(assignment.assignmentId), disabled: loading, className: "hover:bg-feedback-red-light hover:text-feedback-red", title: "Remove reviewer", children: _jsx(X, {}) })] }))] }), invitationErrors.has(assignment.assignmentId) && (_jsxs("div", { className: "text-feedback-red px-10 text-[10px]", children: [_jsx(Mail, { className: "mr-1 inline h-3 w-3" }), invitationErrors.get(assignment.assignmentId)] }))] }, assignment.assignmentId));
153
+ }) }))] }));
281
154
  }
282
155
  //# sourceMappingURL=ReviewersPanel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ReviewersPanel.js","sourceRoot":"","sources":["../../../src/editor/reviews/ReviewersPanel.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ReviewersPanel.js","sourceRoot":"","sources":["../../../src/editor/reviews/ReviewersPanel.tsx"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { ReviewListItem } from "../../types";
1
+ import type { ReviewListItem } from "../../types";
2
2
  type ReviewsListProps = {
3
3
  reviews: ReviewListItem[];
4
4
  loading: boolean;