@fivepixels-js/react 0.1.7 → 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 (938) hide show
  1. package/README.md +102 -14
  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 +65 -27
  7. package/dist/components/icons/Icons.d.ts.map +1 -1
  8. package/dist/components/icons/Icons.js +70 -13
  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 +16 -0
  13. package/dist/components/icons/ProbeLayoutIcons.d.ts.map +1 -0
  14. package/dist/components/icons/ProbeLayoutIcons.js +62 -0
  15. package/dist/components/icons/ProbeLayoutIcons.js.map +1 -0
  16. package/dist/components/overlay/DotWaveOverlay.d.ts +21 -0
  17. package/dist/components/overlay/DotWaveOverlay.d.ts.map +1 -0
  18. package/dist/components/overlay/DotWaveOverlay.js +226 -0
  19. package/dist/components/overlay/DotWaveOverlay.js.map +1 -0
  20. package/dist/components/overlay/FloatingPinRail.d.ts +2 -0
  21. package/dist/components/overlay/FloatingPinRail.d.ts.map +1 -0
  22. package/dist/components/overlay/FloatingPinRail.js +112 -0
  23. package/dist/components/overlay/FloatingPinRail.js.map +1 -0
  24. package/dist/components/overlay/PickTargetCompareChip.d.ts +7 -0
  25. package/dist/components/overlay/PickTargetCompareChip.d.ts.map +1 -0
  26. package/dist/components/overlay/PickTargetCompareChip.js +36 -0
  27. package/dist/components/overlay/PickTargetCompareChip.js.map +1 -0
  28. package/dist/components/overlay/PickTargetCompareSegment.d.ts +12 -0
  29. package/dist/components/overlay/PickTargetCompareSegment.d.ts.map +1 -0
  30. package/dist/components/overlay/PickTargetCompareSegment.js +17 -0
  31. package/dist/components/overlay/PickTargetCompareSegment.js.map +1 -0
  32. package/dist/components/overlay/PickTargetContextMenu.d.ts +8 -0
  33. package/dist/components/overlay/PickTargetContextMenu.d.ts.map +1 -0
  34. package/dist/components/overlay/PickTargetContextMenu.js +31 -0
  35. package/dist/components/overlay/PickTargetContextMenu.js.map +1 -0
  36. package/dist/components/overlay/PickTargetHoverTooltip.d.ts +7 -0
  37. package/dist/components/overlay/PickTargetHoverTooltip.d.ts.map +1 -0
  38. package/dist/components/overlay/PickTargetHoverTooltip.js +71 -0
  39. package/dist/components/overlay/PickTargetHoverTooltip.js.map +1 -0
  40. package/dist/components/overlay/PickTargetProbePanel.d.ts +2 -0
  41. package/dist/components/overlay/PickTargetProbePanel.d.ts.map +1 -0
  42. package/dist/components/overlay/PickTargetProbePanel.js +107 -0
  43. package/dist/components/overlay/PickTargetProbePanel.js.map +1 -0
  44. package/dist/components/overlay/PickTargetSavedBadges.d.ts +2 -0
  45. package/dist/components/overlay/PickTargetSavedBadges.d.ts.map +1 -0
  46. package/dist/components/overlay/PickTargetSavedBadges.js +64 -0
  47. package/dist/components/overlay/PickTargetSavedBadges.js.map +1 -0
  48. package/dist/components/overlay/ProbeLayoutControls.d.ts +11 -0
  49. package/dist/components/overlay/ProbeLayoutControls.d.ts.map +1 -0
  50. package/dist/components/overlay/ProbeLayoutControls.js +82 -0
  51. package/dist/components/overlay/ProbeLayoutControls.js.map +1 -0
  52. package/dist/components/overlay/ReportOverlayLayer.d.ts +1 -1
  53. package/dist/components/overlay/ReportOverlayLayer.d.ts.map +1 -1
  54. package/dist/components/overlay/ReportOverlayLayer.js +18 -3
  55. package/dist/components/overlay/ReportOverlayLayer.js.map +1 -1
  56. package/dist/components/overlay/TargetHighlights.d.ts +8 -2
  57. package/dist/components/overlay/TargetHighlights.d.ts.map +1 -1
  58. package/dist/components/overlay/TargetHighlights.js +18 -14
  59. package/dist/components/overlay/TargetHighlights.js.map +1 -1
  60. package/dist/components/panel/AppearanceThemePicker.d.ts +15 -0
  61. package/dist/components/panel/AppearanceThemePicker.d.ts.map +1 -0
  62. package/dist/components/panel/AppearanceThemePicker.js +30 -0
  63. package/dist/components/panel/AppearanceThemePicker.js.map +1 -0
  64. package/dist/components/panel/DiscreteScaleDial.d.ts +10 -0
  65. package/dist/components/panel/DiscreteScaleDial.d.ts.map +1 -0
  66. package/dist/components/panel/DiscreteScaleDial.js +14 -0
  67. package/dist/components/panel/DiscreteScaleDial.js.map +1 -0
  68. package/dist/components/panel/DraftProbeSummaryBanner.d.ts +2 -0
  69. package/dist/components/panel/DraftProbeSummaryBanner.d.ts.map +1 -0
  70. package/dist/components/panel/DraftProbeSummaryBanner.js +11 -0
  71. package/dist/components/panel/DraftProbeSummaryBanner.js.map +1 -0
  72. package/dist/components/panel/FeedbackActivityHeatmap.d.ts +2 -0
  73. package/dist/components/panel/FeedbackActivityHeatmap.d.ts.map +1 -0
  74. package/dist/components/panel/FeedbackActivityHeatmap.js +172 -0
  75. package/dist/components/panel/FeedbackActivityHeatmap.js.map +1 -0
  76. package/dist/components/panel/HexColorField.d.ts +9 -0
  77. package/dist/components/panel/HexColorField.d.ts.map +1 -0
  78. package/dist/components/panel/HexColorField.js +23 -0
  79. package/dist/components/panel/HexColorField.js.map +1 -0
  80. package/dist/components/panel/MarkerShapePicker.d.ts +10 -0
  81. package/dist/components/panel/MarkerShapePicker.d.ts.map +1 -0
  82. package/dist/components/panel/MarkerShapePicker.js +26 -0
  83. package/dist/components/panel/MarkerShapePicker.js.map +1 -0
  84. package/dist/components/panel/MarkerSizePreview.d.ts +13 -0
  85. package/dist/components/panel/MarkerSizePreview.d.ts.map +1 -0
  86. package/dist/components/panel/MarkerSizePreview.js +24 -0
  87. package/dist/components/panel/MarkerSizePreview.js.map +1 -0
  88. package/dist/components/panel/PanelDockGuides.d.ts +1 -1
  89. package/dist/components/panel/PanelDockGuides.d.ts.map +1 -1
  90. package/dist/components/panel/PanelDropdownMenu.d.ts +2 -2
  91. package/dist/components/panel/PanelDropdownMenu.d.ts.map +1 -1
  92. package/dist/components/panel/PanelDropdownMenu.js +26 -14
  93. package/dist/components/panel/PanelDropdownMenu.js.map +1 -1
  94. package/dist/components/panel/PanelGateShell.d.ts +20 -0
  95. package/dist/components/panel/PanelGateShell.d.ts.map +1 -0
  96. package/dist/components/panel/PanelGateShell.js +15 -0
  97. package/dist/components/panel/PanelGateShell.js.map +1 -0
  98. package/dist/components/panel/PanelKeyGate.d.ts +7 -0
  99. package/dist/components/panel/PanelKeyGate.d.ts.map +1 -0
  100. package/dist/components/panel/PanelKeyGate.js +40 -0
  101. package/dist/components/panel/PanelKeyGate.js.map +1 -0
  102. package/dist/components/panel/PanelMarkerDisplayControls.d.ts +17 -0
  103. package/dist/components/panel/PanelMarkerDisplayControls.d.ts.map +1 -0
  104. package/dist/components/panel/PanelMarkerDisplayControls.js +8 -0
  105. package/dist/components/panel/PanelMarkerDisplayControls.js.map +1 -0
  106. package/dist/components/panel/PanelOnboarding.d.ts +2 -0
  107. package/dist/components/panel/PanelOnboarding.d.ts.map +1 -0
  108. package/dist/components/panel/PanelOnboarding.js +141 -0
  109. package/dist/components/panel/PanelOnboarding.js.map +1 -0
  110. package/dist/components/panel/PanelOptionSwitch.d.ts +1 -1
  111. package/dist/components/panel/PanelOptionSwitch.d.ts.map +1 -1
  112. package/dist/components/panel/PanelPresentationSwitch.d.ts +2 -0
  113. package/dist/components/panel/PanelPresentationSwitch.d.ts.map +1 -0
  114. package/dist/components/panel/PanelPresentationSwitch.js +41 -0
  115. package/dist/components/panel/PanelPresentationSwitch.js.map +1 -0
  116. package/dist/components/panel/PanelProjectFooter.d.ts +2 -0
  117. package/dist/components/panel/PanelProjectFooter.d.ts.map +1 -0
  118. package/dist/components/panel/PanelProjectFooter.js +11 -0
  119. package/dist/components/panel/PanelProjectFooter.js.map +1 -0
  120. package/dist/components/panel/PanelRoleSwitch.d.ts +2 -0
  121. package/dist/components/panel/PanelRoleSwitch.d.ts.map +1 -0
  122. package/dist/components/panel/PanelRoleSwitch.js +21 -0
  123. package/dist/components/panel/PanelRoleSwitch.js.map +1 -0
  124. package/dist/components/panel/PanelSettings.d.ts +21 -0
  125. package/dist/components/panel/PanelSettings.d.ts.map +1 -0
  126. package/dist/components/panel/PanelSettings.js +104 -0
  127. package/dist/components/panel/PanelSettings.js.map +1 -0
  128. package/dist/components/panel/PanelTabSelector.d.ts +13 -0
  129. package/dist/components/panel/PanelTabSelector.d.ts.map +1 -0
  130. package/dist/components/panel/PanelTabSelector.js +44 -0
  131. package/dist/components/panel/PanelTabSelector.js.map +1 -0
  132. package/dist/components/panel/ProbeEditModeBanner.d.ts +2 -0
  133. package/dist/components/panel/ProbeEditModeBanner.d.ts.map +1 -0
  134. package/dist/components/panel/ProbeEditModeBanner.js +23 -0
  135. package/dist/components/panel/ProbeEditModeBanner.js.map +1 -0
  136. package/dist/components/panel/ReportAuthDiagnostics.d.ts +2 -0
  137. package/dist/components/panel/ReportAuthDiagnostics.d.ts.map +1 -0
  138. package/dist/components/panel/ReportAuthDiagnostics.js +68 -0
  139. package/dist/components/panel/ReportAuthDiagnostics.js.map +1 -0
  140. package/dist/components/panel/ReportCommandPanel.d.ts +1 -1
  141. package/dist/components/panel/ReportCommandPanel.d.ts.map +1 -1
  142. package/dist/components/panel/ReportCommandPanel.js +3 -3
  143. package/dist/components/panel/ReportCommandPanel.js.map +1 -1
  144. package/dist/components/panel/ReportCommandReplaceConfirmDialog.d.ts +2 -2
  145. package/dist/components/panel/ReportCommandReplaceConfirmDialog.d.ts.map +1 -1
  146. package/dist/components/panel/ReportCommandReplaceConfirmDialog.js +5 -3
  147. package/dist/components/panel/ReportCommandReplaceConfirmDialog.js.map +1 -1
  148. package/dist/components/panel/ReportControlPanel.d.ts +1 -1
  149. package/dist/components/panel/ReportControlPanel.d.ts.map +1 -1
  150. package/dist/components/panel/ReportControlPanel.js +112 -45
  151. package/dist/components/panel/ReportControlPanel.js.map +1 -1
  152. package/dist/components/panel/ReportDraftForm.d.ts +1 -1
  153. package/dist/components/panel/ReportDraftForm.d.ts.map +1 -1
  154. package/dist/components/panel/ReportDraftForm.js +63 -17
  155. package/dist/components/panel/ReportDraftForm.js.map +1 -1
  156. package/dist/components/panel/ReportFeedbackList.d.ts +1 -1
  157. package/dist/components/panel/ReportFeedbackList.d.ts.map +1 -1
  158. package/dist/components/panel/ReportFeedbackList.js +46 -105
  159. package/dist/components/panel/ReportFeedbackList.js.map +1 -1
  160. package/dist/components/panel/ReportImportConfirmDialog.d.ts +1 -1
  161. package/dist/components/panel/ReportImportConfirmDialog.d.ts.map +1 -1
  162. package/dist/components/panel/ReportImportConfirmDialog.js +4 -3
  163. package/dist/components/panel/ReportImportConfirmDialog.js.map +1 -1
  164. package/dist/components/panel/ReportImportProjectMismatchDialog.d.ts +2 -2
  165. package/dist/components/panel/ReportImportProjectMismatchDialog.d.ts.map +1 -1
  166. package/dist/components/panel/ReportImportProjectMismatchDialog.js +5 -4
  167. package/dist/components/panel/ReportImportProjectMismatchDialog.js.map +1 -1
  168. package/dist/components/panel/ReportOverview.d.ts +2 -0
  169. package/dist/components/panel/ReportOverview.d.ts.map +1 -0
  170. package/dist/components/panel/ReportOverview.js +6 -0
  171. package/dist/components/panel/ReportOverview.js.map +1 -0
  172. package/dist/components/panel/ReportPersonalKeyDialog.d.ts +1 -1
  173. package/dist/components/panel/ReportPersonalKeyDialog.d.ts.map +1 -1
  174. package/dist/components/panel/ReportPersonalKeyDialog.js +6 -5
  175. package/dist/components/panel/ReportPersonalKeyDialog.js.map +1 -1
  176. package/dist/components/panel/ReportRouteDetails.d.ts +1 -1
  177. package/dist/components/panel/ReportRouteDetails.d.ts.map +1 -1
  178. package/dist/components/panel/ReportRouteDetails.js +27 -13
  179. package/dist/components/panel/ReportRouteDetails.js.map +1 -1
  180. package/dist/components/panel/RouteDetailsTimeline.d.ts +13 -0
  181. package/dist/components/panel/RouteDetailsTimeline.d.ts.map +1 -0
  182. package/dist/components/panel/RouteDetailsTimeline.js +53 -0
  183. package/dist/components/panel/RouteDetailsTimeline.js.map +1 -0
  184. package/dist/components/panel/ThemePreviewSkeleton.d.ts +7 -0
  185. package/dist/components/panel/ThemePreviewSkeleton.d.ts.map +1 -0
  186. package/dist/components/panel/ThemePreviewSkeleton.js +25 -0
  187. package/dist/components/panel/ThemePreviewSkeleton.js.map +1 -0
  188. package/dist/components/panel/experimental/ExperimentalFeedbackRow.d.ts +8 -0
  189. package/dist/components/panel/experimental/ExperimentalFeedbackRow.d.ts.map +1 -0
  190. package/dist/components/panel/experimental/ExperimentalFeedbackRow.js +13 -0
  191. package/dist/components/panel/experimental/ExperimentalFeedbackRow.js.map +1 -0
  192. package/dist/components/panel/experimental/ExperimentalFilteredListPanel.d.ts +8 -0
  193. package/dist/components/panel/experimental/ExperimentalFilteredListPanel.d.ts.map +1 -0
  194. package/dist/components/panel/experimental/ExperimentalFilteredListPanel.js +19 -0
  195. package/dist/components/panel/experimental/ExperimentalFilteredListPanel.js.map +1 -0
  196. package/dist/components/panel/experimental/ReportMyTasksPanel.d.ts +2 -0
  197. package/dist/components/panel/experimental/ReportMyTasksPanel.d.ts.map +1 -0
  198. package/dist/components/panel/experimental/ReportMyTasksPanel.js +45 -0
  199. package/dist/components/panel/experimental/ReportMyTasksPanel.js.map +1 -0
  200. package/dist/components/panel/experimental/ReportNeedsAttentionPanel.d.ts +2 -0
  201. package/dist/components/panel/experimental/ReportNeedsAttentionPanel.d.ts.map +1 -0
  202. package/dist/components/panel/experimental/ReportNeedsAttentionPanel.js +11 -0
  203. package/dist/components/panel/experimental/ReportNeedsAttentionPanel.js.map +1 -0
  204. package/dist/components/panel/experimental/ReportPageBriefPanel.d.ts +2 -0
  205. package/dist/components/panel/experimental/ReportPageBriefPanel.d.ts.map +1 -0
  206. package/dist/components/panel/experimental/ReportPageBriefPanel.js +17 -0
  207. package/dist/components/panel/experimental/ReportPageBriefPanel.js.map +1 -0
  208. package/dist/components/panel/experimental/ReportProjectHealthPanel.d.ts +2 -0
  209. package/dist/components/panel/experimental/ReportProjectHealthPanel.d.ts.map +1 -0
  210. package/dist/components/panel/experimental/ReportProjectHealthPanel.js +23 -0
  211. package/dist/components/panel/experimental/ReportProjectHealthPanel.js.map +1 -0
  212. package/dist/components/panel/experimental/ReportTodayDigestPanel.d.ts +2 -0
  213. package/dist/components/panel/experimental/ReportTodayDigestPanel.d.ts.map +1 -0
  214. package/dist/components/panel/experimental/ReportTodayDigestPanel.js +11 -0
  215. package/dist/components/panel/experimental/ReportTodayDigestPanel.js.map +1 -0
  216. package/dist/components/panel/feedback/AssigneeThreadEntry.d.ts +20 -0
  217. package/dist/components/panel/feedback/AssigneeThreadEntry.d.ts.map +1 -0
  218. package/dist/components/panel/feedback/AssigneeThreadEntry.js +23 -0
  219. package/dist/components/panel/feedback/AssigneeThreadEntry.js.map +1 -0
  220. package/dist/components/panel/feedback/AuthorSelector.d.ts +1 -1
  221. package/dist/components/panel/feedback/AuthorSelector.d.ts.map +1 -1
  222. package/dist/components/panel/feedback/AuthorSelector.js +2 -2
  223. package/dist/components/panel/feedback/AuthorSelector.js.map +1 -1
  224. package/dist/components/panel/feedback/CaseAssigneeInfo.d.ts +8 -0
  225. package/dist/components/panel/feedback/CaseAssigneeInfo.d.ts.map +1 -0
  226. package/dist/components/panel/feedback/CaseAssigneeInfo.js +20 -0
  227. package/dist/components/panel/feedback/CaseAssigneeInfo.js.map +1 -0
  228. package/dist/components/panel/feedback/ComposerFooterWarning.d.ts +6 -0
  229. package/dist/components/panel/feedback/ComposerFooterWarning.d.ts.map +1 -0
  230. package/dist/components/panel/feedback/ComposerFooterWarning.js +6 -0
  231. package/dist/components/panel/feedback/ComposerFooterWarning.js.map +1 -0
  232. package/dist/components/panel/feedback/FeedbackCaseEditor.d.ts +15 -0
  233. package/dist/components/panel/feedback/FeedbackCaseEditor.d.ts.map +1 -0
  234. package/dist/components/panel/feedback/FeedbackCaseEditor.js +111 -0
  235. package/dist/components/panel/feedback/FeedbackCaseEditor.js.map +1 -0
  236. package/dist/components/panel/feedback/FeedbackCaseList.d.ts +21 -0
  237. package/dist/components/panel/feedback/FeedbackCaseList.d.ts.map +1 -0
  238. package/dist/components/panel/feedback/FeedbackCaseList.js +48 -0
  239. package/dist/components/panel/feedback/FeedbackCaseList.js.map +1 -0
  240. package/dist/components/panel/feedback/FeedbackCaseTabBar.d.ts +34 -0
  241. package/dist/components/panel/feedback/FeedbackCaseTabBar.d.ts.map +1 -0
  242. package/dist/components/panel/feedback/FeedbackCaseTabBar.js +37 -0
  243. package/dist/components/panel/feedback/FeedbackCaseTabBar.js.map +1 -0
  244. package/dist/components/panel/feedback/FeedbackCategorySelector.d.ts +12 -0
  245. package/dist/components/panel/feedback/FeedbackCategorySelector.d.ts.map +1 -0
  246. package/dist/components/panel/feedback/FeedbackCategorySelector.js +25 -0
  247. package/dist/components/panel/feedback/FeedbackCategorySelector.js.map +1 -0
  248. package/dist/components/panel/feedback/FeedbackComposer.d.ts +24 -4
  249. package/dist/components/panel/feedback/FeedbackComposer.d.ts.map +1 -1
  250. package/dist/components/panel/feedback/FeedbackComposer.js +80 -17
  251. package/dist/components/panel/feedback/FeedbackComposer.js.map +1 -1
  252. package/dist/components/panel/feedback/FeedbackCreatorBadge.d.ts +1 -1
  253. package/dist/components/panel/feedback/FeedbackCreatorBadge.d.ts.map +1 -1
  254. package/dist/components/panel/feedback/FeedbackCreatorBadge.js +2 -2
  255. package/dist/components/panel/feedback/FeedbackCreatorBadge.js.map +1 -1
  256. package/dist/components/panel/feedback/FeedbackFieldTags.d.ts +1 -1
  257. package/dist/components/panel/feedback/FeedbackFieldTags.d.ts.map +1 -1
  258. package/dist/components/panel/feedback/FeedbackHoverCard.d.ts +1 -5
  259. package/dist/components/panel/feedback/FeedbackHoverCard.d.ts.map +1 -1
  260. package/dist/components/panel/feedback/FeedbackHoverCard.js +22 -15
  261. package/dist/components/panel/feedback/FeedbackHoverCard.js.map +1 -1
  262. package/dist/components/panel/feedback/FeedbackListItem.d.ts +17 -0
  263. package/dist/components/panel/feedback/FeedbackListItem.d.ts.map +1 -0
  264. package/dist/components/panel/feedback/FeedbackListItem.js +70 -0
  265. package/dist/components/panel/feedback/FeedbackListItem.js.map +1 -0
  266. package/dist/components/panel/feedback/FeedbackPinToggleButton.d.ts +10 -0
  267. package/dist/components/panel/feedback/FeedbackPinToggleButton.d.ts.map +1 -0
  268. package/dist/components/panel/feedback/FeedbackPinToggleButton.js +25 -0
  269. package/dist/components/panel/feedback/FeedbackPinToggleButton.js.map +1 -0
  270. package/dist/components/panel/feedback/FeedbackStatusBadge.d.ts +2 -1
  271. package/dist/components/panel/feedback/FeedbackStatusBadge.d.ts.map +1 -1
  272. package/dist/components/panel/feedback/FeedbackStatusBadge.js +4 -4
  273. package/dist/components/panel/feedback/FeedbackStatusBadge.js.map +1 -1
  274. package/dist/components/panel/feedback/FeedbackThread.d.ts +9 -3
  275. package/dist/components/panel/feedback/FeedbackThread.d.ts.map +1 -1
  276. package/dist/components/panel/feedback/FeedbackThread.js +114 -48
  277. package/dist/components/panel/feedback/FeedbackThread.js.map +1 -1
  278. package/dist/components/panel/feedback/GitIssueButton.d.ts +1 -1
  279. package/dist/components/panel/feedback/GitIssueButton.d.ts.map +1 -1
  280. package/dist/components/panel/feedback/GitIssueButton.js +1 -1
  281. package/dist/components/panel/feedback/GitIssueButton.js.map +1 -1
  282. package/dist/components/panel/feedback/GitIssuedThreadEntry.d.ts +1 -1
  283. package/dist/components/panel/feedback/GitIssuedThreadEntry.d.ts.map +1 -1
  284. package/dist/components/panel/feedback/GitIssuedThreadEntry.js +4 -4
  285. package/dist/components/panel/feedback/GitIssuedThreadEntry.js.map +1 -1
  286. package/dist/components/panel/feedback/PickTargetSnippet.d.ts +7 -0
  287. package/dist/components/panel/feedback/PickTargetSnippet.d.ts.map +1 -0
  288. package/dist/components/panel/feedback/PickTargetSnippet.js +31 -0
  289. package/dist/components/panel/feedback/PickTargetSnippet.js.map +1 -0
  290. package/dist/components/panel/feedback/QuestionThreadGroup.d.ts +9 -0
  291. package/dist/components/panel/feedback/QuestionThreadGroup.d.ts.map +1 -0
  292. package/dist/components/panel/feedback/QuestionThreadGroup.js +30 -0
  293. package/dist/components/panel/feedback/QuestionThreadGroup.js.map +1 -0
  294. package/dist/components/panel/feedback/ReplyHistoryControls.d.ts +8 -0
  295. package/dist/components/panel/feedback/ReplyHistoryControls.d.ts.map +1 -0
  296. package/dist/components/panel/feedback/ReplyHistoryControls.js +27 -0
  297. package/dist/components/panel/feedback/ReplyHistoryControls.js.map +1 -0
  298. package/dist/components/panel/feedback/ThreadAuthorMeta.d.ts +10 -0
  299. package/dist/components/panel/feedback/ThreadAuthorMeta.d.ts.map +1 -0
  300. package/dist/components/panel/feedback/ThreadAuthorMeta.js +9 -0
  301. package/dist/components/panel/feedback/ThreadAuthorMeta.js.map +1 -0
  302. package/dist/components/panel/feedback/ThreadChildReply.d.ts +8 -0
  303. package/dist/components/panel/feedback/ThreadChildReply.d.ts.map +1 -0
  304. package/dist/components/panel/feedback/ThreadChildReply.js +7 -0
  305. package/dist/components/panel/feedback/ThreadChildReply.js.map +1 -0
  306. package/dist/components/panel/feedback/ThreadEntryActions.d.ts +37 -0
  307. package/dist/components/panel/feedback/ThreadEntryActions.d.ts.map +1 -0
  308. package/dist/components/panel/feedback/ThreadEntryActions.js +57 -0
  309. package/dist/components/panel/feedback/ThreadEntryActions.js.map +1 -0
  310. package/dist/components/panel/feedback/ThreadTimelineRow.d.ts +11 -0
  311. package/dist/components/panel/feedback/ThreadTimelineRow.d.ts.map +1 -0
  312. package/dist/components/panel/feedback/ThreadTimelineRow.js +7 -0
  313. package/dist/components/panel/feedback/ThreadTimelineRow.js.map +1 -0
  314. package/dist/components/point/MarkerCaseSidebar.d.ts +9 -0
  315. package/dist/components/point/MarkerCaseSidebar.d.ts.map +1 -0
  316. package/dist/components/point/MarkerCaseSidebar.js +27 -0
  317. package/dist/components/point/MarkerCaseSidebar.js.map +1 -0
  318. package/dist/components/point/MarkerFeedbackWindow.d.ts +9 -0
  319. package/dist/components/point/MarkerFeedbackWindow.d.ts.map +1 -0
  320. package/dist/components/point/MarkerFeedbackWindow.js +260 -0
  321. package/dist/components/point/MarkerFeedbackWindow.js.map +1 -0
  322. package/dist/components/point/ReportDraftMarker.d.ts +1 -1
  323. package/dist/components/point/ReportDraftMarker.d.ts.map +1 -1
  324. package/dist/components/point/ReportDraftMarker.js +11 -20
  325. package/dist/components/point/ReportDraftMarker.js.map +1 -1
  326. package/dist/components/point/ReportMarkersLayer.d.ts +1 -1
  327. package/dist/components/point/ReportMarkersLayer.d.ts.map +1 -1
  328. package/dist/components/point/ReportMarkersLayer.js +80 -102
  329. package/dist/components/point/ReportMarkersLayer.js.map +1 -1
  330. package/dist/components/report/FivePixels.d.ts +3 -50
  331. package/dist/components/report/FivePixels.d.ts.map +1 -1
  332. package/dist/components/report/FivePixels.js +5 -5
  333. package/dist/components/report/FivePixels.js.map +1 -1
  334. package/dist/components/report/ReportView.d.ts +1 -1
  335. package/dist/components/report/ReportView.d.ts.map +1 -1
  336. package/dist/components/report/ReportView.js +17 -5
  337. package/dist/components/report/ReportView.js.map +1 -1
  338. package/dist/components/report/ShadowReportRoot.d.ts +2 -2
  339. package/dist/components/report/ShadowReportRoot.d.ts.map +1 -1
  340. package/dist/components/report/ShadowReportRoot.js +4 -7
  341. package/dist/components/report/ShadowReportRoot.js.map +1 -1
  342. package/dist/components/report/ThemeScope.d.ts +10 -0
  343. package/dist/components/report/ThemeScope.d.ts.map +1 -0
  344. package/dist/components/report/ThemeScope.js +5 -0
  345. package/dist/components/report/ThemeScope.js.map +1 -0
  346. package/dist/components/report/index.d.ts +11 -7
  347. package/dist/components/report/index.d.ts.map +1 -1
  348. package/dist/components/report/index.js +8 -4
  349. package/dist/components/report/index.js.map +1 -1
  350. package/dist/components/ui/CornerResizeGhost.d.ts +8 -0
  351. package/dist/components/ui/CornerResizeGhost.d.ts.map +1 -0
  352. package/dist/components/ui/CornerResizeGhost.js +6 -0
  353. package/dist/components/ui/CornerResizeGhost.js.map +1 -0
  354. package/dist/components/ui/CornerResizeHandle.d.ts +11 -0
  355. package/dist/components/ui/CornerResizeHandle.d.ts.map +1 -0
  356. package/dist/components/ui/CornerResizeHandle.js +32 -0
  357. package/dist/components/ui/CornerResizeHandle.js.map +1 -0
  358. package/dist/components/ui/HoverTooltip.d.ts +4 -2
  359. package/dist/components/ui/HoverTooltip.d.ts.map +1 -1
  360. package/dist/components/ui/HoverTooltip.js +32 -20
  361. package/dist/components/ui/HoverTooltip.js.map +1 -1
  362. package/dist/components/ui/IconTooltipButton.d.ts +1 -1
  363. package/dist/components/ui/IconTooltipButton.d.ts.map +1 -1
  364. package/dist/components/ui/IconTooltipButton.js +5 -2
  365. package/dist/components/ui/IconTooltipButton.js.map +1 -1
  366. package/dist/components/ui/PointerFollowTooltip.d.ts +14 -0
  367. package/dist/components/ui/PointerFollowTooltip.d.ts.map +1 -0
  368. package/dist/components/ui/PointerFollowTooltip.js +59 -0
  369. package/dist/components/ui/PointerFollowTooltip.js.map +1 -0
  370. package/dist/components/ui/ProcessingDots.d.ts +6 -0
  371. package/dist/components/ui/ProcessingDots.d.ts.map +1 -0
  372. package/dist/components/ui/ProcessingDots.js +19 -0
  373. package/dist/components/ui/ProcessingDots.js.map +1 -0
  374. package/dist/components/ui/Text/index.d.ts +6 -0
  375. package/dist/components/ui/Text/index.d.ts.map +1 -0
  376. package/dist/components/ui/Text/index.js +5 -0
  377. package/dist/components/ui/Text/index.js.map +1 -0
  378. package/dist/components/ui/Text/ui/Shimmer.d.ts +14 -0
  379. package/dist/components/ui/Text/ui/Shimmer.d.ts.map +1 -0
  380. package/dist/components/ui/Text/ui/Shimmer.js +41 -0
  381. package/dist/components/ui/Text/ui/Shimmer.js.map +1 -0
  382. package/dist/constants/appearance.d.ts +10 -0
  383. package/dist/constants/appearance.d.ts.map +1 -0
  384. package/dist/constants/appearance.js +10 -0
  385. package/dist/constants/appearance.js.map +1 -0
  386. package/dist/constants/feedbackCategory.d.ts +5 -0
  387. package/dist/constants/feedbackCategory.d.ts.map +1 -0
  388. package/dist/constants/feedbackCategory.js +5 -0
  389. package/dist/constants/feedbackCategory.js.map +1 -0
  390. package/dist/constants/feedbackStatus.d.ts +1 -1
  391. package/dist/constants/feedbackStatus.d.ts.map +1 -1
  392. package/dist/constants/feedbackStatus.js +20 -8
  393. package/dist/constants/feedbackStatus.js.map +1 -1
  394. package/dist/constants/feedbackStorageEvents.d.ts +3 -0
  395. package/dist/constants/feedbackStorageEvents.d.ts.map +1 -0
  396. package/dist/constants/feedbackStorageEvents.js +8 -0
  397. package/dist/constants/feedbackStorageEvents.js.map +1 -0
  398. package/dist/constants/markerAppearance.d.ts +41 -0
  399. package/dist/constants/markerAppearance.d.ts.map +1 -0
  400. package/dist/constants/markerAppearance.js +62 -0
  401. package/dist/constants/markerAppearance.js.map +1 -0
  402. package/dist/constants/motionClasses.d.ts +52 -0
  403. package/dist/constants/motionClasses.d.ts.map +1 -0
  404. package/dist/constants/motionClasses.js +69 -0
  405. package/dist/constants/motionClasses.js.map +1 -0
  406. package/dist/constants/panelRole.d.ts +5 -0
  407. package/dist/constants/panelRole.d.ts.map +1 -0
  408. package/dist/constants/panelRole.js +6 -0
  409. package/dist/constants/panelRole.js.map +1 -0
  410. package/dist/constants/panelTabPresets.d.ts +14 -0
  411. package/dist/constants/panelTabPresets.d.ts.map +1 -0
  412. package/dist/constants/panelTabPresets.js +48 -0
  413. package/dist/constants/panelTabPresets.js.map +1 -0
  414. package/dist/constants/panelTabRegistry.d.ts +35 -0
  415. package/dist/constants/panelTabRegistry.d.ts.map +1 -0
  416. package/dist/constants/panelTabRegistry.js +107 -0
  417. package/dist/constants/panelTabRegistry.js.map +1 -0
  418. package/dist/constants/replyHistory.d.ts +8 -0
  419. package/dist/constants/replyHistory.d.ts.map +1 -0
  420. package/dist/constants/replyHistory.js +15 -0
  421. package/dist/constants/replyHistory.js.map +1 -0
  422. package/dist/constants/report.d.ts +5 -0
  423. package/dist/constants/report.d.ts.map +1 -1
  424. package/dist/constants/report.js +5 -0
  425. package/dist/constants/report.js.map +1 -1
  426. package/dist/constants/storageKeys.d.ts +2 -0
  427. package/dist/constants/storageKeys.d.ts.map +1 -1
  428. package/dist/constants/storageKeys.js +4 -0
  429. package/dist/constants/storageKeys.js.map +1 -1
  430. package/dist/hooks/replyHistoryActions.d.ts +30 -0
  431. package/dist/hooks/replyHistoryActions.d.ts.map +1 -0
  432. package/dist/hooks/replyHistoryActions.js +278 -0
  433. package/dist/hooks/replyHistoryActions.js.map +1 -0
  434. package/dist/hooks/report/assembleReportContextValue.d.ts +316 -0
  435. package/dist/hooks/report/assembleReportContextValue.d.ts.map +1 -0
  436. package/dist/hooks/report/assembleReportContextValue.js +241 -0
  437. package/dist/hooks/report/assembleReportContextValue.js.map +1 -0
  438. package/dist/hooks/report/usePickProbeSessionHistory.d.ts +18 -0
  439. package/dist/hooks/report/usePickProbeSessionHistory.d.ts.map +1 -0
  440. package/dist/hooks/report/usePickProbeSessionHistory.js +93 -0
  441. package/dist/hooks/report/usePickProbeSessionHistory.js.map +1 -0
  442. package/dist/hooks/report/useReplyCaseEdit.d.ts +27 -0
  443. package/dist/hooks/report/useReplyCaseEdit.d.ts.map +1 -0
  444. package/dist/hooks/report/useReplyCaseEdit.js +91 -0
  445. package/dist/hooks/report/useReplyCaseEdit.js.map +1 -0
  446. package/dist/hooks/report/useReportAuthSession.d.ts +107 -0
  447. package/dist/hooks/report/useReportAuthSession.d.ts.map +1 -0
  448. package/dist/hooks/report/useReportAuthSession.js +240 -0
  449. package/dist/hooks/report/useReportAuthSession.js.map +1 -0
  450. package/dist/hooks/report/useReportDraftSession.d.ts +88 -0
  451. package/dist/hooks/report/useReportDraftSession.d.ts.map +1 -0
  452. package/dist/hooks/report/useReportDraftSession.js +416 -0
  453. package/dist/hooks/report/useReportDraftSession.js.map +1 -0
  454. package/dist/hooks/report/useReportMarkers.d.ts +61 -0
  455. package/dist/hooks/report/useReportMarkers.d.ts.map +1 -0
  456. package/dist/hooks/report/useReportMarkers.js +371 -0
  457. package/dist/hooks/report/useReportMarkers.js.map +1 -0
  458. package/dist/hooks/report/useReportMutations.d.ts +46 -0
  459. package/dist/hooks/report/useReportMutations.d.ts.map +1 -0
  460. package/dist/hooks/report/useReportMutations.js +177 -0
  461. package/dist/hooks/report/useReportMutations.js.map +1 -0
  462. package/dist/hooks/report/useReportPanelShell.d.ts +146 -0
  463. package/dist/hooks/report/useReportPanelShell.d.ts.map +1 -0
  464. package/dist/hooks/report/useReportPanelShell.js +340 -0
  465. package/dist/hooks/report/useReportPanelShell.js.map +1 -0
  466. package/dist/hooks/report/useReportPickProbe.d.ts +51 -0
  467. package/dist/hooks/report/useReportPickProbe.d.ts.map +1 -0
  468. package/dist/hooks/report/useReportPickProbe.js +400 -0
  469. package/dist/hooks/report/useReportPickProbe.js.map +1 -0
  470. package/dist/hooks/report/useReportReplyReview.d.ts +71 -0
  471. package/dist/hooks/report/useReportReplyReview.d.ts.map +1 -0
  472. package/dist/hooks/report/useReportReplyReview.js +437 -0
  473. package/dist/hooks/report/useReportReplyReview.js.map +1 -0
  474. package/dist/hooks/report/useReportState.d.ts +328 -0
  475. package/dist/hooks/report/useReportState.d.ts.map +1 -0
  476. package/dist/hooks/report/useReportState.js +255 -0
  477. package/dist/hooks/report/useReportState.js.map +1 -0
  478. package/dist/hooks/report.api.d.ts +3 -1
  479. package/dist/hooks/report.api.d.ts.map +1 -1
  480. package/dist/hooks/report.api.js +27 -4
  481. package/dist/hooks/report.api.js.map +1 -1
  482. package/dist/hooks/report.query.d.ts +1 -1
  483. package/dist/hooks/report.query.d.ts.map +1 -1
  484. package/dist/hooks/report.query.js +3 -2
  485. package/dist/hooks/report.query.js.map +1 -1
  486. package/dist/hooks/useActivitySummary.d.ts +13 -0
  487. package/dist/hooks/useActivitySummary.d.ts.map +1 -0
  488. package/dist/hooks/useActivitySummary.js +41 -0
  489. package/dist/hooks/useActivitySummary.js.map +1 -0
  490. package/dist/hooks/useAppearancePreference.d.ts +1 -1
  491. package/dist/hooks/useAppearancePreference.d.ts.map +1 -1
  492. package/dist/hooks/useAppearancePreference.js +14 -11
  493. package/dist/hooks/useAppearancePreference.js.map +1 -1
  494. package/dist/hooks/useCurrentPathname.js +2 -2
  495. package/dist/hooks/useCurrentPathname.js.map +1 -1
  496. package/dist/hooks/useDraggableWindow.d.ts +17 -0
  497. package/dist/hooks/useDraggableWindow.d.ts.map +1 -0
  498. package/dist/hooks/useDraggableWindow.js +104 -0
  499. package/dist/hooks/useDraggableWindow.js.map +1 -0
  500. package/dist/hooks/useGhostCornerResize.d.ts +36 -0
  501. package/dist/hooks/useGhostCornerResize.d.ts.map +1 -0
  502. package/dist/hooks/useGhostCornerResize.js +161 -0
  503. package/dist/hooks/useGhostCornerResize.js.map +1 -0
  504. package/dist/hooks/useMarkerAppearancePreference.d.ts +12 -0
  505. package/dist/hooks/useMarkerAppearancePreference.d.ts.map +1 -0
  506. package/dist/hooks/useMarkerAppearancePreference.js +122 -0
  507. package/dist/hooks/useMarkerAppearancePreference.js.map +1 -0
  508. package/dist/hooks/useMarkerTargetPreviewPreference.d.ts +6 -0
  509. package/dist/hooks/useMarkerTargetPreviewPreference.d.ts.map +1 -0
  510. package/dist/hooks/useMarkerTargetPreviewPreference.js +41 -0
  511. package/dist/hooks/useMarkerTargetPreviewPreference.js.map +1 -0
  512. package/dist/hooks/usePanelBootstrap.d.ts +16 -0
  513. package/dist/hooks/usePanelBootstrap.d.ts.map +1 -0
  514. package/dist/hooks/usePanelBootstrap.js +46 -0
  515. package/dist/hooks/usePanelBootstrap.js.map +1 -0
  516. package/dist/hooks/usePanelDock.d.ts +0 -2
  517. package/dist/hooks/usePanelDock.d.ts.map +1 -1
  518. package/dist/hooks/usePanelDock.js +40 -31
  519. package/dist/hooks/usePanelDock.js.map +1 -1
  520. package/dist/hooks/usePanelFeedbackTransfer.d.ts +4 -4
  521. package/dist/hooks/usePanelFeedbackTransfer.d.ts.map +1 -1
  522. package/dist/hooks/usePanelFeedbackTransfer.js +14 -14
  523. package/dist/hooks/usePanelFeedbackTransfer.js.map +1 -1
  524. package/dist/hooks/usePanelResize.d.ts +36 -0
  525. package/dist/hooks/usePanelResize.d.ts.map +1 -0
  526. package/dist/hooks/usePanelResize.js +219 -0
  527. package/dist/hooks/usePanelResize.js.map +1 -0
  528. package/dist/hooks/usePanelRolePreference.d.ts +6 -0
  529. package/dist/hooks/usePanelRolePreference.d.ts.map +1 -0
  530. package/dist/hooks/usePanelRolePreference.js +38 -0
  531. package/dist/hooks/usePanelRolePreference.js.map +1 -0
  532. package/dist/hooks/usePanelTabPreference.d.ts +13 -0
  533. package/dist/hooks/usePanelTabPreference.d.ts.map +1 -0
  534. package/dist/hooks/usePanelTabPreference.js +66 -0
  535. package/dist/hooks/usePanelTabPreference.js.map +1 -0
  536. package/dist/hooks/usePersonalKey.d.ts +18 -2
  537. package/dist/hooks/usePersonalKey.d.ts.map +1 -1
  538. package/dist/hooks/usePersonalKey.js +43 -16
  539. package/dist/hooks/usePersonalKey.js.map +1 -1
  540. package/dist/hooks/usePinnedFeedbackPreference.d.ts +11 -0
  541. package/dist/hooks/usePinnedFeedbackPreference.d.ts.map +1 -0
  542. package/dist/hooks/usePinnedFeedbackPreference.js +109 -0
  543. package/dist/hooks/usePinnedFeedbackPreference.js.map +1 -0
  544. package/dist/hooks/useQuestionThreadPreference.d.ts +6 -0
  545. package/dist/hooks/useQuestionThreadPreference.d.ts.map +1 -0
  546. package/dist/hooks/useQuestionThreadPreference.js +40 -0
  547. package/dist/hooks/useQuestionThreadPreference.js.map +1 -0
  548. package/dist/hooks/useReportPersistence.d.ts +27 -16
  549. package/dist/hooks/useReportPersistence.d.ts.map +1 -1
  550. package/dist/hooks/useReportPersistence.js +151 -65
  551. package/dist/hooks/useReportPersistence.js.map +1 -1
  552. package/dist/hooks/useReportShortcuts.d.ts +2 -2
  553. package/dist/hooks/useReportShortcuts.d.ts.map +1 -1
  554. package/dist/hooks/useReportShortcuts.js +9 -2
  555. package/dist/hooks/useReportShortcuts.js.map +1 -1
  556. package/dist/hooks/useSelfProfile.d.ts +12 -0
  557. package/dist/hooks/useSelfProfile.d.ts.map +1 -0
  558. package/dist/hooks/useSelfProfile.js +65 -0
  559. package/dist/hooks/useSelfProfile.js.map +1 -0
  560. package/dist/hooks/useTooltipLayout.d.ts +6 -2
  561. package/dist/hooks/useTooltipLayout.d.ts.map +1 -1
  562. package/dist/hooks/useTooltipLayout.js +10 -5
  563. package/dist/hooks/useTooltipLayout.js.map +1 -1
  564. package/dist/hooks/useTooltipResize.d.ts +16 -0
  565. package/dist/hooks/useTooltipResize.d.ts.map +1 -0
  566. package/dist/hooks/useTooltipResize.js +27 -0
  567. package/dist/hooks/useTooltipResize.js.map +1 -0
  568. package/dist/hooks/useTypographyPreference.d.ts +8 -0
  569. package/dist/hooks/useTypographyPreference.d.ts.map +1 -0
  570. package/dist/hooks/useTypographyPreference.js +59 -0
  571. package/dist/hooks/useTypographyPreference.js.map +1 -0
  572. package/dist/i18n/en.d.ts.map +1 -1
  573. package/dist/i18n/en.js +441 -14
  574. package/dist/i18n/en.js.map +1 -1
  575. package/dist/i18n/ko.d.ts.map +1 -1
  576. package/dist/i18n/ko.js +442 -15
  577. package/dist/i18n/ko.js.map +1 -1
  578. package/dist/i18n/types.d.ts +421 -10
  579. package/dist/i18n/types.d.ts.map +1 -1
  580. package/dist/index.d.ts +0 -2
  581. package/dist/index.d.ts.map +1 -1
  582. package/dist/index.js +0 -1
  583. package/dist/index.js.map +1 -1
  584. package/dist/providers/ReportProvider.d.ts +3 -52
  585. package/dist/providers/ReportProvider.d.ts.map +1 -1
  586. package/dist/providers/ReportProvider.js +25 -16
  587. package/dist/providers/ReportProvider.js.map +1 -1
  588. package/dist/providers/reportContext.d.ts +1271 -125
  589. package/dist/providers/reportContext.d.ts.map +1 -1
  590. package/dist/providers/reportContext.js +43 -7
  591. package/dist/providers/reportContext.js.map +1 -1
  592. package/dist/providers/reportContextPartitions.d.ts +5 -0
  593. package/dist/providers/reportContextPartitions.d.ts.map +1 -0
  594. package/dist/providers/reportContextPartitions.js +246 -0
  595. package/dist/providers/reportContextPartitions.js.map +1 -0
  596. package/dist/storage/local/localStorageAdapter.d.ts +0 -2
  597. package/dist/storage/local/localStorageAdapter.d.ts.map +1 -1
  598. package/dist/storage/local/localStorageAdapter.js +81 -13
  599. package/dist/storage/local/localStorageAdapter.js.map +1 -1
  600. package/dist/styles/reportStylesheet.d.ts +1 -1
  601. package/dist/styles/reportStylesheet.d.ts.map +1 -1
  602. package/dist/styles/reportStylesheet.js +1 -1
  603. package/dist/styles/reportStylesheet.js.map +1 -1
  604. package/dist/types/pinnedFeedback.d.ts +20 -0
  605. package/dist/types/pinnedFeedback.d.ts.map +1 -0
  606. package/dist/types/pinnedFeedback.js +2 -0
  607. package/dist/types/pinnedFeedback.js.map +1 -0
  608. package/dist/types/publicApi.d.ts +27 -0
  609. package/dist/types/publicApi.d.ts.map +1 -0
  610. package/dist/types/publicApi.js +2 -0
  611. package/dist/types/publicApi.js.map +1 -0
  612. package/dist/types/report-ui.d.ts +88 -6
  613. package/dist/types/report-ui.d.ts.map +1 -1
  614. package/dist/types/report.d.ts +153 -22
  615. package/dist/types/report.d.ts.map +1 -1
  616. package/dist/types/report.js.map +1 -1
  617. package/dist/utils/{personalKey.d.ts → auth/personalKey.d.ts} +8 -2
  618. package/dist/utils/auth/personalKey.d.ts.map +1 -0
  619. package/dist/utils/{personalKey.js → auth/personalKey.js} +51 -3
  620. package/dist/utils/auth/personalKey.js.map +1 -0
  621. package/dist/utils/feedback/feedbackCaseId.d.ts +7 -0
  622. package/dist/utils/feedback/feedbackCaseId.d.ts.map +1 -0
  623. package/dist/utils/feedback/feedbackCaseId.js +44 -0
  624. package/dist/utils/feedback/feedbackCaseId.js.map +1 -0
  625. package/dist/utils/{feedbackDataTransfer.d.ts → feedback/feedbackDataTransfer.d.ts} +5 -1
  626. package/dist/utils/feedback/feedbackDataTransfer.d.ts.map +1 -0
  627. package/dist/utils/{feedbackDataTransfer.js → feedback/feedbackDataTransfer.js} +73 -3
  628. package/dist/utils/feedback/feedbackDataTransfer.js.map +1 -0
  629. package/dist/utils/feedback/feedbackDeepLink.d.ts +11 -0
  630. package/dist/utils/feedback/feedbackDeepLink.d.ts.map +1 -0
  631. package/dist/utils/feedback/feedbackDeepLink.js +35 -0
  632. package/dist/utils/feedback/feedbackDeepLink.js.map +1 -0
  633. package/dist/utils/feedback/feedbackListStatus.d.ts +4 -0
  634. package/dist/utils/feedback/feedbackListStatus.d.ts.map +1 -0
  635. package/dist/utils/feedback/feedbackListStatus.js +19 -0
  636. package/dist/utils/feedback/feedbackListStatus.js.map +1 -0
  637. package/dist/utils/feedback/feedbackThread.d.ts +71 -0
  638. package/dist/utils/feedback/feedbackThread.d.ts.map +1 -0
  639. package/dist/utils/feedback/feedbackThread.js +368 -0
  640. package/dist/utils/feedback/feedbackThread.js.map +1 -0
  641. package/dist/utils/{feedbackTransferSchema.d.ts → feedback/feedbackTransferSchema.d.ts} +2 -2
  642. package/dist/utils/feedback/feedbackTransferSchema.d.ts.map +1 -0
  643. package/dist/utils/{feedbackTransferSchema.js → feedback/feedbackTransferSchema.js} +1 -1
  644. package/dist/utils/feedback/feedbackTransferSchema.js.map +1 -0
  645. package/dist/utils/feedback/replyHistory.d.ts +20 -0
  646. package/dist/utils/feedback/replyHistory.d.ts.map +1 -0
  647. package/dist/utils/feedback/replyHistory.js +82 -0
  648. package/dist/utils/feedback/replyHistory.js.map +1 -0
  649. package/dist/utils/feedback/validateFeedbackImport.d.ts +5 -0
  650. package/dist/utils/feedback/validateFeedbackImport.d.ts.map +1 -0
  651. package/dist/utils/{validateFeedbackImport.js → feedback/validateFeedbackImport.js} +115 -46
  652. package/dist/utils/feedback/validateFeedbackImport.js.map +1 -0
  653. package/dist/utils/{githubIntegration.d.ts → github/githubIntegration.d.ts} +2 -1
  654. package/dist/utils/github/githubIntegration.d.ts.map +1 -0
  655. package/dist/utils/{githubIntegration.js → github/githubIntegration.js} +9 -3
  656. package/dist/utils/github/githubIntegration.js.map +1 -0
  657. package/dist/utils/{coordinates.d.ts → marker/coordinates.d.ts} +18 -3
  658. package/dist/utils/marker/coordinates.d.ts.map +1 -0
  659. package/dist/utils/{coordinates.js → marker/coordinates.js} +86 -51
  660. package/dist/utils/marker/coordinates.js.map +1 -0
  661. package/dist/utils/marker/hoverTooltipLayout.d.ts.map +1 -0
  662. package/dist/utils/marker/hoverTooltipLayout.js.map +1 -0
  663. package/dist/utils/{locateFeedback.d.ts → marker/locateFeedback.d.ts} +5 -5
  664. package/dist/utils/marker/locateFeedback.d.ts.map +1 -0
  665. package/dist/utils/{locateFeedback.js → marker/locateFeedback.js} +14 -5
  666. package/dist/utils/marker/locateFeedback.js.map +1 -0
  667. package/dist/utils/{markerContext.d.ts → marker/markerContext.d.ts} +5 -5
  668. package/dist/utils/marker/markerContext.d.ts.map +1 -0
  669. package/dist/utils/{markerContext.js → marker/markerContext.js} +9 -6
  670. package/dist/utils/marker/markerContext.js.map +1 -0
  671. package/dist/utils/marker/markerRuntime.d.ts +5 -0
  672. package/dist/utils/marker/markerRuntime.d.ts.map +1 -0
  673. package/dist/utils/marker/markerRuntime.js +13 -0
  674. package/dist/utils/marker/markerRuntime.js.map +1 -0
  675. package/dist/utils/marker/markerShape.d.ts +13 -0
  676. package/dist/utils/marker/markerShape.d.ts.map +1 -0
  677. package/dist/utils/marker/markerShape.js +52 -0
  678. package/dist/utils/marker/markerShape.js.map +1 -0
  679. package/dist/utils/marker/markerTarget.d.ts +3 -0
  680. package/dist/utils/marker/markerTarget.d.ts.map +1 -0
  681. package/dist/utils/marker/markerTarget.js +22 -0
  682. package/dist/utils/marker/markerTarget.js.map +1 -0
  683. package/dist/utils/marker/targetSelector.d.ts +20 -0
  684. package/dist/utils/marker/targetSelector.d.ts.map +1 -0
  685. package/dist/utils/marker/targetSelector.js +123 -0
  686. package/dist/utils/marker/targetSelector.js.map +1 -0
  687. package/dist/utils/panel/experimentalPanelTabs.d.ts +31 -0
  688. package/dist/utils/panel/experimentalPanelTabs.d.ts.map +1 -0
  689. package/dist/utils/panel/experimentalPanelTabs.js +120 -0
  690. package/dist/utils/panel/experimentalPanelTabs.js.map +1 -0
  691. package/dist/utils/panel/formatStatCount.d.ts.map +1 -0
  692. package/dist/utils/panel/formatStatCount.js.map +1 -0
  693. package/dist/utils/panel/heatmapActivity.d.ts +68 -0
  694. package/dist/utils/panel/heatmapActivity.d.ts.map +1 -0
  695. package/dist/utils/panel/heatmapActivity.js +280 -0
  696. package/dist/utils/panel/heatmapActivity.js.map +1 -0
  697. package/dist/utils/panel/hourlyCompareSparkline.d.ts +19 -0
  698. package/dist/utils/panel/hourlyCompareSparkline.d.ts.map +1 -0
  699. package/dist/utils/panel/hourlyCompareSparkline.js +65 -0
  700. package/dist/utils/panel/hourlyCompareSparkline.js.map +1 -0
  701. package/dist/utils/panel/panelBootstrap.d.ts +27 -0
  702. package/dist/utils/panel/panelBootstrap.d.ts.map +1 -0
  703. package/dist/utils/panel/panelBootstrap.js +95 -0
  704. package/dist/utils/panel/panelBootstrap.js.map +1 -0
  705. package/dist/utils/panel/panelRoleStats.d.ts +18 -0
  706. package/dist/utils/panel/panelRoleStats.d.ts.map +1 -0
  707. package/dist/utils/panel/panelRoleStats.js +77 -0
  708. package/dist/utils/panel/panelRoleStats.js.map +1 -0
  709. package/dist/utils/panel/panelTabPreference.d.ts +19 -0
  710. package/dist/utils/panel/panelTabPreference.d.ts.map +1 -0
  711. package/dist/utils/panel/panelTabPreference.js +76 -0
  712. package/dist/utils/panel/panelTabPreference.js.map +1 -0
  713. package/dist/utils/panel/panelTypography.d.ts.map +1 -0
  714. package/dist/utils/panel/panelTypography.js.map +1 -0
  715. package/dist/utils/{routeDetailStatus.d.ts → panel/routeDetailStatus.d.ts} +1 -1
  716. package/dist/utils/panel/routeDetailStatus.d.ts.map +1 -0
  717. package/dist/utils/{routeDetailStatus.js → panel/routeDetailStatus.js} +5 -2
  718. package/dist/utils/panel/routeDetailStatus.js.map +1 -0
  719. package/dist/utils/pinned/pinnedFeedback.d.ts +18 -0
  720. package/dist/utils/pinned/pinnedFeedback.d.ts.map +1 -0
  721. package/dist/utils/pinned/pinnedFeedback.js +86 -0
  722. package/dist/utils/pinned/pinnedFeedback.js.map +1 -0
  723. package/dist/utils/probe/cssStepper.d.ts +6 -0
  724. package/dist/utils/probe/cssStepper.d.ts.map +1 -0
  725. package/dist/utils/probe/cssStepper.js +40 -0
  726. package/dist/utils/probe/cssStepper.js.map +1 -0
  727. package/dist/utils/probe/pickProbe.d.ts +21 -0
  728. package/dist/utils/probe/pickProbe.d.ts.map +1 -0
  729. package/dist/utils/probe/pickProbe.js +285 -0
  730. package/dist/utils/probe/pickProbe.js.map +1 -0
  731. package/dist/utils/probe/pickProbeLayout.d.ts +16 -0
  732. package/dist/utils/probe/pickProbeLayout.d.ts.map +1 -0
  733. package/dist/utils/probe/pickProbeLayout.js +52 -0
  734. package/dist/utils/probe/pickProbeLayout.js.map +1 -0
  735. package/dist/utils/probe/pickProbeSession.d.ts +14 -0
  736. package/dist/utils/probe/pickProbeSession.d.ts.map +1 -0
  737. package/dist/utils/probe/pickProbeSession.js +134 -0
  738. package/dist/utils/probe/pickProbeSession.js.map +1 -0
  739. package/dist/utils/probe/pickTargetDeleteAnimation.d.ts +3 -0
  740. package/dist/utils/probe/pickTargetDeleteAnimation.d.ts.map +1 -0
  741. package/dist/utils/probe/pickTargetDeleteAnimation.js +29 -0
  742. package/dist/utils/probe/pickTargetDeleteAnimation.js.map +1 -0
  743. package/dist/utils/probe/pickTargetInspect.d.ts +12 -0
  744. package/dist/utils/probe/pickTargetInspect.d.ts.map +1 -0
  745. package/dist/utils/probe/pickTargetInspect.js +75 -0
  746. package/dist/utils/probe/pickTargetInspect.js.map +1 -0
  747. package/dist/utils/probe/probeColor.d.ts +6 -0
  748. package/dist/utils/probe/probeColor.d.ts.map +1 -0
  749. package/dist/utils/probe/probeColor.js +49 -0
  750. package/dist/utils/probe/probeColor.js.map +1 -0
  751. package/dist/utils/probe/probeLayout.d.ts +27 -0
  752. package/dist/utils/probe/probeLayout.d.ts.map +1 -0
  753. package/dist/utils/probe/probeLayout.js +86 -0
  754. package/dist/utils/probe/probeLayout.js.map +1 -0
  755. package/dist/utils/probe/probeSessionHistory.d.ts +8 -0
  756. package/dist/utils/probe/probeSessionHistory.d.ts.map +1 -0
  757. package/dist/utils/probe/probeSessionHistory.js +102 -0
  758. package/dist/utils/probe/probeSessionHistory.js.map +1 -0
  759. package/dist/utils/report/fields.d.ts +12 -0
  760. package/dist/utils/report/fields.d.ts.map +1 -0
  761. package/dist/utils/{fields.js → report/fields.js} +9 -4
  762. package/dist/utils/report/fields.js.map +1 -0
  763. package/dist/utils/report/projectId.d.ts.map +1 -0
  764. package/dist/utils/{projectId.js → report/projectId.js} +2 -2
  765. package/dist/utils/report/projectId.js.map +1 -0
  766. package/dist/utils/{reportCallbacks.d.ts → report/reportCallbacks.d.ts} +1 -1
  767. package/dist/utils/report/reportCallbacks.d.ts.map +1 -0
  768. package/dist/utils/report/reportCallbacks.js.map +1 -0
  769. package/dist/utils/report/reportCases.d.ts +54 -0
  770. package/dist/utils/report/reportCases.d.ts.map +1 -0
  771. package/dist/utils/report/reportCases.js +297 -0
  772. package/dist/utils/report/reportCases.js.map +1 -0
  773. package/dist/utils/report/reportPosition.d.ts +11 -0
  774. package/dist/utils/report/reportPosition.d.ts.map +1 -0
  775. package/dist/utils/report/reportPosition.js +112 -0
  776. package/dist/utils/report/reportPosition.js.map +1 -0
  777. package/dist/utils/report/reportProject.d.ts +11 -0
  778. package/dist/utils/report/reportProject.d.ts.map +1 -0
  779. package/dist/utils/report/reportProject.js +9 -0
  780. package/dist/utils/report/reportProject.js.map +1 -0
  781. package/dist/utils/report/reportSummary.d.ts +7 -0
  782. package/dist/utils/report/reportSummary.d.ts.map +1 -0
  783. package/dist/utils/report/reportSummary.js +51 -0
  784. package/dist/utils/report/reportSummary.js.map +1 -0
  785. package/dist/utils/report/reportTeam.d.ts +30 -0
  786. package/dist/utils/report/reportTeam.d.ts.map +1 -0
  787. package/dist/utils/report/reportTeam.js +65 -0
  788. package/dist/utils/report/reportTeam.js.map +1 -0
  789. package/dist/utils/report/reportUi.d.ts +23 -0
  790. package/dist/utils/report/reportUi.d.ts.map +1 -0
  791. package/dist/utils/report/reportUi.js +30 -0
  792. package/dist/utils/report/reportUi.js.map +1 -0
  793. package/dist/utils/report/reportVisibility.d.ts +11 -0
  794. package/dist/utils/report/reportVisibility.d.ts.map +1 -0
  795. package/dist/utils/report/reportVisibility.js +12 -0
  796. package/dist/utils/report/reportVisibility.js.map +1 -0
  797. package/dist/utils/report/reportVisual.d.ts +14 -0
  798. package/dist/utils/report/reportVisual.d.ts.map +1 -0
  799. package/dist/utils/{reportVisual.js → report/reportVisual.js} +17 -6
  800. package/dist/utils/report/reportVisual.js.map +1 -0
  801. package/dist/utils/report/resolveDefaultAuthorName.d.ts +3 -0
  802. package/dist/utils/report/resolveDefaultAuthorName.d.ts.map +1 -0
  803. package/dist/utils/report/resolveDefaultAuthorName.js +7 -0
  804. package/dist/utils/report/resolveDefaultAuthorName.js.map +1 -0
  805. package/dist/utils/{dom.d.ts → shared/dom.d.ts} +8 -2
  806. package/dist/utils/shared/dom.d.ts.map +1 -0
  807. package/dist/utils/{dom.js → shared/dom.js} +140 -5
  808. package/dist/utils/shared/dom.js.map +1 -0
  809. package/dist/utils/shared/env.d.ts.map +1 -0
  810. package/dist/utils/shared/env.js.map +1 -0
  811. package/dist/utils/{format.d.ts → shared/format.d.ts} +2 -1
  812. package/dist/utils/shared/format.d.ts.map +1 -0
  813. package/dist/utils/{format.js → shared/format.js} +6 -0
  814. package/dist/utils/shared/format.js.map +1 -0
  815. package/dist/utils/shared/hexColor.d.ts +7 -0
  816. package/dist/utils/shared/hexColor.d.ts.map +1 -0
  817. package/dist/utils/shared/hexColor.js +25 -0
  818. package/dist/utils/shared/hexColor.js.map +1 -0
  819. package/dist/utils/shared/pathname.d.ts +4 -0
  820. package/dist/utils/shared/pathname.d.ts.map +1 -0
  821. package/dist/utils/shared/pathname.js +20 -0
  822. package/dist/utils/shared/pathname.js.map +1 -0
  823. package/dist/utils/shared/pathnameNavigation.d.ts.map +1 -0
  824. package/dist/utils/shared/pathnameNavigation.js.map +1 -0
  825. package/dist/utils/shared/shortcuts.d.ts.map +1 -0
  826. package/dist/utils/shared/shortcuts.js.map +1 -0
  827. package/dist/utils/shared/storage.d.ts +39 -0
  828. package/dist/utils/shared/storage.d.ts.map +1 -0
  829. package/dist/utils/shared/storage.js +75 -0
  830. package/dist/utils/shared/storage.js.map +1 -0
  831. package/package.json +82 -78
  832. package/dist/components/motion/index.d.ts +0 -48
  833. package/dist/components/motion/index.d.ts.map +0 -1
  834. package/dist/components/motion/index.js +0 -910
  835. package/dist/components/motion/index.js.map +0 -1
  836. package/dist/components/panel/PanelMoreMenu.d.ts +0 -20
  837. package/dist/components/panel/PanelMoreMenu.d.ts.map +0 -1
  838. package/dist/components/panel/PanelMoreMenu.js +0 -20
  839. package/dist/components/panel/PanelMoreMenu.js.map +0 -1
  840. package/dist/components/panel/feedback/FeedbackIssueHeader.d.ts +0 -12
  841. package/dist/components/panel/feedback/FeedbackIssueHeader.d.ts.map +0 -1
  842. package/dist/components/panel/feedback/FeedbackIssueHeader.js +0 -10
  843. package/dist/components/panel/feedback/FeedbackIssueHeader.js.map +0 -1
  844. package/dist/components/panel/feedback/FieldTagSelector.d.ts +0 -9
  845. package/dist/components/panel/feedback/FieldTagSelector.d.ts.map +0 -1
  846. package/dist/components/panel/feedback/FieldTagSelector.js +0 -15
  847. package/dist/components/panel/feedback/FieldTagSelector.js.map +0 -1
  848. package/dist/hooks/useReportState.d.ts +0 -179
  849. package/dist/hooks/useReportState.d.ts.map +0 -1
  850. package/dist/hooks/useReportState.js +0 -985
  851. package/dist/hooks/useReportState.js.map +0 -1
  852. package/dist/utils/coordinates.d.ts.map +0 -1
  853. package/dist/utils/coordinates.js.map +0 -1
  854. package/dist/utils/dom.d.ts.map +0 -1
  855. package/dist/utils/dom.js.map +0 -1
  856. package/dist/utils/env.d.ts.map +0 -1
  857. package/dist/utils/env.js.map +0 -1
  858. package/dist/utils/feedbackDataTransfer.d.ts.map +0 -1
  859. package/dist/utils/feedbackDataTransfer.js.map +0 -1
  860. package/dist/utils/feedbackThread.d.ts +0 -14
  861. package/dist/utils/feedbackThread.d.ts.map +0 -1
  862. package/dist/utils/feedbackThread.js +0 -57
  863. package/dist/utils/feedbackThread.js.map +0 -1
  864. package/dist/utils/feedbackTransferSchema.d.ts.map +0 -1
  865. package/dist/utils/feedbackTransferSchema.js.map +0 -1
  866. package/dist/utils/fields.d.ts +0 -11
  867. package/dist/utils/fields.d.ts.map +0 -1
  868. package/dist/utils/fields.js.map +0 -1
  869. package/dist/utils/format.d.ts.map +0 -1
  870. package/dist/utils/format.js.map +0 -1
  871. package/dist/utils/formatStatCount.d.ts.map +0 -1
  872. package/dist/utils/formatStatCount.js.map +0 -1
  873. package/dist/utils/githubIntegration.d.ts.map +0 -1
  874. package/dist/utils/githubIntegration.js.map +0 -1
  875. package/dist/utils/hoverTooltipLayout.d.ts.map +0 -1
  876. package/dist/utils/hoverTooltipLayout.js.map +0 -1
  877. package/dist/utils/locateFeedback.d.ts.map +0 -1
  878. package/dist/utils/locateFeedback.js.map +0 -1
  879. package/dist/utils/markerContext.d.ts.map +0 -1
  880. package/dist/utils/markerContext.js.map +0 -1
  881. package/dist/utils/panelTypography.d.ts.map +0 -1
  882. package/dist/utils/panelTypography.js.map +0 -1
  883. package/dist/utils/pathname.d.ts +0 -2
  884. package/dist/utils/pathname.d.ts.map +0 -1
  885. package/dist/utils/pathname.js +0 -10
  886. package/dist/utils/pathname.js.map +0 -1
  887. package/dist/utils/pathnameNavigation.d.ts.map +0 -1
  888. package/dist/utils/pathnameNavigation.js.map +0 -1
  889. package/dist/utils/personalKey.d.ts.map +0 -1
  890. package/dist/utils/personalKey.js.map +0 -1
  891. package/dist/utils/projectId.d.ts.map +0 -1
  892. package/dist/utils/projectId.js.map +0 -1
  893. package/dist/utils/reportCallbacks.d.ts.map +0 -1
  894. package/dist/utils/reportCallbacks.js.map +0 -1
  895. package/dist/utils/reportProject.d.ts +0 -17
  896. package/dist/utils/reportProject.d.ts.map +0 -1
  897. package/dist/utils/reportProject.js +0 -9
  898. package/dist/utils/reportProject.js.map +0 -1
  899. package/dist/utils/reportTeam.d.ts +0 -15
  900. package/dist/utils/reportTeam.d.ts.map +0 -1
  901. package/dist/utils/reportTeam.js +0 -8
  902. package/dist/utils/reportTeam.js.map +0 -1
  903. package/dist/utils/reportUi.d.ts +0 -24
  904. package/dist/utils/reportUi.d.ts.map +0 -1
  905. package/dist/utils/reportUi.js +0 -19
  906. package/dist/utils/reportUi.js.map +0 -1
  907. package/dist/utils/reportVisibility.d.ts +0 -19
  908. package/dist/utils/reportVisibility.d.ts.map +0 -1
  909. package/dist/utils/reportVisibility.js +0 -12
  910. package/dist/utils/reportVisibility.js.map +0 -1
  911. package/dist/utils/reportVisual.d.ts +0 -12
  912. package/dist/utils/reportVisual.d.ts.map +0 -1
  913. package/dist/utils/reportVisual.js.map +0 -1
  914. package/dist/utils/routeDetailStatus.d.ts.map +0 -1
  915. package/dist/utils/routeDetailStatus.js.map +0 -1
  916. package/dist/utils/shortcuts.d.ts.map +0 -1
  917. package/dist/utils/shortcuts.js.map +0 -1
  918. package/dist/utils/storage.d.ts +0 -17
  919. package/dist/utils/storage.d.ts.map +0 -1
  920. package/dist/utils/storage.js +0 -36
  921. package/dist/utils/storage.js.map +0 -1
  922. package/dist/utils/validateFeedbackImport.d.ts +0 -4
  923. package/dist/utils/validateFeedbackImport.d.ts.map +0 -1
  924. package/dist/utils/validateFeedbackImport.js.map +0 -1
  925. /package/dist/utils/{hoverTooltipLayout.d.ts → marker/hoverTooltipLayout.d.ts} +0 -0
  926. /package/dist/utils/{hoverTooltipLayout.js → marker/hoverTooltipLayout.js} +0 -0
  927. /package/dist/utils/{formatStatCount.d.ts → panel/formatStatCount.d.ts} +0 -0
  928. /package/dist/utils/{formatStatCount.js → panel/formatStatCount.js} +0 -0
  929. /package/dist/utils/{panelTypography.d.ts → panel/panelTypography.d.ts} +0 -0
  930. /package/dist/utils/{panelTypography.js → panel/panelTypography.js} +0 -0
  931. /package/dist/utils/{projectId.d.ts → report/projectId.d.ts} +0 -0
  932. /package/dist/utils/{reportCallbacks.js → report/reportCallbacks.js} +0 -0
  933. /package/dist/utils/{env.d.ts → shared/env.d.ts} +0 -0
  934. /package/dist/utils/{env.js → shared/env.js} +0 -0
  935. /package/dist/utils/{pathnameNavigation.d.ts → shared/pathnameNavigation.d.ts} +0 -0
  936. /package/dist/utils/{pathnameNavigation.js → shared/pathnameNavigation.js} +0 -0
  937. /package/dist/utils/{shortcuts.d.ts → shared/shortcuts.d.ts} +0 -0
  938. /package/dist/utils/{shortcuts.js → shared/shortcuts.js} +0 -0
