@fivepixels-js/react 0.2.2 → 0.2.4

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 (219) hide show
  1. package/README.md +2 -0
  2. package/dist/components/icons/Icons.d.ts +9 -0
  3. package/dist/components/icons/Icons.d.ts.map +1 -1
  4. package/dist/components/icons/Icons.js +12 -0
  5. package/dist/components/icons/Icons.js.map +1 -1
  6. package/dist/components/overlay/DotWaveOverlay.d.ts.map +1 -1
  7. package/dist/components/overlay/DotWaveOverlay.js +1 -0
  8. package/dist/components/overlay/DotWaveOverlay.js.map +1 -1
  9. package/dist/components/overlay/ReportOverlayLayer.d.ts.map +1 -1
  10. package/dist/components/overlay/ReportOverlayLayer.js +3 -3
  11. package/dist/components/overlay/ReportOverlayLayer.js.map +1 -1
  12. package/dist/components/overlay/TargetHighlights.d.ts +2 -1
  13. package/dist/components/overlay/TargetHighlights.d.ts.map +1 -1
  14. package/dist/components/overlay/TargetHighlights.js +3 -2
  15. package/dist/components/overlay/TargetHighlights.js.map +1 -1
  16. package/dist/components/panel/PanelProjectFooter.d.ts.map +1 -1
  17. package/dist/components/panel/PanelProjectFooter.js +1 -4
  18. package/dist/components/panel/PanelProjectFooter.js.map +1 -1
  19. package/dist/components/panel/PanelSettings.d.ts.map +1 -1
  20. package/dist/components/panel/PanelSettings.js +2 -2
  21. package/dist/components/panel/PanelSettings.js.map +1 -1
  22. package/dist/components/panel/ReportDraftForm.d.ts.map +1 -1
  23. package/dist/components/panel/ReportDraftForm.js +75 -34
  24. package/dist/components/panel/ReportDraftForm.js.map +1 -1
  25. package/dist/components/panel/ReportFeedbackList.d.ts.map +1 -1
  26. package/dist/components/panel/ReportFeedbackList.js +5 -4
  27. package/dist/components/panel/ReportFeedbackList.js.map +1 -1
  28. package/dist/components/panel/ReportImportConfirmDialog.d.ts +3 -2
  29. package/dist/components/panel/ReportImportConfirmDialog.d.ts.map +1 -1
  30. package/dist/components/panel/ReportImportConfirmDialog.js +8 -1
  31. package/dist/components/panel/ReportImportConfirmDialog.js.map +1 -1
  32. package/dist/components/panel/experimental/ReportPageBriefPanel.js +1 -1
  33. package/dist/components/panel/experimental/ReportPageBriefPanel.js.map +1 -1
  34. package/dist/components/panel/feedback/AssigneeThreadEntry.d.ts.map +1 -1
  35. package/dist/components/panel/feedback/AssigneeThreadEntry.js +11 -2
  36. package/dist/components/panel/feedback/AssigneeThreadEntry.js.map +1 -1
  37. package/dist/components/panel/feedback/DraftComposerToolbar.d.ts +25 -0
  38. package/dist/components/panel/feedback/DraftComposerToolbar.d.ts.map +1 -0
  39. package/dist/components/panel/feedback/DraftComposerToolbar.js +63 -0
  40. package/dist/components/panel/feedback/DraftComposerToolbar.js.map +1 -0
  41. package/dist/components/panel/feedback/FeedbackCaseEditor.d.ts +7 -2
  42. package/dist/components/panel/feedback/FeedbackCaseEditor.d.ts.map +1 -1
  43. package/dist/components/panel/feedback/FeedbackCaseEditor.js +28 -9
  44. package/dist/components/panel/feedback/FeedbackCaseEditor.js.map +1 -1
  45. package/dist/components/panel/feedback/FeedbackCaseList.d.ts +4 -2
  46. package/dist/components/panel/feedback/FeedbackCaseList.d.ts.map +1 -1
  47. package/dist/components/panel/feedback/FeedbackCaseList.js +5 -4
  48. package/dist/components/panel/feedback/FeedbackCaseList.js.map +1 -1
  49. package/dist/components/panel/feedback/FeedbackCategorySelector.d.ts.map +1 -1
  50. package/dist/components/panel/feedback/FeedbackCategorySelector.js +10 -7
  51. package/dist/components/panel/feedback/FeedbackCategorySelector.js.map +1 -1
  52. package/dist/components/panel/feedback/FeedbackComposer.d.ts +12 -2
  53. package/dist/components/panel/feedback/FeedbackComposer.d.ts.map +1 -1
  54. package/dist/components/panel/feedback/FeedbackComposer.js +135 -20
  55. package/dist/components/panel/feedback/FeedbackComposer.js.map +1 -1
  56. package/dist/components/panel/feedback/FeedbackDeleteAction.d.ts +16 -0
  57. package/dist/components/panel/feedback/FeedbackDeleteAction.d.ts.map +1 -0
  58. package/dist/components/panel/feedback/FeedbackDeleteAction.js +28 -0
  59. package/dist/components/panel/feedback/FeedbackDeleteAction.js.map +1 -0
  60. package/dist/components/panel/feedback/FeedbackHoverCard.d.ts.map +1 -1
  61. package/dist/components/panel/feedback/FeedbackHoverCard.js +5 -4
  62. package/dist/components/panel/feedback/FeedbackHoverCard.js.map +1 -1
  63. package/dist/components/panel/feedback/FeedbackListItem.d.ts.map +1 -1
  64. package/dist/components/panel/feedback/FeedbackListItem.js +8 -26
  65. package/dist/components/panel/feedback/FeedbackListItem.js.map +1 -1
  66. package/dist/components/panel/feedback/FeedbackThread.d.ts.map +1 -1
  67. package/dist/components/panel/feedback/FeedbackThread.js +29 -10
  68. package/dist/components/panel/feedback/FeedbackThread.js.map +1 -1
  69. package/dist/components/panel/feedback/GitIssuedThreadEntry.js +1 -1
  70. package/dist/components/panel/feedback/GitIssuedThreadEntry.js.map +1 -1
  71. package/dist/components/panel/feedback/MentionComposerInput.d.ts +17 -0
  72. package/dist/components/panel/feedback/MentionComposerInput.d.ts.map +1 -0
  73. package/dist/components/panel/feedback/MentionComposerInput.js +343 -0
  74. package/dist/components/panel/feedback/MentionComposerInput.js.map +1 -0
  75. package/dist/components/panel/feedback/MentionMessage.d.ts +9 -0
  76. package/dist/components/panel/feedback/MentionMessage.d.ts.map +1 -0
  77. package/dist/components/panel/feedback/MentionMessage.js +27 -0
  78. package/dist/components/panel/feedback/MentionMessage.js.map +1 -0
  79. package/dist/components/panel/feedback/PickTargetSnippet.d.ts +3 -2
  80. package/dist/components/panel/feedback/PickTargetSnippet.d.ts.map +1 -1
  81. package/dist/components/panel/feedback/PickTargetSnippet.js +12 -4
  82. package/dist/components/panel/feedback/PickTargetSnippet.js.map +1 -1
  83. package/dist/components/panel/feedback/ThreadAuthorMeta.d.ts.map +1 -1
  84. package/dist/components/panel/feedback/ThreadAuthorMeta.js +4 -1
  85. package/dist/components/panel/feedback/ThreadAuthorMeta.js.map +1 -1
  86. package/dist/components/panel/feedback/ThreadChildReply.d.ts.map +1 -1
  87. package/dist/components/panel/feedback/ThreadChildReply.js +2 -1
  88. package/dist/components/panel/feedback/ThreadChildReply.js.map +1 -1
  89. package/dist/components/panel/feedback/ThreadEntryActions.d.ts +3 -1
  90. package/dist/components/panel/feedback/ThreadEntryActions.d.ts.map +1 -1
  91. package/dist/components/panel/feedback/ThreadEntryActions.js +26 -6
  92. package/dist/components/panel/feedback/ThreadEntryActions.js.map +1 -1
  93. package/dist/components/point/MarkerCaseSidebar.d.ts.map +1 -1
  94. package/dist/components/point/MarkerCaseSidebar.js +9 -3
  95. package/dist/components/point/MarkerCaseSidebar.js.map +1 -1
  96. package/dist/components/point/MarkerFeedbackWindow.d.ts.map +1 -1
  97. package/dist/components/point/MarkerFeedbackWindow.js +14 -6
  98. package/dist/components/point/MarkerFeedbackWindow.js.map +1 -1
  99. package/dist/components/point/ReportDraftMarker.d.ts.map +1 -1
  100. package/dist/components/point/ReportDraftMarker.js +3 -2
  101. package/dist/components/point/ReportDraftMarker.js.map +1 -1
  102. package/dist/components/point/ReportMarkersLayer.d.ts.map +1 -1
  103. package/dist/components/point/ReportMarkersLayer.js +2 -2
  104. package/dist/components/point/ReportMarkersLayer.js.map +1 -1
  105. package/dist/components/report/ReportView.d.ts.map +1 -1
  106. package/dist/components/report/ReportView.js +4 -7
  107. package/dist/components/report/ReportView.js.map +1 -1
  108. package/dist/constants/threadActionStyles.d.ts +16 -0
  109. package/dist/constants/threadActionStyles.d.ts.map +1 -0
  110. package/dist/constants/threadActionStyles.js +52 -0
  111. package/dist/constants/threadActionStyles.js.map +1 -0
  112. package/dist/hooks/report/assembleReportContextValue.d.ts +27 -19
  113. package/dist/hooks/report/assembleReportContextValue.d.ts.map +1 -1
  114. package/dist/hooks/report/assembleReportContextValue.js +8 -2
  115. package/dist/hooks/report/assembleReportContextValue.js.map +1 -1
  116. package/dist/hooks/report/useReplyCaseEdit.d.ts +8 -2
  117. package/dist/hooks/report/useReplyCaseEdit.d.ts.map +1 -1
  118. package/dist/hooks/report/useReplyCaseEdit.js +40 -4
  119. package/dist/hooks/report/useReplyCaseEdit.js.map +1 -1
  120. package/dist/hooks/report/useReportAuthSession.d.ts +1 -1
  121. package/dist/hooks/report/useReportDraftSession.d.ts +4 -2
  122. package/dist/hooks/report/useReportDraftSession.d.ts.map +1 -1
  123. package/dist/hooks/report/useReportDraftSession.js +30 -2
  124. package/dist/hooks/report/useReportDraftSession.js.map +1 -1
  125. package/dist/hooks/report/useReportMarkers.d.ts +2 -3
  126. package/dist/hooks/report/useReportMarkers.d.ts.map +1 -1
  127. package/dist/hooks/report/useReportMarkers.js +11 -9
  128. package/dist/hooks/report/useReportMarkers.js.map +1 -1
  129. package/dist/hooks/report/useReportMutations.d.ts +6 -1
  130. package/dist/hooks/report/useReportMutations.d.ts.map +1 -1
  131. package/dist/hooks/report/useReportMutations.js +43 -2
  132. package/dist/hooks/report/useReportMutations.js.map +1 -1
  133. package/dist/hooks/report/useReportPanelShell.js +8 -8
  134. package/dist/hooks/report/useReportPanelShell.js.map +1 -1
  135. package/dist/hooks/report/useReportReplyReview.d.ts +8 -1
  136. package/dist/hooks/report/useReportReplyReview.d.ts.map +1 -1
  137. package/dist/hooks/report/useReportReplyReview.js +37 -20
  138. package/dist/hooks/report/useReportReplyReview.js.map +1 -1
  139. package/dist/hooks/report/useReportState.d.ts +8 -2
  140. package/dist/hooks/report/useReportState.d.ts.map +1 -1
  141. package/dist/hooks/report/useReportState.js +31 -3
  142. package/dist/hooks/report/useReportState.js.map +1 -1
  143. package/dist/hooks/usePanelFeedbackTransfer.d.ts +4 -4
  144. package/dist/hooks/usePanelFeedbackTransfer.d.ts.map +1 -1
  145. package/dist/hooks/usePanelFeedbackTransfer.js +24 -17
  146. package/dist/hooks/usePanelFeedbackTransfer.js.map +1 -1
  147. package/dist/i18n/en.d.ts.map +1 -1
  148. package/dist/i18n/en.js +46 -9
  149. package/dist/i18n/en.js.map +1 -1
  150. package/dist/i18n/ko.d.ts.map +1 -1
  151. package/dist/i18n/ko.js +53 -16
  152. package/dist/i18n/ko.js.map +1 -1
  153. package/dist/i18n/types.d.ts +35 -3
  154. package/dist/i18n/types.d.ts.map +1 -1
  155. package/dist/providers/ReportProvider.d.ts.map +1 -1
  156. package/dist/providers/ReportProvider.js +1 -0
  157. package/dist/providers/ReportProvider.js.map +1 -1
  158. package/dist/providers/reportContext.d.ts +42 -12
  159. package/dist/providers/reportContext.d.ts.map +1 -1
  160. package/dist/providers/reportContext.js +1 -0
  161. package/dist/providers/reportContext.js.map +1 -1
  162. package/dist/providers/reportContextPartitions.d.ts +1 -1
  163. package/dist/providers/reportContextPartitions.d.ts.map +1 -1
  164. package/dist/providers/reportContextPartitions.js +6 -0
  165. package/dist/providers/reportContextPartitions.js.map +1 -1
  166. package/dist/storage/local/localStorageAdapter.d.ts.map +1 -1
  167. package/dist/storage/local/localStorageAdapter.js +2 -0
  168. package/dist/storage/local/localStorageAdapter.js.map +1 -1
  169. package/dist/styles/reportStylesheet.d.ts +1 -1
  170. package/dist/styles/reportStylesheet.d.ts.map +1 -1
  171. package/dist/styles/reportStylesheet.js +1 -1
  172. package/dist/styles/reportStylesheet.js.map +1 -1
  173. package/dist/types/mention.d.ts +17 -0
  174. package/dist/types/mention.d.ts.map +1 -0
  175. package/dist/types/mention.js +11 -0
  176. package/dist/types/mention.js.map +1 -0
  177. package/dist/types/report.d.ts +6 -0
  178. package/dist/types/report.d.ts.map +1 -1
  179. package/dist/types/report.js.map +1 -1
  180. package/dist/utils/feedback/feedbackDataTransfer.d.ts +9 -2
  181. package/dist/utils/feedback/feedbackDataTransfer.d.ts.map +1 -1
  182. package/dist/utils/feedback/feedbackDataTransfer.js +24 -16
  183. package/dist/utils/feedback/feedbackDataTransfer.js.map +1 -1
  184. package/dist/utils/feedback/feedbackImportMerge.d.ts +26 -0
  185. package/dist/utils/feedback/feedbackImportMerge.d.ts.map +1 -0
  186. package/dist/utils/feedback/feedbackImportMerge.js +97 -0
  187. package/dist/utils/feedback/feedbackImportMerge.js.map +1 -0
  188. package/dist/utils/feedback/feedbackPermissions.d.ts +8 -0
  189. package/dist/utils/feedback/feedbackPermissions.d.ts.map +1 -0
  190. package/dist/utils/feedback/feedbackPermissions.js +30 -0
  191. package/dist/utils/feedback/feedbackPermissions.js.map +1 -0
  192. package/dist/utils/feedback/validateFeedbackImport.d.ts.map +1 -1
  193. package/dist/utils/feedback/validateFeedbackImport.js +3 -1
  194. package/dist/utils/feedback/validateFeedbackImport.js.map +1 -1
  195. package/dist/utils/mention/elementMentions.d.ts +45 -0
  196. package/dist/utils/mention/elementMentions.d.ts.map +1 -0
  197. package/dist/utils/mention/elementMentions.js +286 -0
  198. package/dist/utils/mention/elementMentions.js.map +1 -0
  199. package/dist/utils/mention/mentionComposerDom.d.ts +31 -0
  200. package/dist/utils/mention/mentionComposerDom.d.ts.map +1 -0
  201. package/dist/utils/mention/mentionComposerDom.js +253 -0
  202. package/dist/utils/mention/mentionComposerDom.js.map +1 -0
  203. package/dist/utils/report/buildDraftFromReport.d.ts +5 -0
  204. package/dist/utils/report/buildDraftFromReport.d.ts.map +1 -0
  205. package/dist/utils/report/buildDraftFromReport.js +33 -0
  206. package/dist/utils/report/buildDraftFromReport.js.map +1 -0
  207. package/dist/utils/report/reportCases.d.ts +1 -1
  208. package/dist/utils/report/reportCases.d.ts.map +1 -1
  209. package/dist/utils/report/reportCases.js +6 -2
  210. package/dist/utils/report/reportCases.js.map +1 -1
  211. package/dist/utils/shared/format.d.ts +2 -0
  212. package/dist/utils/shared/format.d.ts.map +1 -1
  213. package/dist/utils/shared/format.js +19 -0
  214. package/dist/utils/shared/format.js.map +1 -1
  215. package/package.json +3 -2
  216. package/dist/components/panel/feedback/ComposerFooterWarning.d.ts +0 -6
  217. package/dist/components/panel/feedback/ComposerFooterWarning.d.ts.map +0 -1
  218. package/dist/components/panel/feedback/ComposerFooterWarning.js +0 -6
  219. package/dist/components/panel/feedback/ComposerFooterWarning.js.map +0 -1
