@fivepixels-js/react 0.2.0 → 0.2.1

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 (839) hide show
  1. package/README.md +46 -11
  2. package/dist/components/ShortcutHint.d.ts +2 -2
  3. package/dist/components/ShortcutHint.d.ts.map +1 -1
  4. package/dist/components/ShortcutHint.js +1 -1
  5. package/dist/components/ShortcutHint.js.map +1 -1
  6. package/dist/components/icons/Icons.d.ts +43 -39
  7. package/dist/components/icons/Icons.d.ts.map +1 -1
  8. package/dist/components/icons/Icons.js +3 -0
  9. package/dist/components/icons/Icons.js.map +1 -1
  10. package/dist/components/icons/MaterialIcon.d.ts +1 -1
  11. package/dist/components/icons/MaterialIcon.d.ts.map +1 -1
  12. package/dist/components/icons/ProbeLayoutIcons.d.ts +14 -14
  13. package/dist/components/icons/ProbeLayoutIcons.d.ts.map +1 -1
  14. package/dist/components/overlay/DotWaveOverlay.d.ts +21 -0
  15. package/dist/components/overlay/DotWaveOverlay.d.ts.map +1 -0
  16. package/dist/components/overlay/DotWaveOverlay.js +226 -0
  17. package/dist/components/overlay/DotWaveOverlay.js.map +1 -0
  18. package/dist/components/overlay/FloatingPinRail.d.ts +2 -0
  19. package/dist/components/overlay/FloatingPinRail.d.ts.map +1 -0
  20. package/dist/components/overlay/FloatingPinRail.js +112 -0
  21. package/dist/components/overlay/FloatingPinRail.js.map +1 -0
  22. package/dist/components/overlay/PickTargetCompareChip.d.ts +1 -1
  23. package/dist/components/overlay/PickTargetCompareChip.d.ts.map +1 -1
  24. package/dist/components/overlay/PickTargetCompareChip.js +4 -3
  25. package/dist/components/overlay/PickTargetCompareChip.js.map +1 -1
  26. package/dist/components/overlay/PickTargetCompareSegment.d.ts +1 -1
  27. package/dist/components/overlay/PickTargetCompareSegment.d.ts.map +1 -1
  28. package/dist/components/overlay/PickTargetContextMenu.d.ts +1 -1
  29. package/dist/components/overlay/PickTargetContextMenu.d.ts.map +1 -1
  30. package/dist/components/overlay/PickTargetContextMenu.js +3 -2
  31. package/dist/components/overlay/PickTargetContextMenu.js.map +1 -1
  32. package/dist/components/overlay/PickTargetHoverTooltip.d.ts +1 -1
  33. package/dist/components/overlay/PickTargetHoverTooltip.d.ts.map +1 -1
  34. package/dist/components/overlay/PickTargetHoverTooltip.js +7 -5
  35. package/dist/components/overlay/PickTargetHoverTooltip.js.map +1 -1
  36. package/dist/components/overlay/PickTargetProbePanel.d.ts +1 -1
  37. package/dist/components/overlay/PickTargetProbePanel.d.ts.map +1 -1
  38. package/dist/components/overlay/PickTargetProbePanel.js +8 -7
  39. package/dist/components/overlay/PickTargetProbePanel.js.map +1 -1
  40. package/dist/components/overlay/PickTargetSavedBadges.d.ts +1 -1
  41. package/dist/components/overlay/PickTargetSavedBadges.d.ts.map +1 -1
  42. package/dist/components/overlay/PickTargetSavedBadges.js +5 -4
  43. package/dist/components/overlay/PickTargetSavedBadges.js.map +1 -1
  44. package/dist/components/overlay/ProbeLayoutControls.d.ts +1 -1
  45. package/dist/components/overlay/ProbeLayoutControls.d.ts.map +1 -1
  46. package/dist/components/overlay/ProbeLayoutControls.js +1 -1
  47. package/dist/components/overlay/ProbeLayoutControls.js.map +1 -1
  48. package/dist/components/overlay/ReportOverlayLayer.d.ts +1 -1
  49. package/dist/components/overlay/ReportOverlayLayer.d.ts.map +1 -1
  50. package/dist/components/overlay/ReportOverlayLayer.js +4 -3
  51. package/dist/components/overlay/ReportOverlayLayer.js.map +1 -1
  52. package/dist/components/overlay/TargetHighlights.d.ts +2 -1
  53. package/dist/components/overlay/TargetHighlights.d.ts.map +1 -1
  54. package/dist/components/overlay/TargetHighlights.js +2 -2
  55. package/dist/components/overlay/TargetHighlights.js.map +1 -1
  56. package/dist/components/panel/AppearanceThemePicker.d.ts +1 -1
  57. package/dist/components/panel/AppearanceThemePicker.d.ts.map +1 -1
  58. package/dist/components/panel/DiscreteScaleDial.d.ts +1 -1
  59. package/dist/components/panel/DiscreteScaleDial.d.ts.map +1 -1
  60. package/dist/components/panel/DraftProbeSummaryBanner.d.ts +1 -1
  61. package/dist/components/panel/DraftProbeSummaryBanner.d.ts.map +1 -1
  62. package/dist/components/panel/DraftProbeSummaryBanner.js +3 -2
  63. package/dist/components/panel/DraftProbeSummaryBanner.js.map +1 -1
  64. package/dist/components/panel/FeedbackActivityHeatmap.d.ts +1 -1
  65. package/dist/components/panel/FeedbackActivityHeatmap.d.ts.map +1 -1
  66. package/dist/components/panel/FeedbackActivityHeatmap.js +2 -2
  67. package/dist/components/panel/FeedbackActivityHeatmap.js.map +1 -1
  68. package/dist/components/panel/HexColorField.d.ts +1 -1
  69. package/dist/components/panel/HexColorField.d.ts.map +1 -1
  70. package/dist/components/panel/HexColorField.js +1 -1
  71. package/dist/components/panel/HexColorField.js.map +1 -1
  72. package/dist/components/panel/MarkerShapePicker.d.ts +1 -1
  73. package/dist/components/panel/MarkerShapePicker.d.ts.map +1 -1
  74. package/dist/components/panel/MarkerSizePreview.d.ts +13 -0
  75. package/dist/components/panel/MarkerSizePreview.d.ts.map +1 -0
  76. package/dist/components/panel/MarkerSizePreview.js +24 -0
  77. package/dist/components/panel/MarkerSizePreview.js.map +1 -0
  78. package/dist/components/panel/PanelDockGuides.d.ts +1 -1
  79. package/dist/components/panel/PanelDockGuides.d.ts.map +1 -1
  80. package/dist/components/panel/PanelDropdownMenu.d.ts +2 -2
  81. package/dist/components/panel/PanelDropdownMenu.d.ts.map +1 -1
  82. package/dist/components/panel/PanelDropdownMenu.js +2 -1
  83. package/dist/components/panel/PanelDropdownMenu.js.map +1 -1
  84. package/dist/components/panel/PanelGateShell.d.ts +20 -0
  85. package/dist/components/panel/PanelGateShell.d.ts.map +1 -0
  86. package/dist/components/panel/PanelGateShell.js +15 -0
  87. package/dist/components/panel/PanelGateShell.js.map +1 -0
  88. package/dist/components/panel/PanelKeyGate.d.ts +2 -2
  89. package/dist/components/panel/PanelKeyGate.d.ts.map +1 -1
  90. package/dist/components/panel/PanelKeyGate.js +5 -3
  91. package/dist/components/panel/PanelKeyGate.js.map +1 -1
  92. package/dist/components/panel/PanelMarkerDisplayControls.d.ts +17 -0
  93. package/dist/components/panel/PanelMarkerDisplayControls.d.ts.map +1 -0
  94. package/dist/components/panel/PanelMarkerDisplayControls.js +8 -0
  95. package/dist/components/panel/PanelMarkerDisplayControls.js.map +1 -0
  96. package/dist/components/panel/PanelOnboarding.d.ts +1 -1
  97. package/dist/components/panel/PanelOnboarding.d.ts.map +1 -1
  98. package/dist/components/panel/PanelOnboarding.js +33 -7
  99. package/dist/components/panel/PanelOnboarding.js.map +1 -1
  100. package/dist/components/panel/PanelOptionSwitch.d.ts +1 -1
  101. package/dist/components/panel/PanelOptionSwitch.d.ts.map +1 -1
  102. package/dist/components/panel/PanelPresentationSwitch.d.ts +1 -1
  103. package/dist/components/panel/PanelPresentationSwitch.d.ts.map +1 -1
  104. package/dist/components/panel/PanelPresentationSwitch.js +4 -3
  105. package/dist/components/panel/PanelPresentationSwitch.js.map +1 -1
  106. package/dist/components/panel/PanelProjectFooter.d.ts +1 -1
  107. package/dist/components/panel/PanelProjectFooter.d.ts.map +1 -1
  108. package/dist/components/panel/PanelProjectFooter.js +7 -3
  109. package/dist/components/panel/PanelProjectFooter.js.map +1 -1
  110. package/dist/components/panel/PanelRoleSwitch.d.ts +1 -1
  111. package/dist/components/panel/PanelRoleSwitch.d.ts.map +1 -1
  112. package/dist/components/panel/PanelRoleSwitch.js +2 -2
  113. package/dist/components/panel/PanelRoleSwitch.js.map +1 -1
  114. package/dist/components/panel/PanelSettings.d.ts +1 -1
  115. package/dist/components/panel/PanelSettings.d.ts.map +1 -1
  116. package/dist/components/panel/PanelSettings.js +7 -6
  117. package/dist/components/panel/PanelSettings.js.map +1 -1
  118. package/dist/components/panel/PanelTabSelector.d.ts +1 -1
  119. package/dist/components/panel/PanelTabSelector.d.ts.map +1 -1
  120. package/dist/components/panel/PanelTabSelector.js +1 -1
  121. package/dist/components/panel/PanelTabSelector.js.map +1 -1
  122. package/dist/components/panel/ProbeEditModeBanner.d.ts +1 -1
  123. package/dist/components/panel/ProbeEditModeBanner.d.ts.map +1 -1
  124. package/dist/components/panel/ProbeEditModeBanner.js +3 -2
  125. package/dist/components/panel/ProbeEditModeBanner.js.map +1 -1
  126. package/dist/components/panel/ReportAuthDiagnostics.d.ts +1 -1
  127. package/dist/components/panel/ReportAuthDiagnostics.d.ts.map +1 -1
  128. package/dist/components/panel/ReportAuthDiagnostics.js +3 -2
  129. package/dist/components/panel/ReportAuthDiagnostics.js.map +1 -1
  130. package/dist/components/panel/ReportCommandPanel.d.ts +1 -1
  131. package/dist/components/panel/ReportCommandPanel.d.ts.map +1 -1
  132. package/dist/components/panel/ReportCommandPanel.js +2 -2
  133. package/dist/components/panel/ReportCommandPanel.js.map +1 -1
  134. package/dist/components/panel/ReportCommandReplaceConfirmDialog.d.ts +2 -2
  135. package/dist/components/panel/ReportCommandReplaceConfirmDialog.d.ts.map +1 -1
  136. package/dist/components/panel/ReportCommandReplaceConfirmDialog.js +5 -4
  137. package/dist/components/panel/ReportCommandReplaceConfirmDialog.js.map +1 -1
  138. package/dist/components/panel/ReportControlPanel.d.ts +1 -1
  139. package/dist/components/panel/ReportControlPanel.d.ts.map +1 -1
  140. package/dist/components/panel/ReportControlPanel.js +66 -15
  141. package/dist/components/panel/ReportControlPanel.js.map +1 -1
  142. package/dist/components/panel/ReportDraftForm.d.ts +1 -1
  143. package/dist/components/panel/ReportDraftForm.d.ts.map +1 -1
  144. package/dist/components/panel/ReportDraftForm.js +32 -11
  145. package/dist/components/panel/ReportDraftForm.js.map +1 -1
  146. package/dist/components/panel/ReportFeedbackList.d.ts +1 -1
  147. package/dist/components/panel/ReportFeedbackList.d.ts.map +1 -1
  148. package/dist/components/panel/ReportFeedbackList.js +1 -1
  149. package/dist/components/panel/ReportFeedbackList.js.map +1 -1
  150. package/dist/components/panel/ReportImportConfirmDialog.d.ts +1 -1
  151. package/dist/components/panel/ReportImportConfirmDialog.d.ts.map +1 -1
  152. package/dist/components/panel/ReportImportConfirmDialog.js +4 -3
  153. package/dist/components/panel/ReportImportConfirmDialog.js.map +1 -1
  154. package/dist/components/panel/ReportImportProjectMismatchDialog.d.ts +2 -2
  155. package/dist/components/panel/ReportImportProjectMismatchDialog.d.ts.map +1 -1
  156. package/dist/components/panel/ReportImportProjectMismatchDialog.js +5 -4
  157. package/dist/components/panel/ReportImportProjectMismatchDialog.js.map +1 -1
  158. package/dist/components/panel/ReportOverview.d.ts +1 -1
  159. package/dist/components/panel/ReportOverview.d.ts.map +1 -1
  160. package/dist/components/panel/ReportPersonalKeyDialog.d.ts +1 -1
  161. package/dist/components/panel/ReportPersonalKeyDialog.d.ts.map +1 -1
  162. package/dist/components/panel/ReportPersonalKeyDialog.js +4 -3
  163. package/dist/components/panel/ReportPersonalKeyDialog.js.map +1 -1
  164. package/dist/components/panel/ReportRouteDetails.d.ts +1 -1
  165. package/dist/components/panel/ReportRouteDetails.d.ts.map +1 -1
  166. package/dist/components/panel/ReportRouteDetails.js +9 -7
  167. package/dist/components/panel/ReportRouteDetails.js.map +1 -1
  168. package/dist/components/panel/RouteDetailsTimeline.d.ts +2 -2
  169. package/dist/components/panel/RouteDetailsTimeline.d.ts.map +1 -1
  170. package/dist/components/panel/RouteDetailsTimeline.js +2 -2
  171. package/dist/components/panel/RouteDetailsTimeline.js.map +1 -1
  172. package/dist/components/panel/ThemePreviewSkeleton.d.ts +1 -1
  173. package/dist/components/panel/ThemePreviewSkeleton.d.ts.map +1 -1
  174. package/dist/components/panel/experimental/ExperimentalFeedbackRow.d.ts +1 -1
  175. package/dist/components/panel/experimental/ExperimentalFeedbackRow.d.ts.map +1 -1
  176. package/dist/components/panel/experimental/ExperimentalFeedbackRow.js +4 -4
  177. package/dist/components/panel/experimental/ExperimentalFeedbackRow.js.map +1 -1
  178. package/dist/components/panel/experimental/ExperimentalFilteredListPanel.d.ts +8 -0
  179. package/dist/components/panel/experimental/ExperimentalFilteredListPanel.d.ts.map +1 -0
  180. package/dist/components/panel/experimental/ExperimentalFilteredListPanel.js +19 -0
  181. package/dist/components/panel/experimental/ExperimentalFilteredListPanel.js.map +1 -0
  182. package/dist/components/panel/experimental/ReportMyTasksPanel.d.ts +1 -1
  183. package/dist/components/panel/experimental/ReportMyTasksPanel.d.ts.map +1 -1
  184. package/dist/components/panel/experimental/ReportMyTasksPanel.js +39 -10
  185. package/dist/components/panel/experimental/ReportMyTasksPanel.js.map +1 -1
  186. package/dist/components/panel/experimental/ReportNeedsAttentionPanel.d.ts +1 -1
  187. package/dist/components/panel/experimental/ReportNeedsAttentionPanel.d.ts.map +1 -1
  188. package/dist/components/panel/experimental/ReportNeedsAttentionPanel.js +8 -13
  189. package/dist/components/panel/experimental/ReportNeedsAttentionPanel.js.map +1 -1
  190. package/dist/components/panel/experimental/ReportPageBriefPanel.d.ts +1 -1
  191. package/dist/components/panel/experimental/ReportPageBriefPanel.d.ts.map +1 -1
  192. package/dist/components/panel/experimental/ReportPageBriefPanel.js +7 -5
  193. package/dist/components/panel/experimental/ReportPageBriefPanel.js.map +1 -1
  194. package/dist/components/panel/experimental/ReportProjectHealthPanel.d.ts +1 -1
  195. package/dist/components/panel/experimental/ReportProjectHealthPanel.d.ts.map +1 -1
  196. package/dist/components/panel/experimental/ReportProjectHealthPanel.js +7 -6
  197. package/dist/components/panel/experimental/ReportProjectHealthPanel.js.map +1 -1
  198. package/dist/components/panel/experimental/ReportTodayDigestPanel.d.ts +1 -1
  199. package/dist/components/panel/experimental/ReportTodayDigestPanel.d.ts.map +1 -1
  200. package/dist/components/panel/experimental/ReportTodayDigestPanel.js +8 -13
  201. package/dist/components/panel/experimental/ReportTodayDigestPanel.js.map +1 -1
  202. package/dist/components/panel/feedback/AssigneeThreadEntry.d.ts +1 -1
  203. package/dist/components/panel/feedback/AssigneeThreadEntry.d.ts.map +1 -1
  204. package/dist/components/panel/feedback/AssigneeThreadEntry.js +5 -5
  205. package/dist/components/panel/feedback/AssigneeThreadEntry.js.map +1 -1
  206. package/dist/components/panel/feedback/AuthorSelector.d.ts +1 -1
  207. package/dist/components/panel/feedback/AuthorSelector.d.ts.map +1 -1
  208. package/dist/components/panel/feedback/AuthorSelector.js +2 -2
  209. package/dist/components/panel/feedback/AuthorSelector.js.map +1 -1
  210. package/dist/components/panel/feedback/CaseAssigneeInfo.d.ts +1 -1
  211. package/dist/components/panel/feedback/CaseAssigneeInfo.d.ts.map +1 -1
  212. package/dist/components/panel/feedback/CaseAssigneeInfo.js +3 -3
  213. package/dist/components/panel/feedback/CaseAssigneeInfo.js.map +1 -1
  214. package/dist/components/panel/feedback/ComposerFooterWarning.d.ts +1 -1
  215. package/dist/components/panel/feedback/ComposerFooterWarning.d.ts.map +1 -1
  216. package/dist/components/panel/feedback/FeedbackCaseEditor.d.ts +1 -1
  217. package/dist/components/panel/feedback/FeedbackCaseEditor.d.ts.map +1 -1
  218. package/dist/components/panel/feedback/FeedbackCaseEditor.js +2 -2
  219. package/dist/components/panel/feedback/FeedbackCaseEditor.js.map +1 -1
  220. package/dist/components/panel/feedback/FeedbackCaseList.d.ts +1 -1
  221. package/dist/components/panel/feedback/FeedbackCaseList.d.ts.map +1 -1
  222. package/dist/components/panel/feedback/FeedbackCaseList.js +4 -4
  223. package/dist/components/panel/feedback/FeedbackCaseList.js.map +1 -1
  224. package/dist/components/panel/feedback/FeedbackCaseTabBar.d.ts +2 -2
  225. package/dist/components/panel/feedback/FeedbackCaseTabBar.d.ts.map +1 -1
  226. package/dist/components/panel/feedback/FeedbackCaseTabBar.js +2 -2
  227. package/dist/components/panel/feedback/FeedbackCaseTabBar.js.map +1 -1
  228. package/dist/components/panel/feedback/FeedbackCategorySelector.d.ts +1 -1
  229. package/dist/components/panel/feedback/FeedbackCategorySelector.d.ts.map +1 -1
  230. package/dist/components/panel/feedback/FeedbackComposer.d.ts +5 -1
  231. package/dist/components/panel/feedback/FeedbackComposer.d.ts.map +1 -1
  232. package/dist/components/panel/feedback/FeedbackComposer.js +11 -15
  233. package/dist/components/panel/feedback/FeedbackComposer.js.map +1 -1
  234. package/dist/components/panel/feedback/FeedbackCreatorBadge.d.ts +1 -1
  235. package/dist/components/panel/feedback/FeedbackCreatorBadge.d.ts.map +1 -1
  236. package/dist/components/panel/feedback/FeedbackCreatorBadge.js +2 -2
  237. package/dist/components/panel/feedback/FeedbackCreatorBadge.js.map +1 -1
  238. package/dist/components/panel/feedback/FeedbackFieldTags.d.ts +1 -1
  239. package/dist/components/panel/feedback/FeedbackFieldTags.d.ts.map +1 -1
  240. package/dist/components/panel/feedback/FeedbackHoverCard.d.ts +1 -1
  241. package/dist/components/panel/feedback/FeedbackHoverCard.d.ts.map +1 -1
  242. package/dist/components/panel/feedback/FeedbackHoverCard.js +6 -6
  243. package/dist/components/panel/feedback/FeedbackHoverCard.js.map +1 -1
  244. package/dist/components/panel/feedback/FeedbackListItem.d.ts +1 -1
  245. package/dist/components/panel/feedback/FeedbackListItem.d.ts.map +1 -1
  246. package/dist/components/panel/feedback/FeedbackListItem.js +8 -8
  247. package/dist/components/panel/feedback/FeedbackListItem.js.map +1 -1
  248. package/dist/components/panel/feedback/FeedbackPinToggleButton.d.ts +10 -0
  249. package/dist/components/panel/feedback/FeedbackPinToggleButton.d.ts.map +1 -0
  250. package/dist/components/panel/feedback/FeedbackPinToggleButton.js +25 -0
  251. package/dist/components/panel/feedback/FeedbackPinToggleButton.js.map +1 -0
  252. package/dist/components/panel/feedback/FeedbackStatusBadge.d.ts +1 -1
  253. package/dist/components/panel/feedback/FeedbackStatusBadge.d.ts.map +1 -1
  254. package/dist/components/panel/feedback/FeedbackStatusBadge.js +2 -2
  255. package/dist/components/panel/feedback/FeedbackStatusBadge.js.map +1 -1
  256. package/dist/components/panel/feedback/FeedbackThread.d.ts +1 -1
  257. package/dist/components/panel/feedback/FeedbackThread.d.ts.map +1 -1
  258. package/dist/components/panel/feedback/FeedbackThread.js +9 -59
  259. package/dist/components/panel/feedback/FeedbackThread.js.map +1 -1
  260. package/dist/components/panel/feedback/GitIssueButton.d.ts +1 -1
  261. package/dist/components/panel/feedback/GitIssueButton.d.ts.map +1 -1
  262. package/dist/components/panel/feedback/GitIssueButton.js +1 -1
  263. package/dist/components/panel/feedback/GitIssueButton.js.map +1 -1
  264. package/dist/components/panel/feedback/GitIssuedThreadEntry.d.ts +1 -1
  265. package/dist/components/panel/feedback/GitIssuedThreadEntry.d.ts.map +1 -1
  266. package/dist/components/panel/feedback/GitIssuedThreadEntry.js +4 -4
  267. package/dist/components/panel/feedback/GitIssuedThreadEntry.js.map +1 -1
  268. package/dist/components/panel/feedback/PickTargetSnippet.d.ts +1 -1
  269. package/dist/components/panel/feedback/PickTargetSnippet.d.ts.map +1 -1
  270. package/dist/components/panel/feedback/PickTargetSnippet.js +4 -3
  271. package/dist/components/panel/feedback/PickTargetSnippet.js.map +1 -1
  272. package/dist/components/panel/feedback/QuestionThreadGroup.d.ts +1 -1
  273. package/dist/components/panel/feedback/QuestionThreadGroup.d.ts.map +1 -1
  274. package/dist/components/panel/feedback/QuestionThreadGroup.js +2 -2
  275. package/dist/components/panel/feedback/QuestionThreadGroup.js.map +1 -1
  276. package/dist/components/panel/feedback/ReplyHistoryControls.d.ts +1 -1
  277. package/dist/components/panel/feedback/ReplyHistoryControls.d.ts.map +1 -1
  278. package/dist/components/panel/feedback/ReplyHistoryControls.js +3 -2
  279. package/dist/components/panel/feedback/ReplyHistoryControls.js.map +1 -1
  280. package/dist/components/panel/feedback/ThreadAuthorMeta.d.ts +1 -1
  281. package/dist/components/panel/feedback/ThreadAuthorMeta.d.ts.map +1 -1
  282. package/dist/components/panel/feedback/ThreadChildReply.d.ts +1 -1
  283. package/dist/components/panel/feedback/ThreadChildReply.d.ts.map +1 -1
  284. package/dist/components/panel/feedback/ThreadEntryActions.d.ts +37 -0
  285. package/dist/components/panel/feedback/ThreadEntryActions.d.ts.map +1 -0
  286. package/dist/components/panel/feedback/ThreadEntryActions.js +57 -0
  287. package/dist/components/panel/feedback/ThreadEntryActions.js.map +1 -0
  288. package/dist/components/panel/feedback/ThreadTimelineRow.d.ts +1 -1
  289. package/dist/components/panel/feedback/ThreadTimelineRow.d.ts.map +1 -1
  290. package/dist/components/point/MarkerCaseSidebar.d.ts +1 -1
  291. package/dist/components/point/MarkerCaseSidebar.d.ts.map +1 -1
  292. package/dist/components/point/MarkerCaseSidebar.js +5 -5
  293. package/dist/components/point/MarkerCaseSidebar.js.map +1 -1
  294. package/dist/components/point/MarkerFeedbackWindow.d.ts +1 -1
  295. package/dist/components/point/MarkerFeedbackWindow.d.ts.map +1 -1
  296. package/dist/components/point/MarkerFeedbackWindow.js +11 -8
  297. package/dist/components/point/MarkerFeedbackWindow.js.map +1 -1
  298. package/dist/components/point/ReportDraftMarker.d.ts +1 -1
  299. package/dist/components/point/ReportDraftMarker.d.ts.map +1 -1
  300. package/dist/components/point/ReportDraftMarker.js +3 -3
  301. package/dist/components/point/ReportDraftMarker.js.map +1 -1
  302. package/dist/components/point/ReportMarkersLayer.d.ts +1 -1
  303. package/dist/components/point/ReportMarkersLayer.d.ts.map +1 -1
  304. package/dist/components/point/ReportMarkersLayer.js +52 -20
  305. package/dist/components/point/ReportMarkersLayer.js.map +1 -1
  306. package/dist/components/report/FivePixels.d.ts +3 -29
  307. package/dist/components/report/FivePixels.d.ts.map +1 -1
  308. package/dist/components/report/FivePixels.js +2 -2
  309. package/dist/components/report/FivePixels.js.map +1 -1
  310. package/dist/components/report/ReportView.d.ts +1 -1
  311. package/dist/components/report/ReportView.d.ts.map +1 -1
  312. package/dist/components/report/ReportView.js +14 -4
  313. package/dist/components/report/ReportView.js.map +1 -1
  314. package/dist/components/report/ShadowReportRoot.js +1 -1
  315. package/dist/components/report/ShadowReportRoot.js.map +1 -1
  316. package/dist/components/report/ThemeScope.d.ts +1 -1
  317. package/dist/components/report/ThemeScope.d.ts.map +1 -1
  318. package/dist/components/report/index.d.ts +9 -8
  319. package/dist/components/report/index.d.ts.map +1 -1
  320. package/dist/components/report/index.js +7 -6
  321. package/dist/components/report/index.js.map +1 -1
  322. package/dist/components/ui/CornerResizeGhost.d.ts +1 -1
  323. package/dist/components/ui/CornerResizeGhost.d.ts.map +1 -1
  324. package/dist/components/ui/CornerResizeGhost.js +2 -1
  325. package/dist/components/ui/CornerResizeGhost.js.map +1 -1
  326. package/dist/components/ui/CornerResizeHandle.d.ts +1 -1
  327. package/dist/components/ui/CornerResizeHandle.d.ts.map +1 -1
  328. package/dist/components/ui/HoverTooltip.d.ts +1 -1
  329. package/dist/components/ui/HoverTooltip.d.ts.map +1 -1
  330. package/dist/components/ui/HoverTooltip.js +5 -4
  331. package/dist/components/ui/HoverTooltip.js.map +1 -1
  332. package/dist/components/ui/IconTooltipButton.d.ts +1 -1
  333. package/dist/components/ui/IconTooltipButton.d.ts.map +1 -1
  334. package/dist/components/ui/PointerFollowTooltip.d.ts.map +1 -1
  335. package/dist/components/ui/PointerFollowTooltip.js +5 -4
  336. package/dist/components/ui/PointerFollowTooltip.js.map +1 -1
  337. package/dist/components/ui/ProcessingDots.d.ts +1 -1
  338. package/dist/components/ui/ProcessingDots.d.ts.map +1 -1
  339. package/dist/components/ui/Text/ui/Shimmer.d.ts +1 -1
  340. package/dist/components/ui/Text/ui/Shimmer.d.ts.map +1 -1
  341. package/dist/components/ui/Text/ui/Shimmer.js +1 -1
  342. package/dist/components/ui/Text/ui/Shimmer.js.map +1 -1
  343. package/dist/constants/markerAppearance.d.ts +6 -0
  344. package/dist/constants/markerAppearance.d.ts.map +1 -1
  345. package/dist/constants/markerAppearance.js +5 -0
  346. package/dist/constants/markerAppearance.js.map +1 -1
  347. package/dist/constants/motionClasses.d.ts +52 -0
  348. package/dist/constants/motionClasses.d.ts.map +1 -0
  349. package/dist/constants/motionClasses.js +69 -0
  350. package/dist/constants/motionClasses.js.map +1 -0
  351. package/dist/constants/panelTabPresets.js +8 -8
  352. package/dist/constants/panelTabPresets.js.map +1 -1
  353. package/dist/constants/panelTabRegistry.d.ts +12 -0
  354. package/dist/constants/panelTabRegistry.d.ts.map +1 -1
  355. package/dist/constants/panelTabRegistry.js +12 -0
  356. package/dist/constants/panelTabRegistry.js.map +1 -1
  357. package/dist/constants/replyHistory.d.ts +1 -1
  358. package/dist/constants/replyHistory.d.ts.map +1 -1
  359. package/dist/constants/replyHistory.js +1 -1
  360. package/dist/constants/replyHistory.js.map +1 -1
  361. package/dist/hooks/replyHistoryActions.d.ts +1 -1
  362. package/dist/hooks/replyHistoryActions.d.ts.map +1 -1
  363. package/dist/hooks/replyHistoryActions.js +1 -1
  364. package/dist/hooks/replyHistoryActions.js.map +1 -1
  365. package/dist/hooks/report/assembleReportContextValue.d.ts +316 -0
  366. package/dist/hooks/report/assembleReportContextValue.d.ts.map +1 -0
  367. package/dist/hooks/report/assembleReportContextValue.js +241 -0
  368. package/dist/hooks/report/assembleReportContextValue.js.map +1 -0
  369. package/dist/hooks/report/usePickProbeSessionHistory.d.ts +18 -0
  370. package/dist/hooks/report/usePickProbeSessionHistory.d.ts.map +1 -0
  371. package/dist/hooks/report/usePickProbeSessionHistory.js +93 -0
  372. package/dist/hooks/report/usePickProbeSessionHistory.js.map +1 -0
  373. package/dist/hooks/report/useReplyCaseEdit.d.ts +27 -0
  374. package/dist/hooks/report/useReplyCaseEdit.d.ts.map +1 -0
  375. package/dist/hooks/report/useReplyCaseEdit.js +91 -0
  376. package/dist/hooks/report/useReplyCaseEdit.js.map +1 -0
  377. package/dist/hooks/report/useReportAuthSession.d.ts +107 -0
  378. package/dist/hooks/report/useReportAuthSession.d.ts.map +1 -0
  379. package/dist/hooks/report/useReportAuthSession.js +240 -0
  380. package/dist/hooks/report/useReportAuthSession.js.map +1 -0
  381. package/dist/hooks/report/useReportDraftSession.d.ts +88 -0
  382. package/dist/hooks/report/useReportDraftSession.d.ts.map +1 -0
  383. package/dist/hooks/report/useReportDraftSession.js +416 -0
  384. package/dist/hooks/report/useReportDraftSession.js.map +1 -0
  385. package/dist/hooks/report/useReportMarkers.d.ts +61 -0
  386. package/dist/hooks/report/useReportMarkers.d.ts.map +1 -0
  387. package/dist/hooks/report/useReportMarkers.js +371 -0
  388. package/dist/hooks/report/useReportMarkers.js.map +1 -0
  389. package/dist/hooks/report/useReportMutations.d.ts +46 -0
  390. package/dist/hooks/report/useReportMutations.d.ts.map +1 -0
  391. package/dist/hooks/report/useReportMutations.js +177 -0
  392. package/dist/hooks/report/useReportMutations.js.map +1 -0
  393. package/dist/hooks/report/useReportPanelShell.d.ts +146 -0
  394. package/dist/hooks/report/useReportPanelShell.d.ts.map +1 -0
  395. package/dist/hooks/report/useReportPanelShell.js +340 -0
  396. package/dist/hooks/report/useReportPanelShell.js.map +1 -0
  397. package/dist/hooks/report/useReportPickProbe.d.ts +51 -0
  398. package/dist/hooks/report/useReportPickProbe.d.ts.map +1 -0
  399. package/dist/hooks/report/useReportPickProbe.js +400 -0
  400. package/dist/hooks/report/useReportPickProbe.js.map +1 -0
  401. package/dist/hooks/report/useReportReplyReview.d.ts +71 -0
  402. package/dist/hooks/report/useReportReplyReview.d.ts.map +1 -0
  403. package/dist/hooks/report/useReportReplyReview.js +437 -0
  404. package/dist/hooks/report/useReportReplyReview.js.map +1 -0
  405. package/dist/hooks/{useReportState.d.ts → report/useReportState.d.ts} +91 -95
  406. package/dist/hooks/report/useReportState.d.ts.map +1 -0
  407. package/dist/hooks/report/useReportState.js +255 -0
  408. package/dist/hooks/report/useReportState.js.map +1 -0
  409. package/dist/hooks/report.api.js +2 -2
  410. package/dist/hooks/report.api.js.map +1 -1
  411. package/dist/hooks/useActivitySummary.js +1 -1
  412. package/dist/hooks/useActivitySummary.js.map +1 -1
  413. package/dist/hooks/useCurrentPathname.js +2 -2
  414. package/dist/hooks/useCurrentPathname.js.map +1 -1
  415. package/dist/hooks/useMarkerAppearancePreference.d.ts +3 -1
  416. package/dist/hooks/useMarkerAppearancePreference.d.ts.map +1 -1
  417. package/dist/hooks/useMarkerAppearancePreference.js +31 -3
  418. package/dist/hooks/useMarkerAppearancePreference.js.map +1 -1
  419. package/dist/hooks/usePanelBootstrap.js +1 -1
  420. package/dist/hooks/usePanelBootstrap.js.map +1 -1
  421. package/dist/hooks/usePanelDock.d.ts +0 -2
  422. package/dist/hooks/usePanelDock.d.ts.map +1 -1
  423. package/dist/hooks/usePanelDock.js.map +1 -1
  424. package/dist/hooks/usePanelFeedbackTransfer.d.ts +1 -1
  425. package/dist/hooks/usePanelFeedbackTransfer.d.ts.map +1 -1
  426. package/dist/hooks/usePanelFeedbackTransfer.js +1 -1
  427. package/dist/hooks/usePanelFeedbackTransfer.js.map +1 -1
  428. package/dist/hooks/usePanelResize.d.ts +0 -8
  429. package/dist/hooks/usePanelResize.d.ts.map +1 -1
  430. package/dist/hooks/usePanelResize.js +1 -16
  431. package/dist/hooks/usePanelResize.js.map +1 -1
  432. package/dist/hooks/usePanelTabPreference.d.ts +1 -1
  433. package/dist/hooks/usePanelTabPreference.d.ts.map +1 -1
  434. package/dist/hooks/usePanelTabPreference.js +1 -1
  435. package/dist/hooks/usePanelTabPreference.js.map +1 -1
  436. package/dist/hooks/usePersonalKey.js +1 -1
  437. package/dist/hooks/usePersonalKey.js.map +1 -1
  438. package/dist/hooks/usePinnedFeedbackPreference.d.ts +11 -0
  439. package/dist/hooks/usePinnedFeedbackPreference.d.ts.map +1 -0
  440. package/dist/hooks/usePinnedFeedbackPreference.js +109 -0
  441. package/dist/hooks/usePinnedFeedbackPreference.js.map +1 -0
  442. package/dist/hooks/useReportPersistence.d.ts +3 -2
  443. package/dist/hooks/useReportPersistence.d.ts.map +1 -1
  444. package/dist/hooks/useReportPersistence.js +28 -42
  445. package/dist/hooks/useReportPersistence.js.map +1 -1
  446. package/dist/hooks/useReportShortcuts.d.ts +1 -1
  447. package/dist/hooks/useReportShortcuts.d.ts.map +1 -1
  448. package/dist/hooks/useReportShortcuts.js +1 -1
  449. package/dist/hooks/useReportShortcuts.js.map +1 -1
  450. package/dist/hooks/useTooltipLayout.d.ts +1 -1
  451. package/dist/hooks/useTooltipLayout.js +1 -1
  452. package/dist/hooks/useTooltipLayout.js.map +1 -1
  453. package/dist/hooks/useTooltipResize.js +1 -1
  454. package/dist/hooks/useTooltipResize.js.map +1 -1
  455. package/dist/i18n/en.d.ts.map +1 -1
  456. package/dist/i18n/en.js +38 -0
  457. package/dist/i18n/en.js.map +1 -1
  458. package/dist/i18n/ko.d.ts.map +1 -1
  459. package/dist/i18n/ko.js +38 -0
  460. package/dist/i18n/ko.js.map +1 -1
  461. package/dist/i18n/types.d.ts +38 -0
  462. package/dist/i18n/types.d.ts.map +1 -1
  463. package/dist/providers/ReportProvider.d.ts +3 -31
  464. package/dist/providers/ReportProvider.d.ts.map +1 -1
  465. package/dist/providers/ReportProvider.js +9 -8
  466. package/dist/providers/ReportProvider.js.map +1 -1
  467. package/dist/providers/reportContext.d.ts +1083 -207
  468. package/dist/providers/reportContext.d.ts.map +1 -1
  469. package/dist/providers/reportContext.js +43 -7
  470. package/dist/providers/reportContext.js.map +1 -1
  471. package/dist/providers/reportContextPartitions.d.ts +5 -0
  472. package/dist/providers/reportContextPartitions.d.ts.map +1 -0
  473. package/dist/providers/reportContextPartitions.js +246 -0
  474. package/dist/providers/reportContextPartitions.js.map +1 -0
  475. package/dist/storage/local/localStorageAdapter.d.ts +0 -2
  476. package/dist/storage/local/localStorageAdapter.d.ts.map +1 -1
  477. package/dist/storage/local/localStorageAdapter.js +6 -7
  478. package/dist/storage/local/localStorageAdapter.js.map +1 -1
  479. package/dist/styles/reportStylesheet.d.ts +1 -1
  480. package/dist/styles/reportStylesheet.d.ts.map +1 -1
  481. package/dist/styles/reportStylesheet.js +1 -1
  482. package/dist/styles/reportStylesheet.js.map +1 -1
  483. package/dist/types/pinnedFeedback.d.ts +20 -0
  484. package/dist/types/pinnedFeedback.d.ts.map +1 -0
  485. package/dist/types/pinnedFeedback.js +2 -0
  486. package/dist/types/pinnedFeedback.js.map +1 -0
  487. package/dist/types/publicApi.d.ts +27 -0
  488. package/dist/types/publicApi.d.ts.map +1 -0
  489. package/dist/types/publicApi.js +2 -0
  490. package/dist/types/publicApi.js.map +1 -0
  491. package/dist/types/report-ui.d.ts +1 -1
  492. package/dist/types/report-ui.d.ts.map +1 -1
  493. package/dist/types/report.d.ts +7 -3
  494. package/dist/types/report.d.ts.map +1 -1
  495. package/dist/utils/{personalKey.d.ts → auth/personalKey.d.ts} +1 -1
  496. package/dist/utils/auth/personalKey.d.ts.map +1 -0
  497. package/dist/utils/{personalKey.js → auth/personalKey.js} +1 -1
  498. package/dist/utils/auth/personalKey.js.map +1 -0
  499. package/dist/utils/{feedbackCaseId.d.ts → feedback/feedbackCaseId.d.ts} +1 -1
  500. package/dist/utils/feedback/feedbackCaseId.d.ts.map +1 -0
  501. package/dist/utils/feedback/feedbackCaseId.js.map +1 -0
  502. package/dist/utils/{feedbackDataTransfer.d.ts → feedback/feedbackDataTransfer.d.ts} +1 -1
  503. package/dist/utils/feedback/feedbackDataTransfer.d.ts.map +1 -0
  504. package/dist/utils/{feedbackDataTransfer.js → feedback/feedbackDataTransfer.js} +3 -3
  505. package/dist/utils/feedback/feedbackDataTransfer.js.map +1 -0
  506. package/dist/utils/{feedbackDeepLink.d.ts → feedback/feedbackDeepLink.d.ts} +1 -1
  507. package/dist/utils/feedback/feedbackDeepLink.d.ts.map +1 -0
  508. package/dist/utils/feedback/feedbackDeepLink.js.map +1 -0
  509. package/dist/utils/feedback/feedbackListStatus.d.ts +4 -0
  510. package/dist/utils/feedback/feedbackListStatus.d.ts.map +1 -0
  511. package/dist/utils/{feedbackListStatus.js → feedback/feedbackListStatus.js} +2 -2
  512. package/dist/utils/feedback/feedbackListStatus.js.map +1 -0
  513. package/dist/utils/{feedbackThread.d.ts → feedback/feedbackThread.d.ts} +2 -4
  514. package/dist/utils/feedback/feedbackThread.d.ts.map +1 -0
  515. package/dist/utils/{feedbackThread.js → feedback/feedbackThread.js} +2 -6
  516. package/dist/utils/feedback/feedbackThread.js.map +1 -0
  517. package/dist/utils/{feedbackTransferSchema.d.ts → feedback/feedbackTransferSchema.d.ts} +2 -2
  518. package/dist/utils/feedback/feedbackTransferSchema.d.ts.map +1 -0
  519. package/dist/utils/{feedbackTransferSchema.js → feedback/feedbackTransferSchema.js} +1 -1
  520. package/dist/utils/feedback/feedbackTransferSchema.js.map +1 -0
  521. package/dist/utils/{replyHistory.d.ts → feedback/replyHistory.d.ts} +1 -1
  522. package/dist/utils/feedback/replyHistory.d.ts.map +1 -0
  523. package/dist/utils/{replyHistory.js → feedback/replyHistory.js} +1 -1
  524. package/dist/utils/feedback/replyHistory.js.map +1 -0
  525. package/dist/utils/{validateFeedbackImport.d.ts → feedback/validateFeedbackImport.d.ts} +1 -1
  526. package/dist/utils/feedback/validateFeedbackImport.d.ts.map +1 -0
  527. package/dist/utils/{validateFeedbackImport.js → feedback/validateFeedbackImport.js} +3 -3
  528. package/dist/utils/feedback/validateFeedbackImport.js.map +1 -0
  529. package/dist/utils/{githubIntegration.d.ts → github/githubIntegration.d.ts} +1 -1
  530. package/dist/utils/github/githubIntegration.d.ts.map +1 -0
  531. package/dist/utils/{githubIntegration.js → github/githubIntegration.js} +1 -1
  532. package/dist/utils/github/githubIntegration.js.map +1 -0
  533. package/dist/utils/{coordinates.d.ts → marker/coordinates.d.ts} +2 -2
  534. package/dist/utils/marker/coordinates.d.ts.map +1 -0
  535. package/dist/utils/{coordinates.js → marker/coordinates.js} +30 -24
  536. package/dist/utils/marker/coordinates.js.map +1 -0
  537. package/dist/utils/marker/hoverTooltipLayout.d.ts.map +1 -0
  538. package/dist/utils/marker/hoverTooltipLayout.js.map +1 -0
  539. package/dist/utils/{locateFeedback.d.ts → marker/locateFeedback.d.ts} +2 -2
  540. package/dist/utils/marker/locateFeedback.d.ts.map +1 -0
  541. package/dist/utils/{locateFeedback.js → marker/locateFeedback.js} +5 -4
  542. package/dist/utils/marker/locateFeedback.js.map +1 -0
  543. package/dist/utils/{markerContext.d.ts → marker/markerContext.d.ts} +2 -2
  544. package/dist/utils/marker/markerContext.d.ts.map +1 -0
  545. package/dist/utils/{markerContext.js → marker/markerContext.js} +5 -3
  546. package/dist/utils/marker/markerContext.js.map +1 -0
  547. package/dist/utils/{markerRuntime.d.ts → marker/markerRuntime.d.ts} +1 -1
  548. package/dist/utils/marker/markerRuntime.d.ts.map +1 -0
  549. package/dist/utils/{markerRuntime.js → marker/markerRuntime.js} +2 -2
  550. package/dist/utils/marker/markerRuntime.js.map +1 -0
  551. package/dist/utils/{markerShape.d.ts → marker/markerShape.d.ts} +1 -1
  552. package/dist/utils/marker/markerShape.d.ts.map +1 -0
  553. package/dist/utils/marker/markerShape.js.map +1 -0
  554. package/dist/utils/marker/markerTarget.d.ts +3 -0
  555. package/dist/utils/marker/markerTarget.d.ts.map +1 -0
  556. package/dist/utils/{markerTarget.js → marker/markerTarget.js} +6 -0
  557. package/dist/utils/marker/markerTarget.js.map +1 -0
  558. package/dist/utils/{targetSelector.d.ts → marker/targetSelector.d.ts} +1 -1
  559. package/dist/utils/marker/targetSelector.d.ts.map +1 -0
  560. package/dist/utils/{targetSelector.js → marker/targetSelector.js} +1 -1
  561. package/dist/utils/marker/targetSelector.js.map +1 -0
  562. package/dist/utils/{experimentalPanelTabs.d.ts → panel/experimentalPanelTabs.d.ts} +4 -2
  563. package/dist/utils/panel/experimentalPanelTabs.d.ts.map +1 -0
  564. package/dist/utils/{experimentalPanelTabs.js → panel/experimentalPanelTabs.js} +10 -3
  565. package/dist/utils/panel/experimentalPanelTabs.js.map +1 -0
  566. package/dist/utils/panel/formatStatCount.d.ts.map +1 -0
  567. package/dist/utils/panel/formatStatCount.js.map +1 -0
  568. package/dist/utils/{heatmapActivity.d.ts → panel/heatmapActivity.d.ts} +3 -3
  569. package/dist/utils/panel/heatmapActivity.d.ts.map +1 -0
  570. package/dist/utils/panel/heatmapActivity.js.map +1 -0
  571. package/dist/utils/{hourlyCompareSparkline.d.ts → panel/hourlyCompareSparkline.d.ts} +1 -1
  572. package/dist/utils/panel/hourlyCompareSparkline.d.ts.map +1 -0
  573. package/dist/utils/{hourlyCompareSparkline.js → panel/hourlyCompareSparkline.js} +1 -1
  574. package/dist/utils/panel/hourlyCompareSparkline.js.map +1 -0
  575. package/dist/utils/{panelBootstrap.d.ts → panel/panelBootstrap.d.ts} +2 -2
  576. package/dist/utils/panel/panelBootstrap.d.ts.map +1 -0
  577. package/dist/utils/{panelBootstrap.js → panel/panelBootstrap.js} +3 -3
  578. package/dist/utils/panel/panelBootstrap.js.map +1 -0
  579. package/dist/utils/{panelRoleStats.d.ts → panel/panelRoleStats.d.ts} +3 -3
  580. package/dist/utils/panel/panelRoleStats.d.ts.map +1 -0
  581. package/dist/utils/{panelRoleStats.js → panel/panelRoleStats.js} +4 -4
  582. package/dist/utils/panel/panelRoleStats.js.map +1 -0
  583. package/dist/utils/{panelTabPreference.d.ts → panel/panelTabPreference.d.ts} +2 -2
  584. package/dist/utils/panel/panelTabPreference.d.ts.map +1 -0
  585. package/dist/utils/{panelTabPreference.js → panel/panelTabPreference.js} +2 -2
  586. package/dist/utils/panel/panelTabPreference.js.map +1 -0
  587. package/dist/utils/panel/panelTypography.d.ts.map +1 -0
  588. package/dist/utils/panel/panelTypography.js.map +1 -0
  589. package/dist/utils/{routeDetailStatus.d.ts → panel/routeDetailStatus.d.ts} +1 -1
  590. package/dist/utils/panel/routeDetailStatus.d.ts.map +1 -0
  591. package/dist/utils/{routeDetailStatus.js → panel/routeDetailStatus.js} +1 -1
  592. package/dist/utils/panel/routeDetailStatus.js.map +1 -0
  593. package/dist/utils/pinned/pinnedFeedback.d.ts +18 -0
  594. package/dist/utils/pinned/pinnedFeedback.d.ts.map +1 -0
  595. package/dist/utils/pinned/pinnedFeedback.js +86 -0
  596. package/dist/utils/pinned/pinnedFeedback.js.map +1 -0
  597. package/dist/utils/probe/cssStepper.d.ts.map +1 -0
  598. package/dist/utils/probe/cssStepper.js.map +1 -0
  599. package/dist/utils/{pickProbe.d.ts → probe/pickProbe.d.ts} +2 -2
  600. package/dist/utils/probe/pickProbe.d.ts.map +1 -0
  601. package/dist/utils/probe/pickProbe.js.map +1 -0
  602. package/dist/utils/probe/pickProbeLayout.d.ts.map +1 -0
  603. package/dist/utils/probe/pickProbeLayout.js.map +1 -0
  604. package/dist/utils/{pickProbeSession.d.ts → probe/pickProbeSession.d.ts} +1 -1
  605. package/dist/utils/probe/pickProbeSession.d.ts.map +1 -0
  606. package/dist/utils/{pickProbeSession.js → probe/pickProbeSession.js} +2 -2
  607. package/dist/utils/probe/pickProbeSession.js.map +1 -0
  608. package/dist/utils/probe/pickTargetDeleteAnimation.d.ts.map +1 -0
  609. package/dist/utils/{pickTargetDeleteAnimation.js → probe/pickTargetDeleteAnimation.js} +1 -1
  610. package/dist/utils/probe/pickTargetDeleteAnimation.js.map +1 -0
  611. package/dist/utils/{pickTargetInspect.d.ts → probe/pickTargetInspect.d.ts} +1 -1
  612. package/dist/utils/probe/pickTargetInspect.d.ts.map +1 -0
  613. package/dist/utils/probe/pickTargetInspect.js.map +1 -0
  614. package/dist/utils/probe/probeColor.d.ts.map +1 -0
  615. package/dist/utils/probe/probeColor.js.map +1 -0
  616. package/dist/utils/{probeLayout.d.ts → probe/probeLayout.d.ts} +1 -1
  617. package/dist/utils/probe/probeLayout.d.ts.map +1 -0
  618. package/dist/utils/probe/probeLayout.js.map +1 -0
  619. package/dist/utils/{probeSessionHistory.d.ts → probe/probeSessionHistory.d.ts} +1 -1
  620. package/dist/utils/probe/probeSessionHistory.d.ts.map +1 -0
  621. package/dist/utils/probe/probeSessionHistory.js.map +1 -0
  622. package/dist/utils/{fields.d.ts → report/fields.d.ts} +3 -3
  623. package/dist/utils/report/fields.d.ts.map +1 -0
  624. package/dist/utils/{fields.js → report/fields.js} +1 -1
  625. package/dist/utils/report/fields.js.map +1 -0
  626. package/dist/utils/report/projectId.d.ts.map +1 -0
  627. package/dist/utils/{projectId.js → report/projectId.js} +2 -2
  628. package/dist/utils/report/projectId.js.map +1 -0
  629. package/dist/utils/{reportCallbacks.d.ts → report/reportCallbacks.d.ts} +1 -1
  630. package/dist/utils/report/reportCallbacks.d.ts.map +1 -0
  631. package/dist/utils/report/reportCallbacks.js.map +1 -0
  632. package/dist/utils/{reportCases.d.ts → report/reportCases.d.ts} +1 -1
  633. package/dist/utils/report/reportCases.d.ts.map +1 -0
  634. package/dist/utils/report/reportCases.js.map +1 -0
  635. package/dist/utils/{reportPosition.d.ts → report/reportPosition.d.ts} +3 -1
  636. package/dist/utils/report/reportPosition.d.ts.map +1 -0
  637. package/dist/utils/report/reportPosition.js +112 -0
  638. package/dist/utils/report/reportPosition.js.map +1 -0
  639. package/dist/utils/{reportProject.d.ts → report/reportProject.d.ts} +1 -1
  640. package/dist/utils/report/reportProject.d.ts.map +1 -0
  641. package/dist/utils/report/reportProject.js.map +1 -0
  642. package/dist/utils/{reportSummary.d.ts → report/reportSummary.d.ts} +1 -1
  643. package/dist/utils/report/reportSummary.d.ts.map +1 -0
  644. package/dist/utils/{reportSummary.js → report/reportSummary.js} +2 -0
  645. package/dist/utils/report/reportSummary.js.map +1 -0
  646. package/dist/utils/{reportTeam.d.ts → report/reportTeam.d.ts} +1 -1
  647. package/dist/utils/report/reportTeam.d.ts.map +1 -0
  648. package/dist/utils/{reportTeam.js → report/reportTeam.js} +1 -1
  649. package/dist/utils/report/reportTeam.js.map +1 -0
  650. package/dist/utils/{reportUi.d.ts → report/reportUi.d.ts} +2 -2
  651. package/dist/utils/report/reportUi.d.ts.map +1 -0
  652. package/dist/utils/{reportUi.js → report/reportUi.js} +6 -10
  653. package/dist/utils/report/reportUi.js.map +1 -0
  654. package/dist/utils/{reportVisibility.d.ts → report/reportVisibility.d.ts} +1 -1
  655. package/dist/utils/report/reportVisibility.d.ts.map +1 -0
  656. package/dist/utils/report/reportVisibility.js.map +1 -0
  657. package/dist/utils/{reportVisual.d.ts → report/reportVisual.d.ts} +2 -2
  658. package/dist/utils/report/reportVisual.d.ts.map +1 -0
  659. package/dist/utils/{reportVisual.js → report/reportVisual.js} +3 -3
  660. package/dist/utils/report/reportVisual.js.map +1 -0
  661. package/dist/utils/report/resolveDefaultAuthorName.d.ts +3 -0
  662. package/dist/utils/report/resolveDefaultAuthorName.d.ts.map +1 -0
  663. package/dist/utils/report/resolveDefaultAuthorName.js +7 -0
  664. package/dist/utils/report/resolveDefaultAuthorName.js.map +1 -0
  665. package/dist/utils/{dom.d.ts → shared/dom.d.ts} +2 -2
  666. package/dist/utils/shared/dom.d.ts.map +1 -0
  667. package/dist/utils/{dom.js → shared/dom.js} +3 -3
  668. package/dist/utils/shared/dom.js.map +1 -0
  669. package/dist/utils/shared/env.d.ts.map +1 -0
  670. package/dist/utils/shared/env.js.map +1 -0
  671. package/dist/utils/{format.d.ts → shared/format.d.ts} +1 -1
  672. package/dist/utils/shared/format.d.ts.map +1 -0
  673. package/dist/utils/shared/format.js.map +1 -0
  674. package/dist/utils/shared/hexColor.d.ts.map +1 -0
  675. package/dist/utils/shared/hexColor.js.map +1 -0
  676. package/dist/utils/shared/pathname.d.ts.map +1 -0
  677. package/dist/utils/shared/pathname.js.map +1 -0
  678. package/dist/utils/shared/pathnameNavigation.d.ts.map +1 -0
  679. package/dist/utils/shared/pathnameNavigation.js.map +1 -0
  680. package/dist/utils/shared/shortcuts.d.ts.map +1 -0
  681. package/dist/utils/shared/shortcuts.js.map +1 -0
  682. package/dist/utils/{storage.d.ts → shared/storage.d.ts} +21 -1
  683. package/dist/utils/shared/storage.d.ts.map +1 -0
  684. package/dist/utils/{storage.js → shared/storage.js} +38 -3
  685. package/dist/utils/shared/storage.js.map +1 -0
  686. package/package.json +7 -3
  687. package/dist/hooks/useReportState.d.ts.map +0 -1
  688. package/dist/hooks/useReportState.js +0 -2377
  689. package/dist/hooks/useReportState.js.map +0 -1
  690. package/dist/utils/coordinates.d.ts.map +0 -1
  691. package/dist/utils/coordinates.js.map +0 -1
  692. package/dist/utils/cssStepper.d.ts.map +0 -1
  693. package/dist/utils/cssStepper.js.map +0 -1
  694. package/dist/utils/dom.d.ts.map +0 -1
  695. package/dist/utils/dom.js.map +0 -1
  696. package/dist/utils/env.d.ts.map +0 -1
  697. package/dist/utils/env.js.map +0 -1
  698. package/dist/utils/experimentalPanelTabs.d.ts.map +0 -1
  699. package/dist/utils/experimentalPanelTabs.js.map +0 -1
  700. package/dist/utils/feedbackCaseId.d.ts.map +0 -1
  701. package/dist/utils/feedbackCaseId.js.map +0 -1
  702. package/dist/utils/feedbackDataTransfer.d.ts.map +0 -1
  703. package/dist/utils/feedbackDataTransfer.js.map +0 -1
  704. package/dist/utils/feedbackDeepLink.d.ts.map +0 -1
  705. package/dist/utils/feedbackDeepLink.js.map +0 -1
  706. package/dist/utils/feedbackListStatus.d.ts +0 -4
  707. package/dist/utils/feedbackListStatus.d.ts.map +0 -1
  708. package/dist/utils/feedbackListStatus.js.map +0 -1
  709. package/dist/utils/feedbackThread.d.ts.map +0 -1
  710. package/dist/utils/feedbackThread.js.map +0 -1
  711. package/dist/utils/feedbackTransferSchema.d.ts.map +0 -1
  712. package/dist/utils/feedbackTransferSchema.js.map +0 -1
  713. package/dist/utils/fields.d.ts.map +0 -1
  714. package/dist/utils/fields.js.map +0 -1
  715. package/dist/utils/format.d.ts.map +0 -1
  716. package/dist/utils/format.js.map +0 -1
  717. package/dist/utils/formatStatCount.d.ts.map +0 -1
  718. package/dist/utils/formatStatCount.js.map +0 -1
  719. package/dist/utils/githubIntegration.d.ts.map +0 -1
  720. package/dist/utils/githubIntegration.js.map +0 -1
  721. package/dist/utils/heatmapActivity.d.ts.map +0 -1
  722. package/dist/utils/heatmapActivity.js.map +0 -1
  723. package/dist/utils/hexColor.d.ts.map +0 -1
  724. package/dist/utils/hexColor.js.map +0 -1
  725. package/dist/utils/hourlyCompareSparkline.d.ts.map +0 -1
  726. package/dist/utils/hourlyCompareSparkline.js.map +0 -1
  727. package/dist/utils/hoverTooltipLayout.d.ts.map +0 -1
  728. package/dist/utils/hoverTooltipLayout.js.map +0 -1
  729. package/dist/utils/locateFeedback.d.ts.map +0 -1
  730. package/dist/utils/locateFeedback.js.map +0 -1
  731. package/dist/utils/markerContext.d.ts.map +0 -1
  732. package/dist/utils/markerContext.js.map +0 -1
  733. package/dist/utils/markerRuntime.d.ts.map +0 -1
  734. package/dist/utils/markerRuntime.js.map +0 -1
  735. package/dist/utils/markerShape.d.ts.map +0 -1
  736. package/dist/utils/markerShape.js.map +0 -1
  737. package/dist/utils/markerTarget.d.ts +0 -3
  738. package/dist/utils/markerTarget.d.ts.map +0 -1
  739. package/dist/utils/markerTarget.js.map +0 -1
  740. package/dist/utils/panelBootstrap.d.ts.map +0 -1
  741. package/dist/utils/panelBootstrap.js.map +0 -1
  742. package/dist/utils/panelRoleStats.d.ts.map +0 -1
  743. package/dist/utils/panelRoleStats.js.map +0 -1
  744. package/dist/utils/panelTabPreference.d.ts.map +0 -1
  745. package/dist/utils/panelTabPreference.js.map +0 -1
  746. package/dist/utils/panelTypography.d.ts.map +0 -1
  747. package/dist/utils/panelTypography.js.map +0 -1
  748. package/dist/utils/pathname.d.ts.map +0 -1
  749. package/dist/utils/pathname.js.map +0 -1
  750. package/dist/utils/pathnameNavigation.d.ts.map +0 -1
  751. package/dist/utils/pathnameNavigation.js.map +0 -1
  752. package/dist/utils/personalKey.d.ts.map +0 -1
  753. package/dist/utils/personalKey.js.map +0 -1
  754. package/dist/utils/pickProbe.d.ts.map +0 -1
  755. package/dist/utils/pickProbe.js.map +0 -1
  756. package/dist/utils/pickProbeLayout.d.ts.map +0 -1
  757. package/dist/utils/pickProbeLayout.js.map +0 -1
  758. package/dist/utils/pickProbeSession.d.ts.map +0 -1
  759. package/dist/utils/pickProbeSession.js.map +0 -1
  760. package/dist/utils/pickTargetDeleteAnimation.d.ts.map +0 -1
  761. package/dist/utils/pickTargetDeleteAnimation.js.map +0 -1
  762. package/dist/utils/pickTargetInspect.d.ts.map +0 -1
  763. package/dist/utils/pickTargetInspect.js.map +0 -1
  764. package/dist/utils/probeColor.d.ts.map +0 -1
  765. package/dist/utils/probeColor.js.map +0 -1
  766. package/dist/utils/probeLayout.d.ts.map +0 -1
  767. package/dist/utils/probeLayout.js.map +0 -1
  768. package/dist/utils/probeSessionHistory.d.ts.map +0 -1
  769. package/dist/utils/probeSessionHistory.js.map +0 -1
  770. package/dist/utils/projectId.d.ts.map +0 -1
  771. package/dist/utils/projectId.js.map +0 -1
  772. package/dist/utils/replyHistory.d.ts.map +0 -1
  773. package/dist/utils/replyHistory.js.map +0 -1
  774. package/dist/utils/reportCallbacks.d.ts.map +0 -1
  775. package/dist/utils/reportCallbacks.js.map +0 -1
  776. package/dist/utils/reportCases.d.ts.map +0 -1
  777. package/dist/utils/reportCases.js.map +0 -1
  778. package/dist/utils/reportPosition.d.ts.map +0 -1
  779. package/dist/utils/reportPosition.js +0 -18
  780. package/dist/utils/reportPosition.js.map +0 -1
  781. package/dist/utils/reportProject.d.ts.map +0 -1
  782. package/dist/utils/reportProject.js.map +0 -1
  783. package/dist/utils/reportSummary.d.ts.map +0 -1
  784. package/dist/utils/reportSummary.js.map +0 -1
  785. package/dist/utils/reportTeam.d.ts.map +0 -1
  786. package/dist/utils/reportTeam.js.map +0 -1
  787. package/dist/utils/reportUi.d.ts.map +0 -1
  788. package/dist/utils/reportUi.js.map +0 -1
  789. package/dist/utils/reportVisibility.d.ts.map +0 -1
  790. package/dist/utils/reportVisibility.js.map +0 -1
  791. package/dist/utils/reportVisual.d.ts.map +0 -1
  792. package/dist/utils/reportVisual.js.map +0 -1
  793. package/dist/utils/routeDetailStatus.d.ts.map +0 -1
  794. package/dist/utils/routeDetailStatus.js.map +0 -1
  795. package/dist/utils/shortcuts.d.ts.map +0 -1
  796. package/dist/utils/shortcuts.js.map +0 -1
  797. package/dist/utils/storage.d.ts.map +0 -1
  798. package/dist/utils/storage.js.map +0 -1
  799. package/dist/utils/targetSelector.d.ts.map +0 -1
  800. package/dist/utils/targetSelector.js.map +0 -1
  801. package/dist/utils/validateFeedbackImport.d.ts.map +0 -1
  802. package/dist/utils/validateFeedbackImport.js.map +0 -1
  803. /package/dist/utils/{feedbackCaseId.js → feedback/feedbackCaseId.js} +0 -0
  804. /package/dist/utils/{feedbackDeepLink.js → feedback/feedbackDeepLink.js} +0 -0
  805. /package/dist/utils/{hoverTooltipLayout.d.ts → marker/hoverTooltipLayout.d.ts} +0 -0
  806. /package/dist/utils/{hoverTooltipLayout.js → marker/hoverTooltipLayout.js} +0 -0
  807. /package/dist/utils/{markerShape.js → marker/markerShape.js} +0 -0
  808. /package/dist/utils/{formatStatCount.d.ts → panel/formatStatCount.d.ts} +0 -0
  809. /package/dist/utils/{formatStatCount.js → panel/formatStatCount.js} +0 -0
  810. /package/dist/utils/{heatmapActivity.js → panel/heatmapActivity.js} +0 -0
  811. /package/dist/utils/{panelTypography.d.ts → panel/panelTypography.d.ts} +0 -0
  812. /package/dist/utils/{panelTypography.js → panel/panelTypography.js} +0 -0
  813. /package/dist/utils/{cssStepper.d.ts → probe/cssStepper.d.ts} +0 -0
  814. /package/dist/utils/{cssStepper.js → probe/cssStepper.js} +0 -0
  815. /package/dist/utils/{pickProbe.js → probe/pickProbe.js} +0 -0
  816. /package/dist/utils/{pickProbeLayout.d.ts → probe/pickProbeLayout.d.ts} +0 -0
  817. /package/dist/utils/{pickProbeLayout.js → probe/pickProbeLayout.js} +0 -0
  818. /package/dist/utils/{pickTargetDeleteAnimation.d.ts → probe/pickTargetDeleteAnimation.d.ts} +0 -0
  819. /package/dist/utils/{pickTargetInspect.js → probe/pickTargetInspect.js} +0 -0
  820. /package/dist/utils/{probeColor.d.ts → probe/probeColor.d.ts} +0 -0
  821. /package/dist/utils/{probeColor.js → probe/probeColor.js} +0 -0
  822. /package/dist/utils/{probeLayout.js → probe/probeLayout.js} +0 -0
  823. /package/dist/utils/{probeSessionHistory.js → probe/probeSessionHistory.js} +0 -0
  824. /package/dist/utils/{projectId.d.ts → report/projectId.d.ts} +0 -0
  825. /package/dist/utils/{reportCallbacks.js → report/reportCallbacks.js} +0 -0
  826. /package/dist/utils/{reportCases.js → report/reportCases.js} +0 -0
  827. /package/dist/utils/{reportProject.js → report/reportProject.js} +0 -0
  828. /package/dist/utils/{reportVisibility.js → report/reportVisibility.js} +0 -0
  829. /package/dist/utils/{env.d.ts → shared/env.d.ts} +0 -0
  830. /package/dist/utils/{env.js → shared/env.js} +0 -0
  831. /package/dist/utils/{format.js → shared/format.js} +0 -0
  832. /package/dist/utils/{hexColor.d.ts → shared/hexColor.d.ts} +0 -0
  833. /package/dist/utils/{hexColor.js → shared/hexColor.js} +0 -0
  834. /package/dist/utils/{pathname.d.ts → shared/pathname.d.ts} +0 -0
  835. /package/dist/utils/{pathname.js → shared/pathname.js} +0 -0
  836. /package/dist/utils/{pathnameNavigation.d.ts → shared/pathnameNavigation.d.ts} +0 -0
  837. /package/dist/utils/{pathnameNavigation.js → shared/pathnameNavigation.js} +0 -0
  838. /package/dist/utils/{shortcuts.d.ts → shared/shortcuts.d.ts} +0 -0
  839. /package/dist/utils/{shortcuts.js → shared/shortcuts.js} +0 -0
