@fivepixels-js/react 0.1.7 → 0.2.0

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 (667) hide show
  1. package/README.md +56 -3
  2. package/dist/components/icons/Icons.d.ts +34 -0
  3. package/dist/components/icons/Icons.d.ts.map +1 -1
  4. package/dist/components/icons/Icons.js +67 -13
  5. package/dist/components/icons/Icons.js.map +1 -1
  6. package/dist/components/icons/ProbeLayoutIcons.d.ts +16 -0
  7. package/dist/components/icons/ProbeLayoutIcons.d.ts.map +1 -0
  8. package/dist/components/icons/ProbeLayoutIcons.js +62 -0
  9. package/dist/components/icons/ProbeLayoutIcons.js.map +1 -0
  10. package/dist/components/overlay/PickTargetCompareChip.d.ts +7 -0
  11. package/dist/components/overlay/PickTargetCompareChip.d.ts.map +1 -0
  12. package/dist/components/overlay/PickTargetCompareChip.js +35 -0
  13. package/dist/components/overlay/PickTargetCompareChip.js.map +1 -0
  14. package/dist/components/overlay/PickTargetCompareSegment.d.ts +12 -0
  15. package/dist/components/overlay/PickTargetCompareSegment.d.ts.map +1 -0
  16. package/dist/components/overlay/PickTargetCompareSegment.js +17 -0
  17. package/dist/components/overlay/PickTargetCompareSegment.js.map +1 -0
  18. package/dist/components/overlay/PickTargetContextMenu.d.ts +8 -0
  19. package/dist/components/overlay/PickTargetContextMenu.d.ts.map +1 -0
  20. package/dist/components/overlay/PickTargetContextMenu.js +30 -0
  21. package/dist/components/overlay/PickTargetContextMenu.js.map +1 -0
  22. package/dist/components/overlay/PickTargetHoverTooltip.d.ts +7 -0
  23. package/dist/components/overlay/PickTargetHoverTooltip.d.ts.map +1 -0
  24. package/dist/components/overlay/PickTargetHoverTooltip.js +69 -0
  25. package/dist/components/overlay/PickTargetHoverTooltip.js.map +1 -0
  26. package/dist/components/overlay/PickTargetProbePanel.d.ts +2 -0
  27. package/dist/components/overlay/PickTargetProbePanel.d.ts.map +1 -0
  28. package/dist/components/overlay/PickTargetProbePanel.js +106 -0
  29. package/dist/components/overlay/PickTargetProbePanel.js.map +1 -0
  30. package/dist/components/overlay/PickTargetSavedBadges.d.ts +2 -0
  31. package/dist/components/overlay/PickTargetSavedBadges.d.ts.map +1 -0
  32. package/dist/components/overlay/PickTargetSavedBadges.js +63 -0
  33. package/dist/components/overlay/PickTargetSavedBadges.js.map +1 -0
  34. package/dist/components/overlay/ProbeLayoutControls.d.ts +11 -0
  35. package/dist/components/overlay/ProbeLayoutControls.d.ts.map +1 -0
  36. package/dist/components/overlay/ProbeLayoutControls.js +82 -0
  37. package/dist/components/overlay/ProbeLayoutControls.js.map +1 -0
  38. package/dist/components/overlay/ReportOverlayLayer.d.ts.map +1 -1
  39. package/dist/components/overlay/ReportOverlayLayer.js +16 -2
  40. package/dist/components/overlay/ReportOverlayLayer.js.map +1 -1
  41. package/dist/components/overlay/TargetHighlights.d.ts +7 -2
  42. package/dist/components/overlay/TargetHighlights.d.ts.map +1 -1
  43. package/dist/components/overlay/TargetHighlights.js +18 -14
  44. package/dist/components/overlay/TargetHighlights.js.map +1 -1
  45. package/dist/components/panel/AppearanceThemePicker.d.ts +15 -0
  46. package/dist/components/panel/AppearanceThemePicker.d.ts.map +1 -0
  47. package/dist/components/panel/AppearanceThemePicker.js +30 -0
  48. package/dist/components/panel/AppearanceThemePicker.js.map +1 -0
  49. package/dist/components/panel/DiscreteScaleDial.d.ts +10 -0
  50. package/dist/components/panel/DiscreteScaleDial.d.ts.map +1 -0
  51. package/dist/components/panel/DiscreteScaleDial.js +14 -0
  52. package/dist/components/panel/DiscreteScaleDial.js.map +1 -0
  53. package/dist/components/panel/DraftProbeSummaryBanner.d.ts +2 -0
  54. package/dist/components/panel/DraftProbeSummaryBanner.d.ts.map +1 -0
  55. package/dist/components/panel/DraftProbeSummaryBanner.js +10 -0
  56. package/dist/components/panel/DraftProbeSummaryBanner.js.map +1 -0
  57. package/dist/components/panel/FeedbackActivityHeatmap.d.ts +2 -0
  58. package/dist/components/panel/FeedbackActivityHeatmap.d.ts.map +1 -0
  59. package/dist/components/panel/FeedbackActivityHeatmap.js +172 -0
  60. package/dist/components/panel/FeedbackActivityHeatmap.js.map +1 -0
  61. package/dist/components/panel/HexColorField.d.ts +9 -0
  62. package/dist/components/panel/HexColorField.d.ts.map +1 -0
  63. package/dist/components/panel/HexColorField.js +23 -0
  64. package/dist/components/panel/HexColorField.js.map +1 -0
  65. package/dist/components/panel/MarkerShapePicker.d.ts +10 -0
  66. package/dist/components/panel/MarkerShapePicker.d.ts.map +1 -0
  67. package/dist/components/panel/MarkerShapePicker.js +26 -0
  68. package/dist/components/panel/MarkerShapePicker.js.map +1 -0
  69. package/dist/components/panel/PanelDropdownMenu.d.ts.map +1 -1
  70. package/dist/components/panel/PanelDropdownMenu.js +25 -14
  71. package/dist/components/panel/PanelDropdownMenu.js.map +1 -1
  72. package/dist/components/panel/PanelKeyGate.d.ts +7 -0
  73. package/dist/components/panel/PanelKeyGate.d.ts.map +1 -0
  74. package/dist/components/panel/PanelKeyGate.js +38 -0
  75. package/dist/components/panel/PanelKeyGate.js.map +1 -0
  76. package/dist/components/panel/PanelOnboarding.d.ts +2 -0
  77. package/dist/components/panel/PanelOnboarding.d.ts.map +1 -0
  78. package/dist/components/panel/PanelOnboarding.js +115 -0
  79. package/dist/components/panel/PanelOnboarding.js.map +1 -0
  80. package/dist/components/panel/PanelPresentationSwitch.d.ts +2 -0
  81. package/dist/components/panel/PanelPresentationSwitch.d.ts.map +1 -0
  82. package/dist/components/panel/PanelPresentationSwitch.js +40 -0
  83. package/dist/components/panel/PanelPresentationSwitch.js.map +1 -0
  84. package/dist/components/panel/PanelProjectFooter.d.ts +2 -0
  85. package/dist/components/panel/PanelProjectFooter.d.ts.map +1 -0
  86. package/dist/components/panel/PanelProjectFooter.js +7 -0
  87. package/dist/components/panel/PanelProjectFooter.js.map +1 -0
  88. package/dist/components/panel/PanelRoleSwitch.d.ts +2 -0
  89. package/dist/components/panel/PanelRoleSwitch.d.ts.map +1 -0
  90. package/dist/components/panel/PanelRoleSwitch.js +21 -0
  91. package/dist/components/panel/PanelRoleSwitch.js.map +1 -0
  92. package/dist/components/panel/PanelSettings.d.ts +21 -0
  93. package/dist/components/panel/PanelSettings.d.ts.map +1 -0
  94. package/dist/components/panel/PanelSettings.js +103 -0
  95. package/dist/components/panel/PanelSettings.js.map +1 -0
  96. package/dist/components/panel/PanelTabSelector.d.ts +13 -0
  97. package/dist/components/panel/PanelTabSelector.d.ts.map +1 -0
  98. package/dist/components/panel/PanelTabSelector.js +44 -0
  99. package/dist/components/panel/PanelTabSelector.js.map +1 -0
  100. package/dist/components/panel/ProbeEditModeBanner.d.ts +2 -0
  101. package/dist/components/panel/ProbeEditModeBanner.d.ts.map +1 -0
  102. package/dist/components/panel/ProbeEditModeBanner.js +22 -0
  103. package/dist/components/panel/ProbeEditModeBanner.js.map +1 -0
  104. package/dist/components/panel/ReportAuthDiagnostics.d.ts +2 -0
  105. package/dist/components/panel/ReportAuthDiagnostics.d.ts.map +1 -0
  106. package/dist/components/panel/ReportAuthDiagnostics.js +67 -0
  107. package/dist/components/panel/ReportAuthDiagnostics.js.map +1 -0
  108. package/dist/components/panel/ReportCommandPanel.js +1 -1
  109. package/dist/components/panel/ReportCommandPanel.js.map +1 -1
  110. package/dist/components/panel/ReportCommandReplaceConfirmDialog.d.ts.map +1 -1
  111. package/dist/components/panel/ReportCommandReplaceConfirmDialog.js +2 -1
  112. package/dist/components/panel/ReportCommandReplaceConfirmDialog.js.map +1 -1
  113. package/dist/components/panel/ReportControlPanel.d.ts.map +1 -1
  114. package/dist/components/panel/ReportControlPanel.js +62 -46
  115. package/dist/components/panel/ReportControlPanel.js.map +1 -1
  116. package/dist/components/panel/ReportDraftForm.d.ts.map +1 -1
  117. package/dist/components/panel/ReportDraftForm.js +41 -16
  118. package/dist/components/panel/ReportDraftForm.js.map +1 -1
  119. package/dist/components/panel/ReportFeedbackList.d.ts.map +1 -1
  120. package/dist/components/panel/ReportFeedbackList.js +46 -105
  121. package/dist/components/panel/ReportFeedbackList.js.map +1 -1
  122. package/dist/components/panel/ReportOverview.d.ts +2 -0
  123. package/dist/components/panel/ReportOverview.d.ts.map +1 -0
  124. package/dist/components/panel/ReportOverview.js +6 -0
  125. package/dist/components/panel/ReportOverview.js.map +1 -0
  126. package/dist/components/panel/ReportPersonalKeyDialog.js +2 -2
  127. package/dist/components/panel/ReportPersonalKeyDialog.js.map +1 -1
  128. package/dist/components/panel/ReportRouteDetails.d.ts.map +1 -1
  129. package/dist/components/panel/ReportRouteDetails.js +23 -11
  130. package/dist/components/panel/ReportRouteDetails.js.map +1 -1
  131. package/dist/components/panel/RouteDetailsTimeline.d.ts +13 -0
  132. package/dist/components/panel/RouteDetailsTimeline.d.ts.map +1 -0
  133. package/dist/components/panel/RouteDetailsTimeline.js +53 -0
  134. package/dist/components/panel/RouteDetailsTimeline.js.map +1 -0
  135. package/dist/components/panel/ThemePreviewSkeleton.d.ts +7 -0
  136. package/dist/components/panel/ThemePreviewSkeleton.d.ts.map +1 -0
  137. package/dist/components/panel/ThemePreviewSkeleton.js +25 -0
  138. package/dist/components/panel/ThemePreviewSkeleton.js.map +1 -0
  139. package/dist/components/panel/experimental/ExperimentalFeedbackRow.d.ts +8 -0
  140. package/dist/components/panel/experimental/ExperimentalFeedbackRow.d.ts.map +1 -0
  141. package/dist/components/panel/experimental/ExperimentalFeedbackRow.js +13 -0
  142. package/dist/components/panel/experimental/ExperimentalFeedbackRow.js.map +1 -0
  143. package/dist/components/panel/experimental/ReportMyTasksPanel.d.ts +2 -0
  144. package/dist/components/panel/experimental/ReportMyTasksPanel.d.ts.map +1 -0
  145. package/dist/components/panel/experimental/ReportMyTasksPanel.js +16 -0
  146. package/dist/components/panel/experimental/ReportMyTasksPanel.js.map +1 -0
  147. package/dist/components/panel/experimental/ReportNeedsAttentionPanel.d.ts +2 -0
  148. package/dist/components/panel/experimental/ReportNeedsAttentionPanel.d.ts.map +1 -0
  149. package/dist/components/panel/experimental/ReportNeedsAttentionPanel.js +16 -0
  150. package/dist/components/panel/experimental/ReportNeedsAttentionPanel.js.map +1 -0
  151. package/dist/components/panel/experimental/ReportPageBriefPanel.d.ts +2 -0
  152. package/dist/components/panel/experimental/ReportPageBriefPanel.d.ts.map +1 -0
  153. package/dist/components/panel/experimental/ReportPageBriefPanel.js +15 -0
  154. package/dist/components/panel/experimental/ReportPageBriefPanel.js.map +1 -0
  155. package/dist/components/panel/experimental/ReportProjectHealthPanel.d.ts +2 -0
  156. package/dist/components/panel/experimental/ReportProjectHealthPanel.d.ts.map +1 -0
  157. package/dist/components/panel/experimental/ReportProjectHealthPanel.js +22 -0
  158. package/dist/components/panel/experimental/ReportProjectHealthPanel.js.map +1 -0
  159. package/dist/components/panel/experimental/ReportTodayDigestPanel.d.ts +2 -0
  160. package/dist/components/panel/experimental/ReportTodayDigestPanel.d.ts.map +1 -0
  161. package/dist/components/panel/experimental/ReportTodayDigestPanel.js +16 -0
  162. package/dist/components/panel/experimental/ReportTodayDigestPanel.js.map +1 -0
  163. package/dist/components/panel/feedback/AssigneeThreadEntry.d.ts +20 -0
  164. package/dist/components/panel/feedback/AssigneeThreadEntry.d.ts.map +1 -0
  165. package/dist/components/panel/feedback/AssigneeThreadEntry.js +23 -0
  166. package/dist/components/panel/feedback/AssigneeThreadEntry.js.map +1 -0
  167. package/dist/components/panel/feedback/CaseAssigneeInfo.d.ts +8 -0
  168. package/dist/components/panel/feedback/CaseAssigneeInfo.d.ts.map +1 -0
  169. package/dist/components/panel/feedback/CaseAssigneeInfo.js +20 -0
  170. package/dist/components/panel/feedback/CaseAssigneeInfo.js.map +1 -0
  171. package/dist/components/panel/feedback/ComposerFooterWarning.d.ts +6 -0
  172. package/dist/components/panel/feedback/ComposerFooterWarning.d.ts.map +1 -0
  173. package/dist/components/panel/feedback/ComposerFooterWarning.js +6 -0
  174. package/dist/components/panel/feedback/ComposerFooterWarning.js.map +1 -0
  175. package/dist/components/panel/feedback/FeedbackCaseEditor.d.ts +15 -0
  176. package/dist/components/panel/feedback/FeedbackCaseEditor.d.ts.map +1 -0
  177. package/dist/components/panel/feedback/FeedbackCaseEditor.js +111 -0
  178. package/dist/components/panel/feedback/FeedbackCaseEditor.js.map +1 -0
  179. package/dist/components/panel/feedback/FeedbackCaseList.d.ts +21 -0
  180. package/dist/components/panel/feedback/FeedbackCaseList.d.ts.map +1 -0
  181. package/dist/components/panel/feedback/FeedbackCaseList.js +48 -0
  182. package/dist/components/panel/feedback/FeedbackCaseList.js.map +1 -0
  183. package/dist/components/panel/feedback/FeedbackCaseTabBar.d.ts +34 -0
  184. package/dist/components/panel/feedback/FeedbackCaseTabBar.d.ts.map +1 -0
  185. package/dist/components/panel/feedback/FeedbackCaseTabBar.js +37 -0
  186. package/dist/components/panel/feedback/FeedbackCaseTabBar.js.map +1 -0
  187. package/dist/components/panel/feedback/FeedbackCategorySelector.d.ts +12 -0
  188. package/dist/components/panel/feedback/FeedbackCategorySelector.d.ts.map +1 -0
  189. package/dist/components/panel/feedback/FeedbackCategorySelector.js +25 -0
  190. package/dist/components/panel/feedback/FeedbackCategorySelector.js.map +1 -0
  191. package/dist/components/panel/feedback/FeedbackComposer.d.ts +20 -4
  192. package/dist/components/panel/feedback/FeedbackComposer.d.ts.map +1 -1
  193. package/dist/components/panel/feedback/FeedbackComposer.js +78 -11
  194. package/dist/components/panel/feedback/FeedbackComposer.js.map +1 -1
  195. package/dist/components/panel/feedback/FeedbackHoverCard.d.ts +1 -5
  196. package/dist/components/panel/feedback/FeedbackHoverCard.d.ts.map +1 -1
  197. package/dist/components/panel/feedback/FeedbackHoverCard.js +21 -14
  198. package/dist/components/panel/feedback/FeedbackHoverCard.js.map +1 -1
  199. package/dist/components/panel/feedback/FeedbackListItem.d.ts +17 -0
  200. package/dist/components/panel/feedback/FeedbackListItem.d.ts.map +1 -0
  201. package/dist/components/panel/feedback/FeedbackListItem.js +70 -0
  202. package/dist/components/panel/feedback/FeedbackListItem.js.map +1 -0
  203. package/dist/components/panel/feedback/FeedbackStatusBadge.d.ts +2 -1
  204. package/dist/components/panel/feedback/FeedbackStatusBadge.d.ts.map +1 -1
  205. package/dist/components/panel/feedback/FeedbackStatusBadge.js +2 -2
  206. package/dist/components/panel/feedback/FeedbackStatusBadge.js.map +1 -1
  207. package/dist/components/panel/feedback/FeedbackThread.d.ts +9 -3
  208. package/dist/components/panel/feedback/FeedbackThread.d.ts.map +1 -1
  209. package/dist/components/panel/feedback/FeedbackThread.js +155 -39
  210. package/dist/components/panel/feedback/FeedbackThread.js.map +1 -1
  211. package/dist/components/panel/feedback/PickTargetSnippet.d.ts +7 -0
  212. package/dist/components/panel/feedback/PickTargetSnippet.d.ts.map +1 -0
  213. package/dist/components/panel/feedback/PickTargetSnippet.js +30 -0
  214. package/dist/components/panel/feedback/PickTargetSnippet.js.map +1 -0
  215. package/dist/components/panel/feedback/QuestionThreadGroup.d.ts +9 -0
  216. package/dist/components/panel/feedback/QuestionThreadGroup.d.ts.map +1 -0
  217. package/dist/components/panel/feedback/QuestionThreadGroup.js +30 -0
  218. package/dist/components/panel/feedback/QuestionThreadGroup.js.map +1 -0
  219. package/dist/components/panel/feedback/ReplyHistoryControls.d.ts +8 -0
  220. package/dist/components/panel/feedback/ReplyHistoryControls.d.ts.map +1 -0
  221. package/dist/components/panel/feedback/ReplyHistoryControls.js +26 -0
  222. package/dist/components/panel/feedback/ReplyHistoryControls.js.map +1 -0
  223. package/dist/components/panel/feedback/ThreadAuthorMeta.d.ts +10 -0
  224. package/dist/components/panel/feedback/ThreadAuthorMeta.d.ts.map +1 -0
  225. package/dist/components/panel/feedback/ThreadAuthorMeta.js +9 -0
  226. package/dist/components/panel/feedback/ThreadAuthorMeta.js.map +1 -0
  227. package/dist/components/panel/feedback/ThreadChildReply.d.ts +8 -0
  228. package/dist/components/panel/feedback/ThreadChildReply.d.ts.map +1 -0
  229. package/dist/components/panel/feedback/ThreadChildReply.js +7 -0
  230. package/dist/components/panel/feedback/ThreadChildReply.js.map +1 -0
  231. package/dist/components/panel/feedback/ThreadTimelineRow.d.ts +11 -0
  232. package/dist/components/panel/feedback/ThreadTimelineRow.d.ts.map +1 -0
  233. package/dist/components/panel/feedback/ThreadTimelineRow.js +7 -0
  234. package/dist/components/panel/feedback/ThreadTimelineRow.js.map +1 -0
  235. package/dist/components/point/MarkerCaseSidebar.d.ts +9 -0
  236. package/dist/components/point/MarkerCaseSidebar.d.ts.map +1 -0
  237. package/dist/components/point/MarkerCaseSidebar.js +27 -0
  238. package/dist/components/point/MarkerCaseSidebar.js.map +1 -0
  239. package/dist/components/point/MarkerFeedbackWindow.d.ts +9 -0
  240. package/dist/components/point/MarkerFeedbackWindow.d.ts.map +1 -0
  241. package/dist/components/point/MarkerFeedbackWindow.js +257 -0
  242. package/dist/components/point/MarkerFeedbackWindow.js.map +1 -0
  243. package/dist/components/point/ReportDraftMarker.d.ts.map +1 -1
  244. package/dist/components/point/ReportDraftMarker.js +8 -17
  245. package/dist/components/point/ReportDraftMarker.js.map +1 -1
  246. package/dist/components/point/ReportMarkersLayer.d.ts.map +1 -1
  247. package/dist/components/point/ReportMarkersLayer.js +41 -95
  248. package/dist/components/point/ReportMarkersLayer.js.map +1 -1
  249. package/dist/components/report/FivePixels.d.ts +7 -28
  250. package/dist/components/report/FivePixels.d.ts.map +1 -1
  251. package/dist/components/report/FivePixels.js +3 -3
  252. package/dist/components/report/FivePixels.js.map +1 -1
  253. package/dist/components/report/ReportView.d.ts.map +1 -1
  254. package/dist/components/report/ReportView.js +5 -3
  255. package/dist/components/report/ReportView.js.map +1 -1
  256. package/dist/components/report/ShadowReportRoot.d.ts +2 -2
  257. package/dist/components/report/ShadowReportRoot.d.ts.map +1 -1
  258. package/dist/components/report/ShadowReportRoot.js +4 -7
  259. package/dist/components/report/ShadowReportRoot.js.map +1 -1
  260. package/dist/components/report/ThemeScope.d.ts +10 -0
  261. package/dist/components/report/ThemeScope.d.ts.map +1 -0
  262. package/dist/components/report/ThemeScope.js +5 -0
  263. package/dist/components/report/ThemeScope.js.map +1 -0
  264. package/dist/components/report/index.d.ts +4 -1
  265. package/dist/components/report/index.d.ts.map +1 -1
  266. package/dist/components/report/index.js +3 -0
  267. package/dist/components/report/index.js.map +1 -1
  268. package/dist/components/ui/CornerResizeGhost.d.ts +8 -0
  269. package/dist/components/ui/CornerResizeGhost.d.ts.map +1 -0
  270. package/dist/components/ui/CornerResizeGhost.js +5 -0
  271. package/dist/components/ui/CornerResizeGhost.js.map +1 -0
  272. package/dist/components/ui/CornerResizeHandle.d.ts +11 -0
  273. package/dist/components/ui/CornerResizeHandle.d.ts.map +1 -0
  274. package/dist/components/ui/CornerResizeHandle.js +32 -0
  275. package/dist/components/ui/CornerResizeHandle.js.map +1 -0
  276. package/dist/components/ui/HoverTooltip.d.ts +4 -2
  277. package/dist/components/ui/HoverTooltip.d.ts.map +1 -1
  278. package/dist/components/ui/HoverTooltip.js +28 -17
  279. package/dist/components/ui/HoverTooltip.js.map +1 -1
  280. package/dist/components/ui/IconTooltipButton.d.ts.map +1 -1
  281. package/dist/components/ui/IconTooltipButton.js +5 -2
  282. package/dist/components/ui/IconTooltipButton.js.map +1 -1
  283. package/dist/components/ui/PointerFollowTooltip.d.ts +14 -0
  284. package/dist/components/ui/PointerFollowTooltip.d.ts.map +1 -0
  285. package/dist/components/ui/PointerFollowTooltip.js +58 -0
  286. package/dist/components/ui/PointerFollowTooltip.js.map +1 -0
  287. package/dist/components/ui/ProcessingDots.d.ts +6 -0
  288. package/dist/components/ui/ProcessingDots.d.ts.map +1 -0
  289. package/dist/components/ui/ProcessingDots.js +19 -0
  290. package/dist/components/ui/ProcessingDots.js.map +1 -0
  291. package/dist/components/ui/Text/index.d.ts +6 -0
  292. package/dist/components/ui/Text/index.d.ts.map +1 -0
  293. package/dist/components/ui/Text/index.js +5 -0
  294. package/dist/components/ui/Text/index.js.map +1 -0
  295. package/dist/components/ui/Text/ui/Shimmer.d.ts +14 -0
  296. package/dist/components/ui/Text/ui/Shimmer.d.ts.map +1 -0
  297. package/dist/components/ui/Text/ui/Shimmer.js +41 -0
  298. package/dist/components/ui/Text/ui/Shimmer.js.map +1 -0
  299. package/dist/constants/appearance.d.ts +10 -0
  300. package/dist/constants/appearance.d.ts.map +1 -0
  301. package/dist/constants/appearance.js +10 -0
  302. package/dist/constants/appearance.js.map +1 -0
  303. package/dist/constants/feedbackCategory.d.ts +5 -0
  304. package/dist/constants/feedbackCategory.d.ts.map +1 -0
  305. package/dist/constants/feedbackCategory.js +5 -0
  306. package/dist/constants/feedbackCategory.js.map +1 -0
  307. package/dist/constants/feedbackStatus.d.ts +1 -1
  308. package/dist/constants/feedbackStatus.d.ts.map +1 -1
  309. package/dist/constants/feedbackStatus.js +20 -8
  310. package/dist/constants/feedbackStatus.js.map +1 -1
  311. package/dist/constants/feedbackStorageEvents.d.ts +3 -0
  312. package/dist/constants/feedbackStorageEvents.d.ts.map +1 -0
  313. package/dist/constants/feedbackStorageEvents.js +8 -0
  314. package/dist/constants/feedbackStorageEvents.js.map +1 -0
  315. package/dist/constants/markerAppearance.d.ts +35 -0
  316. package/dist/constants/markerAppearance.d.ts.map +1 -0
  317. package/dist/constants/markerAppearance.js +57 -0
  318. package/dist/constants/markerAppearance.js.map +1 -0
  319. package/dist/constants/panelRole.d.ts +5 -0
  320. package/dist/constants/panelRole.d.ts.map +1 -0
  321. package/dist/constants/panelRole.js +6 -0
  322. package/dist/constants/panelRole.js.map +1 -0
  323. package/dist/constants/panelTabPresets.d.ts +14 -0
  324. package/dist/constants/panelTabPresets.d.ts.map +1 -0
  325. package/dist/constants/panelTabPresets.js +48 -0
  326. package/dist/constants/panelTabPresets.js.map +1 -0
  327. package/dist/constants/panelTabRegistry.d.ts +23 -0
  328. package/dist/constants/panelTabRegistry.d.ts.map +1 -0
  329. package/dist/constants/panelTabRegistry.js +95 -0
  330. package/dist/constants/panelTabRegistry.js.map +1 -0
  331. package/dist/constants/replyHistory.d.ts +8 -0
  332. package/dist/constants/replyHistory.d.ts.map +1 -0
  333. package/dist/constants/replyHistory.js +15 -0
  334. package/dist/constants/replyHistory.js.map +1 -0
  335. package/dist/constants/report.d.ts +5 -0
  336. package/dist/constants/report.d.ts.map +1 -1
  337. package/dist/constants/report.js +5 -0
  338. package/dist/constants/report.js.map +1 -1
  339. package/dist/constants/storageKeys.d.ts +2 -0
  340. package/dist/constants/storageKeys.d.ts.map +1 -1
  341. package/dist/constants/storageKeys.js +4 -0
  342. package/dist/constants/storageKeys.js.map +1 -1
  343. package/dist/hooks/replyHistoryActions.d.ts +30 -0
  344. package/dist/hooks/replyHistoryActions.d.ts.map +1 -0
  345. package/dist/hooks/replyHistoryActions.js +278 -0
  346. package/dist/hooks/replyHistoryActions.js.map +1 -0
  347. package/dist/hooks/report.api.d.ts +3 -1
  348. package/dist/hooks/report.api.d.ts.map +1 -1
  349. package/dist/hooks/report.api.js +27 -4
  350. package/dist/hooks/report.api.js.map +1 -1
  351. package/dist/hooks/report.query.d.ts +1 -1
  352. package/dist/hooks/report.query.d.ts.map +1 -1
  353. package/dist/hooks/report.query.js +3 -2
  354. package/dist/hooks/report.query.js.map +1 -1
  355. package/dist/hooks/useActivitySummary.d.ts +13 -0
  356. package/dist/hooks/useActivitySummary.d.ts.map +1 -0
  357. package/dist/hooks/useActivitySummary.js +41 -0
  358. package/dist/hooks/useActivitySummary.js.map +1 -0
  359. package/dist/hooks/useAppearancePreference.d.ts +1 -1
  360. package/dist/hooks/useAppearancePreference.d.ts.map +1 -1
  361. package/dist/hooks/useAppearancePreference.js +14 -11
  362. package/dist/hooks/useAppearancePreference.js.map +1 -1
  363. package/dist/hooks/useDraggableWindow.d.ts +17 -0
  364. package/dist/hooks/useDraggableWindow.d.ts.map +1 -0
  365. package/dist/hooks/useDraggableWindow.js +104 -0
  366. package/dist/hooks/useDraggableWindow.js.map +1 -0
  367. package/dist/hooks/useGhostCornerResize.d.ts +36 -0
  368. package/dist/hooks/useGhostCornerResize.d.ts.map +1 -0
  369. package/dist/hooks/useGhostCornerResize.js +161 -0
  370. package/dist/hooks/useGhostCornerResize.js.map +1 -0
  371. package/dist/hooks/useMarkerAppearancePreference.d.ts +10 -0
  372. package/dist/hooks/useMarkerAppearancePreference.d.ts.map +1 -0
  373. package/dist/hooks/useMarkerAppearancePreference.js +94 -0
  374. package/dist/hooks/useMarkerAppearancePreference.js.map +1 -0
  375. package/dist/hooks/useMarkerTargetPreviewPreference.d.ts +6 -0
  376. package/dist/hooks/useMarkerTargetPreviewPreference.d.ts.map +1 -0
  377. package/dist/hooks/useMarkerTargetPreviewPreference.js +41 -0
  378. package/dist/hooks/useMarkerTargetPreviewPreference.js.map +1 -0
  379. package/dist/hooks/usePanelBootstrap.d.ts +16 -0
  380. package/dist/hooks/usePanelBootstrap.d.ts.map +1 -0
  381. package/dist/hooks/usePanelBootstrap.js +46 -0
  382. package/dist/hooks/usePanelBootstrap.js.map +1 -0
  383. package/dist/hooks/usePanelDock.d.ts.map +1 -1
  384. package/dist/hooks/usePanelDock.js +40 -31
  385. package/dist/hooks/usePanelDock.js.map +1 -1
  386. package/dist/hooks/usePanelFeedbackTransfer.d.ts +3 -3
  387. package/dist/hooks/usePanelFeedbackTransfer.d.ts.map +1 -1
  388. package/dist/hooks/usePanelFeedbackTransfer.js +13 -13
  389. package/dist/hooks/usePanelFeedbackTransfer.js.map +1 -1
  390. package/dist/hooks/usePanelResize.d.ts +44 -0
  391. package/dist/hooks/usePanelResize.d.ts.map +1 -0
  392. package/dist/hooks/usePanelResize.js +234 -0
  393. package/dist/hooks/usePanelResize.js.map +1 -0
  394. package/dist/hooks/usePanelRolePreference.d.ts +6 -0
  395. package/dist/hooks/usePanelRolePreference.d.ts.map +1 -0
  396. package/dist/hooks/usePanelRolePreference.js +38 -0
  397. package/dist/hooks/usePanelRolePreference.js.map +1 -0
  398. package/dist/hooks/usePanelTabPreference.d.ts +13 -0
  399. package/dist/hooks/usePanelTabPreference.d.ts.map +1 -0
  400. package/dist/hooks/usePanelTabPreference.js +66 -0
  401. package/dist/hooks/usePanelTabPreference.js.map +1 -0
  402. package/dist/hooks/usePersonalKey.d.ts +18 -2
  403. package/dist/hooks/usePersonalKey.d.ts.map +1 -1
  404. package/dist/hooks/usePersonalKey.js +43 -16
  405. package/dist/hooks/usePersonalKey.js.map +1 -1
  406. package/dist/hooks/useQuestionThreadPreference.d.ts +6 -0
  407. package/dist/hooks/useQuestionThreadPreference.d.ts.map +1 -0
  408. package/dist/hooks/useQuestionThreadPreference.js +40 -0
  409. package/dist/hooks/useQuestionThreadPreference.js.map +1 -0
  410. package/dist/hooks/useReportPersistence.d.ts +26 -16
  411. package/dist/hooks/useReportPersistence.d.ts.map +1 -1
  412. package/dist/hooks/useReportPersistence.js +158 -58
  413. package/dist/hooks/useReportPersistence.js.map +1 -1
  414. package/dist/hooks/useReportShortcuts.d.ts +1 -1
  415. package/dist/hooks/useReportShortcuts.d.ts.map +1 -1
  416. package/dist/hooks/useReportShortcuts.js +8 -1
  417. package/dist/hooks/useReportShortcuts.js.map +1 -1
  418. package/dist/hooks/useReportState.d.ts +184 -31
  419. package/dist/hooks/useReportState.d.ts.map +1 -1
  420. package/dist/hooks/useReportState.js +1553 -161
  421. package/dist/hooks/useReportState.js.map +1 -1
  422. package/dist/hooks/useSelfProfile.d.ts +12 -0
  423. package/dist/hooks/useSelfProfile.d.ts.map +1 -0
  424. package/dist/hooks/useSelfProfile.js +65 -0
  425. package/dist/hooks/useSelfProfile.js.map +1 -0
  426. package/dist/hooks/useTooltipLayout.d.ts +5 -1
  427. package/dist/hooks/useTooltipLayout.d.ts.map +1 -1
  428. package/dist/hooks/useTooltipLayout.js +9 -4
  429. package/dist/hooks/useTooltipLayout.js.map +1 -1
  430. package/dist/hooks/useTooltipResize.d.ts +16 -0
  431. package/dist/hooks/useTooltipResize.d.ts.map +1 -0
  432. package/dist/hooks/useTooltipResize.js +27 -0
  433. package/dist/hooks/useTooltipResize.js.map +1 -0
  434. package/dist/hooks/useTypographyPreference.d.ts +8 -0
  435. package/dist/hooks/useTypographyPreference.d.ts.map +1 -0
  436. package/dist/hooks/useTypographyPreference.js +59 -0
  437. package/dist/hooks/useTypographyPreference.js.map +1 -0
  438. package/dist/i18n/en.d.ts.map +1 -1
  439. package/dist/i18n/en.js +403 -14
  440. package/dist/i18n/en.js.map +1 -1
  441. package/dist/i18n/ko.d.ts.map +1 -1
  442. package/dist/i18n/ko.js +404 -15
  443. package/dist/i18n/ko.js.map +1 -1
  444. package/dist/i18n/types.d.ts +383 -10
  445. package/dist/i18n/types.d.ts.map +1 -1
  446. package/dist/index.d.ts +0 -2
  447. package/dist/index.d.ts.map +1 -1
  448. package/dist/index.js +0 -1
  449. package/dist/index.js.map +1 -1
  450. package/dist/providers/ReportProvider.d.ts +7 -28
  451. package/dist/providers/ReportProvider.d.ts.map +1 -1
  452. package/dist/providers/ReportProvider.js +16 -8
  453. package/dist/providers/ReportProvider.js.map +1 -1
  454. package/dist/providers/reportContext.d.ts +324 -54
  455. package/dist/providers/reportContext.d.ts.map +1 -1
  456. package/dist/storage/local/localStorageAdapter.d.ts.map +1 -1
  457. package/dist/storage/local/localStorageAdapter.js +78 -9
  458. package/dist/storage/local/localStorageAdapter.js.map +1 -1
  459. package/dist/styles/reportStylesheet.d.ts +1 -1
  460. package/dist/styles/reportStylesheet.d.ts.map +1 -1
  461. package/dist/styles/reportStylesheet.js +1 -1
  462. package/dist/styles/reportStylesheet.js.map +1 -1
  463. package/dist/types/report-ui.d.ts +87 -5
  464. package/dist/types/report-ui.d.ts.map +1 -1
  465. package/dist/types/report.d.ts +147 -20
  466. package/dist/types/report.d.ts.map +1 -1
  467. package/dist/types/report.js.map +1 -1
  468. package/dist/utils/coordinates.d.ts +16 -1
  469. package/dist/utils/coordinates.d.ts.map +1 -1
  470. package/dist/utils/coordinates.js +66 -37
  471. package/dist/utils/coordinates.js.map +1 -1
  472. package/dist/utils/cssStepper.d.ts +6 -0
  473. package/dist/utils/cssStepper.d.ts.map +1 -0
  474. package/dist/utils/cssStepper.js +40 -0
  475. package/dist/utils/cssStepper.js.map +1 -0
  476. package/dist/utils/dom.d.ts +6 -0
  477. package/dist/utils/dom.d.ts.map +1 -1
  478. package/dist/utils/dom.js +139 -4
  479. package/dist/utils/dom.js.map +1 -1
  480. package/dist/utils/experimentalPanelTabs.d.ts +29 -0
  481. package/dist/utils/experimentalPanelTabs.d.ts.map +1 -0
  482. package/dist/utils/experimentalPanelTabs.js +113 -0
  483. package/dist/utils/experimentalPanelTabs.js.map +1 -0
  484. package/dist/utils/feedbackCaseId.d.ts +7 -0
  485. package/dist/utils/feedbackCaseId.d.ts.map +1 -0
  486. package/dist/utils/feedbackCaseId.js +44 -0
  487. package/dist/utils/feedbackCaseId.js.map +1 -0
  488. package/dist/utils/feedbackDataTransfer.d.ts +4 -0
  489. package/dist/utils/feedbackDataTransfer.d.ts.map +1 -1
  490. package/dist/utils/feedbackDataTransfer.js +70 -0
  491. package/dist/utils/feedbackDataTransfer.js.map +1 -1
  492. package/dist/utils/feedbackDeepLink.d.ts +11 -0
  493. package/dist/utils/feedbackDeepLink.d.ts.map +1 -0
  494. package/dist/utils/feedbackDeepLink.js +35 -0
  495. package/dist/utils/feedbackDeepLink.js.map +1 -0
  496. package/dist/utils/feedbackListStatus.d.ts +4 -0
  497. package/dist/utils/feedbackListStatus.d.ts.map +1 -0
  498. package/dist/utils/feedbackListStatus.js +19 -0
  499. package/dist/utils/feedbackListStatus.js.map +1 -0
  500. package/dist/utils/feedbackThread.d.ts +61 -2
  501. package/dist/utils/feedbackThread.d.ts.map +1 -1
  502. package/dist/utils/feedbackThread.js +325 -10
  503. package/dist/utils/feedbackThread.js.map +1 -1
  504. package/dist/utils/fields.d.ts +3 -2
  505. package/dist/utils/fields.d.ts.map +1 -1
  506. package/dist/utils/fields.js +9 -4
  507. package/dist/utils/fields.js.map +1 -1
  508. package/dist/utils/format.d.ts +1 -0
  509. package/dist/utils/format.d.ts.map +1 -1
  510. package/dist/utils/format.js +6 -0
  511. package/dist/utils/format.js.map +1 -1
  512. package/dist/utils/githubIntegration.d.ts +1 -0
  513. package/dist/utils/githubIntegration.d.ts.map +1 -1
  514. package/dist/utils/githubIntegration.js +8 -2
  515. package/dist/utils/githubIntegration.js.map +1 -1
  516. package/dist/utils/heatmapActivity.d.ts +68 -0
  517. package/dist/utils/heatmapActivity.d.ts.map +1 -0
  518. package/dist/utils/heatmapActivity.js +280 -0
  519. package/dist/utils/heatmapActivity.js.map +1 -0
  520. package/dist/utils/hexColor.d.ts +7 -0
  521. package/dist/utils/hexColor.d.ts.map +1 -0
  522. package/dist/utils/hexColor.js +25 -0
  523. package/dist/utils/hexColor.js.map +1 -0
  524. package/dist/utils/hourlyCompareSparkline.d.ts +19 -0
  525. package/dist/utils/hourlyCompareSparkline.d.ts.map +1 -0
  526. package/dist/utils/hourlyCompareSparkline.js +65 -0
  527. package/dist/utils/hourlyCompareSparkline.js.map +1 -0
  528. package/dist/utils/locateFeedback.d.ts +3 -3
  529. package/dist/utils/locateFeedback.d.ts.map +1 -1
  530. package/dist/utils/locateFeedback.js +11 -3
  531. package/dist/utils/locateFeedback.js.map +1 -1
  532. package/dist/utils/markerContext.d.ts +3 -3
  533. package/dist/utils/markerContext.d.ts.map +1 -1
  534. package/dist/utils/markerContext.js +6 -5
  535. package/dist/utils/markerContext.js.map +1 -1
  536. package/dist/utils/markerRuntime.d.ts +5 -0
  537. package/dist/utils/markerRuntime.d.ts.map +1 -0
  538. package/dist/utils/markerRuntime.js +13 -0
  539. package/dist/utils/markerRuntime.js.map +1 -0
  540. package/dist/utils/markerShape.d.ts +13 -0
  541. package/dist/utils/markerShape.d.ts.map +1 -0
  542. package/dist/utils/markerShape.js +52 -0
  543. package/dist/utils/markerShape.js.map +1 -0
  544. package/dist/utils/markerTarget.d.ts +3 -0
  545. package/dist/utils/markerTarget.d.ts.map +1 -0
  546. package/dist/utils/markerTarget.js +16 -0
  547. package/dist/utils/markerTarget.js.map +1 -0
  548. package/dist/utils/panelBootstrap.d.ts +27 -0
  549. package/dist/utils/panelBootstrap.d.ts.map +1 -0
  550. package/dist/utils/panelBootstrap.js +95 -0
  551. package/dist/utils/panelBootstrap.js.map +1 -0
  552. package/dist/utils/panelRoleStats.d.ts +18 -0
  553. package/dist/utils/panelRoleStats.d.ts.map +1 -0
  554. package/dist/utils/panelRoleStats.js +77 -0
  555. package/dist/utils/panelRoleStats.js.map +1 -0
  556. package/dist/utils/panelTabPreference.d.ts +19 -0
  557. package/dist/utils/panelTabPreference.d.ts.map +1 -0
  558. package/dist/utils/panelTabPreference.js +76 -0
  559. package/dist/utils/panelTabPreference.js.map +1 -0
  560. package/dist/utils/pathname.d.ts +2 -0
  561. package/dist/utils/pathname.d.ts.map +1 -1
  562. package/dist/utils/pathname.js +10 -0
  563. package/dist/utils/pathname.js.map +1 -1
  564. package/dist/utils/personalKey.d.ts +7 -1
  565. package/dist/utils/personalKey.d.ts.map +1 -1
  566. package/dist/utils/personalKey.js +50 -2
  567. package/dist/utils/personalKey.js.map +1 -1
  568. package/dist/utils/pickProbe.d.ts +21 -0
  569. package/dist/utils/pickProbe.d.ts.map +1 -0
  570. package/dist/utils/pickProbe.js +285 -0
  571. package/dist/utils/pickProbe.js.map +1 -0
  572. package/dist/utils/pickProbeLayout.d.ts +16 -0
  573. package/dist/utils/pickProbeLayout.d.ts.map +1 -0
  574. package/dist/utils/pickProbeLayout.js +52 -0
  575. package/dist/utils/pickProbeLayout.js.map +1 -0
  576. package/dist/utils/pickProbeSession.d.ts +14 -0
  577. package/dist/utils/pickProbeSession.d.ts.map +1 -0
  578. package/dist/utils/pickProbeSession.js +134 -0
  579. package/dist/utils/pickProbeSession.js.map +1 -0
  580. package/dist/utils/pickTargetDeleteAnimation.d.ts +3 -0
  581. package/dist/utils/pickTargetDeleteAnimation.d.ts.map +1 -0
  582. package/dist/utils/pickTargetDeleteAnimation.js +29 -0
  583. package/dist/utils/pickTargetDeleteAnimation.js.map +1 -0
  584. package/dist/utils/pickTargetInspect.d.ts +12 -0
  585. package/dist/utils/pickTargetInspect.d.ts.map +1 -0
  586. package/dist/utils/pickTargetInspect.js +75 -0
  587. package/dist/utils/pickTargetInspect.js.map +1 -0
  588. package/dist/utils/probeColor.d.ts +6 -0
  589. package/dist/utils/probeColor.d.ts.map +1 -0
  590. package/dist/utils/probeColor.js +49 -0
  591. package/dist/utils/probeColor.js.map +1 -0
  592. package/dist/utils/probeLayout.d.ts +27 -0
  593. package/dist/utils/probeLayout.d.ts.map +1 -0
  594. package/dist/utils/probeLayout.js +86 -0
  595. package/dist/utils/probeLayout.js.map +1 -0
  596. package/dist/utils/probeSessionHistory.d.ts +8 -0
  597. package/dist/utils/probeSessionHistory.d.ts.map +1 -0
  598. package/dist/utils/probeSessionHistory.js +102 -0
  599. package/dist/utils/probeSessionHistory.js.map +1 -0
  600. package/dist/utils/replyHistory.d.ts +20 -0
  601. package/dist/utils/replyHistory.d.ts.map +1 -0
  602. package/dist/utils/replyHistory.js +82 -0
  603. package/dist/utils/replyHistory.js.map +1 -0
  604. package/dist/utils/reportCases.d.ts +54 -0
  605. package/dist/utils/reportCases.d.ts.map +1 -0
  606. package/dist/utils/reportCases.js +297 -0
  607. package/dist/utils/reportCases.js.map +1 -0
  608. package/dist/utils/reportPosition.d.ts +9 -0
  609. package/dist/utils/reportPosition.d.ts.map +1 -0
  610. package/dist/utils/reportPosition.js +18 -0
  611. package/dist/utils/reportPosition.js.map +1 -0
  612. package/dist/utils/reportProject.d.ts +1 -7
  613. package/dist/utils/reportProject.d.ts.map +1 -1
  614. package/dist/utils/reportProject.js +4 -4
  615. package/dist/utils/reportProject.js.map +1 -1
  616. package/dist/utils/reportSummary.d.ts +7 -0
  617. package/dist/utils/reportSummary.d.ts.map +1 -0
  618. package/dist/utils/reportSummary.js +49 -0
  619. package/dist/utils/reportSummary.js.map +1 -0
  620. package/dist/utils/reportTeam.d.ts +20 -5
  621. package/dist/utils/reportTeam.d.ts.map +1 -1
  622. package/dist/utils/reportTeam.js +60 -3
  623. package/dist/utils/reportTeam.js.map +1 -1
  624. package/dist/utils/reportUi.d.ts +10 -11
  625. package/dist/utils/reportUi.d.ts.map +1 -1
  626. package/dist/utils/reportUi.js +21 -6
  627. package/dist/utils/reportUi.js.map +1 -1
  628. package/dist/utils/reportVisibility.d.ts +1 -9
  629. package/dist/utils/reportVisibility.d.ts.map +1 -1
  630. package/dist/utils/reportVisibility.js +4 -4
  631. package/dist/utils/reportVisibility.js.map +1 -1
  632. package/dist/utils/reportVisual.d.ts +3 -1
  633. package/dist/utils/reportVisual.d.ts.map +1 -1
  634. package/dist/utils/reportVisual.js +17 -6
  635. package/dist/utils/reportVisual.js.map +1 -1
  636. package/dist/utils/routeDetailStatus.d.ts.map +1 -1
  637. package/dist/utils/routeDetailStatus.js +4 -1
  638. package/dist/utils/routeDetailStatus.js.map +1 -1
  639. package/dist/utils/storage.d.ts +3 -1
  640. package/dist/utils/storage.d.ts.map +1 -1
  641. package/dist/utils/storage.js +6 -2
  642. package/dist/utils/storage.js.map +1 -1
  643. package/dist/utils/targetSelector.d.ts +20 -0
  644. package/dist/utils/targetSelector.d.ts.map +1 -0
  645. package/dist/utils/targetSelector.js +123 -0
  646. package/dist/utils/targetSelector.js.map +1 -0
  647. package/dist/utils/validateFeedbackImport.d.ts +2 -1
  648. package/dist/utils/validateFeedbackImport.d.ts.map +1 -1
  649. package/dist/utils/validateFeedbackImport.js +114 -45
  650. package/dist/utils/validateFeedbackImport.js.map +1 -1
  651. package/package.json +78 -78
  652. package/dist/components/motion/index.d.ts +0 -48
  653. package/dist/components/motion/index.d.ts.map +0 -1
  654. package/dist/components/motion/index.js +0 -910
  655. package/dist/components/motion/index.js.map +0 -1
  656. package/dist/components/panel/PanelMoreMenu.d.ts +0 -20
  657. package/dist/components/panel/PanelMoreMenu.d.ts.map +0 -1
  658. package/dist/components/panel/PanelMoreMenu.js +0 -20
  659. package/dist/components/panel/PanelMoreMenu.js.map +0 -1
  660. package/dist/components/panel/feedback/FeedbackIssueHeader.d.ts +0 -12
  661. package/dist/components/panel/feedback/FeedbackIssueHeader.d.ts.map +0 -1
  662. package/dist/components/panel/feedback/FeedbackIssueHeader.js +0 -10
  663. package/dist/components/panel/feedback/FeedbackIssueHeader.js.map +0 -1
  664. package/dist/components/panel/feedback/FieldTagSelector.d.ts +0 -9
  665. package/dist/components/panel/feedback/FieldTagSelector.d.ts.map +0 -1
  666. package/dist/components/panel/feedback/FieldTagSelector.js +0 -15
  667. package/dist/components/panel/feedback/FieldTagSelector.js.map +0 -1