@@ -1,6 +1,8 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useEffect, useLayoutEffect, useRef, useState } from "react";
3
- const MENU_GAP = 6;
2
+ import { useCallback, useEffect, useLayoutEffect, useRef, useState } from "react";
3
+ import { MOTION } from "../../constants/motionClasses.js";
4
+ const MENU_GAP = 0;
5
+ // const MENU_GAP = 6;
4
6
  const VIEWPORT_PADDING = 8;
5
7
  function computeDropdownPlacement(triggerRect, menuWidth, menuHeight, preferredAlign) {
6
8
  const viewportWidth = window.innerWidth;
@@ -10,17 +12,17 @@ function computeDropdownPlacement(triggerRect, menuWidth, menuHeight, preferredA
10
12
  const fitsAbove = menuHeight + MENU_GAP <= spaceAbove;
11
13
  const fitsBelow = menuHeight + MENU_GAP <= spaceBelow;
12
14
  let vertical;
13
- if (fitsAbove && !fitsBelow) {
14
- vertical = "top";
15
- }
16
- else if (!fitsAbove && fitsBelow) {
15
+ if (fitsBelow && !fitsAbove) {
17
16
  vertical = "bottom";
18
17
  }
19
- else if (fitsAbove && fitsBelow) {
18
+ else if (!fitsBelow && fitsAbove) {
20
19
  vertical = "top";
21
20
  }
21
+ else if (fitsAbove && fitsBelow) {
22
+ vertical = "bottom";
23
+ }
22
24
  else {
23
- vertical = spaceAbove >= spaceBelow ? "top" : "bottom";
25
+ vertical = spaceBelow >= spaceAbove ? "bottom" : "top";
24
26
  }
25
27
  const viewportTop = vertical === "top" ? triggerRect.top - menuHeight - MENU_GAP : triggerRect.bottom + MENU_GAP;
26
28
  const alignRightLeft = triggerRect.right - menuWidth;
@@ -61,11 +63,20 @@ function toRelativePlacement(viewportPlacement, rootRect) {
61
63
  left: viewportPlacement.left - rootRect.left,
62
64
  };
63
65
  }
66
+ function isSamePlacement(current, next) {
67
+ if (current === next) {
68
+ return true;
69
+ }
70
+ if (!current || !next) {
71
+ return false;
72
+ }
73
+ return current.top === next.top && current.left === next.left;
74
+ }
64
75
  export function PanelDropdownMenu({ open, onClose, trigger, children, menuClassName, align = "right" }) {
65
76
  const rootRef = useRef(null);
66
77
  const menuRef = useRef(null);
67
78
  const [menuPlacement, setMenuPlacement] = useState(null);
68
- const updateMenuPlacement = () => {
79
+ const updateMenuPlacement = useCallback(() => {
69
80
  const root = rootRef.current;
70
81
  const menu = menuRef.current;
71
82
  if (!root || !menu) {
@@ -75,11 +86,12 @@ export function PanelDropdownMenu({ open, onClose, trigger, children, menuClassN
75
86
  const triggerRect = rootRect;
76
87
  const menuRect = menu.getBoundingClientRect();
77
88
  const viewportPlacement = computeDropdownPlacement(triggerRect, menuRect.width, menuRect.height, align);
78
- setMenuPlacement(toRelativePlacement(viewportPlacement, rootRect));
79
- };
89
+ const nextPlacement = toRelativePlacement(viewportPlacement, rootRect);
90
+ setMenuPlacement((current) => (isSamePlacement(current, nextPlacement) ? current : nextPlacement));
91
+ }, [align]);
80
92
  useLayoutEffect(() => {
81
93
  if (!open) {
82
- setMenuPlacement(null);
94
+ setMenuPlacement((current) => (current === null ? current : null));
83
95
  return;
84
96
  }
85
97
  updateMenuPlacement();
@@ -97,7 +109,7 @@ export function PanelDropdownMenu({ open, onClose, trigger, children, menuClassN
97
109
  window.removeEventListener("scroll", updateMenuPlacement, true);
98
110
  resizeObserver?.disconnect();
99
111
  };
100
- }, [align, open, children]);
112
+ }, [open, updateMenuPlacement]);
101
113
  useEffect(() => {
102
114
  if (!open) {
103
115
  return;
@@ -124,7 +136,7 @@ export function PanelDropdownMenu({ open, onClose, trigger, children, menuClassN
124
136
  left: 0,
125
137
  visibility: "hidden",
126
138
  };
127
- return (_jsxs("div", { ref: rootRef, className: "relative shrink-0", children: [trigger, open ? (_jsx("div", { ref: menuRef, role: "menu", style: menuStyle, className: `absolute z-[20] min-w-[120px] overflow-hidden rounded-[12px] border border-[var(--adaptive-black200)] bg-[var(--adaptive-black50)] shadow-[0_0_100px_rgba(0,0,0,0.2)] ${menuClassName ?? ""}`, children: children })) : null] }));
139
+ return (_jsxs("div", { ref: rootRef, className: "relative shrink-0 h-[inherit]", children: [trigger, open ? (_jsx("div", { ref: menuRef, role: "menu", style: menuStyle, className: `${open ? "border-[#f6562f]" : ""} absolute z-[20] min-w-[120px] overflow-hidden bg-[var(--adaptive-black50)] border shadow-[0_0_100px_rgba(0,0,0,0.2)] ${MOTION.menuIn} ${menuClassName ?? ""}`, children: children })) : null] }));
128
140
  }
129
141
  export function PanelDropdownMenuItem({ onClick, active = false, disabled = false, children }) {
130
142
  return (_jsx("button", { type: "button", role: "menuitem", disabled: disabled, onClick: onClick, "aria-pressed": active, className: `flex w-full px-[12px] py-[8px] text-left text-[12px] font-semibold disabled:cursor-not-allowed disabled:opacity-50 ${active ? "bg-[var(--adaptive-black100)] text-[var(--adaptive-black900)]" : "text-[var(--adaptive-black800)] hover:bg-[var(--adaptive-black100)]"}`, children: children }));
@@ -1 +1 @@
1
- {"version":3,"file":"PanelDropdownMenu.js","sourceRoot":"","sources":["../../../src/components/panel/PanelDropdownMenu.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PanelDropdownMenu.js","sourceRoot":"","sources":["../../../src/components/panel/PanelDropdownMenu.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import type { ButtonHTMLAttributes, ReactNode } from "react";
2
+ export declare const PANEL_GATE_SECTION_CLASS = "flex flex-col gap-[12px] bg-[var(--adaptive-black50)] p-[16px] rounded-[0_0_12px_12px]";
3
+ export declare const PANEL_GATE_TITLE_CLASS = "text-[14px] font-bold text-[var(--adaptive-black900)]";
4
+ export declare const PANEL_GATE_DESCRIPTION_CLASS = "mt-[4px] text-[12px] leading-[1.5] text-[var(--adaptive-black600)]";
5
+ export declare const PANEL_GATE_PRIMARY_BUTTON_CLASS = "rounded-[8px] bg-[var(--adaptive-blue100)] px-[12px] py-[6px] text-[12px] font-bold text-[var(--adaptive-blue500)] disabled:opacity-50";
6
+ export declare const PANEL_GATE_SECONDARY_BUTTON_CLASS = "rounded-[8px] bg-[var(--adaptive-grey300)] px-[12px] py-[6px] text-[12px] font-semibold text-[var(--adaptive-black700)]";
7
+ export declare const PANEL_GATE_BACK_BUTTON_CLASS = "text-[12px] font-semibold text-[var(--adaptive-black500)] hover:text-[var(--adaptive-black700)]";
8
+ type PanelGateShellProps = {
9
+ title: string;
10
+ description: string;
11
+ children?: ReactNode;
12
+ footer?: ReactNode;
13
+ };
14
+ export declare function PanelGateShell({ title, description, children, footer }: PanelGateShellProps): import("react").JSX.Element;
15
+ type GateButtonProps = ButtonHTMLAttributes<HTMLButtonElement> & {
16
+ variant?: "primary" | "secondary" | "back";
17
+ };
18
+ export declare function PanelGateButton({ variant, className, ...props }: GateButtonProps): import("react").JSX.Element;
19
+ export {};
20
+ //# sourceMappingURL=PanelGateShell.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PanelGateShell.d.ts","sourceRoot":"","sources":["../../../src/components/panel/PanelGateShell.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAE7D,eAAO,MAAM,wBAAwB,2FAA2F,CAAC;AACjI,eAAO,MAAM,sBAAsB,0DAA0D,CAAC;AAC9F,eAAO,MAAM,4BAA4B,uEAAuE,CAAC;AACjH,eAAO,MAAM,+BAA+B,2IACgG,CAAC;AAC7I,eAAO,MAAM,iCAAiC,4HAC+E,CAAC;AAC9H,eAAO,MAAM,4BAA4B,oGAC4D,CAAC;AAEtG,KAAK,mBAAmB,GAAG;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,MAAM,CAAC,EAAE,SAAS,CAAC;CACtB,CAAC;AAEF,wBAAgB,cAAc,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,mBAAmB,+BAW3F;AAED,KAAK,eAAe,GAAG,oBAAoB,CAAC,iBAAiB,CAAC,GAAG;IAC7D,OAAO,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,MAAM,CAAC;CAC9C,CAAC;AAEF,wBAAgB,eAAe,CAAC,EAAE,OAAmB,EAAE,SAAc,EAAE,GAAG,KAAK,EAAE,EAAE,eAAe,+BAWjG"}
@@ -0,0 +1,15 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ export const PANEL_GATE_SECTION_CLASS = "flex flex-col gap-[12px] bg-[var(--adaptive-black50)] p-[16px] rounded-[0_0_12px_12px]";
3
+ export const PANEL_GATE_TITLE_CLASS = "text-[14px] font-bold text-[var(--adaptive-black900)]";
4
+ export const PANEL_GATE_DESCRIPTION_CLASS = "mt-[4px] text-[12px] leading-[1.5] text-[var(--adaptive-black600)]";
5
+ export const PANEL_GATE_PRIMARY_BUTTON_CLASS = "rounded-[8px] bg-[var(--adaptive-blue100)] px-[12px] py-[6px] text-[12px] font-bold text-[var(--adaptive-blue500)] disabled:opacity-50";
6
+ export const PANEL_GATE_SECONDARY_BUTTON_CLASS = "rounded-[8px] bg-[var(--adaptive-grey300)] px-[12px] py-[6px] text-[12px] font-semibold text-[var(--adaptive-black700)]";
7
+ export const PANEL_GATE_BACK_BUTTON_CLASS = "text-[12px] font-semibold text-[var(--adaptive-black500)] hover:text-[var(--adaptive-black700)]";
8
+ export function PanelGateShell({ title, description, children, footer }) {
9
+ return (_jsxs("section", { className: PANEL_GATE_SECTION_CLASS, children: [_jsxs("div", { children: [_jsx("h6", { className: PANEL_GATE_TITLE_CLASS, children: title }), _jsx("p", { className: PANEL_GATE_DESCRIPTION_CLASS, children: description })] }), children, footer] }));
10
+ }
11
+ export function PanelGateButton({ variant = "primary", className = "", ...props }) {
12
+ const variantClass = variant === "secondary" ? PANEL_GATE_SECONDARY_BUTTON_CLASS : variant === "back" ? PANEL_GATE_BACK_BUTTON_CLASS : PANEL_GATE_PRIMARY_BUTTON_CLASS;
13
+ return (_jsx("button", { type: "button", className: `${variantClass} ${className}`.trim(), ...props }));
14
+ }
15
+ //# sourceMappingURL=PanelGateShell.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PanelGateShell.js","sourceRoot":"","sources":["../../../src/components/panel/PanelGateShell.tsx"],"names":[],"mappings":";AAEA,MAAM,CAAC,MAAM,wBAAwB,GAAG,wFAAwF,CAAC;AACjI,MAAM,CAAC,MAAM,sBAAsB,GAAG,uDAAuD,CAAC;AAC9F,MAAM,CAAC,MAAM,4BAA4B,GAAG,oEAAoE,CAAC;AACjH,MAAM,CAAC,MAAM,+BAA+B,GACxC,wIAAwI,CAAC;AAC7I,MAAM,CAAC,MAAM,iCAAiC,GAC1C,yHAAyH,CAAC;AAC9H,MAAM,CAAC,MAAM,4BAA4B,GACrC,iGAAiG,CAAC;AAStG,MAAM,UAAU,cAAc,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAuB;IACxF,OAAO,CACH,mBAAS,SAAS,EAAE,wBAAwB,aACxC,0BACI,aAAI,SAAS,EAAE,sBAAsB,YAAG,KAAK,GAAM,EACnD,YAAG,SAAS,EAAE,4BAA4B,YAAG,WAAW,GAAK,IAC3D,EACL,QAAQ,EACR,MAAM,IACD,CACb,CAAC;AACN,CAAC;AAMD,MAAM,UAAU,eAAe,CAAC,EAAE,OAAO,GAAG,SAAS,EAAE,SAAS,GAAG,EAAE,EAAE,GAAG,KAAK,EAAmB;IAC9F,MAAM,YAAY,GACd,OAAO,KAAK,WAAW,CAAC,CAAC,CAAC,iCAAiC,CAAC,CAAC,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,+BAA+B,CAAC;IAEtJ,OAAO,CACH,iBACI,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,GAAG,YAAY,IAAI,SAAS,EAAE,CAAC,IAAI,EAAE,KAC5C,KAAK,GACX,CACL,CAAC;AACN,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { PanelView } from "../../hooks/report/useReportState.js";
2
+ type PanelKeyGateMode = Extract<PanelView, "setup-complete" | "key-issue">;
3
+ export declare function PanelKeyGate({ mode }: {
4
+ mode: PanelKeyGateMode;
5
+ }): import("react").JSX.Element;
6
+ export {};
7
+ //# sourceMappingURL=PanelKeyGate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PanelKeyGate.d.ts","sourceRoot":"","sources":["../../../src/components/panel/PanelKeyGate.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAGlE,KAAK,gBAAgB,GAAG,OAAO,CAAC,SAAS,EAAE,gBAAgB,GAAG,WAAW,CAAC,CAAC;AAM3E,wBAAgB,YAAY,CAAC,EAAE,IAAI,EAAE,EAAE;IAAE,IAAI,EAAE,gBAAgB,CAAA;CAAE,+BA0EhE"}
@@ -0,0 +1,40 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useState } from "react";
3
+ import { ChevronDownIcon } from "../../components/icons/Icons.js";
4
+ import { useReportPreferences, useReportSession } from "../../providers/reportContext.js";
5
+ import { PanelGateButton, PanelGateShell } from "./PanelGateShell.js";
6
+ function buildReviewerSnippet({ name, authorId, publicKey }) {
7
+ return `{ id: "${authorId}", name: "${name}", publicKey: "${publicKey}" }`;
8
+ }
9
+ export function PanelKeyGate({ mode }) {
10
+ const { messages, selfProfile, publicKey } = useReportPreferences();
11
+ const { setErrorMessage } = useReportSession();
12
+ const onboarding = messages.onboarding;
13
+ const [copied, setCopied] = useState(false);
14
+ const [keyInfoOpen, setKeyInfoOpen] = useState(false);
15
+ const name = selfProfile?.name?.trim() || "reviewer";
16
+ const authorId = selfProfile?.authorId?.trim() || "";
17
+ const canShowSnippet = Boolean(authorId && publicKey);
18
+ const title = mode === "key-issue" ? onboarding.issueTitle : onboarding.doneTitle;
19
+ const description = mode === "key-issue" ? onboarding.issueDescription : onboarding.doneDescription;
20
+ const handleCopySnippet = async () => {
21
+ if (!canShowSnippet || !publicKey) {
22
+ return;
23
+ }
24
+ try {
25
+ await navigator.clipboard.writeText(buildReviewerSnippet({ name, authorId, publicKey }));
26
+ setCopied(true);
27
+ window.setTimeout(() => setCopied(false), 1500);
28
+ }
29
+ catch {
30
+ setErrorMessage(messages.errors.clipboardCopyFailed);
31
+ }
32
+ };
33
+ const handleRefresh = () => {
34
+ if (typeof window !== "undefined") {
35
+ window.location.reload();
36
+ }
37
+ };
38
+ return (_jsx(PanelGateShell, { title: title, description: description, footer: _jsxs("div", { className: "flex items-center justify-end gap-[10px]", children: [canShowSnippet ? (_jsx(PanelGateButton, { variant: "secondary", onClick: () => void handleCopySnippet(), children: copied ? onboarding.copied : onboarding.copySnippet })) : null, _jsx(PanelGateButton, { onClick: handleRefresh, children: onboarding.refresh })] }), children: canShowSnippet && publicKey ? (_jsxs("div", { className: "flex flex-col gap-[6px] overflow-hidden rounded-[8px] border border-[var(--adaptive-black200)]", children: [_jsxs("button", { type: "button", onClick: () => setKeyInfoOpen((current) => !current), "aria-expanded": keyInfoOpen, className: "flex items-center justify-between gap-[8px] px-[10px] py-[8px] text-left text-[12px] font-semibold text-[var(--adaptive-black700)] hover:bg-[var(--adaptive-black100)]", children: [_jsx("span", { children: onboarding.keyInfoToggle }), _jsx(ChevronDownIcon, { className: `h-[14px] w-[14px] shrink-0 transition-transform ${keyInfoOpen ? "rotate-180" : ""}` })] }), keyInfoOpen ? (_jsxs("div", { className: "flex flex-col gap-[6px] px-[10px] pb-[10px]", children: [_jsx("p", { className: "text-[11px] font-semibold text-[var(--adaptive-black500)]", children: onboarding.reviewerSnippetHint }), _jsx("pre", { className: "max-h-[120px] overflow-auto whitespace-pre-wrap break-all rounded-[8px] bg-[var(--adaptive-black100)] p-[10px] text-[11px] leading-[1.5] text-[var(--adaptive-black800)]", children: buildReviewerSnippet({ name, authorId, publicKey }) })] })) : null] })) : null }));
39
+ }
40
+ //# sourceMappingURL=PanelKeyGate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PanelKeyGate.js","sourceRoot":"","sources":["../../../src/components/panel/PanelKeyGate.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import { type AppearanceScale, type MarkerFontSize } from "../../constants/markerAppearance.js";
2
+ type PanelMarkerDisplayControlsProps = {
3
+ markerSize: AppearanceScale;
4
+ fontSize: MarkerFontSize;
5
+ onMarkerSizeChange: (size: AppearanceScale) => void;
6
+ onFontSizeChange: (size: MarkerFontSize) => void;
7
+ scaleLabels: Record<AppearanceScale, string>;
8
+ markerFontSizeLabels: Record<MarkerFontSize, string>;
9
+ markerSizeLabel: string;
10
+ markerFontSizeLabel: string;
11
+ markerSizeAriaLabel: string;
12
+ markerFontSizeAriaLabel: string;
13
+ };
14
+ /** Shared marker size + font size dials (onboarding display step + settings). */
15
+ export declare function PanelMarkerDisplayControls({ markerSize, fontSize, onMarkerSizeChange, onFontSizeChange, scaleLabels, markerFontSizeLabels, markerSizeLabel, markerFontSizeLabel, markerSizeAriaLabel, markerFontSizeAriaLabel, }: PanelMarkerDisplayControlsProps): import("react").JSX.Element;
16
+ export {};
17
+ //# sourceMappingURL=PanelMarkerDisplayControls.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PanelMarkerDisplayControls.d.ts","sourceRoot":"","sources":["../../../src/components/panel/PanelMarkerDisplayControls.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAoD,KAAK,eAAe,EAAE,KAAK,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAG9I,KAAK,+BAA+B,GAAG;IACnC,UAAU,EAAE,eAAe,CAAC;IAC5B,QAAQ,EAAE,cAAc,CAAC;IACzB,kBAAkB,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,IAAI,CAAC;IACpD,gBAAgB,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,IAAI,CAAC;IACjD,WAAW,EAAE,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;IAC7C,oBAAoB,EAAE,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;IACrD,eAAe,EAAE,MAAM,CAAC;IACxB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,uBAAuB,EAAE,MAAM,CAAC;CACnC,CAAC;AAEF,iFAAiF;AACjF,wBAAgB,0BAA0B,CAAC,EACvC,UAAU,EACV,QAAQ,EACR,kBAAkB,EAClB,gBAAgB,EAChB,WAAW,EACX,oBAAoB,EACpB,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,uBAAuB,GAC1B,EAAE,+BAA+B,+BAyBjC"}
@@ -0,0 +1,8 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { APPEARANCE_SCALE_VALUES, MARKER_FONT_SIZE_VALUES } from "../../constants/markerAppearance.js";
3
+ import { DiscreteScaleDial } from "./DiscreteScaleDial.js";
4
+ /** Shared marker size + font size dials (onboarding display step + settings). */
5
+ export function PanelMarkerDisplayControls({ markerSize, fontSize, onMarkerSizeChange, onFontSizeChange, scaleLabels, markerFontSizeLabels, markerSizeLabel, markerFontSizeLabel, markerSizeAriaLabel, markerFontSizeAriaLabel, }) {
6
+ return (_jsxs("div", { className: "flex flex-col gap-[12px]", children: [_jsxs("div", { children: [_jsx("p", { className: "mb-[6px] text-[11px] font-medium text-[var(--adaptive-black600)]", children: markerSizeLabel }), _jsx(DiscreteScaleDial, { values: APPEARANCE_SCALE_VALUES, value: markerSize, onChange: onMarkerSizeChange, labels: scaleLabels, ariaLabel: markerSizeAriaLabel })] }), _jsxs("div", { children: [_jsx("p", { className: "mb-[6px] text-[11px] font-medium text-[var(--adaptive-black600)]", children: markerFontSizeLabel }), _jsx(DiscreteScaleDial, { values: MARKER_FONT_SIZE_VALUES, value: fontSize, onChange: onFontSizeChange, labels: markerFontSizeLabels, ariaLabel: markerFontSizeAriaLabel })] })] }));
7
+ }
8
+ //# sourceMappingURL=PanelMarkerDisplayControls.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PanelMarkerDisplayControls.js","sourceRoot":"","sources":["../../../src/components/panel/PanelMarkerDisplayControls.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,uBAAuB,EAAE,uBAAuB,EAA6C,MAAM,iCAAiC,CAAC;AAC9I,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAe3D,iFAAiF;AACjF,MAAM,UAAU,0BAA0B,CAAC,EACvC,UAAU,EACV,QAAQ,EACR,kBAAkB,EAClB,gBAAgB,EAChB,WAAW,EACX,oBAAoB,EACpB,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,uBAAuB,GACO;IAC9B,OAAO,CACH,eAAK,SAAS,EAAC,0BAA0B,aACrC,0BACI,YAAG,SAAS,EAAC,kEAAkE,YAAE,eAAe,GAAK,EACrG,KAAC,iBAAiB,IACd,MAAM,EAAE,uBAAuB,EAC/B,KAAK,EAAE,UAAU,EACjB,QAAQ,EAAE,kBAAkB,EAC5B,MAAM,EAAE,WAAW,EACnB,SAAS,EAAE,mBAAmB,GAChC,IACA,EACN,0BACI,YAAG,SAAS,EAAC,kEAAkE,YAAE,mBAAmB,GAAK,EACzG,KAAC,iBAAiB,IACd,MAAM,EAAE,uBAAuB,EAC/B,KAAK,EAAE,QAAQ,EACf,QAAQ,EAAE,gBAAgB,EAC1B,MAAM,EAAE,oBAAoB,EAC5B,SAAS,EAAE,uBAAuB,GACpC,IACA,IACJ,CACT,CAAC;AACN,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function PanelOnboarding(): import("react").JSX.Element;
2
+ //# sourceMappingURL=PanelOnboarding.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PanelOnboarding.d.ts","sourceRoot":"","sources":["../../../src/components/panel/PanelOnboarding.tsx"],"names":[],"mappings":"AA2BA,wBAAgB,eAAe,gCAua9B"}
@@ -0,0 +1,141 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { useMemo, useState } from "react";
3
+ import { APPEARANCE_OPTION_VALUES } from "../../constants/appearance.js";
4
+ import { PANEL_ROLE_VALUES } from "../../constants/panelRole.js";
5
+ import { useReportPreferences, useReportSession } from "../../providers/reportContext.js";
6
+ import { getDefaultVisibleTabsForRole } from "../../utils/panel/panelTabPreference.js";
7
+ import { isPersonalKeyFile, readPersonalKeyFile } from "../../utils/feedback/feedbackDataTransfer.js";
8
+ import { AppearanceThemePicker } from "./AppearanceThemePicker.js";
9
+ import { MarkerSizePreview } from "./MarkerSizePreview.js";
10
+ import { PanelDropdownMenuItem } from "./PanelDropdownMenu.js";
11
+ import { PANEL_GATE_BACK_BUTTON_CLASS, PANEL_GATE_DESCRIPTION_CLASS, PANEL_GATE_PRIMARY_BUTTON_CLASS, PANEL_GATE_SECTION_CLASS, PANEL_GATE_TITLE_CLASS, } from "./PanelGateShell.js";
12
+ import { PanelMarkerDisplayControls } from "./PanelMarkerDisplayControls.js";
13
+ import { PanelOptionSwitch } from "./PanelOptionSwitch.js";
14
+ import { PanelTabSelector } from "./PanelTabSelector.js";
15
+ const LOCALE_OPTIONS = ["en", "ko"];
16
+ export function PanelOnboarding() {
17
+ const { messages, locale, setLocale, panelAppearance, setPanelAppearance, markerAppearance, setMarkerSize, typography, setFontSize, panelRole, setPanelRole, completeOnboarding, restoreFromBackup, selfProfile, personalKeyCandidates, resolvedTabAvailabilityContext, savePanelTabPreference, } = useReportPreferences();
18
+ const { setErrorMessage } = useReportSession();
19
+ const onboarding = messages.onboarding;
20
+ const [step, setStep] = useState("language");
21
+ const [name, setName] = useState(selfProfile?.name ?? "");
22
+ const [selectedTabs, setSelectedTabs] = useState(() => getDefaultVisibleTabsForRole(panelRole, resolvedTabAvailabilityContext));
23
+ const [isCreating, setIsCreating] = useState(false);
24
+ const [backupKey, setBackupKey] = useState("");
25
+ const [isRestoring, setIsRestoring] = useState(false);
26
+ const [restoreError, setRestoreError] = useState("");
27
+ const [isDragOver, setIsDragOver] = useState(false);
28
+ const trimmedName = name.trim();
29
+ const hasDuplicateName = useMemo(() => Boolean(trimmedName) && personalKeyCandidates.some((author) => author.name.trim() === trimmedName), [personalKeyCandidates, trimmedName]);
30
+ const canProceedFromRoleStep = selectedTabs.length > 0;
31
+ const localeOptions = LOCALE_OPTIONS.map((value) => ({
32
+ value,
33
+ label: messages.localeOption[value],
34
+ }));
35
+ const appearanceOptions = APPEARANCE_OPTION_VALUES.map((value) => ({
36
+ value,
37
+ label: messages.appearance[value],
38
+ }));
39
+ const scaleLabels = {
40
+ sm: messages.settings.scaleSm,
41
+ md: messages.settings.scaleMd,
42
+ lg: messages.settings.scaleLg,
43
+ xl: messages.settings.scaleXl,
44
+ };
45
+ const markerFontSizeLabels = {
46
+ none: messages.settings.scaleNone,
47
+ ...scaleLabels,
48
+ };
49
+ const handleSelectRole = (role) => {
50
+ setPanelRole(role);
51
+ setSelectedTabs(getDefaultVisibleTabsForRole(role, resolvedTabAvailabilityContext));
52
+ };
53
+ const handleCreateKey = async () => {
54
+ if (!trimmedName || isCreating || hasDuplicateName) {
55
+ return;
56
+ }
57
+ setIsCreating(true);
58
+ try {
59
+ savePanelTabPreference({
60
+ visibleTabs: selectedTabs,
61
+ customized: true,
62
+ });
63
+ await completeOnboarding({ name: trimmedName });
64
+ }
65
+ catch {
66
+ setErrorMessage(messages.errors.clipboardCopyFailed);
67
+ }
68
+ finally {
69
+ setIsCreating(false);
70
+ }
71
+ };
72
+ const handleRestore = async () => {
73
+ if (!backupKey.trim() || isRestoring) {
74
+ return;
75
+ }
76
+ setIsRestoring(true);
77
+ setRestoreError("");
78
+ try {
79
+ const result = await restoreFromBackup(backupKey.trim());
80
+ if (!result.restored) {
81
+ if (result.reason === "unauthorized") {
82
+ setRestoreError(onboarding.restoreNotAuthorized);
83
+ }
84
+ else if (result.reason === "project-mismatch") {
85
+ setRestoreError(messages.personalKey.restoreProjectMismatch);
86
+ }
87
+ else {
88
+ setRestoreError(messages.personalKey.invalidKey);
89
+ }
90
+ return;
91
+ }
92
+ if (typeof window !== "undefined") {
93
+ window.location.reload();
94
+ }
95
+ }
96
+ catch {
97
+ setRestoreError(messages.personalKey.invalidKey);
98
+ }
99
+ finally {
100
+ setIsRestoring(false);
101
+ }
102
+ };
103
+ const handleDragOver = (event) => {
104
+ if (!Array.from(event.dataTransfer.types).includes("Files")) {
105
+ return;
106
+ }
107
+ event.preventDefault();
108
+ setIsDragOver(true);
109
+ };
110
+ const handleDragLeave = (event) => {
111
+ if (event.currentTarget.contains(event.relatedTarget)) {
112
+ return;
113
+ }
114
+ setIsDragOver(false);
115
+ };
116
+ const handleDrop = async (event) => {
117
+ event.preventDefault();
118
+ setIsDragOver(false);
119
+ const file = event.dataTransfer.files.item(0);
120
+ if (!file) {
121
+ return;
122
+ }
123
+ if (!isPersonalKeyFile(file)) {
124
+ setRestoreError(onboarding.restoreDropInvalid);
125
+ return;
126
+ }
127
+ try {
128
+ const key = await readPersonalKeyFile(file);
129
+ setBackupKey(key);
130
+ setRestoreError("");
131
+ }
132
+ catch {
133
+ setRestoreError(onboarding.restoreDropFailed);
134
+ }
135
+ };
136
+ return (_jsx("section", { className: PANEL_GATE_SECTION_CLASS, children: step === "language" ? (_jsxs(_Fragment, { children: [_jsxs("div", { children: [_jsx("h6", { className: PANEL_GATE_TITLE_CLASS, children: onboarding.languageStepTitle }), _jsx("p", { className: PANEL_GATE_DESCRIPTION_CLASS, children: onboarding.languageStepDescription })] }), _jsx(PanelOptionSwitch, { options: localeOptions, value: locale, onChange: setLocale, ariaLabel: messages.moreMenu.languageAriaLabel }), _jsx("div", { className: "flex items-center justify-end", children: _jsx("button", { type: "button", onClick: () => setStep("intro"), className: PANEL_GATE_PRIMARY_BUTTON_CLASS, children: onboarding.next }) })] })) : step === "intro" ? (_jsxs(_Fragment, { children: [_jsxs("div", { children: [_jsx("h6", { className: PANEL_GATE_TITLE_CLASS, children: onboarding.introTitle }), _jsx("p", { className: PANEL_GATE_DESCRIPTION_CLASS, children: onboarding.introDescription })] }), _jsxs("div", { className: "flex flex-col gap-[8px]", children: [_jsx("button", { type: "button", onClick: () => setStep("role"), className: `${PANEL_GATE_PRIMARY_BUTTON_CLASS} py-[10px]`, children: onboarding.newUser }), _jsx("button", { type: "button", onClick: () => setStep("restore"), className: "rounded-[8px] border border-[var(--adaptive-black200)] px-[12px] py-[10px] text-[12px] font-semibold text-[var(--adaptive-black700)] hover:bg-[var(--adaptive-black100)]", children: onboarding.existingUser })] }), _jsx("div", { className: "flex items-center justify-start", children: _jsx("button", { type: "button", onClick: () => setStep("language"), className: PANEL_GATE_BACK_BUTTON_CLASS, children: onboarding.back }) })] })) : step === "restore" ? (_jsxs(_Fragment, { children: [_jsxs("div", { children: [_jsx("h6", { className: PANEL_GATE_TITLE_CLASS, children: onboarding.restoreTitle }), _jsx("p", { className: PANEL_GATE_DESCRIPTION_CLASS, children: onboarding.restoreDescription })] }), _jsxs("div", { onDragOver: handleDragOver, onDragLeave: handleDragLeave, onDrop: (event) => void handleDrop(event), className: `relative rounded-[8px] transition-colors ${isDragOver ? "ring-2 ring-[var(--adaptive-blue500)]" : ""}`, children: [_jsx("textarea", { autoFocus: true, value: backupKey, onChange: (event) => {
137
+ setBackupKey(event.target.value);
138
+ setRestoreError("");
139
+ }, placeholder: onboarding.restorePlaceholder, rows: 3, className: "w-full resize-none rounded-[8px] border border-[var(--adaptive-border-subtle)] bg-[var(--adaptive-surface)] px-[10px] py-[8px] text-[12px] text-[var(--adaptive-text-primary)] outline-none" }), isDragOver ? (_jsx("div", { className: "pointer-events-none absolute inset-0 flex items-center justify-center rounded-[8px] bg-[var(--adaptive-blue100)]/80 text-[12px] font-semibold text-[var(--adaptive-blue500)]", children: onboarding.restoreDropActive })) : null] }), _jsx("p", { className: "text-[11px] text-[var(--adaptive-black500)]", children: onboarding.restoreDropHint }), restoreError ? _jsx("p", { className: "text-[12px] text-rose-700", children: restoreError }) : null, _jsxs("div", { className: "flex items-center justify-between", children: [_jsx("button", { type: "button", onClick: () => setStep("intro"), className: PANEL_GATE_BACK_BUTTON_CLASS, children: onboarding.back }), _jsx("button", { type: "button", disabled: !backupKey.trim() || isRestoring, onClick: () => void handleRestore(), className: PANEL_GATE_PRIMARY_BUTTON_CLASS, children: onboarding.restoreAction })] })] })) : step === "role" ? (_jsxs(_Fragment, { children: [_jsxs("div", { children: [_jsx("h6", { className: PANEL_GATE_TITLE_CLASS, children: onboarding.roleStepTitle }), _jsx("p", { className: PANEL_GATE_DESCRIPTION_CLASS, children: onboarding.roleStepDescription })] }), _jsx("div", { className: "overflow-hidden rounded-[10px] border border-[var(--adaptive-black200)]", children: PANEL_ROLE_VALUES.map((role) => (_jsx(PanelDropdownMenuItem, { active: role === panelRole, onClick: () => handleSelectRole(role), children: messages.panel.roles[role] }, role))) }), _jsx(PanelTabSelector, { role: panelRole, selectedTabs: selectedTabs, context: resolvedTabAvailabilityContext, messages: messages, onChange: setSelectedTabs }), _jsx("p", { className: "text-[11px] text-[var(--adaptive-black500)]", children: onboarding.roleStepTabsHint }), _jsxs("div", { className: "flex items-center justify-between", children: [_jsx("button", { type: "button", onClick: () => setStep("intro"), className: PANEL_GATE_BACK_BUTTON_CLASS, children: onboarding.back }), _jsx("button", { type: "button", disabled: !canProceedFromRoleStep, onClick: () => setStep("appearance"), className: PANEL_GATE_PRIMARY_BUTTON_CLASS, children: onboarding.next })] })] })) : step === "appearance" ? (_jsxs(_Fragment, { children: [_jsxs("div", { children: [_jsx("h6", { className: PANEL_GATE_TITLE_CLASS, children: onboarding.appearanceStepTitle }), _jsx("p", { className: PANEL_GATE_DESCRIPTION_CLASS, children: onboarding.appearanceStepDescription })] }), _jsx(AppearanceThemePicker, { options: appearanceOptions, value: panelAppearance, onChange: setPanelAppearance, ariaLabel: messages.moreMenu.panelThemeAriaLabel }), _jsxs("div", { className: "flex items-center justify-between", children: [_jsx("button", { type: "button", onClick: () => setStep("role"), className: PANEL_GATE_BACK_BUTTON_CLASS, children: onboarding.back }), _jsx("button", { type: "button", onClick: () => setStep("display"), className: PANEL_GATE_PRIMARY_BUTTON_CLASS, children: onboarding.next })] })] })) : step === "display" ? (_jsxs(_Fragment, { children: [_jsxs("div", { children: [_jsx("h6", { className: PANEL_GATE_TITLE_CLASS, children: onboarding.displayStepTitle }), _jsx("p", { className: PANEL_GATE_DESCRIPTION_CLASS, children: onboarding.displayStepDescription })] }), _jsx(MarkerSizePreview, { size: markerAppearance.size, fontSize: typography.fontSize, shape: markerAppearance.shape, color: markerAppearance.colors.open, fontFamily: typography.fontFamily, ariaLabel: onboarding.displayPreviewAriaLabel }), _jsx(PanelMarkerDisplayControls, { markerSize: markerAppearance.size, fontSize: typography.fontSize, onMarkerSizeChange: setMarkerSize, onFontSizeChange: setFontSize, scaleLabels: scaleLabels, markerFontSizeLabels: markerFontSizeLabels, markerSizeLabel: messages.settings.markerSize, markerFontSizeLabel: messages.settings.markerFontSize, markerSizeAriaLabel: messages.settings.markerSizeAriaLabel, markerFontSizeAriaLabel: messages.settings.markerFontSizeAriaLabel }), _jsxs("div", { className: "flex items-center justify-between", children: [_jsx("button", { type: "button", onClick: () => setStep("appearance"), className: PANEL_GATE_BACK_BUTTON_CLASS, children: onboarding.back }), _jsx("button", { type: "button", onClick: () => setStep("key"), className: PANEL_GATE_PRIMARY_BUTTON_CLASS, children: onboarding.next })] })] })) : (_jsxs(_Fragment, { children: [_jsxs("div", { children: [_jsx("h6", { className: PANEL_GATE_TITLE_CLASS, children: onboarding.keyStepTitle }), _jsx("p", { className: PANEL_GATE_DESCRIPTION_CLASS, children: onboarding.keyStepDescription })] }), _jsx("input", { autoFocus: true, value: name, onChange: (event) => setName(event.target.value), placeholder: onboarding.namePlaceholder, className: "w-full rounded-[8px] border border-[var(--adaptive-border-subtle)] bg-[var(--adaptive-surface)] px-[10px] py-[8px] text-[12px] text-[var(--adaptive-text-primary)] outline-none" }), hasDuplicateName ? _jsx("p", { className: "text-[12px] text-rose-700", children: onboarding.duplicateNameError }) : null, _jsxs("div", { className: "flex items-center justify-between", children: [_jsx("button", { type: "button", onClick: () => setStep("display"), className: PANEL_GATE_BACK_BUTTON_CLASS, children: onboarding.back }), _jsx("button", { type: "button", disabled: !trimmedName || isCreating || hasDuplicateName, onClick: () => void handleCreateKey(), className: PANEL_GATE_PRIMARY_BUTTON_CLASS, children: onboarding.createKey })] })] })) }));
140
+ }
141
+ //# sourceMappingURL=PanelOnboarding.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PanelOnboarding.js","sourceRoot":"","sources":["../../../src/components/panel/PanelOnboarding.tsx"],"names":[],"mappings":"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"}
@@ -9,6 +9,6 @@ type PanelOptionSwitchProps<T extends string> = {
9
9
  disabled?: boolean;
10
10
  ariaLabel?: string;
11
11
  };
12
- export declare function PanelOptionSwitch<T extends string>({ options, value, onChange, disabled, ariaLabel, }: PanelOptionSwitchProps<T>): import("react/jsx-runtime").JSX.Element;
12
+ export declare function PanelOptionSwitch<T extends string>({ options, value, onChange, disabled, ariaLabel, }: PanelOptionSwitchProps<T>): import("react").JSX.Element;
13
13
  export {};
14
14
  //# sourceMappingURL=PanelOptionSwitch.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PanelOptionSwitch.d.ts","sourceRoot":"","sources":["../../../src/components/panel/PanelOptionSwitch.tsx"],"names":[],"mappings":"AAAA,KAAK,uBAAuB,CAAC,CAAC,SAAS,MAAM,IAAI;IAC7C,KAAK,EAAE,CAAC,CAAC;IACT,KAAK,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,KAAK,sBAAsB,CAAC,CAAC,SAAS,MAAM,IAAI;IAC5C,OAAO,EAAE,SAAS,uBAAuB,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/C,KAAK,EAAE,CAAC,CAAC;IACT,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,MAAM,EAAE,EAChD,OAAO,EACP,KAAK,EACL,QAAQ,EACR,QAAgB,EAChB,SAAS,GACZ,EAAE,sBAAsB,CAAC,CAAC,CAAC,2CA8B3B"}
1
+ {"version":3,"file":"PanelOptionSwitch.d.ts","sourceRoot":"","sources":["../../../src/components/panel/PanelOptionSwitch.tsx"],"names":[],"mappings":"AAAA,KAAK,uBAAuB,CAAC,CAAC,SAAS,MAAM,IAAI;IAC7C,KAAK,EAAE,CAAC,CAAC;IACT,KAAK,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,KAAK,sBAAsB,CAAC,CAAC,SAAS,MAAM,IAAI;IAC5C,OAAO,EAAE,SAAS,uBAAuB,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/C,KAAK,EAAE,CAAC,CAAC;IACT,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,MAAM,EAAE,EAChD,OAAO,EACP,KAAK,EACL,QAAQ,EACR,QAAgB,EAChB,SAAS,GACZ,EAAE,sBAAsB,CAAC,CAAC,CAAC,+BA8B3B"}
@@ -0,0 +1,2 @@
1
+ export declare function PanelPresentationSwitch(): import("react").JSX.Element | null;
2
+ //# sourceMappingURL=PanelPresentationSwitch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PanelPresentationSwitch.d.ts","sourceRoot":"","sources":["../../../src/components/panel/PanelPresentationSwitch.tsx"],"names":[],"mappings":"AAOA,wBAAgB,uBAAuB,uCAsEtC"}
@@ -0,0 +1,41 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useState } from "react";
3
+ import { useReportPreferences, useReportSession } from "../../providers/reportContext.js";
4
+ import { ChevronDownIcon } from "../../components/icons/Icons.js";
5
+ import { HoverTooltip } from "../../components/ui/HoverTooltip.js";
6
+ import { formatPresentationViewerLabel } from "../../utils/report/reportTeam.js";
7
+ import { PanelDropdownMenu, PanelDropdownMenuItem } from "./PanelDropdownMenu.js";
8
+ export function PanelPresentationSwitch() {
9
+ const { isPresentationMode, presentationViewers, messages } = useReportPreferences();
10
+ const { presentationViewerId, setPresentationViewerId } = useReportSession();
11
+ const [open, setOpen] = useState(false);
12
+ if (!isPresentationMode || presentationViewers.length === 0) {
13
+ return null;
14
+ }
15
+ const activeViewer = presentationViewers.find((viewer) => viewer.id === presentationViewerId) ?? presentationViewers[0];
16
+ const activeLabel = activeViewer
17
+ ? activeViewer.isCreator
18
+ ? `${formatPresentationViewerLabel(activeViewer)} (${messages.author.creatorLabel})`
19
+ : formatPresentationViewerLabel(activeViewer)
20
+ : "";
21
+ const handleSelect = (viewerId) => {
22
+ void setPresentationViewerId(viewerId);
23
+ setOpen(false);
24
+ };
25
+ return (_jsx(PanelDropdownMenu, { open: open, onClose: () => setOpen(false), trigger: _jsx(HoverTooltip, { label: messages.panel.presentationSwitchAriaLabel, children: _jsxs("button", { type: "button", "aria-haspopup": "menu", "aria-expanded": open, "aria-label": messages.panel.presentationSwitchAriaLabel, onPointerDown: (event) => {
26
+ event.stopPropagation();
27
+ setOpen((current) => !current);
28
+ }, className: `flex h-[24px] shrink-0 items-center gap-[2px] rounded-[8px] px-[8px] text-[12px] font-semibold text-[var(--adaptive-black900)] ${open ? "bg-[var(--adaptive-black100)]" : "bg-[var(--adaptive-black300)]"}`, children: [_jsx("span", { className: "max-w-[96px] truncate", children: activeLabel }), _jsx(ChevronDownIcon, { className: `h-[14px] w-[14px] shrink-0 transition-transform ${open ? "rotate-180" : ""}` })] }) }), children: presentationViewers.map((viewer) => {
29
+ const label = viewer.isCreator
30
+ ? `${formatPresentationViewerLabel(viewer)} (${messages.author.creatorLabel})`
31
+ : formatPresentationViewerLabel(viewer);
32
+ const disabled = !viewer.privateKey;
33
+ return (_jsx(PanelDropdownMenuItem, { active: viewer.id === activeViewer?.id, disabled: disabled, onClick: () => {
34
+ if (disabled) {
35
+ return;
36
+ }
37
+ handleSelect(viewer.id);
38
+ }, children: label }, viewer.id));
39
+ }) }));
40
+ }
41
+ //# sourceMappingURL=PanelPresentationSwitch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PanelPresentationSwitch.js","sourceRoot":"","sources":["../../../src/components/panel/PanelPresentationSwitch.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function PanelProjectFooter(): import("react").JSX.Element;
2
+ //# sourceMappingURL=PanelProjectFooter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PanelProjectFooter.d.ts","sourceRoot":"","sources":["../../../src/components/panel/PanelProjectFooter.tsx"],"names":[],"mappings":"AAEA,wBAAgB,kBAAkB,gCA2DjC"}
@@ -0,0 +1,11 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useReportPreferences } from "../../providers/reportContext.js";
3
+ export function PanelProjectFooter() {
4
+ const { projectId, environment, appVersion, persistenceStatus, messages } = useReportPreferences();
5
+ const statusLabel = persistenceStatus.mode === "conflict" ? "conflict · localStorage" : persistenceStatus.mode;
6
+ return (_jsxs("footer", { className: "mt-auto flex shrink-0 justify-center gap-[8px] border-t border-[var(--adaptive-black200)] bg-[var(--adaptive-black100)] text-[12px] uppercase text-[var(--adaptive-black500)] rounded-b-[12px_12px]", children: [_jsx("p", { className: "py-[4px] font-[500] text-[var(--adaptive-black500)]", children: projectId }), _jsx("div", { className: "h-auto w-[1px] self-stretch bg-[var(--adaptive-black300)]" }), _jsx("p", { className: "py-[4px] font-[500] text-[var(--adaptive-black500)]", children: appVersion ?? "-" }), _jsx("div", { className: "h-auto w-[1px] self-stretch bg-[var(--adaptive-black300)]" }), _jsx("p", { className: "py-[4px] font-[500] text-[var(--adaptive-black500)]", children: environment ?? "-" }), _jsx("div", { className: "h-auto w-[1px] self-stretch bg-[var(--adaptive-black300)]" }), persistenceStatus.mode === "conflict" ? (_jsxs("details", { className: "group relative py-[4px] normal-case", children: [_jsx("summary", { className: "cursor-pointer font-[700] text-[#d97706]", "aria-label": messages.panel.persistenceStatusAriaLabel, children: statusLabel }), _jsxs("div", { className: "absolute right-0 bottom-full z-[30] mb-[6px] w-[300px] rounded-[10px] border border-[#f59e0b] bg-[var(--adaptive-black50)] p-[12px] text-left normal-case shadow-[0_12px_32px_rgba(15,23,42,0.24)]", children: [_jsx("p", { className: "text-[12px] font-[700] text-[var(--adaptive-black900)]", children: messages.panel.persistenceConflictTitle }), _jsx("p", { className: "mt-[4px] text-[11px] leading-[1.5] text-[var(--adaptive-black600)]", children: messages.panel.persistenceConflictDescription }), _jsx("p", { className: "mt-[10px] text-[11px] font-[700] text-[var(--adaptive-black700)]", children: messages.panel.persistenceRequiredForApi }), _jsx("ul", { className: "mt-[4px] space-y-[2px] font-mono text-[11px] text-[var(--adaptive-black700)]", children: ["onList", "onCreate", "onUpdate"].map((handlerName) => {
7
+ const missing = persistenceStatus.missingHandlers.includes(handlerName);
8
+ return (_jsxs("li", { className: missing ? "text-[#dc2626]" : "text-[#15803d]", children: [missing ? "✕" : "✓", " ", handlerName] }, handlerName));
9
+ }) }), _jsx("p", { className: "mt-[10px] text-[11px] font-[700] text-[var(--adaptive-black700)]", children: messages.panel.persistenceProvidedButIgnored }), _jsx("p", { className: "mt-[4px] break-words font-mono text-[11px] text-[var(--adaptive-black600)]", children: persistenceStatus.ignoredHandlers.join(", ") }), _jsx("p", { className: "mt-[10px] border-t border-[var(--adaptive-black200)] pt-[8px] text-[11px] leading-[1.5] text-[var(--adaptive-black600)]", children: messages.panel.persistenceConflictFix })] })] })) : (_jsx("p", { className: "py-[4px] font-[700] normal-case text-[var(--adaptive-black600)]", children: statusLabel }))] }));
10
+ }
11
+ //# sourceMappingURL=PanelProjectFooter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PanelProjectFooter.js","sourceRoot":"","sources":["../../../src/components/panel/PanelProjectFooter.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAEpE,MAAM,UAAU,kBAAkB;IAC9B,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,iBAAiB,EAAE,QAAQ,EAAE,GAAG,oBAAoB,EAAE,CAAC;IACnG,MAAM,WAAW,GAAG,iBAAiB,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC;IAE/G,OAAO,CACH,kBAAQ,SAAS,EAAC,qMAAqM,aACnN,YAAG,SAAS,EAAC,qDAAqD,YAAE,SAAS,GAAK,EAClF,cAAK,SAAS,EAAC,2DAA2D,GAAG,EAC7E,YAAG,SAAS,EAAC,qDAAqD,YAAE,UAAU,IAAI,GAAG,GAAK,EAC1F,cAAK,SAAS,EAAC,2DAA2D,GAAG,EAC7E,YAAG,SAAS,EAAC,qDAAqD,YAAE,WAAW,IAAI,GAAG,GAAK,EAC3F,cAAK,SAAS,EAAC,2DAA2D,GAAG,EAC5E,iBAAiB,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,CACrC,mBAAS,SAAS,EAAC,qCAAqC,aACpD,kBACI,SAAS,EAAC,0CAA0C,gBACxC,QAAQ,CAAC,KAAK,CAAC,0BAA0B,YAEpD,WAAW,GACN,EACV,eAAK,SAAS,EAAC,oMAAoM,aAC/M,YAAG,SAAS,EAAC,wDAAwD,YAChE,QAAQ,CAAC,KAAK,CAAC,wBAAwB,GACxC,EACJ,YAAG,SAAS,EAAC,oEAAoE,YAC5E,QAAQ,CAAC,KAAK,CAAC,8BAA8B,GAC9C,EAEJ,YAAG,SAAS,EAAC,kEAAkE,YAC1E,QAAQ,CAAC,KAAK,CAAC,yBAAyB,GACzC,EACJ,aAAI,SAAS,EAAC,8EAA8E,YACtF,CAAC,QAAQ,EAAE,UAAU,EAAE,UAAU,CAAW,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE;oCAC/D,MAAM,OAAO,GAAG,iBAAiB,CAAC,eAAe,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;oCAExE,OAAO,CACH,cAAsB,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,aACzE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,OAAG,WAAW,KAD7B,WAAW,CAEf,CACR,CAAC;gCACN,CAAC,CAAC,GACD,EAEL,YAAG,SAAS,EAAC,kEAAkE,YAC1E,QAAQ,CAAC,KAAK,CAAC,6BAA6B,GAC7C,EACJ,YAAG,SAAS,EAAC,4EAA4E,YACpF,iBAAiB,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,GAC7C,EACJ,YAAG,SAAS,EAAC,yHAAyH,YACjI,QAAQ,CAAC,KAAK,CAAC,sBAAsB,GACtC,IACF,IACA,CACb,CAAC,CAAC,CAAC,CACA,YAAG,SAAS,EAAC,iEAAiE,YAAE,WAAW,GAAK,CACnG,IACI,CACZ,CAAC;AACN,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function PanelRoleSwitch(): import("react").JSX.Element;
2
+ //# sourceMappingURL=PanelRoleSwitch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PanelRoleSwitch.d.ts","sourceRoot":"","sources":["../../../src/components/panel/PanelRoleSwitch.tsx"],"names":[],"mappings":"AAOA,wBAAgB,eAAe,gCA+C9B"}
@@ -0,0 +1,21 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useState } from "react";
3
+ import { PANEL_ROLE_VALUES } from "../../constants/panelRole.js";
4
+ import { useReportPreferences } from "../../providers/reportContext.js";
5
+ import { ChevronDownIcon } from "../../components/icons/Icons.js";
6
+ import { HoverTooltip } from "../../components/ui/HoverTooltip.js";
7
+ import { PanelDropdownMenu, PanelDropdownMenuItem } from "./PanelDropdownMenu.js";
8
+ export function PanelRoleSwitch() {
9
+ const { panelRole, setPanelRole, messages } = useReportPreferences();
10
+ const [open, setOpen] = useState(false);
11
+ const roleLabels = messages.panel.roles;
12
+ const handleSelect = (role) => {
13
+ setPanelRole(role);
14
+ setOpen(false);
15
+ };
16
+ return (_jsx(PanelDropdownMenu, { open: open, onClose: () => setOpen(false), trigger: _jsx(HoverTooltip, { label: messages.panel.roleSwitchAriaLabel, className: "h-full", children: _jsxs("button", { type: "button", "aria-haspopup": "menu", "aria-expanded": open, "aria-label": messages.panel.roleSwitchAriaLabel, onPointerDown: (event) => {
17
+ event.stopPropagation();
18
+ setOpen((current) => !current);
19
+ }, className: `flex h-full shrink-0 items-center gap-[2px] px-[8px] text-[12px] font-semibold ${open ? "hover:bg-[#bc3110] bg-[#f6562f]" : "hover:bg-[var(--adaptive-black50)]"}`, children: [_jsx("span", { className: `${open ? "text-[var(--adaptive-black50)]" : "text-[var(--adaptive-black900)]"} max-w-[72px] truncate`, children: roleLabels[panelRole] }), _jsx(ChevronDownIcon, { className: `h-[14px] w-[14px] shrink-0 transition-transform ${open ? "rotate-180" : ""}` })] }) }), children: PANEL_ROLE_VALUES.map((role) => (_jsx(PanelDropdownMenuItem, { active: role === panelRole, onClick: () => handleSelect(role), children: roleLabels[role] }, role))) }));
20
+ }
21
+ //# sourceMappingURL=PanelRoleSwitch.js.map