@fivepixels-js/react 0.1.6 → 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.
- package/README.md +56 -3
- package/dist/components/icons/Icons.d.ts +34 -0
- package/dist/components/icons/Icons.d.ts.map +1 -1
- package/dist/components/icons/Icons.js +67 -13
- package/dist/components/icons/Icons.js.map +1 -1
- package/dist/components/icons/ProbeLayoutIcons.d.ts +16 -0
- package/dist/components/icons/ProbeLayoutIcons.d.ts.map +1 -0
- package/dist/components/icons/ProbeLayoutIcons.js +62 -0
- package/dist/components/icons/ProbeLayoutIcons.js.map +1 -0
- package/dist/components/overlay/PickTargetCompareChip.d.ts +7 -0
- package/dist/components/overlay/PickTargetCompareChip.d.ts.map +1 -0
- package/dist/components/overlay/PickTargetCompareChip.js +35 -0
- package/dist/components/overlay/PickTargetCompareChip.js.map +1 -0
- package/dist/components/overlay/PickTargetCompareSegment.d.ts +12 -0
- package/dist/components/overlay/PickTargetCompareSegment.d.ts.map +1 -0
- package/dist/components/overlay/PickTargetCompareSegment.js +17 -0
- package/dist/components/overlay/PickTargetCompareSegment.js.map +1 -0
- package/dist/components/overlay/PickTargetContextMenu.d.ts +8 -0
- package/dist/components/overlay/PickTargetContextMenu.d.ts.map +1 -0
- package/dist/components/overlay/PickTargetContextMenu.js +30 -0
- package/dist/components/overlay/PickTargetContextMenu.js.map +1 -0
- package/dist/components/overlay/PickTargetHoverTooltip.d.ts +7 -0
- package/dist/components/overlay/PickTargetHoverTooltip.d.ts.map +1 -0
- package/dist/components/overlay/PickTargetHoverTooltip.js +69 -0
- package/dist/components/overlay/PickTargetHoverTooltip.js.map +1 -0
- package/dist/components/overlay/PickTargetProbePanel.d.ts +2 -0
- package/dist/components/overlay/PickTargetProbePanel.d.ts.map +1 -0
- package/dist/components/overlay/PickTargetProbePanel.js +106 -0
- package/dist/components/overlay/PickTargetProbePanel.js.map +1 -0
- package/dist/components/overlay/PickTargetSavedBadges.d.ts +2 -0
- package/dist/components/overlay/PickTargetSavedBadges.d.ts.map +1 -0
- package/dist/components/overlay/PickTargetSavedBadges.js +63 -0
- package/dist/components/overlay/PickTargetSavedBadges.js.map +1 -0
- package/dist/components/overlay/ProbeLayoutControls.d.ts +11 -0
- package/dist/components/overlay/ProbeLayoutControls.d.ts.map +1 -0
- package/dist/components/overlay/ProbeLayoutControls.js +82 -0
- package/dist/components/overlay/ProbeLayoutControls.js.map +1 -0
- package/dist/components/overlay/ReportOverlayLayer.d.ts.map +1 -1
- package/dist/components/overlay/ReportOverlayLayer.js +16 -2
- package/dist/components/overlay/ReportOverlayLayer.js.map +1 -1
- package/dist/components/overlay/TargetHighlights.d.ts +7 -2
- package/dist/components/overlay/TargetHighlights.d.ts.map +1 -1
- package/dist/components/overlay/TargetHighlights.js +18 -14
- package/dist/components/overlay/TargetHighlights.js.map +1 -1
- package/dist/components/panel/AppearanceThemePicker.d.ts +15 -0
- package/dist/components/panel/AppearanceThemePicker.d.ts.map +1 -0
- package/dist/components/panel/AppearanceThemePicker.js +30 -0
- package/dist/components/panel/AppearanceThemePicker.js.map +1 -0
- package/dist/components/panel/DiscreteScaleDial.d.ts +10 -0
- package/dist/components/panel/DiscreteScaleDial.d.ts.map +1 -0
- package/dist/components/panel/DiscreteScaleDial.js +14 -0
- package/dist/components/panel/DiscreteScaleDial.js.map +1 -0
- package/dist/components/panel/DraftProbeSummaryBanner.d.ts +2 -0
- package/dist/components/panel/DraftProbeSummaryBanner.d.ts.map +1 -0
- package/dist/components/panel/DraftProbeSummaryBanner.js +10 -0
- package/dist/components/panel/DraftProbeSummaryBanner.js.map +1 -0
- package/dist/components/panel/FeedbackActivityHeatmap.d.ts +2 -0
- package/dist/components/panel/FeedbackActivityHeatmap.d.ts.map +1 -0
- package/dist/components/panel/FeedbackActivityHeatmap.js +172 -0
- package/dist/components/panel/FeedbackActivityHeatmap.js.map +1 -0
- package/dist/components/panel/HexColorField.d.ts +9 -0
- package/dist/components/panel/HexColorField.d.ts.map +1 -0
- package/dist/components/panel/HexColorField.js +23 -0
- package/dist/components/panel/HexColorField.js.map +1 -0
- package/dist/components/panel/MarkerShapePicker.d.ts +10 -0
- package/dist/components/panel/MarkerShapePicker.d.ts.map +1 -0
- package/dist/components/panel/MarkerShapePicker.js +26 -0
- package/dist/components/panel/MarkerShapePicker.js.map +1 -0
- package/dist/components/panel/PanelDropdownMenu.d.ts.map +1 -1
- package/dist/components/panel/PanelDropdownMenu.js +25 -14
- package/dist/components/panel/PanelDropdownMenu.js.map +1 -1
- package/dist/components/panel/PanelKeyGate.d.ts +7 -0
- package/dist/components/panel/PanelKeyGate.d.ts.map +1 -0
- package/dist/components/panel/PanelKeyGate.js +38 -0
- package/dist/components/panel/PanelKeyGate.js.map +1 -0
- package/dist/components/panel/PanelOnboarding.d.ts +2 -0
- package/dist/components/panel/PanelOnboarding.d.ts.map +1 -0
- package/dist/components/panel/PanelOnboarding.js +115 -0
- package/dist/components/panel/PanelOnboarding.js.map +1 -0
- package/dist/components/panel/PanelPresentationSwitch.d.ts +2 -0
- package/dist/components/panel/PanelPresentationSwitch.d.ts.map +1 -0
- package/dist/components/panel/PanelPresentationSwitch.js +40 -0
- package/dist/components/panel/PanelPresentationSwitch.js.map +1 -0
- package/dist/components/panel/PanelProjectFooter.d.ts +2 -0
- package/dist/components/panel/PanelProjectFooter.d.ts.map +1 -0
- package/dist/components/panel/PanelProjectFooter.js +7 -0
- package/dist/components/panel/PanelProjectFooter.js.map +1 -0
- package/dist/components/panel/PanelRoleSwitch.d.ts +2 -0
- package/dist/components/panel/PanelRoleSwitch.d.ts.map +1 -0
- package/dist/components/panel/PanelRoleSwitch.js +21 -0
- package/dist/components/panel/PanelRoleSwitch.js.map +1 -0
- package/dist/components/panel/PanelSettings.d.ts +21 -0
- package/dist/components/panel/PanelSettings.d.ts.map +1 -0
- package/dist/components/panel/PanelSettings.js +103 -0
- package/dist/components/panel/PanelSettings.js.map +1 -0
- package/dist/components/panel/PanelTabSelector.d.ts +13 -0
- package/dist/components/panel/PanelTabSelector.d.ts.map +1 -0
- package/dist/components/panel/PanelTabSelector.js +44 -0
- package/dist/components/panel/PanelTabSelector.js.map +1 -0
- package/dist/components/panel/ProbeEditModeBanner.d.ts +2 -0
- package/dist/components/panel/ProbeEditModeBanner.d.ts.map +1 -0
- package/dist/components/panel/ProbeEditModeBanner.js +22 -0
- package/dist/components/panel/ProbeEditModeBanner.js.map +1 -0
- package/dist/components/panel/ReportAuthDiagnostics.d.ts +2 -0
- package/dist/components/panel/ReportAuthDiagnostics.d.ts.map +1 -0
- package/dist/components/panel/ReportAuthDiagnostics.js +67 -0
- package/dist/components/panel/ReportAuthDiagnostics.js.map +1 -0
- package/dist/components/panel/ReportCommandPanel.js +1 -1
- package/dist/components/panel/ReportCommandPanel.js.map +1 -1
- package/dist/components/panel/ReportCommandReplaceConfirmDialog.d.ts.map +1 -1
- package/dist/components/panel/ReportCommandReplaceConfirmDialog.js +2 -1
- package/dist/components/panel/ReportCommandReplaceConfirmDialog.js.map +1 -1
- package/dist/components/panel/ReportControlPanel.d.ts.map +1 -1
- package/dist/components/panel/ReportControlPanel.js +62 -46
- package/dist/components/panel/ReportControlPanel.js.map +1 -1
- package/dist/components/panel/ReportDraftForm.d.ts.map +1 -1
- package/dist/components/panel/ReportDraftForm.js +41 -16
- package/dist/components/panel/ReportDraftForm.js.map +1 -1
- package/dist/components/panel/ReportFeedbackList.d.ts.map +1 -1
- package/dist/components/panel/ReportFeedbackList.js +46 -98
- package/dist/components/panel/ReportFeedbackList.js.map +1 -1
- package/dist/components/panel/ReportOverview.d.ts +2 -0
- package/dist/components/panel/ReportOverview.d.ts.map +1 -0
- package/dist/components/panel/ReportOverview.js +6 -0
- package/dist/components/panel/ReportOverview.js.map +1 -0
- package/dist/components/panel/ReportPersonalKeyDialog.js +2 -2
- package/dist/components/panel/ReportPersonalKeyDialog.js.map +1 -1
- package/dist/components/panel/ReportRouteDetails.d.ts.map +1 -1
- package/dist/components/panel/ReportRouteDetails.js +23 -11
- package/dist/components/panel/ReportRouteDetails.js.map +1 -1
- package/dist/components/panel/RouteDetailsTimeline.d.ts +13 -0
- package/dist/components/panel/RouteDetailsTimeline.d.ts.map +1 -0
- package/dist/components/panel/RouteDetailsTimeline.js +53 -0
- package/dist/components/panel/RouteDetailsTimeline.js.map +1 -0
- package/dist/components/panel/ThemePreviewSkeleton.d.ts +7 -0
- package/dist/components/panel/ThemePreviewSkeleton.d.ts.map +1 -0
- package/dist/components/panel/ThemePreviewSkeleton.js +25 -0
- package/dist/components/panel/ThemePreviewSkeleton.js.map +1 -0
- package/dist/components/panel/experimental/ExperimentalFeedbackRow.d.ts +8 -0
- package/dist/components/panel/experimental/ExperimentalFeedbackRow.d.ts.map +1 -0
- package/dist/components/panel/experimental/ExperimentalFeedbackRow.js +13 -0
- package/dist/components/panel/experimental/ExperimentalFeedbackRow.js.map +1 -0
- package/dist/components/panel/experimental/ReportMyTasksPanel.d.ts +2 -0
- package/dist/components/panel/experimental/ReportMyTasksPanel.d.ts.map +1 -0
- package/dist/components/panel/experimental/ReportMyTasksPanel.js +16 -0
- package/dist/components/panel/experimental/ReportMyTasksPanel.js.map +1 -0
- package/dist/components/panel/experimental/ReportNeedsAttentionPanel.d.ts +2 -0
- package/dist/components/panel/experimental/ReportNeedsAttentionPanel.d.ts.map +1 -0
- package/dist/components/panel/experimental/ReportNeedsAttentionPanel.js +16 -0
- package/dist/components/panel/experimental/ReportNeedsAttentionPanel.js.map +1 -0
- package/dist/components/panel/experimental/ReportPageBriefPanel.d.ts +2 -0
- package/dist/components/panel/experimental/ReportPageBriefPanel.d.ts.map +1 -0
- package/dist/components/panel/experimental/ReportPageBriefPanel.js +15 -0
- package/dist/components/panel/experimental/ReportPageBriefPanel.js.map +1 -0
- package/dist/components/panel/experimental/ReportProjectHealthPanel.d.ts +2 -0
- package/dist/components/panel/experimental/ReportProjectHealthPanel.d.ts.map +1 -0
- package/dist/components/panel/experimental/ReportProjectHealthPanel.js +22 -0
- package/dist/components/panel/experimental/ReportProjectHealthPanel.js.map +1 -0
- package/dist/components/panel/experimental/ReportTodayDigestPanel.d.ts +2 -0
- package/dist/components/panel/experimental/ReportTodayDigestPanel.d.ts.map +1 -0
- package/dist/components/panel/experimental/ReportTodayDigestPanel.js +16 -0
- package/dist/components/panel/experimental/ReportTodayDigestPanel.js.map +1 -0
- package/dist/components/panel/feedback/AssigneeThreadEntry.d.ts +20 -0
- package/dist/components/panel/feedback/AssigneeThreadEntry.d.ts.map +1 -0
- package/dist/components/panel/feedback/AssigneeThreadEntry.js +23 -0
- package/dist/components/panel/feedback/AssigneeThreadEntry.js.map +1 -0
- package/dist/components/panel/feedback/CaseAssigneeInfo.d.ts +8 -0
- package/dist/components/panel/feedback/CaseAssigneeInfo.d.ts.map +1 -0
- package/dist/components/panel/feedback/CaseAssigneeInfo.js +20 -0
- package/dist/components/panel/feedback/CaseAssigneeInfo.js.map +1 -0
- package/dist/components/panel/feedback/ComposerFooterWarning.d.ts +6 -0
- package/dist/components/panel/feedback/ComposerFooterWarning.d.ts.map +1 -0
- package/dist/components/panel/feedback/ComposerFooterWarning.js +6 -0
- package/dist/components/panel/feedback/ComposerFooterWarning.js.map +1 -0
- package/dist/components/panel/feedback/FeedbackCaseEditor.d.ts +15 -0
- package/dist/components/panel/feedback/FeedbackCaseEditor.d.ts.map +1 -0
- package/dist/components/panel/feedback/FeedbackCaseEditor.js +111 -0
- package/dist/components/panel/feedback/FeedbackCaseEditor.js.map +1 -0
- package/dist/components/panel/feedback/FeedbackCaseList.d.ts +21 -0
- package/dist/components/panel/feedback/FeedbackCaseList.d.ts.map +1 -0
- package/dist/components/panel/feedback/FeedbackCaseList.js +48 -0
- package/dist/components/panel/feedback/FeedbackCaseList.js.map +1 -0
- package/dist/components/panel/feedback/FeedbackCaseTabBar.d.ts +34 -0
- package/dist/components/panel/feedback/FeedbackCaseTabBar.d.ts.map +1 -0
- package/dist/components/panel/feedback/FeedbackCaseTabBar.js +37 -0
- package/dist/components/panel/feedback/FeedbackCaseTabBar.js.map +1 -0
- package/dist/components/panel/feedback/FeedbackCategorySelector.d.ts +12 -0
- package/dist/components/panel/feedback/FeedbackCategorySelector.d.ts.map +1 -0
- package/dist/components/panel/feedback/FeedbackCategorySelector.js +25 -0
- package/dist/components/panel/feedback/FeedbackCategorySelector.js.map +1 -0
- package/dist/components/panel/feedback/FeedbackComposer.d.ts +20 -4
- package/dist/components/panel/feedback/FeedbackComposer.d.ts.map +1 -1
- package/dist/components/panel/feedback/FeedbackComposer.js +78 -11
- package/dist/components/panel/feedback/FeedbackComposer.js.map +1 -1
- package/dist/components/panel/feedback/FeedbackHoverCard.d.ts +4 -5
- package/dist/components/panel/feedback/FeedbackHoverCard.d.ts.map +1 -1
- package/dist/components/panel/feedback/FeedbackHoverCard.js +22 -11
- package/dist/components/panel/feedback/FeedbackHoverCard.js.map +1 -1
- package/dist/components/panel/feedback/FeedbackListItem.d.ts +17 -0
- package/dist/components/panel/feedback/FeedbackListItem.d.ts.map +1 -0
- package/dist/components/panel/feedback/FeedbackListItem.js +70 -0
- package/dist/components/panel/feedback/FeedbackListItem.js.map +1 -0
- package/dist/components/panel/feedback/FeedbackStatusBadge.d.ts +2 -1
- package/dist/components/panel/feedback/FeedbackStatusBadge.d.ts.map +1 -1
- package/dist/components/panel/feedback/FeedbackStatusBadge.js +2 -2
- package/dist/components/panel/feedback/FeedbackStatusBadge.js.map +1 -1
- package/dist/components/panel/feedback/FeedbackThread.d.ts +9 -3
- package/dist/components/panel/feedback/FeedbackThread.d.ts.map +1 -1
- package/dist/components/panel/feedback/FeedbackThread.js +155 -39
- package/dist/components/panel/feedback/FeedbackThread.js.map +1 -1
- package/dist/components/panel/feedback/PickTargetSnippet.d.ts +7 -0
- package/dist/components/panel/feedback/PickTargetSnippet.d.ts.map +1 -0
- package/dist/components/panel/feedback/PickTargetSnippet.js +30 -0
- package/dist/components/panel/feedback/PickTargetSnippet.js.map +1 -0
- package/dist/components/panel/feedback/QuestionThreadGroup.d.ts +9 -0
- package/dist/components/panel/feedback/QuestionThreadGroup.d.ts.map +1 -0
- package/dist/components/panel/feedback/QuestionThreadGroup.js +30 -0
- package/dist/components/panel/feedback/QuestionThreadGroup.js.map +1 -0
- package/dist/components/panel/feedback/ReplyHistoryControls.d.ts +8 -0
- package/dist/components/panel/feedback/ReplyHistoryControls.d.ts.map +1 -0
- package/dist/components/panel/feedback/ReplyHistoryControls.js +26 -0
- package/dist/components/panel/feedback/ReplyHistoryControls.js.map +1 -0
- package/dist/components/panel/feedback/ThreadAuthorMeta.d.ts +10 -0
- package/dist/components/panel/feedback/ThreadAuthorMeta.d.ts.map +1 -0
- package/dist/components/panel/feedback/ThreadAuthorMeta.js +9 -0
- package/dist/components/panel/feedback/ThreadAuthorMeta.js.map +1 -0
- package/dist/components/panel/feedback/ThreadChildReply.d.ts +8 -0
- package/dist/components/panel/feedback/ThreadChildReply.d.ts.map +1 -0
- package/dist/components/panel/feedback/ThreadChildReply.js +7 -0
- package/dist/components/panel/feedback/ThreadChildReply.js.map +1 -0
- package/dist/components/panel/feedback/ThreadTimelineRow.d.ts +11 -0
- package/dist/components/panel/feedback/ThreadTimelineRow.d.ts.map +1 -0
- package/dist/components/panel/feedback/ThreadTimelineRow.js +7 -0
- package/dist/components/panel/feedback/ThreadTimelineRow.js.map +1 -0
- package/dist/components/point/MarkerCaseSidebar.d.ts +9 -0
- package/dist/components/point/MarkerCaseSidebar.d.ts.map +1 -0
- package/dist/components/point/MarkerCaseSidebar.js +27 -0
- package/dist/components/point/MarkerCaseSidebar.js.map +1 -0
- package/dist/components/point/MarkerFeedbackWindow.d.ts +9 -0
- package/dist/components/point/MarkerFeedbackWindow.d.ts.map +1 -0
- package/dist/components/point/MarkerFeedbackWindow.js +257 -0
- package/dist/components/point/MarkerFeedbackWindow.js.map +1 -0
- package/dist/components/point/ReportDraftMarker.d.ts.map +1 -1
- package/dist/components/point/ReportDraftMarker.js +8 -17
- package/dist/components/point/ReportDraftMarker.js.map +1 -1
- package/dist/components/point/ReportMarkersLayer.d.ts.map +1 -1
- package/dist/components/point/ReportMarkersLayer.js +74 -87
- package/dist/components/point/ReportMarkersLayer.js.map +1 -1
- package/dist/components/report/FivePixels.d.ts +7 -28
- package/dist/components/report/FivePixels.d.ts.map +1 -1
- package/dist/components/report/FivePixels.js +3 -3
- package/dist/components/report/FivePixels.js.map +1 -1
- package/dist/components/report/ReportView.d.ts.map +1 -1
- package/dist/components/report/ReportView.js +5 -3
- package/dist/components/report/ReportView.js.map +1 -1
- package/dist/components/report/ShadowReportRoot.d.ts +2 -2
- package/dist/components/report/ShadowReportRoot.d.ts.map +1 -1
- package/dist/components/report/ShadowReportRoot.js +4 -7
- package/dist/components/report/ShadowReportRoot.js.map +1 -1
- package/dist/components/report/ThemeScope.d.ts +10 -0
- package/dist/components/report/ThemeScope.d.ts.map +1 -0
- package/dist/components/report/ThemeScope.js +5 -0
- package/dist/components/report/ThemeScope.js.map +1 -0
- package/dist/components/report/index.d.ts +4 -1
- package/dist/components/report/index.d.ts.map +1 -1
- package/dist/components/report/index.js +3 -0
- package/dist/components/report/index.js.map +1 -1
- package/dist/components/ui/CornerResizeGhost.d.ts +8 -0
- package/dist/components/ui/CornerResizeGhost.d.ts.map +1 -0
- package/dist/components/ui/CornerResizeGhost.js +5 -0
- package/dist/components/ui/CornerResizeGhost.js.map +1 -0
- package/dist/components/ui/CornerResizeHandle.d.ts +11 -0
- package/dist/components/ui/CornerResizeHandle.d.ts.map +1 -0
- package/dist/components/ui/CornerResizeHandle.js +32 -0
- package/dist/components/ui/CornerResizeHandle.js.map +1 -0
- package/dist/components/ui/HoverTooltip.d.ts +4 -2
- package/dist/components/ui/HoverTooltip.d.ts.map +1 -1
- package/dist/components/ui/HoverTooltip.js +28 -17
- package/dist/components/ui/HoverTooltip.js.map +1 -1
- package/dist/components/ui/IconTooltipButton.d.ts.map +1 -1
- package/dist/components/ui/IconTooltipButton.js +5 -2
- package/dist/components/ui/IconTooltipButton.js.map +1 -1
- package/dist/components/ui/PointerFollowTooltip.d.ts +14 -0
- package/dist/components/ui/PointerFollowTooltip.d.ts.map +1 -0
- package/dist/components/ui/PointerFollowTooltip.js +58 -0
- package/dist/components/ui/PointerFollowTooltip.js.map +1 -0
- package/dist/components/ui/ProcessingDots.d.ts +6 -0
- package/dist/components/ui/ProcessingDots.d.ts.map +1 -0
- package/dist/components/ui/ProcessingDots.js +19 -0
- package/dist/components/ui/ProcessingDots.js.map +1 -0
- package/dist/components/ui/Text/index.d.ts +6 -0
- package/dist/components/ui/Text/index.d.ts.map +1 -0
- package/dist/components/ui/Text/index.js +5 -0
- package/dist/components/ui/Text/index.js.map +1 -0
- package/dist/components/ui/Text/ui/Shimmer.d.ts +14 -0
- package/dist/components/ui/Text/ui/Shimmer.d.ts.map +1 -0
- package/dist/components/ui/Text/ui/Shimmer.js +41 -0
- package/dist/components/ui/Text/ui/Shimmer.js.map +1 -0
- package/dist/constants/appearance.d.ts +10 -0
- package/dist/constants/appearance.d.ts.map +1 -0
- package/dist/constants/appearance.js +10 -0
- package/dist/constants/appearance.js.map +1 -0
- package/dist/constants/feedbackCategory.d.ts +5 -0
- package/dist/constants/feedbackCategory.d.ts.map +1 -0
- package/dist/constants/feedbackCategory.js +5 -0
- package/dist/constants/feedbackCategory.js.map +1 -0
- package/dist/constants/feedbackStatus.d.ts +1 -1
- package/dist/constants/feedbackStatus.d.ts.map +1 -1
- package/dist/constants/feedbackStatus.js +20 -8
- package/dist/constants/feedbackStatus.js.map +1 -1
- package/dist/constants/feedbackStorageEvents.d.ts +3 -0
- package/dist/constants/feedbackStorageEvents.d.ts.map +1 -0
- package/dist/constants/feedbackStorageEvents.js +8 -0
- package/dist/constants/feedbackStorageEvents.js.map +1 -0
- package/dist/constants/markerAppearance.d.ts +35 -0
- package/dist/constants/markerAppearance.d.ts.map +1 -0
- package/dist/constants/markerAppearance.js +57 -0
- package/dist/constants/markerAppearance.js.map +1 -0
- package/dist/constants/panelRole.d.ts +5 -0
- package/dist/constants/panelRole.d.ts.map +1 -0
- package/dist/constants/panelRole.js +6 -0
- package/dist/constants/panelRole.js.map +1 -0
- package/dist/constants/panelTabPresets.d.ts +14 -0
- package/dist/constants/panelTabPresets.d.ts.map +1 -0
- package/dist/constants/panelTabPresets.js +48 -0
- package/dist/constants/panelTabPresets.js.map +1 -0
- package/dist/constants/panelTabRegistry.d.ts +23 -0
- package/dist/constants/panelTabRegistry.d.ts.map +1 -0
- package/dist/constants/panelTabRegistry.js +95 -0
- package/dist/constants/panelTabRegistry.js.map +1 -0
- package/dist/constants/replyHistory.d.ts +8 -0
- package/dist/constants/replyHistory.d.ts.map +1 -0
- package/dist/constants/replyHistory.js +15 -0
- package/dist/constants/replyHistory.js.map +1 -0
- package/dist/constants/report.d.ts +5 -0
- package/dist/constants/report.d.ts.map +1 -1
- package/dist/constants/report.js +5 -0
- package/dist/constants/report.js.map +1 -1
- package/dist/constants/storageKeys.d.ts +2 -0
- package/dist/constants/storageKeys.d.ts.map +1 -1
- package/dist/constants/storageKeys.js +4 -0
- package/dist/constants/storageKeys.js.map +1 -1
- package/dist/hooks/replyHistoryActions.d.ts +30 -0
- package/dist/hooks/replyHistoryActions.d.ts.map +1 -0
- package/dist/hooks/replyHistoryActions.js +278 -0
- package/dist/hooks/replyHistoryActions.js.map +1 -0
- package/dist/hooks/report.api.d.ts +3 -1
- package/dist/hooks/report.api.d.ts.map +1 -1
- package/dist/hooks/report.api.js +27 -4
- package/dist/hooks/report.api.js.map +1 -1
- package/dist/hooks/report.query.d.ts +1 -1
- package/dist/hooks/report.query.d.ts.map +1 -1
- package/dist/hooks/report.query.js +3 -2
- package/dist/hooks/report.query.js.map +1 -1
- package/dist/hooks/useActivitySummary.d.ts +13 -0
- package/dist/hooks/useActivitySummary.d.ts.map +1 -0
- package/dist/hooks/useActivitySummary.js +41 -0
- package/dist/hooks/useActivitySummary.js.map +1 -0
- package/dist/hooks/useAppearancePreference.d.ts +1 -1
- package/dist/hooks/useAppearancePreference.d.ts.map +1 -1
- package/dist/hooks/useAppearancePreference.js +14 -11
- package/dist/hooks/useAppearancePreference.js.map +1 -1
- package/dist/hooks/useDraggableWindow.d.ts +17 -0
- package/dist/hooks/useDraggableWindow.d.ts.map +1 -0
- package/dist/hooks/useDraggableWindow.js +104 -0
- package/dist/hooks/useDraggableWindow.js.map +1 -0
- package/dist/hooks/useGhostCornerResize.d.ts +36 -0
- package/dist/hooks/useGhostCornerResize.d.ts.map +1 -0
- package/dist/hooks/useGhostCornerResize.js +161 -0
- package/dist/hooks/useGhostCornerResize.js.map +1 -0
- package/dist/hooks/useMarkerAppearancePreference.d.ts +10 -0
- package/dist/hooks/useMarkerAppearancePreference.d.ts.map +1 -0
- package/dist/hooks/useMarkerAppearancePreference.js +94 -0
- package/dist/hooks/useMarkerAppearancePreference.js.map +1 -0
- package/dist/hooks/useMarkerTargetPreviewPreference.d.ts +6 -0
- package/dist/hooks/useMarkerTargetPreviewPreference.d.ts.map +1 -0
- package/dist/hooks/useMarkerTargetPreviewPreference.js +41 -0
- package/dist/hooks/useMarkerTargetPreviewPreference.js.map +1 -0
- package/dist/hooks/usePanelBootstrap.d.ts +16 -0
- package/dist/hooks/usePanelBootstrap.d.ts.map +1 -0
- package/dist/hooks/usePanelBootstrap.js +46 -0
- package/dist/hooks/usePanelBootstrap.js.map +1 -0
- package/dist/hooks/usePanelDock.d.ts.map +1 -1
- package/dist/hooks/usePanelDock.js +40 -31
- package/dist/hooks/usePanelDock.js.map +1 -1
- package/dist/hooks/usePanelFeedbackTransfer.d.ts +3 -3
- package/dist/hooks/usePanelFeedbackTransfer.d.ts.map +1 -1
- package/dist/hooks/usePanelFeedbackTransfer.js +13 -13
- package/dist/hooks/usePanelFeedbackTransfer.js.map +1 -1
- package/dist/hooks/usePanelResize.d.ts +44 -0
- package/dist/hooks/usePanelResize.d.ts.map +1 -0
- package/dist/hooks/usePanelResize.js +234 -0
- package/dist/hooks/usePanelResize.js.map +1 -0
- package/dist/hooks/usePanelRolePreference.d.ts +6 -0
- package/dist/hooks/usePanelRolePreference.d.ts.map +1 -0
- package/dist/hooks/usePanelRolePreference.js +38 -0
- package/dist/hooks/usePanelRolePreference.js.map +1 -0
- package/dist/hooks/usePanelTabPreference.d.ts +13 -0
- package/dist/hooks/usePanelTabPreference.d.ts.map +1 -0
- package/dist/hooks/usePanelTabPreference.js +66 -0
- package/dist/hooks/usePanelTabPreference.js.map +1 -0
- package/dist/hooks/usePersonalKey.d.ts +18 -2
- package/dist/hooks/usePersonalKey.d.ts.map +1 -1
- package/dist/hooks/usePersonalKey.js +43 -16
- package/dist/hooks/usePersonalKey.js.map +1 -1
- package/dist/hooks/useQuestionThreadPreference.d.ts +6 -0
- package/dist/hooks/useQuestionThreadPreference.d.ts.map +1 -0
- package/dist/hooks/useQuestionThreadPreference.js +40 -0
- package/dist/hooks/useQuestionThreadPreference.js.map +1 -0
- package/dist/hooks/useReportPersistence.d.ts +26 -16
- package/dist/hooks/useReportPersistence.d.ts.map +1 -1
- package/dist/hooks/useReportPersistence.js +158 -58
- package/dist/hooks/useReportPersistence.js.map +1 -1
- package/dist/hooks/useReportShortcuts.d.ts +1 -1
- package/dist/hooks/useReportShortcuts.d.ts.map +1 -1
- package/dist/hooks/useReportShortcuts.js +8 -1
- package/dist/hooks/useReportShortcuts.js.map +1 -1
- package/dist/hooks/useReportState.d.ts +184 -31
- package/dist/hooks/useReportState.d.ts.map +1 -1
- package/dist/hooks/useReportState.js +1555 -162
- package/dist/hooks/useReportState.js.map +1 -1
- package/dist/hooks/useSelfProfile.d.ts +12 -0
- package/dist/hooks/useSelfProfile.d.ts.map +1 -0
- package/dist/hooks/useSelfProfile.js +65 -0
- package/dist/hooks/useSelfProfile.js.map +1 -0
- package/dist/hooks/useTooltipLayout.d.ts +5 -1
- package/dist/hooks/useTooltipLayout.d.ts.map +1 -1
- package/dist/hooks/useTooltipLayout.js +9 -4
- package/dist/hooks/useTooltipLayout.js.map +1 -1
- package/dist/hooks/useTooltipResize.d.ts +16 -0
- package/dist/hooks/useTooltipResize.d.ts.map +1 -0
- package/dist/hooks/useTooltipResize.js +27 -0
- package/dist/hooks/useTooltipResize.js.map +1 -0
- package/dist/hooks/useTypographyPreference.d.ts +8 -0
- package/dist/hooks/useTypographyPreference.d.ts.map +1 -0
- package/dist/hooks/useTypographyPreference.js +59 -0
- package/dist/hooks/useTypographyPreference.js.map +1 -0
- package/dist/i18n/en.d.ts.map +1 -1
- package/dist/i18n/en.js +406 -14
- package/dist/i18n/en.js.map +1 -1
- package/dist/i18n/ko.d.ts.map +1 -1
- package/dist/i18n/ko.js +407 -15
- package/dist/i18n/ko.js.map +1 -1
- package/dist/i18n/types.d.ts +386 -10
- package/dist/i18n/types.d.ts.map +1 -1
- package/dist/index.d.ts +0 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -1
- package/dist/index.js.map +1 -1
- package/dist/providers/ReportProvider.d.ts +7 -28
- package/dist/providers/ReportProvider.d.ts.map +1 -1
- package/dist/providers/ReportProvider.js +16 -8
- package/dist/providers/ReportProvider.js.map +1 -1
- package/dist/providers/reportContext.d.ts +324 -54
- package/dist/providers/reportContext.d.ts.map +1 -1
- package/dist/storage/local/localStorageAdapter.d.ts.map +1 -1
- package/dist/storage/local/localStorageAdapter.js +78 -9
- package/dist/storage/local/localStorageAdapter.js.map +1 -1
- package/dist/styles/reportStylesheet.d.ts +1 -1
- package/dist/styles/reportStylesheet.d.ts.map +1 -1
- package/dist/styles/reportStylesheet.js +1 -1
- package/dist/styles/reportStylesheet.js.map +1 -1
- package/dist/types/report-ui.d.ts +89 -5
- package/dist/types/report-ui.d.ts.map +1 -1
- package/dist/types/report.d.ts +147 -20
- package/dist/types/report.d.ts.map +1 -1
- package/dist/types/report.js.map +1 -1
- package/dist/utils/coordinates.d.ts +16 -1
- package/dist/utils/coordinates.d.ts.map +1 -1
- package/dist/utils/coordinates.js +69 -37
- package/dist/utils/coordinates.js.map +1 -1
- package/dist/utils/cssStepper.d.ts +6 -0
- package/dist/utils/cssStepper.d.ts.map +1 -0
- package/dist/utils/cssStepper.js +40 -0
- package/dist/utils/cssStepper.js.map +1 -0
- package/dist/utils/dom.d.ts +6 -0
- package/dist/utils/dom.d.ts.map +1 -1
- package/dist/utils/dom.js +196 -3
- package/dist/utils/dom.js.map +1 -1
- package/dist/utils/experimentalPanelTabs.d.ts +29 -0
- package/dist/utils/experimentalPanelTabs.d.ts.map +1 -0
- package/dist/utils/experimentalPanelTabs.js +113 -0
- package/dist/utils/experimentalPanelTabs.js.map +1 -0
- package/dist/utils/feedbackCaseId.d.ts +7 -0
- package/dist/utils/feedbackCaseId.d.ts.map +1 -0
- package/dist/utils/feedbackCaseId.js +44 -0
- package/dist/utils/feedbackCaseId.js.map +1 -0
- package/dist/utils/feedbackDataTransfer.d.ts +4 -0
- package/dist/utils/feedbackDataTransfer.d.ts.map +1 -1
- package/dist/utils/feedbackDataTransfer.js +70 -0
- package/dist/utils/feedbackDataTransfer.js.map +1 -1
- package/dist/utils/feedbackDeepLink.d.ts +11 -0
- package/dist/utils/feedbackDeepLink.d.ts.map +1 -0
- package/dist/utils/feedbackDeepLink.js +35 -0
- package/dist/utils/feedbackDeepLink.js.map +1 -0
- package/dist/utils/feedbackListStatus.d.ts +4 -0
- package/dist/utils/feedbackListStatus.d.ts.map +1 -0
- package/dist/utils/feedbackListStatus.js +19 -0
- package/dist/utils/feedbackListStatus.js.map +1 -0
- package/dist/utils/feedbackThread.d.ts +61 -2
- package/dist/utils/feedbackThread.d.ts.map +1 -1
- package/dist/utils/feedbackThread.js +325 -10
- package/dist/utils/feedbackThread.js.map +1 -1
- package/dist/utils/fields.d.ts +3 -2
- package/dist/utils/fields.d.ts.map +1 -1
- package/dist/utils/fields.js +9 -4
- package/dist/utils/fields.js.map +1 -1
- package/dist/utils/format.d.ts +1 -0
- package/dist/utils/format.d.ts.map +1 -1
- package/dist/utils/format.js +6 -0
- package/dist/utils/format.js.map +1 -1
- package/dist/utils/githubIntegration.d.ts +1 -0
- package/dist/utils/githubIntegration.d.ts.map +1 -1
- package/dist/utils/githubIntegration.js +8 -2
- package/dist/utils/githubIntegration.js.map +1 -1
- package/dist/utils/heatmapActivity.d.ts +68 -0
- package/dist/utils/heatmapActivity.d.ts.map +1 -0
- package/dist/utils/heatmapActivity.js +280 -0
- package/dist/utils/heatmapActivity.js.map +1 -0
- package/dist/utils/hexColor.d.ts +7 -0
- package/dist/utils/hexColor.d.ts.map +1 -0
- package/dist/utils/hexColor.js +25 -0
- package/dist/utils/hexColor.js.map +1 -0
- package/dist/utils/hourlyCompareSparkline.d.ts +19 -0
- package/dist/utils/hourlyCompareSparkline.d.ts.map +1 -0
- package/dist/utils/hourlyCompareSparkline.js +65 -0
- package/dist/utils/hourlyCompareSparkline.js.map +1 -0
- package/dist/utils/locateFeedback.d.ts +3 -3
- package/dist/utils/locateFeedback.d.ts.map +1 -1
- package/dist/utils/locateFeedback.js +11 -3
- package/dist/utils/locateFeedback.js.map +1 -1
- package/dist/utils/markerContext.d.ts +30 -0
- package/dist/utils/markerContext.d.ts.map +1 -0
- package/dist/utils/markerContext.js +78 -0
- package/dist/utils/markerContext.js.map +1 -0
- package/dist/utils/markerRuntime.d.ts +5 -0
- package/dist/utils/markerRuntime.d.ts.map +1 -0
- package/dist/utils/markerRuntime.js +13 -0
- package/dist/utils/markerRuntime.js.map +1 -0
- package/dist/utils/markerShape.d.ts +13 -0
- package/dist/utils/markerShape.d.ts.map +1 -0
- package/dist/utils/markerShape.js +52 -0
- package/dist/utils/markerShape.js.map +1 -0
- package/dist/utils/markerTarget.d.ts +3 -0
- package/dist/utils/markerTarget.d.ts.map +1 -0
- package/dist/utils/markerTarget.js +16 -0
- package/dist/utils/markerTarget.js.map +1 -0
- package/dist/utils/panelBootstrap.d.ts +27 -0
- package/dist/utils/panelBootstrap.d.ts.map +1 -0
- package/dist/utils/panelBootstrap.js +95 -0
- package/dist/utils/panelBootstrap.js.map +1 -0
- package/dist/utils/panelRoleStats.d.ts +18 -0
- package/dist/utils/panelRoleStats.d.ts.map +1 -0
- package/dist/utils/panelRoleStats.js +77 -0
- package/dist/utils/panelRoleStats.js.map +1 -0
- package/dist/utils/panelTabPreference.d.ts +19 -0
- package/dist/utils/panelTabPreference.d.ts.map +1 -0
- package/dist/utils/panelTabPreference.js +76 -0
- package/dist/utils/panelTabPreference.js.map +1 -0
- package/dist/utils/pathname.d.ts +2 -0
- package/dist/utils/pathname.d.ts.map +1 -1
- package/dist/utils/pathname.js +10 -0
- package/dist/utils/pathname.js.map +1 -1
- package/dist/utils/personalKey.d.ts +7 -1
- package/dist/utils/personalKey.d.ts.map +1 -1
- package/dist/utils/personalKey.js +50 -2
- package/dist/utils/personalKey.js.map +1 -1
- package/dist/utils/pickProbe.d.ts +21 -0
- package/dist/utils/pickProbe.d.ts.map +1 -0
- package/dist/utils/pickProbe.js +285 -0
- package/dist/utils/pickProbe.js.map +1 -0
- package/dist/utils/pickProbeLayout.d.ts +16 -0
- package/dist/utils/pickProbeLayout.d.ts.map +1 -0
- package/dist/utils/pickProbeLayout.js +52 -0
- package/dist/utils/pickProbeLayout.js.map +1 -0
- package/dist/utils/pickProbeSession.d.ts +14 -0
- package/dist/utils/pickProbeSession.d.ts.map +1 -0
- package/dist/utils/pickProbeSession.js +134 -0
- package/dist/utils/pickProbeSession.js.map +1 -0
- package/dist/utils/pickTargetDeleteAnimation.d.ts +3 -0
- package/dist/utils/pickTargetDeleteAnimation.d.ts.map +1 -0
- package/dist/utils/pickTargetDeleteAnimation.js +29 -0
- package/dist/utils/pickTargetDeleteAnimation.js.map +1 -0
- package/dist/utils/pickTargetInspect.d.ts +12 -0
- package/dist/utils/pickTargetInspect.d.ts.map +1 -0
- package/dist/utils/pickTargetInspect.js +75 -0
- package/dist/utils/pickTargetInspect.js.map +1 -0
- package/dist/utils/probeColor.d.ts +6 -0
- package/dist/utils/probeColor.d.ts.map +1 -0
- package/dist/utils/probeColor.js +49 -0
- package/dist/utils/probeColor.js.map +1 -0
- package/dist/utils/probeLayout.d.ts +27 -0
- package/dist/utils/probeLayout.d.ts.map +1 -0
- package/dist/utils/probeLayout.js +86 -0
- package/dist/utils/probeLayout.js.map +1 -0
- package/dist/utils/probeSessionHistory.d.ts +8 -0
- package/dist/utils/probeSessionHistory.d.ts.map +1 -0
- package/dist/utils/probeSessionHistory.js +102 -0
- package/dist/utils/probeSessionHistory.js.map +1 -0
- package/dist/utils/replyHistory.d.ts +20 -0
- package/dist/utils/replyHistory.d.ts.map +1 -0
- package/dist/utils/replyHistory.js +82 -0
- package/dist/utils/replyHistory.js.map +1 -0
- package/dist/utils/reportCases.d.ts +54 -0
- package/dist/utils/reportCases.d.ts.map +1 -0
- package/dist/utils/reportCases.js +297 -0
- package/dist/utils/reportCases.js.map +1 -0
- package/dist/utils/reportPosition.d.ts +9 -0
- package/dist/utils/reportPosition.d.ts.map +1 -0
- package/dist/utils/reportPosition.js +18 -0
- package/dist/utils/reportPosition.js.map +1 -0
- package/dist/utils/reportProject.d.ts +1 -7
- package/dist/utils/reportProject.d.ts.map +1 -1
- package/dist/utils/reportProject.js +4 -4
- package/dist/utils/reportProject.js.map +1 -1
- package/dist/utils/reportSummary.d.ts +7 -0
- package/dist/utils/reportSummary.d.ts.map +1 -0
- package/dist/utils/reportSummary.js +49 -0
- package/dist/utils/reportSummary.js.map +1 -0
- package/dist/utils/reportTeam.d.ts +20 -5
- package/dist/utils/reportTeam.d.ts.map +1 -1
- package/dist/utils/reportTeam.js +60 -3
- package/dist/utils/reportTeam.js.map +1 -1
- package/dist/utils/reportUi.d.ts +10 -11
- package/dist/utils/reportUi.d.ts.map +1 -1
- package/dist/utils/reportUi.js +21 -6
- package/dist/utils/reportUi.js.map +1 -1
- package/dist/utils/reportVisibility.d.ts +1 -9
- package/dist/utils/reportVisibility.d.ts.map +1 -1
- package/dist/utils/reportVisibility.js +4 -4
- package/dist/utils/reportVisibility.js.map +1 -1
- package/dist/utils/reportVisual.d.ts +3 -1
- package/dist/utils/reportVisual.d.ts.map +1 -1
- package/dist/utils/reportVisual.js +17 -6
- package/dist/utils/reportVisual.js.map +1 -1
- package/dist/utils/routeDetailStatus.d.ts.map +1 -1
- package/dist/utils/routeDetailStatus.js +4 -1
- package/dist/utils/routeDetailStatus.js.map +1 -1
- package/dist/utils/storage.d.ts +3 -1
- package/dist/utils/storage.d.ts.map +1 -1
- package/dist/utils/storage.js +6 -2
- package/dist/utils/storage.js.map +1 -1
- package/dist/utils/targetSelector.d.ts +20 -0
- package/dist/utils/targetSelector.d.ts.map +1 -0
- package/dist/utils/targetSelector.js +123 -0
- package/dist/utils/targetSelector.js.map +1 -0
- package/dist/utils/validateFeedbackImport.d.ts +2 -1
- package/dist/utils/validateFeedbackImport.d.ts.map +1 -1
- package/dist/utils/validateFeedbackImport.js +114 -45
- package/dist/utils/validateFeedbackImport.js.map +1 -1
- package/package.json +78 -78
- package/dist/components/motion/index.d.ts +0 -48
- package/dist/components/motion/index.d.ts.map +0 -1
- package/dist/components/motion/index.js +0 -910
- package/dist/components/motion/index.js.map +0 -1
- package/dist/components/panel/PanelMoreMenu.d.ts +0 -20
- package/dist/components/panel/PanelMoreMenu.d.ts.map +0 -1
- package/dist/components/panel/PanelMoreMenu.js +0 -20
- package/dist/components/panel/PanelMoreMenu.js.map +0 -1
- package/dist/components/panel/feedback/FeedbackIssueHeader.d.ts +0 -12
- package/dist/components/panel/feedback/FeedbackIssueHeader.d.ts.map +0 -1
- package/dist/components/panel/feedback/FeedbackIssueHeader.js +0 -10
- package/dist/components/panel/feedback/FeedbackIssueHeader.js.map +0 -1
- package/dist/components/panel/feedback/FieldTagSelector.d.ts +0 -9
- package/dist/components/panel/feedback/FieldTagSelector.d.ts.map +0 -1
- package/dist/components/panel/feedback/FieldTagSelector.js +0 -15
- package/dist/components/panel/feedback/FieldTagSelector.js.map +0 -1
|
@@ -1,7 +1,15 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
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
|
-
|
|
13
|
-
|
|
14
|
-
|
|
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 = [],
|
|
17
|
-
return (_jsxs(_Fragment, { children: [previewTargets.map((target) => (_jsx(HighlightBox, { target: target, showLabel: true },
|
|
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,
|
|
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 @@
|
|
|
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 @@
|
|
|
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,
|
|
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 =
|
|
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 (
|
|
14
|
-
vertical = "top";
|
|
15
|
-
}
|
|
16
|
-
else if (!fitsAbove && fitsBelow) {
|
|
14
|
+
if (fitsBelow && !fitsAbove) {
|
|
17
15
|
vertical = "bottom";
|
|
18
16
|
}
|
|
19
|
-
else if (
|
|
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 =
|
|
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
|
-
|
|
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
|
-
}, [
|
|
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:
|
|
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 }));
|