@@ -1,7 +1,15 @@
1
- import { jsxs as _jsxs, jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { TARGET_COLOR } from "../../constants/report.js";
3
- function highlightPresenceKey(type) {
4
- return `hover-${type}`;
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { FEEDBACK_HIGHLIGHT } from "../../constants/report.js";
3
+ import { PickTargetCompareChip } from "./PickTargetCompareChip.js";
4
+ import { PickTargetHoverTooltip } from "./PickTargetHoverTooltip.js";
5
+ const HOVER_HIGHLIGHT_KEY = "hover-active";
6
+ const SELECTION_HIGHLIGHT_KEY = "selection-active";
7
+ const ACTIVE_MARKER_HIGHLIGHT_KEY = "marker-active";
8
+ function highlightLabel(target) {
9
+ if (target.isTagged) {
10
+ return `${target.type} · ${target.id}`;
11
+ }
12
+ return `suggested · ${target.suggestedReportId ?? target.id}`;
5
13
  }
6
14
  function HighlightBox({ target, showLabel }) {
7
15
  return (_jsx("div", { className: "fivepixels-target-highlight pointer-events-none fixed box-border", style: {
@@ -9,16 +17,12 @@ function HighlightBox({ target, showLabel }) {
9
17
  top: target.rect.top,
10
18
  width: target.rect.width,
11
19
  height: target.rect.height,
12
- outline: `2px solid #0ed1b4`,
13
- backgroundColor: "#0ed1b41c",
14
- }, children: showLabel ? (_jsxs("span", { className: "absolute left-0 top-0 -translate-y-full px-1 py-0.5 font-[var(--coding-font)] text-[12px] font-medium text-white", style: { backgroundColor: TARGET_COLOR[target.type] }, children: [target.type, " \u00B7 ", target.id] })) : null }));
20
+ borderRadius: target.boxStyle?.borderRadius ?? "0",
21
+ boxShadow: `0 0 0 2px ${FEEDBACK_HIGHLIGHT.outline}`,
22
+ backgroundColor: FEEDBACK_HIGHLIGHT.surface,
23
+ }, children: showLabel ? (_jsx("span", { className: "fivepixels-target-highlight__label absolute left-0 top-0 -translate-y-full px-1 py-0.5 font-[var(--coding-font)] text-[12px] font-medium text-white", style: { backgroundColor: FEEDBACK_HIGHLIGHT.label }, children: highlightLabel(target) })) : null }));
15
24
  }