@@ -1,10 +1,18 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useEffect, useMemo, useState } from "react";
2
+ import { useCallback, useEffect, useLayoutEffect, useMemo, useRef, useState } from "react";
3
3
  import { useReportPreferences } from "../../../providers/reportContext.js";
4
- import { SendIcon } from "../../../components/icons/Icons.js";
4
+ import { CloseIcon, AskActionIcon, DeniedActionIcon, CompleteActionIcon, SendIcon } from "../../../components/icons/Icons.js";
5
5
  import { HoverTooltip } from "../../../components/ui/HoverTooltip.js";
6
6
  import { FeedbackCategorySelector } from "./FeedbackCategorySelector.js";
7
7
  import { FeedbackCaseEditor } from "./FeedbackCaseEditor.js";
8
+ import { MentionComposerInput } from "./MentionComposerInput.js";
9
+ import { resolveComposerModeActionKind, THREAD_ACTION_STYLE } from "../../../constants/threadActionStyles.js";
10
+ import { stripMentionTokensForEmptyCheck } from "../../../utils/mention/elementMentions.js";
11
+ const REPLY_TEXTAREA_MIN_HEIGHT = 32;
12
+ const REPLY_TEXTAREA_MAX_HEIGHT = 200;
13
+ const REPLY_LINE_HEIGHT_PX = 21;
14
+ const COMPOSER_MODE_TAG_INLINE_RESERVE_PX = 96;
15
+ const REPLY_MEASURE_ROOT_ATTR = "data-reply-measure-root";
8
16
  function isCaseTextErrorMessage(errorMessage, caseCount, caseTextRequired, casesRequired) {
9
17
  if (!errorMessage) {
10
18
  return false;
@@ -19,20 +27,121 @@ function isCaseTextErrorMessage(errorMessage, caseCount, caseTextRequired, cases
19
27
  }
20
28
  return false;
21
29
  }
22
- export function FeedbackComposer({ message = "", onMessageChange, cases, onCaseChange, onAddCase, onRemoveCase, authorName, onAuthorNameChange, authors, fields: _fields, fieldValues: _fieldValues, onFieldChange: _onFieldChange, category = null, onCategoryChange, showCategory = false, showTags: _showTags = false, onSubmit, isSubmitting = false, showGitHubIssueOnCreate = false, onGitHubIssueSubmit, isGitHubIssueSubmitting = false, placeholder, autoFocus = false, errorMessage = "", showAskQuestionToggle = false, askQuestionChecked = false, onAskQuestionChange, askQuestionForced = false, hideAuthorSelector = false, lockedAuthorName, onFooterWarningChange, hideEditor = false, hideActions = false, hidePrimarySubmitAction = false, categoryPrompt, }) {
30
+ function getComposerModeLabel(mode, messages) {
31
+ const kind = resolveComposerModeActionKind(mode);
32
+ if (kind === "ask") {
33
+ return messages.composer.modeTag.ask;
34
+ }
35
+ if (kind === "denied") {
36
+ return messages.composer.modeTag.denied;
37
+ }
38
+ return messages.composer.modeTag.complete;
39
+ }
40
+ function ComposerModeIcon({ mode, className }) {
41
+ const kind = resolveComposerModeActionKind(mode);
42
+ const color = THREAD_ACTION_STYLE[kind].color;
43
+ if (kind === "ask") {
44
+ return (_jsx(AskActionIcon, { className: className, fill: color }));
45
+ }
46
+ if (kind === "denied") {
47
+ return (_jsx(DeniedActionIcon, { className: className, fill: color }));
48
+ }
49
+ return (_jsx(CompleteActionIcon, { className: className, fill: color }));
50
+ }
51
+ function ComposerModeTag({ mode, messages, onDismiss }) {
52
+ const kind = resolveComposerModeActionKind(mode);
53
+ const style = THREAD_ACTION_STYLE[kind];
54
+ return (_jsxs("span", { className: `inline-flex h-[22px] shrink-0 items-center gap-[4px] rounded-full px-[8px] text-[12px] font-semibold ${style.tagBg} ${style.tagText}`, style: { color: style.color }, children: [_jsx(ComposerModeIcon, { mode: mode, className: "h-[12px] w-[12px]" }), _jsx("span", { style: { color: style.color }, children: getComposerModeLabel(mode, messages) }), onDismiss ? (_jsx("button", { type: "button", "data-fivepixels-interactive": "", onClick: onDismiss, "aria-label": messages.composer.modeTagDismissAriaLabel, className: `ml-[2px] inline-flex h-[14px] w-[14px] items-center justify-center rounded-full ${style.tagDismissHoverBg}`, style: { color: style.color }, children: _jsx(CloseIcon, { className: "h-[10px] w-[10px]" }) })) : null] }));
55
+ }
56
+ function ReplyTextarea({ value, onChange, placeholder, autoFocus, onSubmitShortcut, onMultilineChange, reserveInlineStart = 0, }) {
57
+ const textareaRef = useRef(null);
58
+ const measureFrameRef = useRef(null);
59
+ const lastMultilineRef = useRef(null);
60
+ const syncHeight = useCallback(() => {
61
+ const textarea = textareaRef.current;
62
+ if (!textarea) {
63
+ return;
64
+ }
65
+ const measureRoot = textarea.closest(`[${REPLY_MEASURE_ROOT_ATTR}]`);
66
+ const rootWidth = measureRoot instanceof HTMLElement ? measureRoot.clientWidth : (textarea.parentElement?.clientWidth ?? textarea.clientWidth);
67
+ const measureWidth = reserveInlineStart > 0 ? Math.max(80, rootWidth - reserveInlineStart) : rootWidth;
68
+ const previousWidth = textarea.style.width;
69
+ const previousFlex = textarea.style.flex;
70
+ const previousMinWidth = textarea.style.minWidth;
71
+ // Isolate measurement from flex siblings (mode tag) so wrap detection stays stable across layouts.
72
+ textarea.style.flex = "none";
73
+ textarea.style.minWidth = "0";
74
+ textarea.style.width = `${measureWidth}px`;
75
+ textarea.style.height = "auto";
76
+ const measureScrollHeight = textarea.scrollHeight;
77
+ const styles = window.getComputedStyle(textarea);
78
+ const paddingY = (Number.parseFloat(styles.paddingTop) || 0) + (Number.parseFloat(styles.paddingBottom) || 0);
79
+ const lineHeight = Number.parseFloat(styles.lineHeight) || REPLY_LINE_HEIGHT_PX;
80
+ const singleLineHeight = lineHeight + paddingY;
81
+ const isMultiline = value.includes("\n") || measureScrollHeight > singleLineHeight + 1;
82
+ textarea.style.flex = previousFlex;
83
+ textarea.style.minWidth = previousMinWidth;
84
+ textarea.style.width = previousWidth;
85
+ textarea.style.height = "auto";
86
+ const displayScrollHeight = textarea.scrollHeight;
87
+ const nextHeight = Math.min(Math.max(REPLY_TEXTAREA_MIN_HEIGHT, displayScrollHeight), REPLY_TEXTAREA_MAX_HEIGHT);
88
+ textarea.style.height = `${nextHeight}px`;
89
+ textarea.style.overflowY = displayScrollHeight > REPLY_TEXTAREA_MAX_HEIGHT ? "auto" : "hidden";
90
+ if (lastMultilineRef.current === isMultiline) {
91
+ return;
92
+ }
93
+ lastMultilineRef.current = isMultiline;
94
+ onMultilineChange?.(isMultiline);
95
+ }, [onMultilineChange, reserveInlineStart, value]);
96
+ useLayoutEffect(() => {
97
+ lastMultilineRef.current = null;
98
+ }, [reserveInlineStart]);
99
+ useLayoutEffect(() => {
100
+ syncHeight();
101
+ }, [syncHeight]);
102
+ useEffect(() => {
103
+ const handleResize = () => {
104
+ if (measureFrameRef.current !== null) {
105
+ window.cancelAnimationFrame(measureFrameRef.current);
106
+ }
107
+ measureFrameRef.current = window.requestAnimationFrame(() => {
108
+ syncHeight();
109
+ });
110
+ };
111
+ window.addEventListener("resize", handleResize);
112
+ return () => {
113
+ window.removeEventListener("resize", handleResize);
114
+ if (measureFrameRef.current !== null) {
115
+ window.cancelAnimationFrame(measureFrameRef.current);
116
+ }
117
+ };
118
+ }, [syncHeight]);
119
+ return (_jsx("textarea", { ref: textareaRef, autoFocus: autoFocus, value: value, onChange: (event) => onChange(event.target.value), placeholder: placeholder, rows: 1, className: "max-h-[200px] w-full min-w-0 flex-1 resize-none overflow-hidden bg-transparent px-[4px] py-[6px] text-[14px] leading-[1.5] text-[var(--adaptive-text-primary)] outline-none placeholder:text-[var(--adaptive-text-muted)]", style: { minHeight: REPLY_TEXTAREA_MIN_HEIGHT }, onKeyDown: (event) => {
120
+ if (event.key === "Enter" && (event.metaKey || event.ctrlKey)) {
121
+ event.preventDefault();
122
+ onSubmitShortcut();
123
+ }
124
+ } }));
125
+ }
126
+ export function FeedbackComposer({ message = "", onMessageChange, mentions = [], onMentionsChange, enableElementMentions = false, cases, onCaseChange, onAddCase, onRemoveCase, authorName, onAuthorNameChange, authors, fields: _fields, fieldValues: _fieldValues, onFieldChange: _onFieldChange, category = null, onCategoryChange, showCategory = false, showTags: _showTags = false, onSubmit, isSubmitting = false, showGitHubIssueOnCreate = false, onGitHubIssueSubmit, isGitHubIssueSubmitting = false, placeholder, autoFocus = false, errorMessage = "", showAskQuestionToggle = false, askQuestionChecked = false, onAskQuestionChange, askQuestionForced = false, composerMode = null, onCancelComposerMode, hideAuthorSelector = false, lockedAuthorName, onFooterWarningChange, hideEditor = false, hideActions = false, hidePrimarySubmitAction = false, categoryPrompt, showCaseTabBar = true, activeCaseId, onActiveCaseIdChange, }) {
23
127
  const { messages } = useReportPreferences();
24
128
  const [isGitHubIssueConfirming, setIsGitHubIssueConfirming] = useState(false);
25
129
  const [categoryAttentionKey, setCategoryAttentionKey] = useState(0);
26
130
  const [caseAttentionKey, setCaseAttentionKey] = useState(0);
27
- const isQuestionMode = askQuestionForced || askQuestionChecked;
131
+ const [isReplyMultiline, setIsReplyMultiline] = useState(false);
132
+ const resolvedComposerMode = composerMode ?? (askQuestionForced ? "question" : null);
133
+ const isQuestionMode = askQuestionForced || askQuestionChecked || resolvedComposerMode === "question";
28
134
  const usesCaseEditor = Boolean(cases && onCaseChange && onAddCase && onRemoveCase);
29
- const showActionRow = !hideActions && (showAskQuestionToggle || showGitHubIssueOnCreate || !hidePrimarySubmitAction);
135
+ const showInlineComposerModeTag = Boolean(resolvedComposerMode && !isReplyMultiline);
136
+ const showFooterComposerModeTag = Boolean(resolvedComposerMode && isReplyMultiline);
137
+ const showActionRow = !hideActions && (showAskQuestionToggle || showGitHubIssueOnCreate || !hidePrimarySubmitAction || showFooterComposerModeTag);
30
138
  const resolvedPlaceholder = isQuestionMode ? messages.composer.questionPlaceholder : (placeholder ?? (usesCaseEditor ? messages.fieldEditor.messagePlaceholder : messages.composer.placeholder));
31
- const emptyCaseIds = useMemo(() => (cases ?? []).filter((item) => !item.text.trim()).map((item) => item.id), [cases]);
139
+ const emptyCaseIds = useMemo(() => (cases ?? []).filter((item) => !stripMentionTokensForEmptyCheck(item.text, item.mentions).trim()).map((item) => item.id), [cases]);
32
140
  const hasEmptyCase = emptyCaseIds.length > 0;
33
141
  const isCategoryRequiredError = errorMessage === messages.errors.categoryRequired;
34
142
  const isEmptyCaseError = isCaseTextErrorMessage(errorMessage, cases?.length ?? 0, messages.errors.caseTextRequired, messages.errors.casesRequired);
35
- const categoryNeedsAttention = showCategory && !category && !hasEmptyCase && (categoryAttentionKey > 0 || isCategoryRequiredError);
143
+ const canSelectCategory = Boolean(onCategoryChange);
144
+ const categoryNeedsAttention = canSelectCategory && !category && !hasEmptyCase && (categoryAttentionKey > 0 || isCategoryRequiredError);
36
145
  const caseNeedsAttention = usesCaseEditor && hasEmptyCase && (caseAttentionKey > 0 || isEmptyCaseError);
37
146
  const footerWarning = caseNeedsAttention ? messages.errors.emptyCaseMessageRequired : categoryNeedsAttention ? messages.errors.categoryRequired : null;
38
147
  const isFooterHandledError = isCategoryRequiredError || isEmptyCaseError;
@@ -54,11 +163,11 @@ export function FeedbackComposer({ message = "", onMessageChange, cases, onCaseC
54
163
  setCaseAttentionKey((current) => current + 1);
55
164
  }, [isEmptyCaseError, usesCaseEditor, hasEmptyCase, errorMessage]);
56
165
  useEffect(() => {
57
- if (!isCategoryRequiredError || !showCategory || category || hasEmptyCase) {
166
+ if (!isCategoryRequiredError || !canSelectCategory || category || hasEmptyCase) {
58
167
  return;
59
168
  }
60
169
  setCategoryAttentionKey((current) => current + 1);
61
- }, [isCategoryRequiredError, showCategory, category, hasEmptyCase, errorMessage]);
170
+ }, [isCategoryRequiredError, canSelectCategory, category, hasEmptyCase, errorMessage]);
62
171
  useEffect(() => {
63
172
  if (!hasEmptyCase && caseAttentionKey > 0) {
64
173
  setCaseAttentionKey(0);
@@ -69,12 +178,20 @@ export function FeedbackComposer({ message = "", onMessageChange, cases, onCaseC
69
178
  setCategoryAttentionKey(0);
70
179
  }
71
180
  }, [category, categoryAttentionKey]);
181
+ useEffect(() => {
182
+ if (!resolvedComposerMode) {
183
+ setIsReplyMultiline(false);
184
+ }
185
+ }, [resolvedComposerMode]);
186
+ const handleReplyMultilineChange = useCallback((next) => {
187
+ setIsReplyMultiline((current) => (current === next ? current : next));
188
+ }, []);
72
189
  const bumpValidationAttention = () => {
73
190
  if (usesCaseEditor && hasEmptyCase) {
74
191
  setCaseAttentionKey((current) => current + 1);
75
192
  return;
76
193
  }
77
- if (showCategory && !category) {
194
+ if (canSelectCategory && !category) {
78
195
  setCategoryAttentionKey((current) => current + 1);
79
196
  }
80
197
  };
@@ -97,15 +214,13 @@ export function FeedbackComposer({ message = "", onMessageChange, cases, onCaseC
97
214
  setIsGitHubIssueConfirming(false);
98
215
  onGitHubIssueSubmit();
99
216
  };
100
- return (_jsxs("div", { className: `flex w-full flex-col border border-[var(--adaptive-border-subtle)] bg-[var(--adaptive-neutralTintOpacity900)] backdrop-blur-sm ${usesCaseEditor && !hideEditor ? "min-h-0 flex-1" : ""}`, children: [!hideEditor ? (_jsxs("div", { className: `relative ${usesCaseEditor ? "min-h-0 flex-1" : ""}`, children: [errorMessage && !isFooterHandledError ? (_jsx("p", { role: "alert", className: "absolute bottom-full left-[8px] right-[8px] z-10 mb-[6px] rounded-[8px] border border-rose-200 bg-rose-50 px-[8px] py-[4px] text-[12px] leading-[1.4] text-rose-700 shadow-[0_2px_8px_rgba(0,0,0,0.08)]", children: errorMessage })) : null, usesCaseEditor ? (_jsx(FeedbackCaseEditor, { cases: cases, onCaseChange: onCaseChange, onAddCase: onAddCase, onRemoveCase: onRemoveCase, autoFocus: autoFocus, onSubmitShortcut: handleSubmit, needsAttention: caseNeedsAttention, attentionKey: caseAttentionKey, emptyCaseIds: emptyCaseIds })) : (_jsx("textarea", { autoFocus: autoFocus, value: message, onChange: (event) => onMessageChange?.(event.target.value), placeholder: resolvedPlaceholder, rows: 3, className: "min-h-[72px] w-full resize-none bg-transparent px-[12px] pt-[12px] text-[14px] leading-[1.5] text-[var(--adaptive-text-primary)] outline-none placeholder:text-[var(--adaptive-text-muted)]", onKeyDown: (event) => {
101
- if (event.key === "Enter" && (event.metaKey || event.ctrlKey)) {
102
- event.preventDefault();
103
- handleSubmit();
104
- }
105
- } }))] })) : null, showActionRow ? (_jsx("div", { className: `flex items-center gap-[8px] px-[8px] pb-[8px] ${hideAuthorSelector && !lockedAuthorName ? "justify-end" : "justify-between"}`, children: _jsxs("div", { className: "flex shrink-0 items-center gap-[6px]", children: [showAskQuestionToggle ? (_jsxs("label", { className: "inline-flex items-center gap-[4px] px-[2px] text-[12px] text-[var(--adaptive-black600)]", children: [_jsx("input", { type: "checkbox", "data-fivepixels-interactive": "", checked: isQuestionMode, disabled: askQuestionForced || isActionDisabled, onChange: (event) => onAskQuestionChange?.(event.target.checked), className: "h-[14px] w-[14px] accent-[var(--adaptive-blue500)]" }), _jsx("span", { children: messages.composer.askQuestionLabel })] })) : null, showGitHubIssueOnCreate ? (_jsx("button", { type: "button", "data-fivepixels-interactive": "", disabled: isActionDisabled, onClick: handleGitHubIssueSubmit, className: "inline-flex h-[24px] items-center justify-center gap-[4px] rounded-full border border-[var(--adaptive-border-subtle)] px-[12px] py-[4px] disabled:opacity-50", "aria-label": isGitHubIssueConfirming ? messages.feedbackList.gitIssueConfirmAriaLabel : messages.composer.gitIssueSendAriaLabel, title: isGitHubIssueConfirming ? messages.feedbackList.gitIssueConfirmTitle : messages.composer.gitIssueSendTitle, children: _jsxs("span", { className: "text-[12px] font-semibold text-[var(--adaptive-black500)]", children: ["+", " ", isGitHubIssueSubmitting
106
- ? messages.composer.gitIssueSendingLabel
107
- : isGitHubIssueConfirming
108
- ? messages.feedbackList.gitIssueConfirmLabel
109
- : messages.composer.gitIssueSendLabel] }) })) : null, !hidePrimarySubmitAction ? (_jsx(HoverTooltip, { label: messages.composer.sendAriaLabel, disabled: isActionDisabled, children: _jsx("button", { type: "button", "data-fivepixels-interactive": "", disabled: isActionDisabled, onClick: handleSubmit, className: "inline-flex h-[32px] w-[32px] shrink-0 items-center justify-center rounded-full bg-[#f6562f] text-white disabled:opacity-50", "aria-label": messages.composer.sendAriaLabel, children: _jsx(SendIcon, { className: "h-[16px] w-[16px]" }) }) })) : null] }) })) : null, showCategory && categoryPrompt ? (_jsx("div", { className: "border-t border-[var(--adaptive-tintOpacity100)] px-[12px] py-[14px] text-[14px] font-semibold leading-[1.5] text-[var(--adaptive-text-primary)]", children: categoryPrompt })) : null, showCategory && onCategoryChange ? (_jsx(FeedbackCategorySelector, { value: category, onChange: onCategoryChange, messages: messages, needsAttention: categoryNeedsAttention, attentionKey: categoryAttentionKey })) : null] }));
217
+ return (_jsxs("div", { className: `flex w-full flex-col bg-[var(--adaptive-neutralTintOpacity50)] backdrop-blur-sm ${usesCaseEditor && !hideEditor ? "min-h-0 flex-1" : ""}`, children: [!hideEditor ? (_jsxs("div", { className: `relative ${usesCaseEditor ? "min-h-0 flex-1" : ""}`, children: [errorMessage && !isFooterHandledError ? (_jsx("p", { role: "alert", className: "absolute bottom-full left-[8px] right-[8px] z-10 mb-[6px] rounded-[8px] border border-rose-200 bg-rose-50 px-[8px] py-[4px] text-[12px] leading-[1.4] text-rose-700 shadow-[0_2px_8px_rgba(0,0,0,0.08)]", children: errorMessage })) : null, usesCaseEditor ? (_jsx(FeedbackCaseEditor, { cases: cases, onCaseChange: onCaseChange, onAddCase: onAddCase, onRemoveCase: onRemoveCase, autoFocus: autoFocus, onSubmitShortcut: handleSubmit, needsAttention: caseNeedsAttention, attentionKey: caseAttentionKey, emptyCaseIds: emptyCaseIds, showTabBar: showCaseTabBar, activeCaseId: activeCaseId, onActiveCaseIdChange: onActiveCaseIdChange, enableElementMentions: enableElementMentions })) : enableElementMentions ? (_jsx("div", { "data-reply-measure-root": "", className: "px-[8px] pt-[8px]", children: _jsxs("div", { className: showInlineComposerModeTag ? "flex items-start gap-[6px]" : undefined, children: [showInlineComposerModeTag && resolvedComposerMode ? (_jsx("div", { className: "flex h-[32px] shrink-0 items-center", children: _jsx(ComposerModeTag, { mode: resolvedComposerMode, messages: messages, onDismiss: onCancelComposerMode }) })) : null, _jsx(MentionComposerInput, { value: message, mentions: mentions, onChange: ({ message: nextMessage, mentions: nextMentions }) => {
218
+ onMessageChange?.(nextMessage);
219
+ onMentionsChange?.(nextMentions);
220
+ }, placeholder: resolvedPlaceholder, autoFocus: autoFocus, onSubmitShortcut: handleSubmit, onMultilineChange: handleReplyMultilineChange, reserveInlineStart: resolvedComposerMode ? COMPOSER_MODE_TAG_INLINE_RESERVE_PX : 0 })] }) })) : (_jsx("div", { "data-reply-measure-root": "", className: "px-[8px] pt-[8px]", children: _jsxs("div", { className: showInlineComposerModeTag ? "flex items-start gap-[6px]" : undefined, children: [showInlineComposerModeTag && resolvedComposerMode ? (_jsx("div", { className: "flex h-[32px] shrink-0 items-center", children: _jsx(ComposerModeTag, { mode: resolvedComposerMode, messages: messages, onDismiss: onCancelComposerMode }) })) : null, _jsx(ReplyTextarea, { value: message, onChange: (value) => onMessageChange?.(value), placeholder: resolvedPlaceholder, autoFocus: autoFocus, onSubmitShortcut: handleSubmit, onMultilineChange: handleReplyMultilineChange, reserveInlineStart: resolvedComposerMode ? COMPOSER_MODE_TAG_INLINE_RESERVE_PX : 0 })] }) }))] })) : null, showActionRow ? (_jsxs("div", { className: `flex items-center gap-[8px] px-[8px] pb-[8px] ${showFooterComposerModeTag || !(hideAuthorSelector && !lockedAuthorName) ? "justify-between" : "justify-end"}`, children: [showFooterComposerModeTag && resolvedComposerMode ? (_jsx(ComposerModeTag, { mode: resolvedComposerMode, messages: messages, onDismiss: onCancelComposerMode })) : (_jsx("div", { className: "min-w-0 flex-1" })), _jsxs("div", { className: "flex shrink-0 items-center gap-[6px]", children: [showAskQuestionToggle ? (_jsxs("label", { className: "inline-flex items-center gap-[4px] px-[2px] text-[12px] text-[var(--adaptive-black600)]", children: [_jsx("input", { type: "checkbox", "data-fivepixels-interactive": "", checked: isQuestionMode, disabled: askQuestionForced || isActionDisabled, onChange: (event) => onAskQuestionChange?.(event.target.checked), className: "h-[14px] w-[14px] accent-[var(--adaptive-blue500)]" }), _jsx("span", { children: messages.composer.askQuestionLabel })] })) : null, showGitHubIssueOnCreate ? (_jsx("button", { type: "button", "data-fivepixels-interactive": "", disabled: isActionDisabled, onClick: handleGitHubIssueSubmit, className: "inline-flex h-[24px] items-center justify-center gap-[4px] rounded-full border border-[var(--adaptive-border-subtle)] px-[12px] py-[4px] disabled:opacity-50", "aria-label": isGitHubIssueConfirming ? messages.feedbackList.gitIssueConfirmAriaLabel : messages.composer.gitIssueSendAriaLabel, title: isGitHubIssueConfirming ? messages.feedbackList.gitIssueConfirmTitle : messages.composer.gitIssueSendTitle, children: _jsxs("span", { className: "text-[12px] font-semibold text-[var(--adaptive-black500)]", children: ["+", " ", isGitHubIssueSubmitting
221
+ ? messages.composer.gitIssueSendingLabel
222
+ : isGitHubIssueConfirming
223
+ ? messages.feedbackList.gitIssueConfirmLabel
224
+ : messages.composer.gitIssueSendLabel] }) })) : null, !hidePrimarySubmitAction ? (_jsx(HoverTooltip, { label: messages.composer.sendAriaLabel, disabled: isActionDisabled, children: _jsx("button", { type: "button", "data-fivepixels-interactive": "", disabled: isActionDisabled, onClick: handleSubmit, className: "inline-flex h-[32px] w-[32px] shrink-0 items-center justify-center rounded-full bg-[#f6562f] text-white disabled:opacity-50", "aria-label": messages.composer.sendAriaLabel, children: _jsx(SendIcon, { className: "h-[16px] w-[16px]" }) }) })) : null] })] })) : null, showCategory && categoryPrompt ? _jsx("div", { className: "px-[12px] py-[8px] text-[16px] font-bold leading-[1.5] text-[var(--adaptive-text-primary)]", children: categoryPrompt }) : null, showCategory && onCategoryChange ? (_jsx(FeedbackCategorySelector, { value: category, onChange: onCategoryChange, messages: messages, needsAttention: categoryNeedsAttention, attentionKey: categoryAttentionKey })) : null] }));
110
225
  }
111
226
  //# sourceMappingURL=FeedbackComposer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FeedbackComposer.js","sourceRoot":"","sources":["../../../../src/components/panel/feedback/FeedbackComposer.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAEvD,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAwC7D,SAAS,sBAAsB,CAAC,YAAoB,EAAE,SAAiB,EAAE,gBAA2C,EAAE,aAAqB;IACvI,IAAI,CAAC,YAAY,EAAE,CAAC;QAChB,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,IAAI,YAAY,KAAK,aAAa,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC9D,IAAI,YAAY,KAAK,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3C,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,EAC7B,OAAO,GAAG,EAAE,EACZ,eAAe,EACf,KAAK,EACL,YAAY,EACZ,SAAS,EACT,YAAY,EACZ,UAAU,EACV,kBAAkB,EAClB,OAAO,EACP,MAAM,EAAE,OAAO,EACf,WAAW,EAAE,YAAY,EACzB,aAAa,EAAE,cAAc,EAC7B,QAAQ,GAAG,IAAI,EACf,gBAAgB,EAChB,YAAY,GAAG,KAAK,EACpB,QAAQ,EAAE,SAAS,GAAG,KAAK,EAC3B,QAAQ,EACR,YAAY,GAAG,KAAK,EACpB,uBAAuB,GAAG,KAAK,EAC/B,mBAAmB,EACnB,uBAAuB,GAAG,KAAK,EAC/B,WAAW,EACX,SAAS,GAAG,KAAK,EACjB,YAAY,GAAG,EAAE,EACjB,qBAAqB,GAAG,KAAK,EAC7B,kBAAkB,GAAG,KAAK,EAC1B,mBAAmB,EACnB,iBAAiB,GAAG,KAAK,EACzB,kBAAkB,GAAG,KAAK,EAC1B,gBAAgB,EAChB,qBAAqB,EACrB,UAAU,GAAG,KAAK,EAClB,WAAW,GAAG,KAAK,EACnB,uBAAuB,GAAG,KAAK,EAC/B,cAAc,GACM;IACpB,MAAM,EAAE,QAAQ,EAAE,GAAG,oBAAoB,EAAE,CAAC;IAC5C,MAAM,CAAC,uBAAuB,EAAE,0BAA0B,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9E,MAAM,CAAC,oBAAoB,EAAE,uBAAuB,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IACpE,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC5D,MAAM,cAAc,GAAG,iBAAiB,IAAI,kBAAkB,CAAC;IAC/D,MAAM,cAAc,GAAG,OAAO,CAAC,KAAK,IAAI,YAAY,IAAI,SAAS,IAAI,YAAY,CAAC,CAAC;IACnF,MAAM,aAAa,GAAG,CAAC,WAAW,IAAI,CAAC,qBAAqB,IAAI,uBAAuB,IAAI,CAAC,uBAAuB,CAAC,CAAC;IACrH,MAAM,mBAAmB,GAAG,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;IACjM,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IACtH,MAAM,YAAY,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;IAC7C,MAAM,uBAAuB,GAAG,YAAY,KAAK,QAAQ,CAAC,MAAM,CAAC,gBAAgB,CAAC;IAClF,MAAM,gBAAgB,GAAG,sBAAsB,CAAC,YAAY,EAAE,KAAK,EAAE,MAAM,IAAI,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,gBAAgB,EAAE,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IACnJ,MAAM,sBAAsB,GAAG,YAAY,IAAI,CAAC,QAAQ,IAAI,CAAC,YAAY,IAAI,CAAC,oBAAoB,GAAG,CAAC,IAAI,uBAAuB,CAAC,CAAC;IACnI,MAAM,kBAAkB,GAAG,cAAc,IAAI,YAAY,IAAI,CAAC,gBAAgB,GAAG,CAAC,IAAI,gBAAgB,CAAC,CAAC;IACxG,MAAM,aAAa,GAAG,kBAAkB,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC;IACvJ,MAAM,oBAAoB,GAAG,uBAAuB,IAAI,gBAAgB,CAAC;IAEzE,MAAM,gBAAgB,GAAG,YAAY,IAAI,uBAAuB,CAAC;IAEjE,SAAS,CAAC,GAAG,EAAE;QACX,qBAAqB,EAAE,CAAC,aAAa,CAAC,CAAC;IAC3C,CAAC,EAAE,CAAC,aAAa,EAAE,qBAAqB,CAAC,CAAC,CAAC;IAE3C,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,CAAC,uBAAuB,EAAE,CAAC;YAC3B,OAAO;QACX,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,0BAA0B,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC;QAE/E,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC,EAAE,CAAC,uBAAuB,CAAC,CAAC,CAAC;IAE9B,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,CAAC,gBAAgB,IAAI,CAAC,cAAc,IAAI,CAAC,YAAY,EAAE,CAAC;YACxD,OAAO;QACX,CAAC;QAED,mBAAmB,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;IAClD,CAAC,EAAE,CAAC,gBAAgB,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC;IAEnE,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,CAAC,uBAAuB,IAAI,CAAC,YAAY,IAAI,QAAQ,IAAI,YAAY,EAAE,CAAC;YACxE,OAAO;QACX,CAAC;QAED,uBAAuB,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;IACtD,CAAC,EAAE,CAAC,uBAAuB,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC;IAElF,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,CAAC,YAAY,IAAI,gBAAgB,GAAG,CAAC,EAAE,CAAC;YACxC,mBAAmB,CAAC,CAAC,CAAC,CAAC;QAC3B,CAAC;IACL,CAAC,EAAE,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAErC,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,QAAQ,IAAI,oBAAoB,GAAG,CAAC,EAAE,CAAC;YACvC,uBAAuB,CAAC,CAAC,CAAC,CAAC;QAC/B,CAAC;IACL,CAAC,EAAE,CAAC,QAAQ,EAAE,oBAAoB,CAAC,CAAC,CAAC;IAErC,MAAM,uBAAuB,GAAG,GAAG,EAAE;QACjC,IAAI,cAAc,IAAI,YAAY,EAAE,CAAC;YACjC,mBAAmB,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;YAC9C,OAAO;QACX,CAAC;QAED,IAAI,YAAY,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC5B,uBAAuB,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;QACtD,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,GAAG,EAAE;QACtB,IAAI,gBAAgB,EAAE,CAAC;YACnB,OAAO;QACX,CAAC;QAED,uBAAuB,EAAE,CAAC;QAC1B,QAAQ,EAAE,CAAC;IACf,CAAC,CAAC;IAEF,MAAM,uBAAuB,GAAG,GAAG,EAAE;QACjC,IAAI,gBAAgB,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC3C,OAAO;QACX,CAAC;QAED,IAAI,CAAC,uBAAuB,EAAE,CAAC;YAC3B,0BAA0B,CAAC,IAAI,CAAC,CAAC;YACjC,OAAO;QACX,CAAC;QAED,uBAAuB,EAAE,CAAC;QAC1B,0BAA0B,CAAC,KAAK,CAAC,CAAC;QAClC,mBAAmB,EAAE,CAAC;IAC1B,CAAC,CAAC;IAEF,OAAO,CACH,eAAK,SAAS,EAAE,kIAAkI,cAAc,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,EAAE,aACpM,CAAC,UAAU,CAAC,CAAC,CAAC,CACf,eAAK,SAAS,EAAE,YAAY,cAAc,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,EAAE,aAC/D,YAAY,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,CACrC,YACI,IAAI,EAAC,OAAO,EACZ,SAAS,EAAC,yMAAyM,YAElN,YAAY,GACb,CACP,CAAC,CAAC,CAAC,IAAI,EACP,cAAc,CAAC,CAAC,CAAC,CACd,KAAC,kBAAkB,IACf,KAAK,EAAE,KAAM,EACb,YAAY,EAAE,YAAa,EAC3B,SAAS,EAAE,SAAU,EACrB,YAAY,EAAE,YAAa,EAC3B,SAAS,EAAE,SAAS,EACpB,gBAAgB,EAAE,YAAY,EAC9B,cAAc,EAAE,kBAAkB,EAClC,YAAY,EAAE,gBAAgB,EAC9B,YAAY,EAAE,YAAY,GAC5B,CACL,CAAC,CAAC,CAAC,CACA,mBACI,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,eAAe,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAC1D,WAAW,EAAE,mBAAmB,EAChC,IAAI,EAAE,CAAC,EACP,SAAS,EAAC,6LAA6L,EACvM,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;4BACjB,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;gCAC5D,KAAK,CAAC,cAAc,EAAE,CAAC;gCACvB,YAAY,EAAE,CAAC;4BACnB,CAAC;wBACL,CAAC,GACH,CACL,IACC,CACL,CAAC,CAAC,CAAC,IAAI,EAEP,aAAa,CAAC,CAAC,CAAC,CACjB,cAAK,SAAS,EAAE,iDAAiD,kBAAkB,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,iBAAiB,EAAE,YAe1I,eAAK,SAAS,EAAC,sCAAsC,aAChD,qBAAqB,CAAC,CAAC,CAAC,CACrB,iBAAO,SAAS,EAAC,yFAAyF,aACtG,gBACI,IAAI,EAAC,UAAU,iCACa,EAAE,EAC9B,OAAO,EAAE,cAAc,EACvB,QAAQ,EAAE,iBAAiB,IAAI,gBAAgB,EAC/C,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,mBAAmB,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,EAChE,SAAS,EAAC,oDAAoD,GAChE,EACF,yBAAO,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,GAAQ,IAC7C,CACX,CAAC,CAAC,CAAC,IAAI,EACP,uBAAuB,CAAC,CAAC,CAAC,CACvB,iBACI,IAAI,EAAC,QAAQ,iCACe,EAAE,EAC9B,QAAQ,EAAE,gBAAgB,EAC1B,OAAO,EAAE,uBAAuB,EAChC,SAAS,EAAC,8JAA8J,gBAC5J,uBAAuB,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,wBAAwB,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,qBAAqB,EAC9H,KAAK,EAAE,uBAAuB,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,oBAAoB,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,iBAAiB,YAEjH,gBAAM,SAAS,EAAC,2DAA2D,kBACrE,GAAG,EACJ,uBAAuB;wCACpB,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,oBAAoB;wCACxC,CAAC,CAAC,uBAAuB;4CACvB,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,oBAAoB;4CAC5C,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,iBAAiB,IACxC,GACF,CACZ,CAAC,CAAC,CAAC,IAAI,EACP,CAAC,uBAAuB,CAAC,CAAC,CAAC,CACxB,KAAC,YAAY,IACT,KAAK,EAAE,QAAQ,CAAC,QAAQ,CAAC,aAAa,EACtC,QAAQ,EAAE,gBAAgB,YAE1B,iBACI,IAAI,EAAC,QAAQ,iCACe,EAAE,EAC9B,QAAQ,EAAE,gBAAgB,EAC1B,OAAO,EAAE,YAAY,EACrB,SAAS,EAAC,6HAA6H,gBAC3H,QAAQ,CAAC,QAAQ,CAAC,aAAa,YAE3C,KAAC,QAAQ,IAAC,SAAS,EAAC,mBAAmB,GAAG,GACrC,GACE,CAClB,CAAC,CAAC,CAAC,IAAI,IACN,GACJ,CACL,CAAC,CAAC,CAAC,IAAI,EACP,YAAY,IAAI,cAAc,CAAC,CAAC,CAAC,CAC9B,cAAK,SAAS,EAAC,kJAAkJ,YAC5J,cAAc,GACb,CACT,CAAC,CAAC,CAAC,IAAI,EACP,YAAY,IAAI,gBAAgB,CAAC,CAAC,CAAC,CAChC,KAAC,wBAAwB,IACrB,KAAK,EAAE,QAAQ,EACf,QAAQ,EAAE,gBAAgB,EAC1B,QAAQ,EAAE,QAAQ,EAClB,cAAc,EAAE,sBAAsB,EACtC,YAAY,EAAE,oBAAoB,GACpC,CACL,CAAC,CAAC,CAAC,IAAI,IACN,CACT,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"FeedbackComposer.js","sourceRoot":"","sources":["../../../../src/components/panel/feedback/FeedbackComposer.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import type { ReportMessages } from "../../../i18n/types.js";
2
+ type FeedbackDeleteActionProps = {
3
+ reportId: string;
4
+ onDelete: (id: string) => Promise<void>;
5
+ disabled?: boolean;
6
+ messages: ReportMessages;
7
+ className?: string;
8
+ iconClassName?: string;
9
+ deleteTitle?: string;
10
+ deleteConfirmTitle?: string;
11
+ deleteAriaLabel?: string;
12
+ deleteConfirmAriaLabel?: string;
13
+ };
14
+ export declare function FeedbackDeleteAction({ reportId, onDelete, disabled, messages, className, iconClassName, deleteTitle, deleteConfirmTitle, deleteAriaLabel, deleteConfirmAriaLabel, }: FeedbackDeleteActionProps): import("react").JSX.Element;
15
+ export {};
16
+ //# sourceMappingURL=FeedbackDeleteAction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FeedbackDeleteAction.d.ts","sourceRoot":"","sources":["../../../../src/components/panel/feedback/FeedbackDeleteAction.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAItD,KAAK,yBAAyB,GAAG;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,cAAc,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACnC,CAAC;AAEF,wBAAgB,oBAAoB,CAAC,EACjC,QAAQ,EACR,QAAQ,EACR,QAAgB,EAChB,QAAQ,EACR,SAAoF,EACpF,aAAmC,EACnC,WAA+C,EAC/C,kBAA6D,EAC7D,eAAuD,EACvD,sBAAqE,GACxE,EAAE,yBAAyB,+BA2C3B"}
@@ -0,0 +1,28 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useEffect, useState } from "react";
3
+ import { TrashIcon } from "../../../components/icons/Icons.js";
4
+ import { HoverTooltip } from "../../../components/ui/HoverTooltip.js";
5
+ export function FeedbackDeleteAction({ reportId, onDelete, disabled = false, messages, className = "flex h-[20px] w-[20px] items-center justify-center disabled:opacity-50", iconClassName = "h-[12px] w-[12px]", deleteTitle = messages.feedbackList.deleteTitle, deleteConfirmTitle = messages.feedbackList.deleteConfirmTitle, deleteAriaLabel = messages.feedbackList.deleteAriaLabel, deleteConfirmAriaLabel = messages.feedbackList.deleteConfirmAriaLabel, }) {
6
+ const [confirming, setConfirming] = useState(false);
7
+ useEffect(() => {
8
+ if (!confirming) {
9
+ return;
10
+ }
11
+ const timer = window.setTimeout(() => setConfirming(false), 1500);
12
+ return () => {
13
+ window.clearTimeout(timer);
14
+ };
15
+ }, [confirming]);
16
+ const handleDelete = (event) => {
17
+ event.stopPropagation();
18
+ if (!confirming) {
19
+ setConfirming(true);
20
+ return;
21
+ }
22
+ void onDelete(reportId).finally(() => {
23
+ setConfirming(false);
24
+ });
25
+ };
26
+ return (_jsx(HoverTooltip, { label: confirming ? deleteConfirmTitle : deleteTitle, children: _jsx("button", { type: "button", "data-fivepixels-interactive": "", onPointerDown: (event) => event.stopPropagation(), onClick: handleDelete, disabled: disabled, "aria-label": confirming ? deleteConfirmAriaLabel : deleteAriaLabel, className: `${className} ${confirming ? "text-rose-200 hover:text-white" : "text-[var(--adaptive-black50)] hover:text-white"}`, children: confirming ? _jsx("span", { className: "text-[9px] font-semibold", children: "!" }) : _jsx(TrashIcon, { className: iconClassName }) }) }));
27
+ }
28
+ //# sourceMappingURL=FeedbackDeleteAction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FeedbackDeleteAction.js","sourceRoot":"","sources":["../../../../src/components/panel/feedback/FeedbackDeleteAction.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAmB,MAAM,OAAO,CAAC;AAE7D,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAe/D,MAAM,UAAU,oBAAoB,CAAC,EACjC,QAAQ,EACR,QAAQ,EACR,QAAQ,GAAG,KAAK,EAChB,QAAQ,EACR,SAAS,GAAG,wEAAwE,EACpF,aAAa,GAAG,mBAAmB,EACnC,WAAW,GAAG,QAAQ,CAAC,YAAY,CAAC,WAAW,EAC/C,kBAAkB,GAAG,QAAQ,CAAC,YAAY,CAAC,kBAAkB,EAC7D,eAAe,GAAG,QAAQ,CAAC,YAAY,CAAC,eAAe,EACvD,sBAAsB,GAAG,QAAQ,CAAC,YAAY,CAAC,sBAAsB,GAC7C;IACxB,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEpD,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,CAAC,UAAU,EAAE,CAAC;YACd,OAAO;QACX,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC;QAElE,OAAO,GAAG,EAAE;YACR,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC,CAAC;IACN,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IAEjB,MAAM,YAAY,GAAG,CAAC,KAAoC,EAAE,EAAE;QAC1D,KAAK,CAAC,eAAe,EAAE,CAAC;QAExB,IAAI,CAAC,UAAU,EAAE,CAAC;YACd,aAAa,CAAC,IAAI,CAAC,CAAC;YACpB,OAAO;QACX,CAAC;QAED,KAAK,QAAQ,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE;YACjC,aAAa,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;IACP,CAAC,CAAC;IAEF,OAAO,CACH,KAAC,YAAY,IAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,WAAW,YAC9D,iBACI,IAAI,EAAC,QAAQ,iCACe,EAAE,EAC9B,aAAa,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,eAAe,EAAE,EACjD,OAAO,EAAE,YAAY,EACrB,QAAQ,EAAE,QAAQ,gBACN,UAAU,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,eAAe,EACjE,SAAS,EAAE,GAAG,SAAS,IAAI,UAAU,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC,CAAC,iDAAiD,EAAE,YAE7H,UAAU,CAAC,CAAC,CAAC,eAAM,SAAS,EAAC,0BAA0B,kBAAS,CAAC,CAAC,CAAC,KAAC,SAAS,IAAC,SAAS,EAAE,aAAa,GAAI,GACtG,GACE,CAClB,CAAC;AACN,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"FeedbackHoverCard.d.ts","sourceRoot":"","sources":["../../../../src/components/panel/feedback/FeedbackHoverCard.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAS/D,KAAK,sBAAsB,GAAG;IAC1B,MAAM,EAAE,cAAc,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAClC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC9B,CAAC;AAgBF,wBAAgB,iBAAiB,CAAC,EAAE,MAAM,EAAE,QAAgB,EAAE,YAAmB,EAAE,YAAY,EAAE,iBAAiB,EAAE,EAAE,sBAAsB,+BAgD3I"}
1
+ {"version":3,"file":"FeedbackHoverCard.d.ts","sourceRoot":"","sources":["../../../../src/components/panel/feedback/FeedbackHoverCard.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAU/D,KAAK,sBAAsB,GAAG;IAC1B,MAAM,EAAE,cAAc,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAClC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC9B,CAAC;AAgBF,wBAAgB,iBAAiB,CAAC,EAAE,MAAM,EAAE,QAAgB,EAAE,YAAmB,EAAE,YAAY,EAAE,iBAAiB,EAAE,EAAE,sBAAsB,+BAkD3I"}
@@ -3,6 +3,7 @@ import { FEEDBACK_STATUS_COLOR } from "../../../constants/feedbackStatus.js";
3
3
  import { getDetachedMarkerHint } from "../../../utils/marker/markerContext.js";
4
4
  import { getCaseLatestStatus } from "../../../utils/feedback/feedbackThread.js";
5
5
  import { getReportCases } from "../../../utils/report/reportCases.js";
6
+ import { mentionMessageToPlainText } from "../../../utils/mention/elementMentions.js";
6
7
  import { useReportPreferences } from "../../../providers/reportContext.js";
7
8
  import { FeedbackCreatorBadge } from "./FeedbackCreatorBadge.js";
8
9
  const MAX_TOOLTIP_CASES = 5;
@@ -17,9 +18,9 @@ export function FeedbackHoverCard({ report, detached = false, detachedKind = nul
17
18
  const visibleCases = cases.slice(0, MAX_TOOLTIP_CASES);
18
19
  const hasMoreCases = cases.length > MAX_TOOLTIP_CASES;
19
20
  const resolvedDetachedHint = detached && detachedHint && detachedModalHint ? getDetachedMarkerHint(detachedKind, { detachedHint, detachedModalHint }) : null;
20
- return (_jsxs("div", { className: "flex w-[260px] flex-col gap-[6px] bg-transparent p-[8px_8px]", children: [resolvedDetachedHint ? _jsx("p", { className: "text-[12px] leading-[1.4] text-[var(--adaptive-black500)]", children: resolvedDetachedHint }) : null, _jsx("ul", { className: "flex flex-col gap-[4px]", children: visibleCases.map((item) => {
21
- const status = getCaseLatestStatus(report, item.id);
22
- return (_jsxs("li", { className: "flex min-w-0 items-center gap-[6px] text-[12px] leading-[1.4]", children: [_jsx("span", { className: `min-w-0 flex-1 truncate text-[var(--adaptive-text-primary)] ${item.status === "resolved" ? "text-[var(--adaptive-black500)] line-through" : ""}`, title: item.text, children: item.text }), _jsx("span", { className: "shrink-0 text-[var(--adaptive-black400)]", "aria-hidden": true, children: "|" }), _jsx(CaseStatusLabel, { status: status })] }, item.id));
23
- }) }), hasMoreCases ? _jsx("p", { className: "text-[11px] leading-[1.4] text-[var(--adaptive-black500)]", children: messages.marker.viewMoreCases }) : null, report.author_name ? (_jsxs("div", { className: "flex items-center gap-[6px] border-t border-[var(--adaptive-border-subtle)] pt-[6px]", children: [_jsx("p", { className: "text-[12px] text-[var(--adaptive-black500)]", children: report.author_name }), _jsx(FeedbackCreatorBadge, {})] })) : null] }));
21
+ return (_jsx("div", { className: "flex w-[260px] flex-col bg-transparent", children: _jsxs("div", { className: "flex flex-col gap-[6px] p-[8px_12px]", children: [resolvedDetachedHint ? _jsx("p", { className: "text-[12px] leading-[1.4] text-[var(--adaptive-black500)]", children: resolvedDetachedHint }) : null, _jsx("ul", { className: "flex flex-col gap-[4px]", children: visibleCases.map((item) => {
22
+ const status = getCaseLatestStatus(report, item.id);
23
+ return (_jsxs("li", { className: "flex min-w-0 items-center gap-[6px]", children: [_jsx("span", { className: `min-w-0 flex-1 text-[16px] leading-[1.5] truncate text-[var(--adaptive-text-primary)] ${item.status === "resolved" ? "text-[var(--adaptive-black500)] line-through" : ""}`, title: mentionMessageToPlainText(item.text, item.mentions), children: mentionMessageToPlainText(item.text, item.mentions) }), _jsx(CaseStatusLabel, { status: status })] }, item.id));
24
+ }) }), hasMoreCases ? _jsx("p", { className: "text-[11px] leading-[1.4] text-[var(--adaptive-black500)]", children: messages.marker.viewMoreCases }) : null, report.author_name ? (_jsxs("div", { className: "flex items-center gap-[6px] pt-[6px]", children: [_jsx("p", { className: "text-[12px] text-[var(--adaptive-black500)]", children: report.author_name }), _jsx(FeedbackCreatorBadge, {})] })) : null] }) }));
24
25
  }
25
26
  //# sourceMappingURL=FeedbackHoverCard.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FeedbackHoverCard.js","sourceRoot":"","sources":["../../../../src/components/panel/feedback/FeedbackHoverCard.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,qBAAqB,EAA8B,MAAM,+BAA+B,CAAC;AAGlG,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAU5B,SAAS,eAAe,CAAC,EAAE,MAAM,EAAqC;IAClE,MAAM,EAAE,QAAQ,EAAE,GAAG,oBAAoB,EAAE,CAAC;IAC5C,MAAM,KAAK,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAE5C,OAAO,CACH,eACI,SAAS,EAAC,mEAAmE,EAC7E,KAAK,EAAE,EAAE,KAAK,EAAE,YAEf,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,GAC9B,CACV,CAAC;AACN,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,EAAE,MAAM,EAAE,QAAQ,GAAG,KAAK,EAAE,YAAY,GAAG,IAAI,EAAE,YAAY,EAAE,iBAAiB,EAA0B;IACxI,MAAM,EAAE,QAAQ,EAAE,GAAG,oBAAoB,EAAE,CAAC;IAC5C,MAAM,KAAK,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IACrC,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC;IACvD,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,GAAG,iBAAiB,CAAC;IACtD,MAAM,oBAAoB,GAAG,QAAQ,IAAI,YAAY,IAAI,iBAAiB,CAAC,CAAC,CAAC,qBAAqB,CAAC,YAAY,EAAE,EAAE,YAAY,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAE7J,OAAO,CACH,eAAK,SAAS,EAAC,8DAA8D,aACxE,oBAAoB,CAAC,CAAC,CAAC,YAAG,SAAS,EAAC,2DAA2D,YAAE,oBAAoB,GAAK,CAAC,CAAC,CAAC,IAAI,EAElI,aAAI,SAAS,EAAC,yBAAyB,YAClC,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;oBACvB,MAAM,MAAM,GAAG,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;oBAEpD,OAAO,CACH,cAEI,SAAS,EAAC,+DAA+D,aAEzE,eACI,SAAS,EAAE,+DAA+D,IAAI,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,8CAA8C,CAAC,CAAC,CAAC,EAAE,EAAE,EAC5J,KAAK,EAAE,IAAI,CAAC,IAAI,YAEf,IAAI,CAAC,IAAI,GACP,EACP,eACI,SAAS,EAAC,0CAA0C,uCAIjD,EACP,KAAC,eAAe,IAAC,MAAM,EAAE,MAAM,GAAI,KAf9B,IAAI,CAAC,EAAE,CAgBX,CACR,CAAC;gBACN,CAAC,CAAC,GACD,EAEJ,YAAY,CAAC,CAAC,CAAC,YAAG,SAAS,EAAC,2DAA2D,YAAE,QAAQ,CAAC,MAAM,CAAC,aAAa,GAAK,CAAC,CAAC,CAAC,IAAI,EAElI,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAClB,eAAK,SAAS,EAAC,sFAAsF,aACjG,YAAG,SAAS,EAAC,6CAA6C,YAAE,MAAM,CAAC,WAAW,GAAK,EACnF,KAAC,oBAAoB,KAAG,IACtB,CACT,CAAC,CAAC,CAAC,IAAI,IACN,CACT,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"FeedbackHoverCard.js","sourceRoot":"","sources":["../../../../src/components/panel/feedback/FeedbackHoverCard.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"FeedbackListItem.d.ts","sourceRoot":"","sources":["../../../../src/components/panel/feedback/FeedbackListItem.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAapE,KAAK,qBAAqB,GAAG;IACzB,MAAM,EAAE,cAAc,CAAC;IACvB,MAAM,EAAE,YAAY,CAAC;IACrB,QAAQ,EAAE,cAAc,CAAC;IACzB,SAAS,EAAE,SAAS,GAAG,KAAK,CAAC;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,qBAAqB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,mBAAmB,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACnE,CAAC;AAmJF,wBAAgB,gBAAgB,CAAC,EAC7B,MAAM,EACN,MAAM,EACN,QAAQ,EACR,SAAS,EACT,QAAgB,EAChB,oBAA4B,EAC5B,qBAA4B,EAC5B,QAAQ,EACR,QAAQ,EACR,mBAAmB,GACtB,EAAE,qBAAqB,+BA4DvB"}
1
+ {"version":3,"file":"FeedbackListItem.d.ts","sourceRoot":"","sources":["../../../../src/components/panel/feedback/FeedbackListItem.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAgBpE,KAAK,qBAAqB,GAAG;IACzB,MAAM,EAAE,cAAc,CAAC;IACvB,MAAM,EAAE,YAAY,CAAC;IACrB,QAAQ,EAAE,cAAc,CAAC;IACzB,SAAS,EAAE,SAAS,GAAG,KAAK,CAAC;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,qBAAqB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,mBAAmB,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACnE,CAAC;AAqGF,wBAAgB,gBAAgB,CAAC,EAC7B,MAAM,EACN,MAAM,EACN,QAAQ,EACR,SAAS,EACT,QAAgB,EAChB,oBAA4B,EAC5B,qBAA4B,EAC5B,QAAQ,EACR,QAAQ,EACR,mBAAmB,GACtB,EAAE,qBAAqB,+BA+FvB"}
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useEffect, useState } from "react";
2
+ import { useState } from "react";
3
3
  import { formatTimeOnly } from "../../../utils/shared/format.js";
4
4
  import { getIssueSummary } from "../../../utils/report/reportCases.js";
5
5
  import { getReplyCount } from "../../../utils/feedback/feedbackThread.js";
@@ -9,7 +9,10 @@ import { isFeedbackCategory } from "../../../constants/feedbackCategory.js";
9
9
  import { copyTextToClipboard, serializeFeedbackItem } from "../../../utils/feedback/feedbackDataTransfer.js";
10
10
  import { GitIssueButton } from "./GitIssueButton.js";
11
11
  import { FeedbackPinToggleButton } from "./FeedbackPinToggleButton.js";
12
- import { CopyIcon, TrashIcon } from "../../../components/icons/Icons.js";
12
+ import { FeedbackDeleteAction } from "./FeedbackDeleteAction.js";
13
+ import { canDeleteFeedback } from "../../../utils/feedback/feedbackPermissions.js";
14
+ import { useReport } from "../../../providers/reportContext.js";
15
+ import { CopyIcon } from "../../../components/icons/Icons.js";
13
16
  import { HoverTooltip } from "../../../components/ui/HoverTooltip.js";
14
17
  function ClockIcon({ className }) {
15
18
  return (_jsxs("svg", { viewBox: "0 0 16 16", fill: "none", "aria-hidden": true, className: className, children: [_jsx("circle", { cx: "8", cy: "8", r: "6.25", stroke: "currentColor", strokeWidth: "1.5" }), _jsx("path", { d: "M8 4.5V8l2.25 1.5", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" })] }));
@@ -32,39 +35,18 @@ function FeedbackListCopyAction({ report, messages }) {
32
35
  };
33
36
  return (_jsx(HoverTooltip, { label: copied ? messages.feedbackList.copiedTitle : messages.feedbackList.copyTitle, children: _jsx("button", { type: "button", "data-fivepixels-interactive": "", onClick: handleCopy, "aria-label": messages.feedbackList.copyAriaLabel, className: "flex h-[20px] w-[20px] items-center justify-center text-[var(--adaptive-black50)] hover:text-white", children: copied ? _jsx("span", { className: "text-[9px] font-semibold", children: messages.common.ok }) : _jsx(CopyIcon, { className: "h-[12px] w-[12px]" }) }) }));
34
37
  }
35
- function FeedbackListDeleteAction({ report, onDelete, disabled = false, messages }) {
36
- const [confirming, setConfirming] = useState(false);
37
- useEffect(() => {
38
- if (!confirming) {
39
- return;
40
- }
41
- const timer = window.setTimeout(() => setConfirming(false), 1500);
42
- return () => {
43
- window.clearTimeout(timer);
44
- };
45
- }, [confirming]);
46
- const handleDelete = (event) => {
47
- event.stopPropagation();
48
- if (!confirming) {
49
- setConfirming(true);
50
- return;
51
- }
52
- void onDelete(report.id).finally(() => {
53
- setConfirming(false);
54
- });
55
- };
56
- return (_jsx(HoverTooltip, { label: confirming ? messages.feedbackList.deleteConfirmTitle : messages.feedbackList.deleteTitle, children: _jsx("button", { type: "button", "data-fivepixels-interactive": "", onClick: handleDelete, disabled: disabled, "aria-label": confirming ? messages.feedbackList.deleteConfirmAriaLabel : messages.feedbackList.deleteAriaLabel, className: `flex h-[20px] w-[20px] items-center justify-center disabled:opacity-50 ${confirming ? "text-rose-200 hover:text-white" : "text-[var(--adaptive-black50)] hover:text-white"}`, children: confirming ? _jsx("span", { className: "text-[9px] font-semibold", children: "!" }) : _jsx(TrashIcon, { className: "h-[12px] w-[12px]" }) }) }));
57
- }
58
38
  function FeedbackListGitIssueAction({ report, messages, disabled, isSubmitting, onCreateIssue, }) {
59
39
  return (_jsx("div", { className: "flex items-center [&_button]:h-[20px] [&_button]:w-[20px] [&_button]:p-0 [&_button]:text-[var(--adaptive-black50)] [&_button:hover]:bg-transparent [&_button:hover]:text-white [&_a]:h-[20px] [&_a]:w-[20px] [&_a]:p-0 [&_a]:text-[var(--adaptive-black50)] [&_a:hover]:bg-transparent [&_a:hover]:text-white [&_svg]:h-[12px] [&_svg]:w-[12px]", onClick: (event) => event.stopPropagation(), children: _jsx(GitIssueButton, { report: report, messages: messages, disabled: disabled, isSubmitting: isSubmitting, onCreateIssue: onCreateIssue }) }));
60
40
  }
61
41
  export function FeedbackListItem({ report, locale, messages, listScope, disabled = false, canCreateGitHubIssue = false, creatingGitHubIssueId = null, onLocate, onDelete, onCreateGitHubIssue, }) {
42
+ const { sessionActor } = useReport();
43
+ const canDelete = canDeleteFeedback(report, sessionActor);
62
44
  const caseId = getFeedbackCaseId(report);
63
45
  const replyCount = getReplyCount(report);
64
46
  const statusTag = getFeedbackListStatusTag(report);
65
47
  const category = isFeedbackCategory(report.category) ? report.category : null;
66
48
  const summary = getIssueSummary(report, { summaryMore: messages.cases.summaryMore });
67
49
  const activityAt = report.created_at;
68
- return (_jsxs("div", { className: "group relative border-b border-[var(--adaptive-border-subtle)] last:border-b-0", children: [_jsxs("button", { type: "button", onClick: () => onLocate(report.id), className: "flex w-full flex-col gap-[8px] px-[16px] py-[8px] text-left hover:bg-[var(--adaptive-neutralTintOpacity900)]", children: [_jsxs("section", { className: "flex flex-col gap-[4px]", children: [_jsxs("div", { className: "flex min-w-0 items-center justify-between gap-[4px]", children: [_jsxs("div", { className: "flex min-w-0 items-center gap-[4px]", children: [_jsx("span", { className: "truncate text-[14px] font-semibold text-[var(--adaptive-black900)]", children: caseId ?? "#FC-—" }), replyCount > 0 ? (_jsx("span", { className: "rounded-[4px] border-[1.5px] border-[var(--adaptive-black900)] px-[2px] text-[10px] font-bold text-[var(--adaptive-black900)]", children: messages.feedbackList.replyCountBadge(replyCount) })) : null] }), _jsxs("span", { className: "flex shrink-0 items-center gap-[4px] pr-[22px] text-[12px] tabular-nums text-[var(--adaptive-black500)]", children: [_jsx(ClockIcon, { className: "h-[12px] w-[12px]" }), formatTimeOnly(activityAt, locale)] })] }), _jsx("p", { className: "line-clamp-2 text-[14px] text-[var(--adaptive-black900)]", children: summary })] }), _jsxs("div", { className: "flex flex-wrap items-center gap-[6px]", children: [category ? (_jsxs("span", { className: "inline-flex items-center gap-[4px] rounded-[4px] bg-[var(--adaptive-black200)] px-[4px] py-[1px] text-[12px] font-medium text-[var(--adaptive-black700)]", children: [_jsx(CategoryShieldIcon, { className: "h-[11px] w-[11px] text-[var(--adaptive-black500)]" }), messages.feedbackList.categoryTag[category]] })) : null, _jsx("span", { className: "inline-flex items-center rounded-[4px] bg-[var(--adaptive-black200)] px-[4px] py-[1px] text-[12px] font-medium text-[var(--adaptive-black700)]", children: messages.feedbackList.statusTag[statusTag] })] }), listScope === "all" ? _jsx("p", { className: "truncate text-[11px] text-[var(--adaptive-black400)]", children: report.pathname }) : null] }), _jsx("div", { className: "absolute right-[10px] top-[6px] z-[1]", children: _jsx(FeedbackPinToggleButton, { report: report, className: "h-[20px] w-[20px]", iconClassName: "h-[12px] w-[12px]" }) })] }));
50
+ return (_jsxs("div", { className: "group flex flex-col relative border-b border-[var(--adaptive-border-subtle)] last:border-b-0 bg-[var(--adaptive-tintOpacity50)]", children: [_jsxs("button", { type: "button", onClick: () => onLocate(report.id), className: "flex flex-1 flex-col gap-[8px] text-left hover:bg-[var(--adaptive-black300)]", children: [_jsxs("section", { className: "flex", children: [_jsx("span", { className: "truncate text-[14px] font-semibold text-[var(--adaptive-black900)] min-w-[72px] flex items-center justify-center border-r border-r-[var(--adaptive-border-subtle)]", children: caseId ?? "#FC-—" }), _jsxs("section", { className: "flex flex-col gap-[4px] p-[8px_12px] flex-1", children: [_jsx("p", { className: "line-clamp-2 text-[14px] text-[var(--adaptive-black900)] font-medium whitespace-break-spaces leading-[1.5]", children: summary }), _jsxs("div", { className: "flex items-center justify-between gap-[6px]", children: [_jsxs("section", { className: "flex gap-[4px]", children: [category ? (_jsx("section", { className: "flex items-center rounded-[4px] border-[1px] border-[var(--adaptive-black900)]", children: _jsx("span", { className: "px-[2px] py-[1px] text-[10px] font-medium text-[var(--adaptive-black900)]", children: messages.feedbackList.categoryTag[category] }) })) : null, _jsx("section", { className: "flex items-center rounded-[4px] border-[1px] border-[var(--adaptive-black900)]", children: _jsx("span", { className: "px-[4px] py-[1px] text-[10px] font-medium text-[var(--adaptive-black900)]", children: messages.feedbackList.statusTag[statusTag] }) }), _jsx("div", { className: "flex min-w-0 items-center gap-[4px]", children: replyCount > 0 ? (_jsx("span", { className: "rounded-[4px] border-[1.5px] border-[var(--adaptive-black900)] px-[1px] text-[10px] font-bold text-[var(--adaptive-black900)]", children: messages.feedbackList.replyCountBadge(replyCount) })) : null })] }), _jsx("section", { children: _jsx("div", { className: "flex min-w-0 items-center justify-between gap-[4px]", children: _jsxs("span", { className: "flex shrink-0 items-center gap-[4px] text-[12px] tabular-nums text-[var(--adaptive-black900)]", children: [_jsx(ClockIcon, { className: "h-[12px] w-[12px]" }), formatTimeOnly(activityAt, locale)] }) }) })] })] })] }), listScope === "all" ? _jsx("p", { className: "truncate text-[11px] text-[var(--adaptive-black400)]", children: report.pathname }) : null] }), _jsxs("div", { className: "absolute right-[10px] top-[6px] z-[1] flex items-center gap-[2px]", children: [_jsxs("div", { className: "flex items-center gap-[2px] opacity-0 transition-opacity group-hover:opacity-100 group-focus-within:opacity-100", children: [canCreateGitHubIssue && onCreateGitHubIssue ? (_jsx(FeedbackListGitIssueAction, { report: report, messages: messages, disabled: disabled, isSubmitting: creatingGitHubIssueId === report.id, onCreateIssue: onCreateGitHubIssue })) : null, _jsx(FeedbackListCopyAction, { report: report, messages: messages }), canDelete ? (_jsx(FeedbackDeleteAction, { reportId: report.id, onDelete: onDelete, disabled: disabled, messages: messages })) : null] }), _jsx(FeedbackPinToggleButton, { report: report, className: "h-[20px] w-[20px]", iconClassName: "h-[12px] w-[12px]" })] })] }));
69
51
  }
70
52
  //# sourceMappingURL=FeedbackListItem.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FeedbackListItem.js","sourceRoot":"","sources":["../../../../src/components/panel/feedback/FeedbackListItem.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FeedbackListItem.js","sourceRoot":"","sources":["../../../../src/components/panel/feedback/FeedbackListItem.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAmB,MAAM,OAAO,CAAC;AAGlD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAClF,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AACtG,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAC5E,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAe/D,SAAS,SAAS,CAAC,EAAE,SAAS,EAA0B;IACpD,OAAO,CACH,eACI,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,uBAEX,SAAS,EAAE,SAAS,aAEpB,iBACI,EAAE,EAAC,GAAG,EACN,EAAE,EAAC,GAAG,EACN,CAAC,EAAC,MAAM,EACR,MAAM,EAAC,cAAc,EACrB,WAAW,EAAC,KAAK,GACnB,EACF,eACI,CAAC,EAAC,mBAAmB,EACrB,MAAM,EAAC,cAAc,EACrB,WAAW,EAAC,KAAK,EACjB,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO,GACxB,IACA,CACT,CAAC;AACN,CAAC;AAED,SAAS,kBAAkB,CAAC,EAAE,SAAS,EAA0B;IAC7D,OAAO,CACH,cACI,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,cAAc,uBAEnB,SAAS,EAAE,SAAS,YAEpB,eAAM,CAAC,EAAC,qJAAqJ,GAAG,GAC9J,CACT,CAAC;AACN,CAAC;AAED,SAAS,sBAAsB,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAwD;IACtG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE5C,MAAM,UAAU,GAAG,CAAC,KAAoC,EAAE,EAAE;QACxD,KAAK,CAAC,eAAe,EAAE,CAAC;QAExB,KAAK,mBAAmB,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;aAClD,IAAI,CAAC,GAAG,EAAE;YACP,SAAS,CAAC,IAAI,CAAC,CAAC;YAChB,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC;QACpD,CAAC,CAAC;aACD,KAAK,CAAC,GAAG,EAAE;YACR,SAAS,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC,CAAC,CAAC;IACX,CAAC,CAAC;IAEF,OAAO,CACH,KAAC,YAAY,IAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,SAAS,YAC7F,iBACI,IAAI,EAAC,QAAQ,iCACe,EAAE,EAC9B,OAAO,EAAE,UAAU,gBACP,QAAQ,CAAC,YAAY,CAAC,aAAa,EAC/C,SAAS,EAAC,oGAAoG,YAE7G,MAAM,CAAC,CAAC,CAAC,eAAM,SAAS,EAAC,0BAA0B,YAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,GAAQ,CAAC,CAAC,CAAC,KAAC,QAAQ,IAAC,SAAS,EAAC,mBAAmB,GAAG,GACxH,GACE,CAClB,CAAC;AACN,CAAC;AAED,SAAS,0BAA0B,CAAC,EAChC,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,aAAa,GAOhB;IACG,OAAO,CACH,cACI,SAAS,EAAC,iVAAiV,EAC3V,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,eAAe,EAAE,YAE3C,KAAC,cAAc,IACX,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,YAAY,EAAE,YAAY,EAC1B,aAAa,EAAE,aAAa,GAC9B,GACA,CACT,CAAC;AACN,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,EAC7B,MAAM,EACN,MAAM,EACN,QAAQ,EACR,SAAS,EACT,QAAQ,GAAG,KAAK,EAChB,oBAAoB,GAAG,KAAK,EAC5B,qBAAqB,GAAG,IAAI,EAC5B,QAAQ,EACR,QAAQ,EACR,mBAAmB,GACC;IACpB,MAAM,EAAE,YAAY,EAAE,GAAG,SAAS,EAAE,CAAC;IACrC,MAAM,SAAS,GAAG,iBAAiB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAC1D,MAAM,MAAM,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACzC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IACzC,MAAM,SAAS,GAAG,wBAAwB,CAAC,MAAM,CAAC,CAAC;IACnD,MAAM,QAAQ,GAAG,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9E,MAAM,OAAO,GAAG,eAAe,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;IACrF,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;IAErC,OAAO,CACH,eAAK,SAAS,EAAC,iIAAiI,aAC5I,kBACI,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EAClC,SAAS,EAAC,8EAA8E,aAExF,mBAAS,SAAS,EAAC,MAAM,aACrB,eAAM,SAAS,EAAC,oKAAoK,YAC/K,MAAM,IAAI,OAAO,GACf,EAEP,mBAAS,SAAS,EAAC,6CAA6C,aAC5D,YAAG,SAAS,EAAC,4GAA4G,YAAE,OAAO,GAAK,EAEvI,eAAK,SAAS,EAAC,6CAA6C,aACxD,mBAAS,SAAS,EAAC,gBAAgB,aAC9B,QAAQ,CAAC,CAAC,CAAC,CACR,kBAAS,SAAS,EAAC,gFAAgF,YAG/F,eAAM,SAAS,EAAC,2EAA2E,YAAE,QAAQ,CAAC,YAAY,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAQ,GAC1I,CACb,CAAC,CAAC,CAAC,IAAI,EAER,kBAAS,SAAS,EAAC,gFAAgF,YAC/F,eAAM,SAAS,EAAC,2EAA2E,YAAE,QAAQ,CAAC,YAAY,CAAC,SAAS,CAAC,SAAS,CAAC,GAAQ,GACzI,EACV,cAAK,SAAS,EAAC,qCAAqC,YAC/C,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,CACd,eAAM,SAAS,EAAC,+HAA+H,YAC1I,QAAQ,CAAC,YAAY,CAAC,eAAe,CAAC,UAAU,CAAC,GAC/C,CACV,CAAC,CAAC,CAAC,IAAI,GACN,IACA,EAEV,4BACI,cAAK,SAAS,EAAC,qDAAqD,YAChE,gBAAM,SAAS,EAAC,+FAA+F,aAC3G,KAAC,SAAS,IAAC,SAAS,EAAC,mBAAmB,GAAG,EAE1C,cAAc,CAAC,UAAU,EAAE,MAAM,CAAC,IAChC,GACL,GACA,IACR,IACA,IACJ,EAET,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,YAAG,SAAS,EAAC,sDAAsD,YAAE,MAAM,CAAC,QAAQ,GAAK,CAAC,CAAC,CAAC,IAAI,IAClH,EAET,eAAK,SAAS,EAAC,mEAAmE,aAC9E,eAAK,SAAS,EAAC,iHAAiH,aAC3H,oBAAoB,IAAI,mBAAmB,CAAC,CAAC,CAAC,CAC3C,KAAC,0BAA0B,IACvB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,YAAY,EAAE,qBAAqB,KAAK,MAAM,CAAC,EAAE,EACjD,aAAa,EAAE,mBAAmB,GACpC,CACL,CAAC,CAAC,CAAC,IAAI,EACR,KAAC,sBAAsB,IACnB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,GACpB,EACD,SAAS,CAAC,CAAC,CAAC,CACT,KAAC,oBAAoB,IACjB,QAAQ,EAAE,MAAM,CAAC,EAAE,EACnB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,GACpB,CACL,CAAC,CAAC,CAAC,IAAI,IACN,EACN,KAAC,uBAAuB,IACpB,MAAM,EAAE,MAAM,EACd,SAAS,EAAC,mBAAmB,EAC7B,aAAa,EAAC,mBAAmB,GACnC,IACA,IACJ,CACT,CAAC;AACN,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"FeedbackThread.d.ts","sourceRoot":"","sources":["../../../../src/components/panel/feedback/FeedbackThread.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAe,MAAM,mBAAmB,CAAC;AAwCnF,KAAK,eAAe,GAAG;IACnB,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,GAAG,UAAU,CAAC;IACnD,aAAa,EAAE,MAAM,CAAC;CACzB,GAAG,IAAI,CAAC;AAET,KAAK,mBAAmB,GAAG;IACvB,MAAM,EAAE,cAAc,CAAC;IACvB,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,eAAe,EAAE,eAAe,CAAC;IACjC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,uBAAuB,EAAE,OAAO,CAAC;IACjC,yBAAyB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAClD,2BAA2B,EAAE,MAAM,IAAI,CAAC;IACxC,WAAW,EAAE,CAAC,aAAa,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,eAAe,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,kBAAkB,EAAE,MAAM,IAAI,CAAC;IAC/B,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,kBAAkB,EAAE,MAAM,IAAI,CAAC;IAC/B,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,qHAAqH;IACrH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC9B,CAAC;AAiPF,wBAAgB,cAAc,CAAC,EAC3B,MAAM,EACN,OAAO,EACP,eAAe,EACf,iBAAiB,EACjB,uBAAuB,EACvB,yBAAyB,EACzB,2BAA2B,EAAE,4BAA4B,EACzD,WAAW,EACX,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EAClB,SAAS,EACT,UAAU,EACV,kBAAkB,EAClB,gBAAwB,GAC3B,EAAE,mBAAmB,+BAoRrB"}
1
+ {"version":3,"file":"FeedbackThread.d.ts","sourceRoot":"","sources":["../../../../src/components/panel/feedback/FeedbackThread.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAe,MAAM,mBAAmB,CAAC;AAsCnF,KAAK,eAAe,GAAG;IACnB,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,GAAG,UAAU,CAAC;IACnD,aAAa,EAAE,MAAM,CAAC;CACzB,GAAG,IAAI,CAAC;AAET,KAAK,mBAAmB,GAAG;IACvB,MAAM,EAAE,cAAc,CAAC;IACvB,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,eAAe,EAAE,eAAe,CAAC;IACjC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,uBAAuB,EAAE,OAAO,CAAC;IACjC,yBAAyB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAClD,2BAA2B,EAAE,MAAM,IAAI,CAAC;IACxC,WAAW,EAAE,CAAC,aAAa,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,eAAe,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,kBAAkB,EAAE,MAAM,IAAI,CAAC;IAC/B,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,kBAAkB,EAAE,MAAM,IAAI,CAAC;IAC/B,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,qHAAqH;IACrH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC9B,CAAC;AA8SF,wBAAgB,cAAc,CAAC,EAC3B,MAAM,EACN,OAAO,EACP,eAAe,EACf,iBAAiB,EACjB,uBAAuB,EACvB,yBAAyB,EACzB,2BAA2B,EAAE,4BAA4B,EACzD,WAAW,EACX,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EAClB,SAAS,EACT,UAAU,EACV,kBAAkB,EAClB,gBAAwB,GAC3B,EAAE,mBAAmB,+BA0RrB"}