@@ -0,0 +1,371 @@
1
+ import { useCallback, useEffect, useMemo, useRef, useState } from "react";
2
+ import { getMarkerFromReport, resolveTooltipAnchor } from "../../utils/marker/coordinates.js";
3
+ import { clearFeedbackDeepLinkFromUrl, parseFeedbackDeepLink } from "../../utils/feedback/feedbackDeepLink.js";
4
+ import { getFieldTags } from "../../utils/report/fields.js";
5
+ import { getFeedbackTargetElement, isFeedbackTargetVisible, scrollToFeedbackTarget, waitForTargetRevealResync } from "../../utils/marker/locateFeedback.js";
6
+ import { markerToTargetSnapshot } from "../../utils/marker/markerTarget.js";
7
+ const MARKER_HOVER_LEAVE_MS = 250;
8
+ function getInitialDeepLinkFeedbackId() {
9
+ if (typeof window === "undefined") {
10
+ return null;
11
+ }
12
+ return parseFeedbackDeepLink()?.feedbackId ?? null;
13
+ }
14
+ export function useReportMarkers({ mode, messages, fields, currentPathname, currentPageFilteredReports, filteredReports, reports, allPageReports, selectedReportId, markerAppearanceSize, showMarkerTargetPreview, showTargetPreview, selectableTargetsLength, selectedTarget, hoveredTarget, isFetching, isReportsLoading, activeReplyReportId, setErrorMessage, onNavigate, onRevealTarget, selectReport, closeReplyComposer, openReplyComposer, selectCase, ensureIssueMode, loadRepliesIfNeeded, searchInputRef, }) {
15
+ const [markers, setMarkers] = useState([]);
16
+ const [hoveredMarkerId, setHoveredMarkerId] = useState(null);
17
+ const hoverLeaveTimeoutRef = useRef(null);
18
+ const pendingLocateReportIdRef = useRef(null);
19
+ const pendingActivatePinRef = useRef(null);
20
+ const pendingDeepLinkFeedbackIdRef = useRef(getInitialDeepLinkFeedbackId());
21
+ const deepLinkHandledRef = useRef(false);
22
+ const syncMarkers = useCallback(() => {
23
+ setMarkers(currentPageFilteredReports.map((report) => getMarkerFromReport(report, window.scrollY)));
24
+ }, [currentPageFilteredReports, markerAppearanceSize]);
25
+ const activeMarkerReportId = useMemo(() => {
26
+ if (activeReplyReportId) {
27
+ return activeReplyReportId;
28
+ }
29
+ if (hoveredMarkerId) {
30
+ return hoveredMarkerId;
31
+ }
32
+ return null;
33
+ }, [activeReplyReportId, hoveredMarkerId]);
34
+ const activeMarkerTarget = useMemo(() => {
35
+ if (!activeMarkerReportId) {
36
+ return null;
37
+ }
38
+ const marker = markers.find((item) => item.report.id === activeMarkerReportId);
39
+ if (!marker) {
40
+ return null;
41
+ }
42
+ return markerToTargetSnapshot(marker);
43
+ }, [activeMarkerReportId, markers]);
44
+ const markerPreviewTargets = useMemo(() => {
45
+ if (!showMarkerTargetPreview) {
46
+ return [];
47
+ }
48
+ return markers.flatMap((marker) => {
49
+ const snapshot = markerToTargetSnapshot(marker);
50
+ if (!snapshot) {
51
+ return [];
52
+ }
53
+ if (activeMarkerTarget && snapshot.id === activeMarkerTarget.id) {
54
+ return [];
55
+ }
56
+ return [snapshot];
57
+ });
58
+ }, [activeMarkerTarget, markers, showMarkerTargetPreview]);
59
+ const tooltipAnchor = useMemo(() => {
60
+ const hoveredAnchor = resolveTooltipAnchor(markers, hoveredMarkerId);
61
+ const activeReplyAnchor = resolveTooltipAnchor(markers, activeReplyReportId);
62
+ if (!activeReplyReportId) {
63
+ return hoveredAnchor;
64
+ }
65
+ if (hoveredMarkerId && hoveredMarkerId !== activeReplyReportId) {
66
+ return hoveredAnchor;
67
+ }
68
+ return activeReplyAnchor ?? hoveredAnchor;
69
+ }, [activeReplyReportId, hoveredMarkerId, markers]);
70
+ const tooltipReport = tooltipAnchor?.report ?? null;
71
+ const tooltipFieldTags = useMemo(() => (tooltipReport ? getFieldTags(fields, tooltipReport.field_values) : []), [fields, tooltipReport]);
72
+ const statusText = useMemo(() => {
73
+ if (mode === "report") {
74
+ const focusTarget = selectedTarget ?? hoveredTarget;
75
+ if (!focusTarget) {
76
+ return messages.statusText.reportReady;
77
+ }
78
+ if (focusTarget.isTagged) {
79
+ const typeLabel = focusTarget.type === "item" ? messages.statusText.selectedItem : messages.statusText.selectedGroup;
80
+ return `${typeLabel}\n${focusTarget.id}`;
81
+ }
82
+ return `${messages.statusText.selectedUntaggedTarget}\n${focusTarget.suggestedReportId ?? focusTarget.id}`;
83
+ }
84
+ if (mode === "view") {
85
+ return isFetching ? messages.statusText.loadingFeedback : messages.statusText.ready;
86
+ }
87
+ if (showTargetPreview) {
88
+ return messages.statusText.showingSelectableTargets(selectableTargetsLength);
89
+ }
90
+ if (showMarkerTargetPreview) {
91
+ return messages.statusText.showingMarkerTargets(markerPreviewTargets.length + (activeMarkerTarget ? 1 : 0));
92
+ }
93
+ if (selectableTargetsLength === 0) {
94
+ return messages.statusText.noSelectableTargets;
95
+ }
96
+ return messages.statusText.ready;
97
+ }, [
98
+ activeMarkerTarget,
99
+ hoveredTarget,
100
+ isFetching,
101
+ markerPreviewTargets.length,
102
+ messages.statusText,
103
+ mode,
104
+ selectableTargetsLength,
105
+ selectedTarget,
106
+ showMarkerTargetPreview,
107
+ showTargetPreview,
108
+ ]);
109
+ useEffect(() => {
110
+ const shouldSyncMarkers = mode === "view" || mode === "report" || showMarkerTargetPreview;
111
+ if (!shouldSyncMarkers) {
112
+ setMarkers([]);
113
+ return;
114
+ }
115
+ let cancelled = false;
116
+ const runSync = () => {
117
+ if (!cancelled) {
118
+ syncMarkers();
119
+ }
120
+ };
121
+ runSync();
122
+ void waitForTargetRevealResync().then(runSync);
123
+ let mutationSyncTimeout = null;
124
+ const scheduleMutationSync = () => {
125
+ if (mutationSyncTimeout !== null) {
126
+ window.clearTimeout(mutationSyncTimeout);
127
+ }
128
+ mutationSyncTimeout = window.setTimeout(() => {
129
+ mutationSyncTimeout = null;
130
+ runSync();
131
+ }, 50);
132
+ };
133
+ const mutationObserver = new MutationObserver((mutations) => {
134
+ if (mutations.some((mutation) => mutation.type === "attributes" || mutation.type === "childList")) {
135
+ scheduleMutationSync();
136
+ }
137
+ });
138
+ mutationObserver.observe(document.body, {
139
+ attributes: true,
140
+ attributeFilter: ["class", "style", "aria-hidden"],
141
+ childList: true,
142
+ subtree: true,
143
+ });
144
+ window.addEventListener("scroll", syncMarkers, { passive: true, capture: true });
145
+ window.addEventListener("resize", syncMarkers);
146
+ return () => {
147
+ cancelled = true;
148
+ if (mutationSyncTimeout !== null) {
149
+ window.clearTimeout(mutationSyncTimeout);
150
+ }
151
+ mutationObserver.disconnect();
152
+ window.removeEventListener("scroll", syncMarkers, { capture: true });
153
+ window.removeEventListener("resize", syncMarkers);
154
+ };
155
+ }, [currentPathname, mode, showMarkerTargetPreview, syncMarkers]);
156
+ useEffect(() => {
157
+ if (!showMarkerTargetPreview) {
158
+ return;
159
+ }
160
+ const syncPreviewRects = () => {
161
+ syncMarkers();
162
+ };
163
+ window.addEventListener("scroll", syncPreviewRects, { passive: true, capture: true });
164
+ window.addEventListener("resize", syncPreviewRects);
165
+ return () => {
166
+ window.removeEventListener("scroll", syncPreviewRects, { capture: true });
167
+ window.removeEventListener("resize", syncPreviewRects);
168
+ };
169
+ }, [showMarkerTargetPreview, syncMarkers]);
170
+ const prepareFeedbackLocation = useCallback(async (report) => {
171
+ const targetElement = getFeedbackTargetElement(report);
172
+ if (targetElement && isFeedbackTargetVisible(targetElement)) {
173
+ scrollToFeedbackTarget(report);
174
+ return;
175
+ }
176
+ let revealed = false;
177
+ if (onRevealTarget) {
178
+ try {
179
+ revealed = Boolean(await onRevealTarget(report));
180
+ }
181
+ catch {
182
+ revealed = false;
183
+ }
184
+ }
185
+ if (revealed) {
186
+ await waitForTargetRevealResync();
187
+ syncMarkers();
188
+ }
189
+ scrollToFeedbackTarget(report);
190
+ }, [onRevealTarget, syncMarkers]);
191
+ useEffect(() => {
192
+ if (hoveredMarkerId && !markers.some((marker) => marker.report.id === hoveredMarkerId)) {
193
+ setHoveredMarkerId(null);
194
+ }
195
+ }, [hoveredMarkerId, markers]);
196
+ useEffect(() => {
197
+ return () => {
198
+ if (hoverLeaveTimeoutRef.current) {
199
+ window.clearTimeout(hoverLeaveTimeoutRef.current);
200
+ }
201
+ };
202
+ }, []);
203
+ const clearHoverLeaveTimeout = useCallback(() => {
204
+ if (hoverLeaveTimeoutRef.current) {
205
+ window.clearTimeout(hoverLeaveTimeoutRef.current);
206
+ hoverLeaveTimeoutRef.current = null;
207
+ }
208
+ }, []);
209
+ const scheduleHoverLeave = useCallback((markerId) => {
210
+ clearHoverLeaveTimeout();
211
+ hoverLeaveTimeoutRef.current = window.setTimeout(() => {
212
+ setHoveredMarkerId((current) => (current === markerId ? null : current));
213
+ hoverLeaveTimeoutRef.current = null;
214
+ }, MARKER_HOVER_LEAVE_MS);
215
+ }, [clearHoverLeaveTimeout]);
216
+ const showFeedbackTooltip = useCallback(async (report) => {
217
+ await prepareFeedbackLocation(report);
218
+ clearHoverLeaveTimeout();
219
+ closeReplyComposer();
220
+ setHoveredMarkerId(report.id);
221
+ }, [clearHoverLeaveTimeout, closeReplyComposer, prepareFeedbackLocation]);
222
+ const locateFeedback = async (reportId) => {
223
+ const report = filteredReports.find((item) => item.id === reportId);
224
+ if (!report) {
225
+ return;
226
+ }
227
+ selectReport(reportId);
228
+ if (report.pathname !== currentPathname) {
229
+ pendingLocateReportIdRef.current = reportId;
230
+ try {
231
+ if (onNavigate) {
232
+ await onNavigate(report.pathname);
233
+ }
234
+ else if (typeof window !== "undefined") {
235
+ window.location.assign(report.pathname);
236
+ }
237
+ }
238
+ catch (nextError) {
239
+ pendingLocateReportIdRef.current = null;
240
+ setErrorMessage(nextError instanceof Error ? nextError.message : messages.errors.loadFeedbackFailed);
241
+ }
242
+ return;
243
+ }
244
+ showFeedbackTooltip(report);
245
+ };
246
+ useEffect(() => {
247
+ const pendingReportId = pendingLocateReportIdRef.current;
248
+ if (!pendingReportId) {
249
+ return;
250
+ }
251
+ const report = reports.find((item) => item.id === pendingReportId && item.pathname === currentPathname);
252
+ if (!report) {
253
+ return;
254
+ }
255
+ pendingLocateReportIdRef.current = null;
256
+ window.setTimeout(() => showFeedbackTooltip(report), 0);
257
+ }, [currentPathname, reports, showFeedbackTooltip]);
258
+ const focusSearchInput = () => {
259
+ searchInputRef.current?.focus();
260
+ searchInputRef.current?.select();
261
+ };
262
+ const selectAdjacentReport = (direction) => {
263
+ if (filteredReports.length === 0) {
264
+ return;
265
+ }
266
+ const currentIndex = filteredReports.findIndex((report) => report.id === selectedReportId);
267
+ let nextIndex;
268
+ if (currentIndex === -1) {
269
+ nextIndex = direction === "down" ? 0 : filteredReports.length - 1;
270
+ }
271
+ else {
272
+ nextIndex = direction === "down" ? Math.min(currentIndex + 1, filteredReports.length - 1) : Math.max(currentIndex - 1, 0);
273
+ }
274
+ void locateFeedback(filteredReports[nextIndex].id);
275
+ };
276
+ const activateFeedbackMarker = useCallback(async (report, caseId) => {
277
+ const enrichedReport = await loadRepliesIfNeeded(report);
278
+ await prepareFeedbackLocation(enrichedReport);
279
+ openReplyComposer(enrichedReport);
280
+ if (caseId && enrichedReport.cases.some((item) => item.id === caseId)) {
281
+ selectCase(caseId);
282
+ }
283
+ }, [loadRepliesIfNeeded, openReplyComposer, prepareFeedbackLocation, selectCase]);
284
+ const openPinnedFeedback = async (reportId, options) => {
285
+ const caseId = options?.caseId;
286
+ const report = reports.find((item) => item.id === reportId) ?? allPageReports.find((item) => item.id === reportId);
287
+ const targetPathname = report?.pathname ?? options?.pathname;
288
+ if (!report && !targetPathname) {
289
+ setErrorMessage(messages.pins.notFound);
290
+ return;
291
+ }
292
+ ensureIssueMode();
293
+ if (report) {
294
+ selectReport(reportId);
295
+ }
296
+ if (targetPathname && targetPathname !== currentPathname) {
297
+ pendingActivatePinRef.current = { reportId, caseId };
298
+ try {
299
+ if (onNavigate) {
300
+ await onNavigate(targetPathname);
301
+ }
302
+ else if (typeof window !== "undefined") {
303
+ window.location.assign(targetPathname);
304
+ }
305
+ }
306
+ catch (nextError) {
307
+ pendingActivatePinRef.current = null;
308
+ setErrorMessage(nextError instanceof Error ? nextError.message : messages.errors.loadFeedbackFailed);
309
+ }
310
+ return;
311
+ }
312
+ if (!report) {
313
+ setErrorMessage(messages.pins.notFound);
314
+ return;
315
+ }
316
+ await activateFeedbackMarker(report, caseId);
317
+ };
318
+ useEffect(() => {
319
+ const pending = pendingActivatePinRef.current;
320
+ if (!pending) {
321
+ return;
322
+ }
323
+ const report = reports.find((item) => item.id === pending.reportId && item.pathname === currentPathname)
324
+ ?? allPageReports.find((item) => item.id === pending.reportId && item.pathname === currentPathname);
325
+ if (!report) {
326
+ return;
327
+ }
328
+ pendingActivatePinRef.current = null;
329
+ window.setTimeout(() => {
330
+ void activateFeedbackMarker(report, pending.caseId);
331
+ }, 0);
332
+ }, [activateFeedbackMarker, allPageReports, currentPathname, reports]);
333
+ useEffect(() => {
334
+ const feedbackId = pendingDeepLinkFeedbackIdRef.current;
335
+ if (!feedbackId || deepLinkHandledRef.current || isReportsLoading || isFetching) {
336
+ return;
337
+ }
338
+ const report = reports.find((item) => item.id === feedbackId);
339
+ if (!report) {
340
+ pendingDeepLinkFeedbackIdRef.current = null;
341
+ clearFeedbackDeepLinkFromUrl();
342
+ return;
343
+ }
344
+ deepLinkHandledRef.current = true;
345
+ pendingDeepLinkFeedbackIdRef.current = null;
346
+ void activateFeedbackMarker(report).finally(() => {
347
+ clearFeedbackDeepLinkFromUrl();
348
+ });
349
+ }, [activateFeedbackMarker, isFetching, isReportsLoading, reports]);
350
+ return {
351
+ markers,
352
+ hoveredMarkerId,
353
+ setHoveredMarkerId,
354
+ activeMarkerTarget,
355
+ markerPreviewTargets,
356
+ tooltipAnchor,
357
+ tooltipReport,
358
+ tooltipFieldTags,
359
+ statusText,
360
+ clearHoverLeaveTimeout,
361
+ scheduleHoverLeave,
362
+ prepareFeedbackLocation,
363
+ showFeedbackTooltip,
364
+ locateFeedback,
365
+ focusSearchInput,
366
+ selectAdjacentReport,
367
+ activateFeedbackMarker,
368
+ openPinnedFeedback,
369
+ };
370
+ }
371
+ //# sourceMappingURL=useReportMarkers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useReportMarkers.js","sourceRoot":"","sources":["../../../src/hooks/report/useReportMarkers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,46 @@
1
+ import { type Dispatch, type SetStateAction } from "react";
2
+ import type { ReportMessages } from "../../i18n/types.js";
3
+ import type { CreateReportFeedbackPayload, CreateReplyPayload, ReportFeedback, ReportField, ReportGitHubConfig, UpdateReportFeedbackPayload } from "../../types/report.js";
4
+ import type { EditableDraft } from "../../types/report-ui.js";
5
+ import { type ReportSideEffectCallbacks } from "../../utils/report/reportCallbacks.js";
6
+ export type UseReportMutationsParams = {
7
+ messages: ReportMessages;
8
+ fields: ReportField[];
9
+ github?: ReportGitHubConfig;
10
+ eventCallbacks: ReportSideEffectCallbacks;
11
+ selectedReport: ReportFeedback | null;
12
+ selectedReportId: string | null;
13
+ setSelectedReportId: Dispatch<SetStateAction<string | null>>;
14
+ getActiveReplyReportId: () => string | null;
15
+ closeReplyComposer: () => void;
16
+ isCreating: boolean;
17
+ createFeedback: (payload: CreateReportFeedbackPayload) => Promise<ReportFeedback>;
18
+ updateFeedback: (id: string, payload: UpdateReportFeedbackPayload) => Promise<ReportFeedback>;
19
+ deleteFeedback: (id: string) => Promise<void>;
20
+ createReply: (commentId: string, payload: CreateReplyPayload) => Promise<unknown>;
21
+ usesCreateReply: boolean;
22
+ signCreatePayload: (payload: CreateReportFeedbackPayload) => Promise<CreateReportFeedbackPayload>;
23
+ signUpdatePayload: (payload: UpdateReportFeedbackPayload) => Promise<UpdateReportFeedbackPayload>;
24
+ signReplyPayload: (payload: CreateReplyPayload) => Promise<CreateReplyPayload>;
25
+ setErrorMessage: Dispatch<SetStateAction<string>>;
26
+ buildCreatePayloadFromDraft: () => CreateReportFeedbackPayload | null;
27
+ finalizeDraftCreate: () => void;
28
+ };
29
+ export declare function useReportMutations({ messages, fields, github, eventCallbacks, selectedReport, selectedReportId, setSelectedReportId, getActiveReplyReportId, closeReplyComposer, isCreating, createFeedback, updateFeedback, deleteFeedback, createReply, usesCreateReply, signCreatePayload, signUpdatePayload, signReplyPayload, setErrorMessage, buildCreatePayloadFromDraft, finalizeDraftCreate, }: UseReportMutationsParams): {
30
+ editingReportId: string | null;
31
+ setEditingReportId: Dispatch<SetStateAction<string | null>>;
32
+ editableDraft: EditableDraft | null;
33
+ setEditableDraft: Dispatch<SetStateAction<EditableDraft | null>>;
34
+ creatingGitHubIssueId: string | null;
35
+ stopEditing: () => void;
36
+ startEditing: (report: ReportFeedback) => void;
37
+ handleCreateSubmit: () => Promise<void>;
38
+ handleCreateSubmitWithGitHubIssue: () => Promise<void>;
39
+ handleUpdateSubmit: () => Promise<void>;
40
+ handleCreateGitHubIssue: (report: ReportFeedback) => Promise<void>;
41
+ handleDelete: (id: string) => Promise<void>;
42
+ canCreateGitHubIssueFromList: boolean;
43
+ canCreateGitHubIssueOnCreate: boolean;
44
+ isDraftGitHubIssueSubmitting: boolean;
45
+ };
46
+ //# sourceMappingURL=useReportMutations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useReportMutations.d.ts","sourceRoot":"","sources":["../../../src/hooks/report/useReportMutations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,cAAc,EAAqB,MAAM,OAAO,CAAC;AAC9E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,KAAK,EACR,2BAA2B,EAC3B,kBAAkB,EAClB,cAAc,EACd,WAAW,EACX,kBAAkB,EAClB,2BAA2B,EAC9B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAG1D,OAAO,EAA8F,KAAK,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAE/K,MAAM,MAAM,wBAAwB,GAAG;IACnC,QAAQ,EAAE,cAAc,CAAC;IACzB,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,cAAc,EAAE,yBAAyB,CAAC;IAC1C,cAAc,EAAE,cAAc,GAAG,IAAI,CAAC;IACtC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,mBAAmB,EAAE,QAAQ,CAAC,cAAc,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC;IAC7D,sBAAsB,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IAC5C,kBAAkB,EAAE,MAAM,IAAI,CAAC;IAC/B,UAAU,EAAE,OAAO,CAAC;IACpB,cAAc,EAAE,CAAC,OAAO,EAAE,2BAA2B,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC;IAClF,cAAc,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,2BAA2B,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC;IAC9F,cAAc,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,WAAW,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAClF,eAAe,EAAE,OAAO,CAAC;IACzB,iBAAiB,EAAE,CAAC,OAAO,EAAE,2BAA2B,KAAK,OAAO,CAAC,2BAA2B,CAAC,CAAC;IAClG,iBAAiB,EAAE,CAAC,OAAO,EAAE,2BAA2B,KAAK,OAAO,CAAC,2BAA2B,CAAC,CAAC;IAClG,gBAAgB,EAAE,CAAC,OAAO,EAAE,kBAAkB,KAAK,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC/E,eAAe,EAAE,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;IAClD,2BAA2B,EAAE,MAAM,2BAA2B,GAAG,IAAI,CAAC;IACtE,mBAAmB,EAAE,MAAM,IAAI,CAAC;CACnC,CAAC;AAEF,wBAAgB,kBAAkB,CAAC,EAC/B,QAAQ,EACR,MAAM,EACN,MAAM,EACN,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EACnB,sBAAsB,EACtB,kBAAkB,EAClB,UAAU,EACV,cAAc,EACd,cAAc,EACd,cAAc,EACd,WAAW,EACX,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,2BAA2B,EAC3B,mBAAmB,GACtB,EAAE,wBAAwB;;;;;;;2BAiFO,cAAc;;;;sCAyDG,cAAc;uBA4B7B,MAAM;;;;EAwCzC"}
@@ -0,0 +1,177 @@
1
+ import { useMemo, useState } from "react";
2
+ import { createInitialFieldValues, getFieldError } from "../../utils/report/fields.js";
3
+ import { buildGitHubIssueStatusUpdate, buildGitHubIssueUpdate, canCreateGitHubIssueFromList, canCreateGitHubIssueOnCreate, isGitIssued } from "../../utils/github/githubIntegration.js";
4
+ import { notifyFeedbackCreate, notifyFeedbackDelete, notifyFeedbackUpdate, notifyGitHubIssueCreated } from "../../utils/report/reportCallbacks.js";
5
+ export function useReportMutations({ messages, fields, github, eventCallbacks, selectedReport, selectedReportId, setSelectedReportId, getActiveReplyReportId, closeReplyComposer, isCreating, createFeedback, updateFeedback, deleteFeedback, createReply, usesCreateReply, signCreatePayload, signUpdatePayload, signReplyPayload, setErrorMessage, buildCreatePayloadFromDraft, finalizeDraftCreate, }) {
6
+ const [editingReportId, setEditingReportId] = useState(null);
7
+ const [editableDraft, setEditableDraft] = useState(null);
8
+ const [creatingGitHubIssueId, setCreatingGitHubIssueId] = useState(null);
9
+ const canCreateGitHubIssueFromListValue = useMemo(() => canCreateGitHubIssueFromList(github), [github]);
10
+ const canCreateGitHubIssueOnCreateValue = useMemo(() => canCreateGitHubIssueOnCreate(github), [github]);
11
+ const applyGitHubIssueUpdate = async (report, result) => {
12
+ if (usesCreateReply) {
13
+ const updatedFeedback = await updateFeedback(report.id, await signUpdatePayload(buildGitHubIssueStatusUpdate(report, result)));
14
+ await createReply(report.id, await signReplyPayload({
15
+ message: messages.resolution.gitIssuedMessage,
16
+ status: "suggested",
17
+ author_type: "system",
18
+ }));
19
+ return updatedFeedback;
20
+ }
21
+ return updateFeedback(report.id, await signUpdatePayload(buildGitHubIssueUpdate(report, result, messages.resolution.gitIssuedMessage)));
22
+ };
23
+ const stopEditing = () => {
24
+ setEditingReportId(null);
25
+ setEditableDraft(null);
26
+ };
27
+ const handleCreateSubmit = async () => {
28
+ const payload = buildCreatePayloadFromDraft();
29
+ if (!payload) {
30
+ return;
31
+ }
32
+ try {
33
+ const savedFeedback = await createFeedback(await signCreatePayload(payload));
34
+ await notifyFeedbackCreate(eventCallbacks, savedFeedback);
35
+ finalizeDraftCreate();
36
+ }
37
+ catch (nextError) {
38
+ setErrorMessage(nextError instanceof Error ? nextError.message : messages.errors.saveFeedbackFailed);
39
+ }
40
+ };
41
+ const handleCreateSubmitWithGitHubIssue = async () => {
42
+ if (!github?.onCreate || !canCreateGitHubIssueOnCreateValue || creatingGitHubIssueId || isCreating) {
43
+ return;
44
+ }
45
+ const payload = buildCreatePayloadFromDraft();
46
+ if (!payload) {
47
+ return;
48
+ }
49
+ setCreatingGitHubIssueId("draft");
50
+ setErrorMessage("");
51
+ try {
52
+ const savedFeedback = await createFeedback(await signCreatePayload(payload));
53
+ await notifyFeedbackCreate(eventCallbacks, savedFeedback);
54
+ const result = await github.onCreate(savedFeedback);
55
+ const updatedFeedback = await applyGitHubIssueUpdate(savedFeedback, result);
56
+ await notifyGitHubIssueCreated(eventCallbacks, {
57
+ feedback: updatedFeedback,
58
+ issueUrl: result.issueUrl,
59
+ });
60
+ finalizeDraftCreate();
61
+ }
62
+ catch (nextError) {
63
+ setErrorMessage(nextError instanceof Error ? nextError.message : messages.errors.createGitHubIssueFailed);
64
+ }
65
+ finally {
66
+ setCreatingGitHubIssueId(null);
67
+ }
68
+ };
69
+ const startEditing = (report) => {
70
+ if (report.status === "archived") {
71
+ setErrorMessage(messages.errors.archivedReadOnly);
72
+ setSelectedReportId(report.id);
73
+ return;
74
+ }
75
+ setEditingReportId(report.id);
76
+ setEditableDraft({
77
+ cases: report.cases.map((item) => ({ ...item })),
78
+ status: report.status,
79
+ fieldValues: createInitialFieldValues(fields, report.field_values),
80
+ });
81
+ setSelectedReportId(report.id);
82
+ };
83
+ const handleUpdateSubmit = async () => {
84
+ if (!selectedReport || !editableDraft) {
85
+ return;
86
+ }
87
+ if (selectedReport.status === "archived") {
88
+ setErrorMessage(messages.errors.archivedNotEditable);
89
+ return;
90
+ }
91
+ const nextError = getFieldError(editableDraft.cases, editableDraft.fieldValues, fields, messages.errors);
92
+ if (nextError) {
93
+ setErrorMessage(nextError);
94
+ return;
95
+ }
96
+ try {
97
+ const cases = editableDraft.cases.map((item) => ({
98
+ ...item,
99
+ text: item.text.trim(),
100
+ updated_at: new Date().toISOString(),
101
+ }));
102
+ const updatedFeedback = await updateFeedback(selectedReport.id, await signUpdatePayload({
103
+ cases,
104
+ status: editableDraft.status,
105
+ field_values: editableDraft.fieldValues,
106
+ }));
107
+ await notifyFeedbackUpdate(eventCallbacks, updatedFeedback);
108
+ stopEditing();
109
+ setErrorMessage("");
110
+ }
111
+ catch (nextError) {
112
+ setErrorMessage(nextError instanceof Error ? nextError.message : messages.errors.updateFeedbackFailed);
113
+ }
114
+ };
115
+ const handleCreateGitHubIssue = async (report) => {
116
+ if (!github?.onCreate || !canCreateGitHubIssueFromListValue || creatingGitHubIssueId) {
117
+ return;
118
+ }
119
+ if (isGitIssued(report)) {
120
+ return;
121
+ }
122
+ setCreatingGitHubIssueId(report.id);
123
+ setErrorMessage("");
124
+ try {
125
+ const result = await github.onCreate(report);
126
+ const updatedFeedback = await applyGitHubIssueUpdate(report, result);
127
+ await notifyGitHubIssueCreated(eventCallbacks, {
128
+ feedback: updatedFeedback,
129
+ issueUrl: result.issueUrl,
130
+ });
131
+ setErrorMessage("");
132
+ }
133
+ catch (nextError) {
134
+ setErrorMessage(nextError instanceof Error ? nextError.message : messages.errors.createGitHubIssueFailed);
135
+ }
136
+ finally {
137
+ setCreatingGitHubIssueId(null);
138
+ }
139
+ };
140
+ const handleDelete = async (id) => {
141
+ try {
142
+ await deleteFeedback(id);
143
+ await notifyFeedbackDelete(eventCallbacks, id);
144
+ if (selectedReportId === id) {
145
+ setSelectedReportId(null);
146
+ }
147
+ if (editingReportId === id) {
148
+ stopEditing();
149
+ }
150
+ if (getActiveReplyReportId() === id) {
151
+ closeReplyComposer();
152
+ }
153
+ setErrorMessage("");
154
+ }
155
+ catch (nextError) {
156
+ setErrorMessage(nextError instanceof Error ? nextError.message : messages.errors.deleteFeedbackFailed);
157
+ }
158
+ };
159
+ return {
160
+ editingReportId,
161
+ setEditingReportId,
162
+ editableDraft,
163
+ setEditableDraft,
164
+ creatingGitHubIssueId,
165
+ stopEditing,
166
+ startEditing,
167
+ handleCreateSubmit,
168
+ handleCreateSubmitWithGitHubIssue,
169
+ handleUpdateSubmit,
170
+ handleCreateGitHubIssue,
171
+ handleDelete,
172
+ canCreateGitHubIssueFromList: canCreateGitHubIssueFromListValue,
173
+ canCreateGitHubIssueOnCreate: canCreateGitHubIssueOnCreateValue,
174
+ isDraftGitHubIssueSubmitting: creatingGitHubIssueId === "draft",
175
+ };
176
+ }
177
+ //# sourceMappingURL=useReportMutations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useReportMutations.js","sourceRoot":"","sources":["../../../src/hooks/report/useReportMutations.ts"],"names":[],"mappings":"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"}