16
- export function TargetHighlights({ hoveredTarget, previewTargets = [], selectedTarget }) {
17
- return (_jsxs(_Fragment, { children: [previewTargets.map((target) => (_jsx(HighlightBox, { target: target, showLabel: true }, `${target.type}-${target.id}`))), hoveredTarget ? (_jsx(HighlightBox, { target: hoveredTarget, showLabel: true }, highlightPresenceKey(hoveredTarget.type))) : null, selectedTarget ? (_jsx("div", { className: "pointer-events-none fixed box-border rounded-sm", style: {
18
- left: selectedTarget.rect.left,
19
- top: selectedTarget.rect.top,
20
- width: selectedTarget.rect.width,
21
- height: selectedTarget.rect.height,
22
- } })) : null] }));
25
+ export function TargetHighlights({ hoveredTarget, selectedTarget = null, showHoverInspect = false, showSelectionHighlight = false, showPickProbeCompare = false, previewTargets = [], markerPreviewTargets = [], activeMarkerTarget, }) {
26
+ return (_jsxs(_Fragment, { children: [previewTargets.map((target) => (_jsx(HighlightBox, { target: target, showLabel: true }, `preview-${target.type}-${target.id}`))), markerPreviewTargets.map((target) => (_jsx(HighlightBox, { target: target, showLabel: true }, `marker-preview-${target.id}`))), showHoverInspect && hoveredTarget ? (_jsxs(_Fragment, { children: [_jsx(HighlightBox, { target: hoveredTarget }, HOVER_HIGHLIGHT_KEY), _jsx(PickTargetHoverTooltip, { target: hoveredTarget })] })) : null, showSelectionHighlight && selectedTarget ? (_jsxs(_Fragment, { children: [_jsx(HighlightBox, { target: selectedTarget }, SELECTION_HIGHLIGHT_KEY), showPickProbeCompare ? _jsx(PickTargetCompareChip, { target: selectedTarget }) : null] })) : null, activeMarkerTarget ? (_jsx(HighlightBox, { target: activeMarkerTarget, showLabel: true }, ACTIVE_MARKER_HIGHLIGHT_KEY)) : null] }));
23
27
  }
24
28
  //# sourceMappingURL=TargetHighlights.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TargetHighlights.js","sourceRoot":"","sources":["../../../src/components/overlay/TargetHighlights.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAUrD,SAAS,oBAAoB,CAAC,IAAsB;IAChD,OAAO,SAAS,IAAI,EAAE,CAAC;AAC3B,CAAC;AAED,SAAS,YAAY,CAAC,EAAE,MAAM,EAAE,SAAS,EAAmD;IACxF,OAAO,CACH,cACI,SAAS,EAAC,kEAAkE,EAC5E,KAAK,EAAE;YACH,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI;YACtB,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG;YACpB,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK;YACxB,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM;YAC1B,OAAO,EAAE,mBAAmB;YAC5B,eAAe,EAAE,WAAW;SAC/B,YAEA,SAAS,CAAC,CAAC,CAAC,CACT,gBACI,SAAS,EAAC,kHAAkH,EAC5H,KAAK,EAAE,EAAE,eAAe,EAAE,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,aAEpD,MAAM,CAAC,IAAI,cAAK,MAAM,CAAC,EAAE,IACvB,CACV,CAAC,CAAC,CAAC,IAAI,GACN,CACT,CAAC;AACN,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,EAAE,aAAa,EAAE,cAAc,GAAG,EAAE,EAAE,cAAc,EAAyB;IAC1G,OAAO,CACH,8BACK,cAAc,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAC5B,KAAC,YAAY,IAET,MAAM,EAAE,MAAM,EACd,SAAS,UAFJ,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,EAAE,EAAE,CAGpC,CACL,CAAC,EAED,aAAa,CAAC,CAAC,CAAC,CACb,KAAC,YAAY,IAET,MAAM,EAAE,aAAa,EACrB,SAAS,UAFJ,oBAAoB,CAAC,aAAa,CAAC,IAAI,CAAC,CAG/C,CACL,CAAC,CAAC,CAAC,IAAI,EAEP,cAAc,CAAC,CAAC,CAAC,CACd,cACI,SAAS,EAAC,iDAAiD,EAC3D,KAAK,EAAE;oBACH,IAAI,EAAE,cAAc,CAAC,IAAI,CAAC,IAAI;oBAC9B,GAAG,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG;oBAC5B,KAAK,EAAE,cAAc,CAAC,IAAI,CAAC,KAAK;oBAChC,MAAM,EAAE,cAAc,CAAC,IAAI,CAAC,MAAM;iBACrC,GACH,CACL,CAAC,CAAC,CAAC,IAAI,IACT,CACN,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"TargetHighlights.js","sourceRoot":"","sources":["../../../src/components/overlay/TargetHighlights.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import type { ReportAppearance } from "../../types/report.js";
2
+ type AppearanceThemeOption = {
3
+ value: ReportAppearance;
4
+ label: string;
5
+ };
6
+ type AppearanceThemePickerProps = {
7
+ options: readonly AppearanceThemeOption[];
8
+ value: ReportAppearance;
9
+ onChange: (value: ReportAppearance) => void;
10
+ disabled?: boolean;
11
+ ariaLabel?: string;
12
+ };
13
+ export declare function AppearanceThemePicker({ options, value, onChange, disabled, ariaLabel }: AppearanceThemePickerProps): import("react/jsx-runtime").JSX.Element;
14
+ export {};
15
+ //# sourceMappingURL=AppearanceThemePicker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AppearanceThemePicker.d.ts","sourceRoot":"","sources":["../../../src/components/panel/AppearanceThemePicker.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAI1D,KAAK,qBAAqB,GAAG;IACzB,KAAK,EAAE,gBAAgB,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,KAAK,0BAA0B,GAAG;IAC9B,OAAO,EAAE,SAAS,qBAAqB,EAAE,CAAC;IAC1C,KAAK,EAAE,gBAAgB,CAAC;IACxB,QAAQ,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAC5C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,wBAAgB,qBAAqB,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAgB,EAAE,SAAS,EAAE,EAAE,0BAA0B,2CAqE1H"}
@@ -0,0 +1,30 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useCallback } from "react";
3
+ import { CheckIcon } from "../../components/icons/Icons.js";
4
+ import { ThemePreviewSkeleton } from "./ThemePreviewSkeleton.js";
5
+ export function AppearanceThemePicker({ options, value, onChange, disabled = false, ariaLabel }) {
6
+ const handleKeyDown = useCallback((event, index) => {
7
+ if (disabled) {
8
+ return;
9
+ }
10
+ let nextIndex = null;
11
+ if (event.key === "ArrowRight" || event.key === "ArrowDown") {
12
+ nextIndex = (index + 1) % options.length;
13
+ }
14
+ else if (event.key === "ArrowLeft" || event.key === "ArrowUp") {
15
+ nextIndex = (index - 1 + options.length) % options.length;
16
+ }
17
+ if (nextIndex === null) {
18
+ return;
19
+ }
20
+ event.preventDefault();
21
+ onChange(options[nextIndex].value);
22
+ }, [disabled, onChange, options]);
23
+ return (_jsx("div", { role: "radiogroup", "aria-label": ariaLabel, className: "grid grid-cols-3 gap-[6px]", children: options.map((option, index) => {
24
+ const active = option.value === value;
25
+ return (_jsxs("button", { type: "button", role: "radio", "aria-checked": active, disabled: disabled, onClick: () => onChange(option.value), onKeyDown: (event) => handleKeyDown(event, index), className: `group relative flex flex-col items-center gap-[5px] rounded-[8px] p-[4px] transition-colors disabled:cursor-not-allowed disabled:opacity-50 ${active
26
+ ? "ring-2 ring-[var(--adaptive-blue500)] ring-offset-1 ring-offset-[var(--adaptive-black50)]"
27
+ : "ring-1 ring-[var(--adaptive-black200)] hover:ring-[var(--adaptive-black300)]"}`, children: [_jsxs("div", { className: "relative aspect-[4/3] w-full overflow-hidden rounded-[5px] bg-[var(--adaptive-black100)]", children: [_jsx(ThemePreviewSkeleton, { variant: option.value }), active ? (_jsx("span", { className: "absolute right-[3px] bottom-[3px] flex h-[14px] w-[14px] items-center justify-center rounded-full bg-[var(--adaptive-blue500)] text-white shadow-[0_1px_2px_rgba(15,23,42,0.2)]", children: _jsx(CheckIcon, { className: "h-[9px] w-[9px]" }) })) : null] }), _jsx("span", { className: `w-full truncate text-center text-[10px] leading-[1.2] ${active ? "font-semibold text-[var(--adaptive-blue500)]" : "font-medium text-[var(--adaptive-black600)] group-hover:text-[var(--adaptive-black800)]"}`, children: option.label })] }, option.value));
28
+ }) }));
29
+ }
30
+ //# sourceMappingURL=AppearanceThemePicker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AppearanceThemePicker.js","sourceRoot":"","sources":["../../../src/components/panel/AppearanceThemePicker.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAsB,MAAM,OAAO,CAAC;AAExD,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAejE,MAAM,UAAU,qBAAqB,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,GAAG,KAAK,EAAE,SAAS,EAA8B;IACvH,MAAM,aAAa,GAAG,WAAW,CAC7B,CAAC,KAAuC,EAAE,KAAa,EAAE,EAAE;QACvD,IAAI,QAAQ,EAAE,CAAC;YACX,OAAO;QACX,CAAC;QAED,IAAI,SAAS,GAAkB,IAAI,CAAC;QAEpC,IAAI,KAAK,CAAC,GAAG,KAAK,YAAY,IAAI,KAAK,CAAC,GAAG,KAAK,WAAW,EAAE,CAAC;YAC1D,SAAS,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7C,CAAC;aAAM,IAAI,KAAK,CAAC,GAAG,KAAK,WAAW,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;YAC9D,SAAS,GAAG,CAAC,KAAK,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;QAC9D,CAAC;QAED,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YACrB,OAAO;QACX,CAAC;QAED,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAE,CAAC,KAAK,CAAC,CAAC;IACxC,CAAC,EACD,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CAChC,CAAC;IAEF,OAAO,CACH,cACI,IAAI,EAAC,YAAY,gBACL,SAAS,EACrB,SAAS,EAAC,4BAA4B,YAErC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;YAC3B,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,KAAK,KAAK,CAAC;YAEtC,OAAO,CACH,kBAEI,IAAI,EAAC,QAAQ,EACb,IAAI,EAAC,OAAO,kBACE,MAAM,EACpB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,EACrC,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,EACjD,SAAS,EAAE,+IACP,MAAM;oBACF,CAAC,CAAC,2FAA2F;oBAC7F,CAAC,CAAC,8EACV,EAAE,aAEF,eAAK,SAAS,EAAC,0FAA0F,aACrG,KAAC,oBAAoB,IAAC,OAAO,EAAE,MAAM,CAAC,KAAK,GAAI,EAC9C,MAAM,CAAC,CAAC,CAAC,CACN,eAAM,SAAS,EAAC,iLAAiL,YAC7L,KAAC,SAAS,IAAC,SAAS,EAAC,iBAAiB,GAAG,GACtC,CACV,CAAC,CAAC,CAAC,IAAI,IACN,EACN,eACI,SAAS,EAAE,yDACP,MAAM,CAAC,CAAC,CAAC,8CAA8C,CAAC,CAAC,CAAC,yFAC9D,EAAE,YAED,MAAM,CAAC,KAAK,GACV,KA3BF,MAAM,CAAC,KAAK,CA4BZ,CACZ,CAAC;QACN,CAAC,CAAC,GACA,CACT,CAAC;AACN,CAAC"}
@@ -0,0 +1,10 @@
1
+ type DiscreteScaleDialProps<T extends string> = {
2
+ values: readonly T[];
3
+ value: T;
4
+ onChange: (value: T) => void;
5
+ labels: Record<T, string>;
6
+ ariaLabel: string;
7
+ };
8
+ export declare function DiscreteScaleDial<T extends string>({ values, value, onChange, labels, ariaLabel }: DiscreteScaleDialProps<T>): import("react/jsx-runtime").JSX.Element;
9
+ export {};
10
+ //# sourceMappingURL=DiscreteScaleDial.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DiscreteScaleDial.d.ts","sourceRoot":"","sources":["../../../src/components/panel/DiscreteScaleDial.tsx"],"names":[],"mappings":"AAAA,KAAK,sBAAsB,CAAC,CAAC,SAAS,MAAM,IAAI;IAC5C,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC;IACrB,KAAK,EAAE,CAAC,CAAC;IACT,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,MAAM,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,sBAAsB,CAAC,CAAC,CAAC,2CA0C5H"}
@@ -0,0 +1,14 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ export function DiscreteScaleDial({ values, value, onChange, labels, ariaLabel }) {
3
+ const index = Math.max(0, values.indexOf(value));
4
+ return (_jsxs("div", { className: "flex flex-col gap-[6px]", children: [_jsx("input", { type: "range", min: 0, max: values.length - 1, step: 1, value: index, "aria-label": ariaLabel, onChange: (event) => {
5
+ const next = values[Number(event.target.value)];
6
+ if (next) {
7
+ onChange(next);
8
+ }
9
+ }, className: "h-[4px] w-full cursor-pointer appearance-none rounded-full bg-[var(--adaptive-black200)] accent-[var(--adaptive-blue500)]" }), _jsx("div", { className: "grid gap-[4px]", style: { gridTemplateColumns: `repeat(${values.length}, minmax(0, 1fr))` }, children: values.map((scale) => {
10
+ const active = scale === value;
11
+ return (_jsx("span", { className: `text-center text-[10px] leading-[1.2] ${active ? "font-semibold text-[var(--adaptive-blue500)]" : "font-medium text-[var(--adaptive-black500)]"}`, children: labels[scale] }, scale));
12
+ }) })] }));
13
+ }
14
+ //# sourceMappingURL=DiscreteScaleDial.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DiscreteScaleDial.js","sourceRoot":"","sources":["../../../src/components/panel/DiscreteScaleDial.tsx"],"names":[],"mappings":";AAQA,MAAM,UAAU,iBAAiB,CAAmB,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAA6B;IACzH,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IAEjD,OAAO,CACH,eAAK,SAAS,EAAC,yBAAyB,aACpC,gBACI,IAAI,EAAC,OAAO,EACZ,GAAG,EAAE,CAAC,EACN,GAAG,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,EACtB,IAAI,EAAE,CAAC,EACP,KAAK,EAAE,KAAK,gBACA,SAAS,EACrB,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;oBAChB,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;oBAEhD,IAAI,IAAI,EAAE,CAAC;wBACP,QAAQ,CAAC,IAAI,CAAC,CAAC;oBACnB,CAAC;gBACL,CAAC,EACD,SAAS,EAAC,2HAA2H,GACvI,EACF,cACI,SAAS,EAAC,gBAAgB,EAC1B,KAAK,EAAE,EAAE,mBAAmB,EAAE,UAAU,MAAM,CAAC,MAAM,mBAAmB,EAAE,YAEzE,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;oBAClB,MAAM,MAAM,GAAG,KAAK,KAAK,KAAK,CAAC;oBAE/B,OAAO,CACH,eAEI,SAAS,EAAE,yCACP,MAAM,CAAC,CAAC,CAAC,8CAA8C,CAAC,CAAC,CAAC,6CAC9D,EAAE,YAED,MAAM,CAAC,KAAK,CAAC,IALT,KAAK,CAMP,CACV,CAAC;gBACN,CAAC,CAAC,GACA,IACJ,CACT,CAAC;AACN,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function DraftProbeSummaryBanner(): import("react/jsx-runtime").JSX.Element | null;
2
+ //# sourceMappingURL=DraftProbeSummaryBanner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DraftProbeSummaryBanner.d.ts","sourceRoot":"","sources":["../../../src/components/panel/DraftProbeSummaryBanner.tsx"],"names":[],"mappings":"AAEA,wBAAgB,uBAAuB,mDAyBtC"}
@@ -0,0 +1,10 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useReport } from "../../providers/reportContext.js";
3
+ export function DraftProbeSummaryBanner() {
4
+ const { savedProbeEdits, appendSavedProbeSummaryAsNewDraftCase, messages } = useReport();
5
+ if (Object.keys(savedProbeEdits).length === 0) {
6
+ return null;
7
+ }
8
+ return (_jsxs("section", { className: "flex items-center gap-[8px] border-b border-[var(--adaptive-border-subtle)] bg-[var(--adaptive-surface-muted)] px-[12px] py-[8px]", "data-fivepixels-interactive": "", children: [_jsx("p", { className: "min-w-0 flex-1 text-[11px] font-medium leading-[1.4] text-[var(--adaptive-text-secondary)]", children: messages.composer.probeSummaryPrompt }), _jsx("button", { type: "button", "data-fivepixels-interactive": "", onClick: () => appendSavedProbeSummaryAsNewDraftCase(), className: "shrink-0 rounded-[8px] bg-[var(--adaptive-blue500)] px-[10px] py-[4px] text-[11px] font-semibold text-white", children: messages.composer.probeSummaryApply })] }));
9
+ }
10
+ //# sourceMappingURL=DraftProbeSummaryBanner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DraftProbeSummaryBanner.js","sourceRoot":"","sources":["../../../src/components/panel/DraftProbeSummaryBanner.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAEzD,MAAM,UAAU,uBAAuB;IACnC,MAAM,EAAE,eAAe,EAAE,qCAAqC,EAAE,QAAQ,EAAE,GAAG,SAAS,EAAE,CAAC;IAEzF,IAAI,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5C,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO,CACH,mBACI,SAAS,EAAC,mIAAmI,iCACjH,EAAE,aAE9B,YAAG,SAAS,EAAC,4FAA4F,YACpG,QAAQ,CAAC,QAAQ,CAAC,kBAAkB,GACrC,EACJ,iBACI,IAAI,EAAC,QAAQ,iCACe,EAAE,EAC9B,OAAO,EAAE,GAAG,EAAE,CAAC,qCAAqC,EAAE,EACtD,SAAS,EAAC,6GAA6G,YAEtH,QAAQ,CAAC,QAAQ,CAAC,iBAAiB,GAC/B,IACH,CACb,CAAC;AACN,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function FeedbackActivityHeatmap(): import("react/jsx-runtime").JSX.Element;
2
+ //# sourceMappingURL=FeedbackActivityHeatmap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FeedbackActivityHeatmap.d.ts","sourceRoot":"","sources":["../../../src/components/panel/FeedbackActivityHeatmap.tsx"],"names":[],"mappings":"AAgFA,wBAAgB,uBAAuB,4CAgVtC"}
@@ -0,0 +1,172 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useEffect, useMemo, useState } from "react";
3
+ import { useActivitySummary } from "../../hooks/useActivitySummary.js";
4
+ import { useReport } from "../../providers/reportContext.js";
5
+ import { formatDateOnly } from "../../utils/format.js";
6
+ import { buildHeatmapGrid, formatHeatmapMonthLabel, formatShortMonthLabel, getHeatmapCellDelay, getHeatmapEntranceDuration, getYearEntranceDuration, getYearMonthCellDelay, resolveHeatmapLevel, } from "../../utils/heatmapActivity.js";
7
+ import { ChevronLeftIcon, ChevronRightIcon } from "../../components/icons/Icons.js";
8
+ import { HoverTooltip } from "../../components/ui/HoverTooltip.js";
9
+ const HEATMAP_CELL_SIZE_PX = 10;
10
+ const HEATMAP_YEAR_CELL_SIZE_PX = 18;
11
+ const HEATMAP_CELL_GAP_PX = 3;
12
+ const HEATMAP_YEAR_CELL_GAP_PX = 4;
13
+ const HEATMAP_ANIMATION_STAGGER_MS = 24;
14
+ const HEATMAP_ANIMATION_DURATION_MS = 320;
15
+ function formatMessage(template, values) {
16
+ return Object.entries(values).reduce((message, [key, value]) => message.replace(new RegExp(`\\{${key}\\}`, "g"), String(value)), template);
17
+ }
18
+ function HeatmapToggleGroup({ label, value, options, onChange, }) {
19
+ return (_jsx("div", { className: "flex flex-wrap gap-[4px]", role: "group", "aria-label": label, children: options.map((option) => (_jsx("button", { type: "button", "aria-pressed": value === option.value, onClick: () => onChange(option.value), className: `rounded-[6px] px-[6px] py-[2px] text-[11px] font-[600] ${value === option.value
20
+ ? "bg-[var(--adaptive-black200)] text-[var(--adaptive-black900)]"
21
+ : "text-[var(--adaptive-black500)] hover:bg-[var(--adaptive-black100)]"}`, children: option.label }, option.value))) }));
22
+ }
23
+ function heatmapLevelClassName(level) {
24
+ switch (level) {
25
+ case 1:
26
+ return "bg-[var(--adaptive-blue200)]";
27
+ case 2:
28
+ return "bg-[var(--adaptive-blue300)]";
29
+ case 3:
30
+ return "bg-[var(--adaptive-blue400)]";
31
+ case 4:
32
+ return "bg-[var(--adaptive-blue500)]";
33
+ default:
34
+ return "bg-[var(--adaptive-black200)]";
35
+ }
36
+ }
37
+ export function FeedbackActivityHeatmap() {
38
+ const { reports, currentPageReports, currentPathname, listScope, setListScope, setFilters, panelTab, openPanelTab, sessionActor, canListAllFeedback, onActivitySummary, locale, messages, } = useReport();
39
+ const [viewMode, setViewMode] = useState("daily");
40
+ const [actorScope, setActorScope] = useState("team");
41
+ const [metric, setMetric] = useState("created");
42
+ const [selectedYear, setSelectedYear] = useState(() => new Date().getFullYear());
43
+ const [drillDownMonth, setDrillDownMonth] = useState(null);
44
+ const [playEntrance, setPlayEntrance] = useState(true);
45
+ const currentYear = new Date().getFullYear();
46
+ const canGoNextYear = selectedYear < currentYear;
47
+ const sourceReports = listScope === "all" ? reports : currentPageReports;
48
+ const summaryParams = useMemo(() => ({
49
+ year: selectedYear,
50
+ pathname: currentPathname,
51
+ listScope,
52
+ actorScope,
53
+ metric,
54
+ actorName: sessionActor?.name ?? null,
55
+ }), [actorScope, currentPathname, listScope, metric, selectedYear, sessionActor?.name]);
56
+ const { summary: yearSummary } = useActivitySummary({
57
+ reports: sourceReports,
58
+ params: summaryParams,
59
+ onActivitySummary,
60
+ });
61
+ const yearBuckets = useMemo(() => {
62
+ const bucketMap = new Map(yearSummary.buckets.map((bucket) => [bucket.dateKey, bucket.count]));
63
+ const buckets = Array.from({ length: 12 }, (_, monthIndex) => {
64
+ const monthKey = `${selectedYear}-${String(monthIndex + 1).padStart(2, "0")}`;
65
+ return {
66
+ monthKey,
67
+ monthIndex,
68
+ count: bucketMap.get(monthKey) ?? 0,
69
+ };
70
+ });
71
+ const maxCount = Math.max(0, ...buckets.map((bucket) => bucket.count));
72
+ return { buckets, maxCount, totalCount: yearSummary.totalCount };
73
+ }, [selectedYear, yearSummary.buckets, yearSummary.totalCount]);
74
+ const monthHeatmap = useMemo(() => drillDownMonth
75
+ ? buildHeatmapGrid(sourceReports, {
76
+ monthKey: drillDownMonth,
77
+ actorScope,
78
+ metric,
79
+ viewMode,
80
+ actorName: sessionActor?.name ?? null,
81
+ })
82
+ : null, [actorScope, drillDownMonth, metric, sessionActor?.name, sourceReports, viewMode]);
83
+ useEffect(() => {
84
+ setPlayEntrance(true);
85
+ const maxDelay = drillDownMonth
86
+ ? getHeatmapEntranceDuration(monthHeatmap?.totalWeeks ?? 0, HEATMAP_ANIMATION_STAGGER_MS, HEATMAP_ANIMATION_DURATION_MS)
87
+ : getYearEntranceDuration(HEATMAP_ANIMATION_STAGGER_MS, HEATMAP_ANIMATION_DURATION_MS);
88
+ const timer = window.setTimeout(() => setPlayEntrance(false), maxDelay + 80);
89
+ return () => window.clearTimeout(timer);
90
+ }, [actorScope, drillDownMonth, listScope, metric, monthHeatmap?.totalWeeks, selectedYear, viewMode]);
91
+ const handleDayCellClick = (dateKey) => {
92
+ setFilters((current) => ({ ...current, dateKey }));
93
+ if (panelTab !== "feedback-list") {
94
+ openPanelTab("feedback-list");
95
+ }
96
+ };
97
+ const heatmapMessages = messages.activityHeatmap;
98
+ return (_jsxs("section", { className: "border-b border-[var(--adaptive-black200)] bg-[var(--adaptive-black50)] px-[16px] py-[12px]", children: [_jsxs("div", { className: "mb-[10px] flex items-start justify-between gap-[8px]", children: [_jsx("p", { className: "text-[13px] font-[700] text-[var(--adaptive-black900)]", children: heatmapMessages.title }), drillDownMonth ? (_jsx(HeatmapToggleGroup, { label: heatmapMessages.viewModeAriaLabel, value: viewMode, onChange: setViewMode, options: [
99
+ { value: "daily", label: heatmapMessages.viewDaily },
100
+ { value: "weekly", label: heatmapMessages.viewWeekly },
101
+ { value: "cumulative", label: heatmapMessages.viewCumulative },
102
+ ] })) : null] }), _jsxs("div", { className: "mb-[10px] flex flex-col gap-[8px]", children: [_jsx(HeatmapToggleGroup, { label: heatmapMessages.actorAriaLabel, value: actorScope, onChange: setActorScope, options: [
103
+ { value: "team", label: heatmapMessages.actorTeam },
104
+ { value: "me", label: heatmapMessages.actorMe },
105
+ ] }), _jsxs("div", { className: "flex flex-wrap items-center gap-[8px]", children: [_jsx(HeatmapToggleGroup, { label: heatmapMessages.metricAriaLabel, value: metric, onChange: setMetric, options: [
106
+ { value: "created", label: heatmapMessages.metricCreated },
107
+ { value: "activity", label: heatmapMessages.metricActivity },
108
+ ] }), canListAllFeedback ? (_jsx(HeatmapToggleGroup, { label: heatmapMessages.scopeAriaLabel, value: listScope, onChange: setListScope, options: [
109
+ { value: "current", label: heatmapMessages.scopeCurrentPage },
110
+ { value: "all", label: heatmapMessages.scopeAllPages },
111
+ ] })) : null, drillDownMonth ? (_jsxs("div", { className: "flex items-center gap-[6px]", children: [_jsx("button", { type: "button", onClick: () => setDrillDownMonth(null), className: "rounded-[6px] px-[6px] py-[2px] text-[11px] font-[600] text-[var(--adaptive-blue500)] hover:bg-[var(--adaptive-black100)]", children: heatmapMessages.backToYear }), _jsx("p", { className: "text-[11px] font-[700] text-[var(--adaptive-black900)]", children: formatHeatmapMonthLabel(drillDownMonth, locale) })] })) : (_jsxs("nav", { className: "flex items-center gap-[2px]", "aria-label": heatmapMessages.yearNavAriaLabel, children: [_jsx("button", { type: "button", "aria-label": heatmapMessages.prevYear, onClick: () => setSelectedYear((current) => current - 1), className: "flex h-[22px] w-[22px] items-center justify-center rounded-[6px] text-[var(--adaptive-black500)] hover:bg-[var(--adaptive-black100)] hover:text-[var(--adaptive-black900)]", children: _jsx(ChevronLeftIcon, { className: "h-3.5 w-3.5" }) }), _jsx("p", { className: "min-w-[56px] px-[4px] text-center text-[11px] font-[700] text-[var(--adaptive-black900)]", children: selectedYear }), _jsx("button", { type: "button", "aria-label": heatmapMessages.nextYear, disabled: !canGoNextYear, onClick: () => {
112
+ if (canGoNextYear) {
113
+ setSelectedYear((current) => current + 1);
114
+ }
115
+ }, className: "flex h-[22px] w-[22px] items-center justify-center rounded-[6px] text-[var(--adaptive-black500)] hover:bg-[var(--adaptive-black100)] hover:text-[var(--adaptive-black900)] disabled:cursor-not-allowed disabled:opacity-35", children: _jsx(ChevronRightIcon, { className: "h-3.5 w-3.5" }) })] }))] })] }), _jsx("div", { className: "pb-[4px]", children: drillDownMonth && monthHeatmap ? (_jsx("div", { style: {
116
+ display: "grid",
117
+ gridTemplateRows: `repeat(7, ${HEATMAP_CELL_SIZE_PX}px)`,
118
+ gridTemplateColumns: `repeat(${monthHeatmap.totalWeeks}, ${HEATMAP_CELL_SIZE_PX}px)`,
119
+ gap: `${HEATMAP_CELL_GAP_PX}px`,
120
+ }, children: monthHeatmap.cells.map((cell, index) => {
121
+ const level = resolveHeatmapLevel(cell.count, monthHeatmap.maxCount);
122
+ const delay = playEntrance ? getHeatmapCellDelay(cell.weekIndex, cell.dayOfWeek, monthHeatmap.totalWeeks, HEATMAP_ANIMATION_STAGGER_MS) : 0;
123
+ const labelDate = cell.dateKey ? formatDateOnly(`${cell.dateKey}T12:00:00`, locale) : "";
124
+ const tooltipLabel = cell.dateKey
125
+ ? cell.count > 0
126
+ ? formatMessage(heatmapMessages.cellTooltip, { date: labelDate, count: cell.count })
127
+ : formatMessage(heatmapMessages.cellTooltipEmpty, { date: labelDate })
128
+ : "";
129
+ const ariaLabel = cell.dateKey
130
+ ? formatMessage(heatmapMessages.cellAriaLabel, { date: labelDate, count: cell.count })
131
+ : undefined;
132
+ const button = (_jsx("button", { type: "button", disabled: !cell.inRange || !cell.dateKey, "aria-label": ariaLabel, onClick: () => {
133
+ if (cell.dateKey && cell.inRange) {
134
+ handleDayCellClick(cell.dateKey);
135
+ }
136
+ }, className: `${playEntrance ? "fivepixels-heatmap-dot" : ""} rounded-[2px] ${cell.inRange
137
+ ? `${heatmapLevelClassName(level)} cursor-pointer hover:ring-1 hover:ring-[var(--adaptive-blue300)]`
138
+ : "pointer-events-none bg-[var(--adaptive-black200)] opacity-35"}`, style: {
139
+ gridColumn: cell.weekIndex + 1,
140
+ gridRow: cell.dayOfWeek + 1,
141
+ width: HEATMAP_CELL_SIZE_PX,
142
+ height: HEATMAP_CELL_SIZE_PX,
143
+ animationDelay: `${delay}ms`,
144
+ } }, `${cell.weekIndex}-${cell.dayOfWeek}-${index}`));
145
+ if (!cell.inRange || !cell.dateKey || !tooltipLabel) {
146
+ return button;
147
+ }
148
+ return (_jsx(HoverTooltip, { label: tooltipLabel, className: "contents", children: button }, `${cell.weekIndex}-${cell.dayOfWeek}-${index}`));
149
+ }) })) : (_jsxs("div", { children: [_jsx("div", { style: {
150
+ display: "grid",
151
+ gridTemplateColumns: `repeat(12, ${HEATMAP_YEAR_CELL_SIZE_PX}px)`,
152
+ gap: `${HEATMAP_YEAR_CELL_GAP_PX}px`,
153
+ }, children: yearBuckets.buckets.map((bucket) => {
154
+ const level = resolveHeatmapLevel(bucket.count, yearBuckets.maxCount);
155
+ const delay = playEntrance ? getYearMonthCellDelay(bucket.monthIndex, HEATMAP_ANIMATION_STAGGER_MS) : 0;
156
+ const monthLabel = formatShortMonthLabel(bucket.monthIndex, locale);
157
+ const tooltipLabel = bucket.count > 0
158
+ ? formatMessage(heatmapMessages.monthBucketTooltip, { month: monthLabel, count: bucket.count })
159
+ : formatMessage(heatmapMessages.monthBucketTooltipEmpty, { month: monthLabel });
160
+ const ariaLabel = formatMessage(heatmapMessages.monthBucketAriaLabel, { month: monthLabel, count: bucket.count });
161
+ const button = (_jsx("button", { type: "button", "aria-label": ariaLabel, onClick: () => setDrillDownMonth(bucket.monthKey), className: `${playEntrance ? "fivepixels-heatmap-dot" : ""} rounded-[3px] ${heatmapLevelClassName(level)} cursor-pointer hover:ring-1 hover:ring-[var(--adaptive-blue300)]`, style: {
162
+ width: HEATMAP_YEAR_CELL_SIZE_PX,
163
+ height: HEATMAP_YEAR_CELL_SIZE_PX,
164
+ animationDelay: `${delay}ms`,
165
+ } }, bucket.monthKey));
166
+ return (_jsx(HoverTooltip, { label: tooltipLabel, className: "contents", children: button }, bucket.monthKey));
167
+ }) }), _jsx("div", { className: "mt-[6px] grid", style: {
168
+ gridTemplateColumns: `repeat(12, ${HEATMAP_YEAR_CELL_SIZE_PX}px)`,
169
+ gap: `${HEATMAP_YEAR_CELL_GAP_PX}px`,
170
+ }, children: yearBuckets.buckets.map((bucket) => (_jsx("span", { className: "text-center text-[10px] text-[var(--adaptive-black500)]", style: { width: HEATMAP_YEAR_CELL_SIZE_PX }, children: formatShortMonthLabel(bucket.monthIndex, locale) }, `${bucket.monthKey}-label`))) })] })) }), _jsxs("div", { className: "mt-[8px] flex items-center justify-between gap-[8px] text-[10px] text-[var(--adaptive-black500)]", children: [_jsxs("div", { className: "flex items-center gap-[4px]", children: [_jsx("span", { children: heatmapMessages.legendLess }), _jsx("span", { className: "h-[10px] w-[10px] rounded-[2px] bg-[var(--adaptive-black200)]" }), _jsx("span", { className: "h-[10px] w-[10px] rounded-[2px] bg-[var(--adaptive-blue200)]" }), _jsx("span", { className: "h-[10px] w-[10px] rounded-[2px] bg-[var(--adaptive-blue300)]" }), _jsx("span", { className: "h-[10px] w-[10px] rounded-[2px] bg-[var(--adaptive-blue400)]" }), _jsx("span", { className: "h-[10px] w-[10px] rounded-[2px] bg-[var(--adaptive-blue500)]" }), _jsx("span", { children: heatmapMessages.legendMore })] }), _jsx("p", { children: formatMessage(heatmapMessages.totalCount, { count: drillDownMonth && monthHeatmap ? monthHeatmap.totalCount : yearBuckets.totalCount }) })] })] }));
171
+ }
172
+ //# sourceMappingURL=FeedbackActivityHeatmap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FeedbackActivityHeatmap.js","sourceRoot":"","sources":["../../../src/components/panel/FeedbackActivityHeatmap.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ type HexColorFieldProps = {
2
+ label: string;
3
+ value: string;
4
+ onChange: (value: string) => void;
5
+ placeholder?: string;
6
+ };
7
+ export declare function HexColorField({ label, value, onChange, placeholder }: HexColorFieldProps): import("react/jsx-runtime").JSX.Element;
8
+ export {};
9
+ //# sourceMappingURL=HexColorField.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HexColorField.d.ts","sourceRoot":"","sources":["../../../src/components/panel/HexColorField.tsx"],"names":[],"mappings":"AAGA,KAAK,kBAAkB,GAAG;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,wBAAgB,aAAa,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAsB,EAAE,EAAE,kBAAkB,2CAwDnG"}
@@ -0,0 +1,23 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useEffect, useRef, useState } from "react";
3
+ import { displayToHex, getHexColorPreview, hexToColorInputValue, hexToDisplay, sanitizeHexDisplayInput } from "../../utils/hexColor.js";
4
+ export function HexColorField({ label, value, onChange, placeholder = "ededed" }) {
5
+ const colorInputRef = useRef(null);
6
+ const [displayValue, setDisplayValue] = useState(() => hexToDisplay(value));
7
+ const preview = getHexColorPreview(value);
8
+ useEffect(() => {
9
+ setDisplayValue(hexToDisplay(value));
10
+ }, [value]);
11
+ const commitDisplayValue = (raw) => {
12
+ const sanitized = sanitizeHexDisplayInput(raw);
13
+ setDisplayValue(sanitized);
14
+ if (sanitized.length === 6) {
15
+ const hex = displayToHex(sanitized);
16
+ if (hex) {
17
+ onChange(hex);
18
+ }
19
+ }
20
+ };
21
+ return (_jsxs("label", { className: "flex flex-col gap-[4px] text-[11px]", children: [_jsx("span", { className: "font-medium text-[var(--adaptive-black500)]", children: label }), _jsxs("div", { className: "flex items-center gap-[6px]", children: [_jsxs("button", { type: "button", onClick: () => colorInputRef.current?.click(), className: "relative h-[30px] w-[30px] shrink-0 overflow-hidden rounded-[8px] border border-[var(--adaptive-border-subtle)]", "aria-label": label, children: [_jsx("span", { className: "absolute inset-0", style: { backgroundColor: preview ?? "transparent" }, "aria-hidden": true }), _jsx("input", { ref: colorInputRef, type: "color", value: hexToColorInputValue(value), onChange: (event) => onChange(event.target.value), className: "absolute inset-0 h-full w-full cursor-pointer opacity-0", tabIndex: -1 })] }), _jsx("input", { type: "text", value: displayValue, onChange: (event) => commitDisplayValue(event.target.value), placeholder: placeholder, className: "min-w-0 flex-1 rounded-[8px] border border-[var(--adaptive-border-subtle)] bg-[var(--adaptive-black50)] px-[8px] py-[6px] font-[var(--coding-font)] text-[12px] uppercase text-[var(--adaptive-black900)] outline-none focus:border-[var(--adaptive-blue500)]" })] })] }));
22
+ }
23
+ //# sourceMappingURL=HexColorField.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HexColorField.js","sourceRoot":"","sources":["../../../src/components/panel/HexColorField.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AASpI,MAAM,UAAU,aAAa,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,GAAG,QAAQ,EAAsB;IAChG,MAAM,aAAa,GAAG,MAAM,CAA0B,IAAI,CAAC,CAAC;IAC5D,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;IAC5E,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAE1C,SAAS,CAAC,GAAG,EAAE;QACX,eAAe,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;IACzC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,MAAM,kBAAkB,GAAG,CAAC,GAAW,EAAE,EAAE;QACvC,MAAM,SAAS,GAAG,uBAAuB,CAAC,GAAG,CAAC,CAAC;QAC/C,eAAe,CAAC,SAAS,CAAC,CAAC;QAE3B,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,GAAG,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;YAEpC,IAAI,GAAG,EAAE,CAAC;gBACN,QAAQ,CAAC,GAAG,CAAC,CAAC;YAClB,CAAC;QACL,CAAC;IACL,CAAC,CAAC;IAEF,OAAO,CACH,iBAAO,SAAS,EAAC,qCAAqC,aAClD,eAAM,SAAS,EAAC,6CAA6C,YAAE,KAAK,GAAQ,EAC5E,eAAK,SAAS,EAAC,6BAA6B,aACxC,kBACI,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,KAAK,EAAE,EAC7C,SAAS,EAAC,iHAAiH,gBAC/G,KAAK,aAEjB,eACI,SAAS,EAAC,kBAAkB,EAC5B,KAAK,EAAE,EAAE,eAAe,EAAE,OAAO,IAAI,aAAa,EAAE,wBAEtD,EACF,gBACI,GAAG,EAAE,aAAa,EAClB,IAAI,EAAC,OAAO,EACZ,KAAK,EAAE,oBAAoB,CAAC,KAAK,CAAC,EAClC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EACjD,SAAS,EAAC,yDAAyD,EACnE,QAAQ,EAAE,CAAC,CAAC,GACd,IACG,EACT,gBACI,IAAI,EAAC,MAAM,EACX,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,kBAAkB,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAC3D,WAAW,EAAE,WAAW,EACxB,SAAS,EAAC,+PAA+P,GAC3Q,IACA,IACF,CACX,CAAC;AACN,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type { MarkerShape } from "../../constants/markerAppearance.js";
2
+ type MarkerShapePickerProps = {
3
+ value: MarkerShape;
4
+ onChange: (value: MarkerShape) => void;
5
+ labels: Record<MarkerShape, string>;
6
+ ariaLabel: string;
7
+ };
8
+ export declare function MarkerShapePicker({ value, onChange, labels, ariaLabel }: MarkerShapePickerProps): import("react/jsx-runtime").JSX.Element;
9
+ export {};
10
+ //# sourceMappingURL=MarkerShapePicker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MarkerShapePicker.d.ts","sourceRoot":"","sources":["../../../src/components/panel/MarkerShapePicker.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAInE,KAAK,sBAAsB,GAAG;IAC1B,KAAK,EAAE,WAAW,CAAC;IACnB,QAAQ,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IACvC,MAAM,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IACpC,SAAS,EAAE,MAAM,CAAC;CACrB,CAAC;AAuBF,wBAAgB,iBAAiB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,sBAAsB,2CA6C/F"}
@@ -0,0 +1,26 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { MARKER_SHAPE_VALUES } from "../../constants/markerAppearance.js";
3
+ import { CheckIcon } from "../../components/icons/Icons.js";
4
+ function ShapePreview({ shape }) {
5
+ if (shape === "square") {
6
+ return _jsx("span", { className: "block h-[14px] w-[14px] rounded-[3px] bg-[var(--adaptive-blue500)]" });
7
+ }
8
+ if (shape === "pill") {
9
+ return _jsx("span", { className: "block h-[10px] w-[18px] rounded-full bg-[var(--adaptive-blue500)]" });
10
+ }
11
+ if (shape === "pin") {
12
+ return (_jsx("span", { className: "block h-[16px] w-[12px] bg-[var(--adaptive-blue500)]", style: { clipPath: "polygon(50% 100%, 6% 42%, 6% 8%, 94% 8%, 94% 42%)" } }));
13
+ }
14
+ return _jsx("span", { className: "block h-[14px] w-[14px] rounded-full bg-[var(--adaptive-blue500)]" });
15
+ }
16
+ export function MarkerShapePicker({ value, onChange, labels, ariaLabel }) {
17
+ return (_jsx("div", { role: "radiogroup", "aria-label": ariaLabel, className: "grid grid-cols-4 gap-[6px]", children: MARKER_SHAPE_VALUES.map((shape) => {
18
+ const active = shape === value;
19
+ return (_jsxs("button", { type: "button", role: "radio", "aria-checked": active, onClick: () => onChange(shape), className: `group relative flex flex-col items-center gap-[5px] rounded-[8px] p-[4px] transition-colors ${active
20
+ ? "ring-2 ring-[var(--adaptive-blue500)] ring-offset-1 ring-offset-[var(--adaptive-black50)]"
21
+ : "ring-1 ring-[var(--adaptive-black200)] hover:ring-[var(--adaptive-black300)]"}`, children: [_jsxs("div", { className: "relative flex h-[28px] w-full items-center justify-center rounded-[5px] bg-[var(--adaptive-black100)]", children: [_jsx(ShapePreview, { shape: shape }), active ? (_jsx("span", { className: "absolute right-[2px] bottom-[2px] flex h-[12px] w-[12px] items-center justify-center rounded-full bg-[var(--adaptive-blue500)] text-white", children: _jsx(CheckIcon, { className: "h-[7px] w-[7px]" }) })) : null] }), _jsx("span", { className: `w-full truncate text-center text-[9px] leading-[1.2] ${active
22
+ ? "font-semibold text-[var(--adaptive-blue500)]"
23
+ : "font-medium text-[var(--adaptive-black600)] group-hover:text-[var(--adaptive-black800)]"}`, children: labels[shape] })] }, shape));
24
+ }) }));
25
+ }
26
+ //# sourceMappingURL=MarkerShapePicker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MarkerShapePicker.js","sourceRoot":"","sources":["../../../src/components/panel/MarkerShapePicker.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AASxD,SAAS,YAAY,CAAC,EAAE,KAAK,EAA0B;IACnD,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;QACrB,OAAO,eAAM,SAAS,EAAC,oEAAoE,GAAG,CAAC;IACnG,CAAC;IAED,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;QACnB,OAAO,eAAM,SAAS,EAAC,mEAAmE,GAAG,CAAC;IAClG,CAAC;IAED,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;QAClB,OAAO,CACH,eACI,SAAS,EAAC,sDAAsD,EAChE,KAAK,EAAE,EAAE,QAAQ,EAAE,mDAAmD,EAAE,GAC1E,CACL,CAAC;IACN,CAAC;IAED,OAAO,eAAM,SAAS,EAAC,mEAAmE,GAAG,CAAC;AAClG,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAA0B;IAC5F,OAAO,CACH,cACI,IAAI,EAAC,YAAY,gBACL,SAAS,EACrB,SAAS,EAAC,4BAA4B,YAErC,mBAAmB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YAC/B,MAAM,MAAM,GAAG,KAAK,KAAK,KAAK,CAAC;YAE/B,OAAO,CACH,kBAEI,IAAI,EAAC,QAAQ,EACb,IAAI,EAAC,OAAO,kBACE,MAAM,EACpB,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,EAC9B,SAAS,EAAE,+FACP,MAAM;oBACF,CAAC,CAAC,2FAA2F;oBAC7F,CAAC,CAAC,8EACV,EAAE,aAEF,eAAK,SAAS,EAAC,uGAAuG,aAClH,KAAC,YAAY,IAAC,KAAK,EAAE,KAAK,GAAI,EAC7B,MAAM,CAAC,CAAC,CAAC,CACN,eAAM,SAAS,EAAC,2IAA2I,YACvJ,KAAC,SAAS,IAAC,SAAS,EAAC,iBAAiB,GAAG,GACtC,CACV,CAAC,CAAC,CAAC,IAAI,IACN,EACN,eACI,SAAS,EAAE,wDACP,MAAM;4BACF,CAAC,CAAC,8CAA8C;4BAChD,CAAC,CAAC,yFACV,EAAE,YAED,MAAM,CAAC,KAAK,CAAC,GACX,KA3BF,KAAK,CA4BL,CACZ,CAAC;QACN,CAAC,CAAC,GACA,CACT,CAAC;AACN,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"PanelDropdownMenu.d.ts","sourceRoot":"","sources":["../../../src/components/panel/PanelDropdownMenu.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAoE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAKzG,KAAK,sBAAsB,GAAG;IAC1B,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,EAAE,SAAS,CAAC;IACnB,QAAQ,EAAE,SAAS,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CAC5B,CAAC;AAqEF,wBAAgB,iBAAiB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAe,EAAE,EAAE,sBAAsB,2CAoG7H;AAED,KAAK,0BAA0B,GAAG;IAC9B,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,SAAS,CAAC;CACvB,CAAC;AAEF,wBAAgB,qBAAqB,CAAC,EAAE,OAAO,EAAE,MAAc,EAAE,QAAgB,EAAE,QAAQ,EAAE,EAAE,0BAA0B,2CAaxH"}
1
+ {"version":3,"file":"PanelDropdownMenu.d.ts","sourceRoot":"","sources":["../../../src/components/panel/PanelDropdownMenu.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiF,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAMtH,KAAK,sBAAsB,GAAG;IAC1B,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,EAAE,SAAS,CAAC;IACnB,QAAQ,EAAE,SAAS,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CAC5B,CAAC;AAiFF,wBAAgB,iBAAiB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAe,EAAE,EAAE,sBAAsB,2CAqG7H;AAED,KAAK,0BAA0B,GAAG;IAC9B,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,SAAS,CAAC;CACvB,CAAC;AAEF,wBAAgB,qBAAqB,CAAC,EAAE,OAAO,EAAE,MAAc,EAAE,QAAgB,EAAE,QAAQ,EAAE,EAAE,0BAA0B,2CAaxH"}
@@ -1,6 +1,7 @@
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
+ const MENU_GAP = 0;
4
+ // const MENU_GAP = 6;
4
5
  const VIEWPORT_PADDING = 8;
5
6
  function computeDropdownPlacement(triggerRect, menuWidth, menuHeight, preferredAlign) {
6
7
  const viewportWidth = window.innerWidth;
@@ -10,17 +11,17 @@ function computeDropdownPlacement(triggerRect, menuWidth, menuHeight, preferredA
10
11
  const fitsAbove = menuHeight + MENU_GAP <= spaceAbove;
11
12
  const fitsBelow = menuHeight + MENU_GAP <= spaceBelow;
12
13
  let vertical;
13
- if (fitsAbove && !fitsBelow) {
14
- vertical = "top";
15
- }
16
- else if (!fitsAbove && fitsBelow) {
14
+ if (fitsBelow && !fitsAbove) {
17
15
  vertical = "bottom";
18
16
  }
19
- else if (fitsAbove && fitsBelow) {
17
+ else if (!fitsBelow && fitsAbove) {
20
18
  vertical = "top";
21
19
  }
20
+ else if (fitsAbove && fitsBelow) {
21
+ vertical = "bottom";
22
+ }
22
23
  else {
23
- vertical = spaceAbove >= spaceBelow ? "top" : "bottom";
24
+ vertical = spaceBelow >= spaceAbove ? "bottom" : "top";
24
25
  }
25
26
  const viewportTop = vertical === "top" ? triggerRect.top - menuHeight - MENU_GAP : triggerRect.bottom + MENU_GAP;
26
27
  const alignRightLeft = triggerRect.right - menuWidth;
@@ -61,11 +62,20 @@ function toRelativePlacement(viewportPlacement, rootRect) {
61
62
  left: viewportPlacement.left - rootRect.left,
62
63
  };
63
64
  }
65
+ function isSamePlacement(current, next) {
66
+ if (current === next) {
67
+ return true;
68
+ }
69
+ if (!current || !next) {
70
+ return false;
71
+ }
72
+ return current.top === next.top && current.left === next.left;
73
+ }
64
74
  export function PanelDropdownMenu({ open, onClose, trigger, children, menuClassName, align = "right" }) {
65
75
  const rootRef = useRef(null);
66
76
  const menuRef = useRef(null);
67
77
  const [menuPlacement, setMenuPlacement] = useState(null);
68
- const updateMenuPlacement = () => {
78
+ const updateMenuPlacement = useCallback(() => {
69
79
  const root = rootRef.current;
70
80
  const menu = menuRef.current;
71
81
  if (!root || !menu) {
@@ -75,11 +85,12 @@ export function PanelDropdownMenu({ open, onClose, trigger, children, menuClassN
75
85
  const triggerRect = rootRect;
76
86
  const menuRect = menu.getBoundingClientRect();
77
87
  const viewportPlacement = computeDropdownPlacement(triggerRect, menuRect.width, menuRect.height, align);
78
- setMenuPlacement(toRelativePlacement(viewportPlacement, rootRect));
79
- };
88
+ const nextPlacement = toRelativePlacement(viewportPlacement, rootRect);
89
+ setMenuPlacement((current) => (isSamePlacement(current, nextPlacement) ? current : nextPlacement));
90
+ }, [align]);
80
91
  useLayoutEffect(() => {
81
92
  if (!open) {
82
- setMenuPlacement(null);
93
+ setMenuPlacement((current) => (current === null ? current : null));
83
94
  return;
84
95
  }
85
96
  updateMenuPlacement();
@@ -97,7 +108,7 @@ export function PanelDropdownMenu({ open, onClose, trigger, children, menuClassN
97
108
  window.removeEventListener("scroll", updateMenuPlacement, true);
98
109
  resizeObserver?.disconnect();
99
110
  };
100
- }, [align, open, children]);
111
+ }, [open, updateMenuPlacement]);
101
112
  useEffect(() => {
102
113
  if (!open) {
103
114
  return;
@@ -124,7 +135,7 @@ export function PanelDropdownMenu({ open, onClose, trigger, children, menuClassN
124
135
  left: 0,
125
136
  visibility: "hidden",
126
137
  };
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] }));
138
+ 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)] ${menuClassName ?? ""}`, children: children })) : null] }));
128
139
  }
129
140
  export function PanelDropdownMenuItem({ onClick, active = false, disabled = false, children }) {
130
141
  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 }));