@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
|
@@ -4,6 +4,7 @@ const LEGACY_STORAGE_KEY = "fivepixels:panel-dock-position";
|
|
|
4
4
|
const EDGE_MARGIN = 16;
|
|
5
5
|
const DEFAULT_PLACEMENT = { corner: "top-left" };
|
|
6
6
|
const PANEL_CORNERS = ["top-left", "top-right", "bottom-left", "bottom-right"];
|
|
7
|
+
const DRAG_LISTENER_OPTIONS = { capture: true };
|
|
7
8
|
function isPanelCorner(value) {
|
|
8
9
|
return value === "top-left" || value === "top-right" || value === "bottom-left" || value === "bottom-right";
|
|
9
10
|
}
|
|
@@ -112,11 +113,11 @@ export function projectPointerToPlacement(clientX, clientY) {
|
|
|
112
113
|
}
|
|
113
114
|
export function placementToPanelStyle(placement) {
|
|
114
115
|
const style = {
|
|
116
|
+
position: "fixed",
|
|
115
117
|
top: "auto",
|
|
116
118
|
right: "auto",
|
|
117
119
|
bottom: "auto",
|
|
118
120
|
left: "auto",
|
|
119
|
-
// maxHeight: "none",
|
|
120
121
|
};
|
|
121
122
|
switch (placement.corner) {
|
|
122
123
|
case "top-left":
|
|
@@ -130,18 +131,17 @@ export function placementToPanelStyle(placement) {
|
|
|
130
131
|
case "bottom-left":
|
|
131
132
|
style.bottom = EDGE_MARGIN;
|
|
132
133
|
style.left = EDGE_MARGIN;
|
|
133
|
-
style.maxHeight = "min(68vh, 560px)";
|
|
134
134
|
break;
|
|
135
135
|
case "bottom-right":
|
|
136
136
|
style.bottom = EDGE_MARGIN;
|
|
137
137
|
style.right = EDGE_MARGIN;
|
|
138
|
-
style.maxHeight = "min(68vh, 560px)";
|
|
139
138
|
break;
|
|
140
139
|
}
|
|
141
140
|
return style;
|
|
142
141
|
}
|
|
143
142
|
export function placementToCollapsedPanelStyle(placement) {
|
|
144
143
|
const style = {
|
|
144
|
+
position: "fixed",
|
|
145
145
|
top: "auto",
|
|
146
146
|
right: "auto",
|
|
147
147
|
bottom: "auto",
|
|
@@ -171,6 +171,7 @@ export function placementToCollapsedPanelStyle(placement) {
|
|
|
171
171
|
}
|
|
172
172
|
export function getMobilePanelStyle() {
|
|
173
173
|
return {
|
|
174
|
+
position: "fixed",
|
|
174
175
|
top: "auto",
|
|
175
176
|
right: EDGE_MARGIN,
|
|
176
177
|
bottom: EDGE_MARGIN,
|
|
@@ -184,15 +185,28 @@ export function usePanelDock({ enabled, measureKey }) {
|
|
|
184
185
|
const [previewPlacement, setPreviewPlacement] = useState(null);
|
|
185
186
|
const [isDragging, setIsDragging] = useState(false);
|
|
186
187
|
const dragPointerIdRef = useRef(null);
|
|
188
|
+
const dragListenersRef = useRef(null);
|
|
187
189
|
const currentPlacement = previewPlacement ?? placement;
|
|
188
190
|
const activeCorner = isDragging ? currentPlacement.corner : null;
|
|
191
|
+
const detachDragListeners = useCallback(() => {
|
|
192
|
+
const listeners = dragListenersRef.current;
|
|
193
|
+
if (!listeners) {
|
|
194
|
+
return;
|
|
195
|
+
}
|
|
196
|
+
window.removeEventListener("pointermove", listeners.move, DRAG_LISTENER_OPTIONS);
|
|
197
|
+
window.removeEventListener("pointerup", listeners.up, DRAG_LISTENER_OPTIONS);
|
|
198
|
+
window.removeEventListener("pointercancel", listeners.up, DRAG_LISTENER_OPTIONS);
|
|
199
|
+
dragListenersRef.current = null;
|
|
200
|
+
}, []);
|
|
189
201
|
useEffect(() => {
|
|
190
202
|
if (enabled) {
|
|
191
203
|
return;
|
|
192
204
|
}
|
|
205
|
+
detachDragListeners();
|
|
193
206
|
setPreviewPlacement(null);
|
|
194
207
|
setIsDragging(false);
|
|
195
|
-
|
|
208
|
+
dragPointerIdRef.current = null;
|
|
209
|
+
}, [detachDragListeners, enabled]);
|
|
196
210
|
useLayoutEffect(() => {
|
|
197
211
|
if (!enabled) {
|
|
198
212
|
return;
|
|
@@ -203,6 +217,7 @@ export function usePanelDock({ enabled, measureKey }) {
|
|
|
203
217
|
setPreviewPlacement(projectPointerToPlacement(clientX, clientY));
|
|
204
218
|
}, []);
|
|
205
219
|
const finishDrag = useCallback(() => {
|
|
220
|
+
detachDragListeners();
|
|
206
221
|
setPreviewPlacement((currentPreview) => {
|
|
207
222
|
if (currentPreview) {
|
|
208
223
|
setPlacement(currentPreview);
|
|
@@ -212,7 +227,7 @@ export function usePanelDock({ enabled, measureKey }) {
|
|
|
212
227
|
});
|
|
213
228
|
dragPointerIdRef.current = null;
|
|
214
229
|
setIsDragging(false);
|
|
215
|
-
}, []);
|
|
230
|
+
}, [detachDragListeners]);
|
|
216
231
|
useEffect(() => {
|
|
217
232
|
if (!enabled) {
|
|
218
233
|
return;
|
|
@@ -224,41 +239,35 @@ export function usePanelDock({ enabled, measureKey }) {
|
|
|
224
239
|
window.addEventListener("resize", handleResize);
|
|
225
240
|
return () => window.removeEventListener("resize", handleResize);
|
|
226
241
|
}, [enabled]);
|
|
227
|
-
useEffect(() =>
|
|
228
|
-
if (!isDragging) {
|
|
229
|
-
return;
|
|
230
|
-
}
|
|
231
|
-
const handlePointerMove = (event) => {
|
|
232
|
-
if (dragPointerIdRef.current !== event.pointerId) {
|
|
233
|
-
return;
|
|
234
|
-
}
|
|
235
|
-
updatePlacementFromPointer(event.clientX, event.clientY);
|
|
236
|
-
};
|
|
237
|
-
const handlePointerUp = (event) => {
|
|
238
|
-
if (dragPointerIdRef.current !== event.pointerId) {
|
|
239
|
-
return;
|
|
240
|
-
}
|
|
241
|
-
finishDrag();
|
|
242
|
-
};
|
|
243
|
-
window.addEventListener("pointermove", handlePointerMove);
|
|
244
|
-
window.addEventListener("pointerup", handlePointerUp);
|
|
245
|
-
window.addEventListener("pointercancel", handlePointerUp);
|
|
246
|
-
return () => {
|
|
247
|
-
window.removeEventListener("pointermove", handlePointerMove);
|
|
248
|
-
window.removeEventListener("pointerup", handlePointerUp);
|
|
249
|
-
window.removeEventListener("pointercancel", handlePointerUp);
|
|
250
|
-
};
|
|
251
|
-
}, [finishDrag, isDragging, updatePlacementFromPointer]);
|
|
242
|
+
useEffect(() => () => detachDragListeners(), [detachDragListeners]);
|
|
252
243
|
const handleDragHandlePointerDown = useCallback((event) => {
|
|
253
244
|
if (!enabled || event.button !== 0) {
|
|
254
245
|
return;
|
|
255
246
|
}
|
|
256
247
|
event.preventDefault();
|
|
248
|
+
event.stopPropagation();
|
|
249
|
+
detachDragListeners();
|
|
257
250
|
event.currentTarget.setPointerCapture(event.pointerId);
|
|
258
251
|
dragPointerIdRef.current = event.pointerId;
|
|
259
252
|
setIsDragging(true);
|
|
260
253
|
updatePlacementFromPointer(event.clientX, event.clientY);
|
|
261
|
-
|
|
254
|
+
const handlePointerMove = (moveEvent) => {
|
|
255
|
+
if (dragPointerIdRef.current !== moveEvent.pointerId) {
|
|
256
|
+
return;
|
|
257
|
+
}
|
|
258
|
+
updatePlacementFromPointer(moveEvent.clientX, moveEvent.clientY);
|
|
259
|
+
};
|
|
260
|
+
const handlePointerUp = (upEvent) => {
|
|
261
|
+
if (dragPointerIdRef.current !== upEvent.pointerId) {
|
|
262
|
+
return;
|
|
263
|
+
}
|
|
264
|
+
finishDrag();
|
|
265
|
+
};
|
|
266
|
+
dragListenersRef.current = { move: handlePointerMove, up: handlePointerUp };
|
|
267
|
+
window.addEventListener("pointermove", handlePointerMove, DRAG_LISTENER_OPTIONS);
|
|
268
|
+
window.addEventListener("pointerup", handlePointerUp, DRAG_LISTENER_OPTIONS);
|
|
269
|
+
window.addEventListener("pointercancel", handlePointerUp, DRAG_LISTENER_OPTIONS);
|
|
270
|
+
}, [detachDragListeners, enabled, finishDrag, updatePlacementFromPointer]);
|
|
262
271
|
const panelStyle = enabled ? placementToPanelStyle(currentPlacement) : getMobilePanelStyle();
|
|
263
272
|
return {
|
|
264
273
|
panelRef,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePanelDock.js","sourceRoot":"","sources":["../../src/hooks/usePanelDock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,EAAE,QAAQ,EAA8D,MAAM,OAAO,CAAC;AAgB9I,MAAM,WAAW,GAAG,4BAA4B,CAAC;AACjD,MAAM,kBAAkB,GAAG,gCAAgC,CAAC;AAC5D,MAAM,WAAW,GAAG,EAAE,CAAC;AACvB,MAAM,iBAAiB,GAAmB,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;AAEjE,MAAM,aAAa,GAAkB,CAAC,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,cAAc,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"usePanelDock.js","sourceRoot":"","sources":["../../src/hooks/usePanelDock.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,11 +14,11 @@ type UsePanelFeedbackTransferOptions = {
|
|
|
14
14
|
messages: ReportMessages;
|
|
15
15
|
setErrorMessage: (message: string) => void;
|
|
16
16
|
refetch: () => Promise<unknown>;
|
|
17
|
-
openPanelTab: (tab: "command") => void;
|
|
18
|
-
|
|
17
|
+
openPanelTab: (tab: "command" | "settings") => void;
|
|
18
|
+
onPanelOverlayClose?: () => void;
|
|
19
19
|
isRecording: boolean;
|
|
20
20
|
};
|
|
21
|
-
export declare function usePanelFeedbackTransfer({ transferScope, canTransferFeedback, messages, setErrorMessage, refetch, openPanelTab,
|
|
21
|
+
export declare function usePanelFeedbackTransfer({ transferScope, canTransferFeedback, messages, setErrorMessage, refetch, openPanelTab, onPanelOverlayClose, isRecording, }: UsePanelFeedbackTransferOptions): {
|
|
22
22
|
isDragOver: boolean;
|
|
23
23
|
pendingImport: FeedbackImportPayload | null;
|
|
24
24
|
importStep: ImportStep;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePanelFeedbackTransfer.d.ts","sourceRoot":"","sources":["../../src/hooks/usePanelFeedbackTransfer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACtE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAaH,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC9B,MAAM,iCAAiC,CAAC;AAEzC,MAAM,MAAM,qBAAqB,GAAG;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,kBAAkB,GAAG,SAAS,CAAC;AACjE,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,iBAAiB,CAAC;AAwBrD,KAAK,+BAA+B,GAAG;IACnC,aAAa,EAAE,qBAAqB,CAAC;IACrC,mBAAmB,EAAE,OAAO,CAAC;IAC7B,QAAQ,EAAE,cAAc,CAAC;IACzB,eAAe,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,OAAO,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IAChC,YAAY,EAAE,CAAC,GAAG,EAAE,SAAS,KAAK,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"usePanelFeedbackTransfer.d.ts","sourceRoot":"","sources":["../../src/hooks/usePanelFeedbackTransfer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACtE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAaH,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC9B,MAAM,iCAAiC,CAAC;AAEzC,MAAM,MAAM,qBAAqB,GAAG;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,kBAAkB,GAAG,SAAS,CAAC;AACjE,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,iBAAiB,CAAC;AAwBrD,KAAK,+BAA+B,GAAG;IACnC,aAAa,EAAE,qBAAqB,CAAC;IACrC,mBAAmB,EAAE,OAAO,CAAC;IAC7B,QAAQ,EAAE,cAAc,CAAC;IACzB,eAAe,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,OAAO,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IAChC,YAAY,EAAE,CAAC,GAAG,EAAE,SAAS,GAAG,UAAU,KAAK,IAAI,CAAC;IACpD,mBAAmB,CAAC,EAAE,MAAM,IAAI,CAAC;IACjC,WAAW,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF,wBAAgB,wBAAwB,CAAC,EACrC,aAAa,EACb,mBAAmB,EACnB,QAAQ,EACR,eAAe,EACf,OAAO,EACP,YAAY,EACZ,mBAAmB,EACnB,WAAW,GACd,EAAE,+BAA+B;;;;;;;;iBAQgC,MAAM;iBAAW,OAAO;;;iBAAxB,MAAM;iBAAW,OAAO;;;;;;gCAiGtE,MAAM;;;;;;;;;;;;;6BAyGV,SAAS,CAAC,cAAc,CAAC;6BAiBzB,SAAS,CAAC,cAAc,CAAC;4BAgBzB,SAAS,CAAC,cAAc,CAAC;wBAgBzB,SAAS,CAAC,cAAc,CAAC;EA8CxC"}
|
|
@@ -16,7 +16,7 @@ function isJsonDragEvent(event) {
|
|
|
16
16
|
function isJsonFile(file) {
|
|
17
17
|
return file.type === "application/json" || file.name.toLowerCase().endsWith(".json");
|
|
18
18
|
}
|
|
19
|
-
export function usePanelFeedbackTransfer({ transferScope, canTransferFeedback, messages, setErrorMessage, refetch, openPanelTab,
|
|
19
|
+
export function usePanelFeedbackTransfer({ transferScope, canTransferFeedback, messages, setErrorMessage, refetch, openPanelTab, onPanelOverlayClose, isRecording, }) {
|
|
20
20
|
const { projectId, environment, appVersion } = transferScope;
|
|
21
21
|
const [isDragOver, setIsDragOver] = useState(false);
|
|
22
22
|
const [pendingImport, setPendingImport] = useState(null);
|
|
@@ -26,15 +26,15 @@ export function usePanelFeedbackTransfer({ transferScope, canTransferFeedback, m
|
|
|
26
26
|
const [commandStep, setCommandStep] = useState("none");
|
|
27
27
|
const [commandNotice, setCommandNotice] = useState(null);
|
|
28
28
|
const dragDepthRef = useRef(0);
|
|
29
|
-
const
|
|
30
|
-
|
|
31
|
-
}, [
|
|
29
|
+
const closePanelOverlay = useCallback(() => {
|
|
30
|
+
onPanelOverlayClose?.();
|
|
31
|
+
}, [onPanelOverlayClose]);
|
|
32
32
|
const queueImport = useCallback((payload) => {
|
|
33
|
-
|
|
33
|
+
closePanelOverlay();
|
|
34
34
|
setPendingImport(payload);
|
|
35
35
|
setImportStep(isImportProjectCompatible(transferScope, payload.project) ? "confirm" : "project-mismatch");
|
|
36
36
|
setErrorMessage("");
|
|
37
|
-
}, [
|
|
37
|
+
}, [closePanelOverlay, setErrorMessage, transferScope]);
|
|
38
38
|
const handleImportFile = useCallback(async (file) => {
|
|
39
39
|
if (!canTransferFeedback) {
|
|
40
40
|
setErrorMessage(messages.errors.localStorageTransferOnly);
|
|
@@ -53,7 +53,7 @@ export function usePanelFeedbackTransfer({ transferScope, canTransferFeedback, m
|
|
|
53
53
|
setErrorMessage(messages.errors.localStorageTransferOnly);
|
|
54
54
|
return;
|
|
55
55
|
}
|
|
56
|
-
|
|
56
|
+
closePanelOverlay();
|
|
57
57
|
const items = readAllFeedback(transferScope);
|
|
58
58
|
void downloadFeedbackJson(createFeedbackBackupFilename(projectId, environment, appVersion), toReportProject(transferScope), items).then((result) => {
|
|
59
59
|
if (result === "failed") {
|
|
@@ -65,13 +65,13 @@ export function usePanelFeedbackTransfer({ transferScope, canTransferFeedback, m
|
|
|
65
65
|
}
|
|
66
66
|
setErrorMessage("");
|
|
67
67
|
});
|
|
68
|
-
}, [canTransferFeedback,
|
|
68
|
+
}, [canTransferFeedback, closePanelOverlay, environment, messages.errors, projectId, setErrorMessage, transferScope, appVersion]);
|
|
69
69
|
const handleImportFromMenu = useCallback(() => {
|
|
70
70
|
if (!canTransferFeedback) {
|
|
71
71
|
setErrorMessage(messages.errors.localStorageTransferOnly);
|
|
72
72
|
return;
|
|
73
73
|
}
|
|
74
|
-
|
|
74
|
+
closePanelOverlay();
|
|
75
75
|
void pickFeedbackJsonFile()
|
|
76
76
|
.then((file) => {
|
|
77
77
|
if (!file) {
|
|
@@ -82,21 +82,21 @@ export function usePanelFeedbackTransfer({ transferScope, canTransferFeedback, m
|
|
|
82
82
|
.catch((error) => {
|
|
83
83
|
setErrorMessage(error instanceof Error ? error.message : messages.errors.jsonImportFailed);
|
|
84
84
|
});
|
|
85
|
-
}, [canTransferFeedback,
|
|
85
|
+
}, [canTransferFeedback, closePanelOverlay, handleImportFile, messages.errors, setErrorMessage]);
|
|
86
86
|
const handleOpenCommand = useCallback(() => {
|
|
87
87
|
if (!canTransferFeedback) {
|
|
88
88
|
setErrorMessage(messages.errors.localStorageCommandOnly);
|
|
89
89
|
return;
|
|
90
90
|
}
|
|
91
|
-
|
|
91
|
+
closePanelOverlay();
|
|
92
92
|
setErrorMessage("");
|
|
93
93
|
openPanelTab("command");
|
|
94
|
-
}, [canTransferFeedback,
|
|
94
|
+
}, [canTransferFeedback, closePanelOverlay, messages.errors, openPanelTab, setErrorMessage]);
|
|
95
95
|
const handleCloseCommand = useCallback(() => {
|
|
96
96
|
setCommandStep("none");
|
|
97
97
|
setPendingCommand(null);
|
|
98
98
|
setCommandConflicts([]);
|
|
99
|
-
openPanelTab("
|
|
99
|
+
openPanelTab("settings");
|
|
100
100
|
}, [openPanelTab]);
|
|
101
101
|
const handleCommandExecute = useCallback(async (raw) => {
|
|
102
102
|
if (!canTransferFeedback) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePanelFeedbackTransfer.js","sourceRoot":"","sources":["../../src/hooks/usePanelFeedbackTransfer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAkB,MAAM,OAAO,CAAC;AAEtE,OAAO,EACH,4BAA4B,EAC5B,oBAAoB,EACpB,2BAA2B,EAC3B,mBAAmB,EACnB,yBAAyB,EACzB,wBAAwB,EACxB,oBAAoB,EACpB,eAAe,EACf,oBAAoB,EACpB,eAAe,EACf,mBAAmB,EACnB,gBAAgB,GAGnB,MAAM,iCAAiC,CAAC;AAWzC,SAAS,0BAA0B,CAAC,QAAwB,EAAE,QAAgB,EAAE,QAAgB;IAC5F,IAAI,QAAQ,GAAG,CAAC,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;QAC/B,OAAO,QAAQ,CAAC,MAAM,CAAC,8BAA8B,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC9E,CAAC;IAED,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;QACf,OAAO,QAAQ,CAAC,MAAM,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC;IAC5D,CAAC;IAED,OAAO,QAAQ,CAAC,MAAM,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC;AAC5D,CAAC;AAED,SAAS,eAAe,CAAC,KAAgB;IACrC,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAEnD,OAAO,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;AACzE,CAAC;AAED,SAAS,UAAU,CAAC,IAAU;IAC1B,OAAO,IAAI,CAAC,IAAI,KAAK,kBAAkB,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AACzF,CAAC;AAaD,MAAM,UAAU,wBAAwB,CAAC,EACrC,aAAa,EACb,mBAAmB,EACnB,QAAQ,EACR,eAAe,EACf,OAAO,EACP,YAAY,EACZ,
|
|
1
|
+
{"version":3,"file":"usePanelFeedbackTransfer.js","sourceRoot":"","sources":["../../src/hooks/usePanelFeedbackTransfer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { type CSSProperties, type RefObject } from "react";
|
|
2
|
+
import type { PanelCorner } from "../hooks/usePanelDock.js";
|
|
3
|
+
import { type ResizeCorner } from "../hooks/useGhostCornerResize.js";
|
|
4
|
+
export type PanelSizeState = {
|
|
5
|
+
width: number;
|
|
6
|
+
height: number | null;
|
|
7
|
+
};
|
|
8
|
+
/** @deprecated Edge resize replaced by corner ghost resize. */
|
|
9
|
+
export type PanelResizeEdge = "top" | "bottom" | "left" | "right";
|
|
10
|
+
export declare const PANEL_WIDTH_MIN = 342;
|
|
11
|
+
export declare const PANEL_DEFAULT_WIDTH = 342;
|
|
12
|
+
export declare const PANEL_CONTENT_MIN_HEIGHT = 220;
|
|
13
|
+
export declare const PANEL_HEADER_ESTIMATE_HEIGHT = 132;
|
|
14
|
+
export declare const PANEL_TAB_BAR_HEIGHT = 36;
|
|
15
|
+
export declare const PANEL_CHROME_MIN_HEIGHT: number;
|
|
16
|
+
export declare const PANEL_HEIGHT_MIN: number;
|
|
17
|
+
/** @deprecated Used only for migrating legacy stored sizes. */
|
|
18
|
+
export declare const PANEL_DEFAULT_HEIGHT = 480;
|
|
19
|
+
export declare function getPanelSizeLimits(): {
|
|
20
|
+
maxWidth: number;
|
|
21
|
+
maxHeight: number;
|
|
22
|
+
};
|
|
23
|
+
export declare function getOppositeResizeCorner(corner: PanelCorner): ResizeCorner;
|
|
24
|
+
/** @deprecated Edge resize replaced by corner ghost resize. */
|
|
25
|
+
export declare function getResizeEdgesForCorner(corner: PanelCorner): {
|
|
26
|
+
widthEdge: "left" | "right";
|
|
27
|
+
heightEdge: "top" | "bottom";
|
|
28
|
+
};
|
|
29
|
+
export declare function panelSizeToStyle(size: PanelSizeState, applyFixedHeight?: boolean): CSSProperties;
|
|
30
|
+
export declare function usePanelResize({ enabled, corner, heightResizeEnabled, panelRef, }: {
|
|
31
|
+
enabled: boolean;
|
|
32
|
+
corner: PanelCorner;
|
|
33
|
+
heightResizeEnabled: boolean;
|
|
34
|
+
panelRef: RefObject<HTMLDivElement | null>;
|
|
35
|
+
}): {
|
|
36
|
+
panelSize: PanelSizeState;
|
|
37
|
+
isResizing: boolean;
|
|
38
|
+
resizeCorner: ResizeCorner;
|
|
39
|
+
handleResizePointerDown: (event: import("react").PointerEvent<HTMLElement>) => void;
|
|
40
|
+
resetPanelSize: () => void;
|
|
41
|
+
ghostRef: import("react").MutableRefObject<HTMLDivElement | null>;
|
|
42
|
+
isDefaultSize: boolean;
|
|
43
|
+
};
|
|
44
|
+
//# sourceMappingURL=usePanelResize.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePanelResize.d.ts","sourceRoot":"","sources":["../../src/hooks/usePanelResize.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoC,KAAK,aAAa,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAC7F,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAwB,KAAK,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAE1F,MAAM,MAAM,cAAc,GAAG;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB,CAAC;AAEF,+DAA+D;AAC/D,MAAM,MAAM,eAAe,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;AAIlE,eAAO,MAAM,eAAe,MAAM,CAAC;AACnC,eAAO,MAAM,mBAAmB,MAAkB,CAAC;AACnD,eAAO,MAAM,wBAAwB,MAAM,CAAC;AAC5C,eAAO,MAAM,4BAA4B,MAAM,CAAC;AAChD,eAAO,MAAM,oBAAoB,KAAK,CAAC;AACvC,eAAO,MAAM,uBAAuB,QAAsD,CAAC;AAC3F,eAAO,MAAM,gBAAgB,QAA0D,CAAC;AACxF,+DAA+D;AAC/D,eAAO,MAAM,oBAAoB,MAAM,CAAC;AAkBxC,wBAAgB,kBAAkB,IAAI;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAU5E;AA2FD,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,WAAW,GAAG,YAAY,CAWzE;AAED,+DAA+D;AAC/D,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,WAAW,GAAG;IAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;IAAC,UAAU,EAAE,KAAK,GAAG,QAAQ,CAAA;CAAE,CAW1H;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,cAAc,EAAE,gBAAgB,UAAQ,GAAG,aAAa,CAa9F;AAED,wBAAgB,cAAc,CAAC,EAC3B,OAAO,EACP,MAAM,EACN,mBAAmB,EACnB,QAAQ,GACX,EAAE;IACC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,WAAW,CAAC;IACpB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,QAAQ,EAAE,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;CAC9C;;;;;;;;EA6GA"}
|
|
@@ -0,0 +1,234 @@
|
|
|
1
|
+
import { useCallback, useEffect, useState } from "react";
|
|
2
|
+
import { useGhostCornerResize } from "../hooks/useGhostCornerResize.js";
|
|
3
|
+
const STORAGE_KEY = "fivepixels:panel-size";
|
|
4
|
+
export const PANEL_WIDTH_MIN = 342;
|
|
5
|
+
export const PANEL_DEFAULT_WIDTH = PANEL_WIDTH_MIN;
|
|
6
|
+
export const PANEL_CONTENT_MIN_HEIGHT = 220;
|
|
7
|
+
export const PANEL_HEADER_ESTIMATE_HEIGHT = 132;
|
|
8
|
+
export const PANEL_TAB_BAR_HEIGHT = 36;
|
|
9
|
+
export const PANEL_CHROME_MIN_HEIGHT = PANEL_HEADER_ESTIMATE_HEIGHT + PANEL_TAB_BAR_HEIGHT;
|
|
10
|
+
export const PANEL_HEIGHT_MIN = PANEL_HEADER_ESTIMATE_HEIGHT + PANEL_CONTENT_MIN_HEIGHT;
|
|
11
|
+
/** @deprecated Used only for migrating legacy stored sizes. */
|
|
12
|
+
export const PANEL_DEFAULT_HEIGHT = 480;
|
|
13
|
+
/** @deprecated Used only for migrating legacy stored sizes. */
|
|
14
|
+
const LEGACY_PANEL_DEFAULT_WIDTH = 420;
|
|
15
|
+
const DEFAULT_PANEL_SIZE = {
|
|
16
|
+
width: PANEL_DEFAULT_WIDTH,
|
|
17
|
+
height: null,
|
|
18
|
+
};
|
|
19
|
+
function getViewportMarginPx() {
|
|
20
|
+
if (typeof window === "undefined") {
|
|
21
|
+
return 25.6;
|
|
22
|
+
}
|
|
23
|
+
const rootFontSize = Number.parseFloat(getComputedStyle(document.documentElement).fontSize);
|
|
24
|
+
return Number.isFinite(rootFontSize) ? rootFontSize * 1.6 : 25.6;
|
|
25
|
+
}
|
|
26
|
+
export function getPanelSizeLimits() {
|
|
27
|
+
if (typeof window === "undefined") {
|
|
28
|
+
return { maxWidth: 800, maxHeight: 600 };
|
|
29
|
+
}
|
|
30
|
+
const margin = getViewportMarginPx();
|
|
31
|
+
return {
|
|
32
|
+
maxWidth: Math.max(PANEL_WIDTH_MIN, window.innerWidth - margin),
|
|
33
|
+
maxHeight: Math.max(PANEL_HEIGHT_MIN, window.innerHeight - margin),
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
function clampWidth(width) {
|
|
37
|
+
const { maxWidth } = getPanelSizeLimits();
|
|
38
|
+
return Math.min(Math.max(width, PANEL_WIDTH_MIN), maxWidth);
|
|
39
|
+
}
|
|
40
|
+
function clampHeight(height) {
|
|
41
|
+
const { maxHeight } = getPanelSizeLimits();
|
|
42
|
+
return Math.min(Math.max(height, PANEL_HEIGHT_MIN), maxHeight);
|
|
43
|
+
}
|
|
44
|
+
function clampPanelSize(size) {
|
|
45
|
+
return {
|
|
46
|
+
width: clampWidth(size.width),
|
|
47
|
+
height: size.height === null ? null : clampHeight(size.height),
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
function clampPanelBoxSize(width, height, minHeight) {
|
|
51
|
+
const { maxHeight } = getPanelSizeLimits();
|
|
52
|
+
return {
|
|
53
|
+
width: clampWidth(width),
|
|
54
|
+
height: Math.min(Math.max(height, minHeight), maxHeight),
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
function normalizeStoredWidth(width) {
|
|
58
|
+
if (width === null || width === LEGACY_PANEL_DEFAULT_WIDTH) {
|
|
59
|
+
return PANEL_DEFAULT_WIDTH;
|
|
60
|
+
}
|
|
61
|
+
return width;
|
|
62
|
+
}
|
|
63
|
+
function isLegacyPanelSize(value) {
|
|
64
|
+
return typeof value === "object" && value !== null && typeof value.width === "number" && typeof value.height === "number";
|
|
65
|
+
}
|
|
66
|
+
function isPanelSizeState(value) {
|
|
67
|
+
return (typeof value === "object" &&
|
|
68
|
+
value !== null &&
|
|
69
|
+
(value.width === null || typeof value.width === "number") &&
|
|
70
|
+
(value.height === null || typeof value.height === "number"));
|
|
71
|
+
}
|
|
72
|
+
function readStoredPanelSize() {
|
|
73
|
+
if (typeof window === "undefined") {
|
|
74
|
+
return DEFAULT_PANEL_SIZE;
|
|
75
|
+
}
|
|
76
|
+
try {
|
|
77
|
+
const stored = window.localStorage.getItem(STORAGE_KEY);
|
|
78
|
+
if (stored) {
|
|
79
|
+
const parsed = JSON.parse(stored);
|
|
80
|
+
if (isPanelSizeState(parsed)) {
|
|
81
|
+
const migrated = {
|
|
82
|
+
width: normalizeStoredWidth(parsed.width),
|
|
83
|
+
height: parsed.height,
|
|
84
|
+
};
|
|
85
|
+
return clampPanelSize(migrated);
|
|
86
|
+
}
|
|
87
|
+
if (isLegacyPanelSize(parsed)) {
|
|
88
|
+
const migrated = {
|
|
89
|
+
width: normalizeStoredWidth(parsed.width),
|
|
90
|
+
height: parsed.height === PANEL_DEFAULT_HEIGHT ? null : parsed.height,
|
|
91
|
+
};
|
|
92
|
+
return clampPanelSize(migrated);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
catch {
|
|
97
|
+
// Ignore storage failures in restricted environments.
|
|
98
|
+
}
|
|
99
|
+
return DEFAULT_PANEL_SIZE;
|
|
100
|
+
}
|
|
101
|
+
function persistPanelSize(size) {
|
|
102
|
+
try {
|
|
103
|
+
window.localStorage.setItem(STORAGE_KEY, JSON.stringify(size));
|
|
104
|
+
}
|
|
105
|
+
catch {
|
|
106
|
+
// Ignore storage failures in restricted environments.
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
export function getOppositeResizeCorner(corner) {
|
|
110
|
+
switch (corner) {
|
|
111
|
+
case "top-left":
|
|
112
|
+
return "bottom-right";
|
|
113
|
+
case "top-right":
|
|
114
|
+
return "bottom-left";
|
|
115
|
+
case "bottom-left":
|
|
116
|
+
return "top-right";
|
|
117
|
+
case "bottom-right":
|
|
118
|
+
return "top-left";
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
/** @deprecated Edge resize replaced by corner ghost resize. */
|
|
122
|
+
export function getResizeEdgesForCorner(corner) {
|
|
123
|
+
switch (corner) {
|
|
124
|
+
case "bottom-right":
|
|
125
|
+
return { widthEdge: "left", heightEdge: "top" };
|
|
126
|
+
case "bottom-left":
|
|
127
|
+
return { widthEdge: "right", heightEdge: "top" };
|
|
128
|
+
case "top-right":
|
|
129
|
+
return { widthEdge: "left", heightEdge: "bottom" };
|
|
130
|
+
case "top-left":
|
|
131
|
+
return { widthEdge: "right", heightEdge: "bottom" };
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
export function panelSizeToStyle(size, applyFixedHeight = false) {
|
|
135
|
+
const margin = getViewportMarginPx();
|
|
136
|
+
const style = {
|
|
137
|
+
width: size.width,
|
|
138
|
+
maxWidth: `calc(100svw - ${margin}px)`,
|
|
139
|
+
maxHeight: `calc(100svh - ${margin}px)`,
|
|
140
|
+
};
|
|
141
|
+
if (applyFixedHeight && size.height !== null) {
|
|
142
|
+
style.height = size.height;
|
|
143
|
+
}
|
|
144
|
+
return style;
|
|
145
|
+
}
|
|
146
|
+
export function usePanelResize({ enabled, corner, heightResizeEnabled, panelRef, }) {
|
|
147
|
+
const [size, setSize] = useState(() => readStoredPanelSize());
|
|
148
|
+
const resizeCorner = getOppositeResizeCorner(corner);
|
|
149
|
+
const resolveMinHeight = useCallback(() => {
|
|
150
|
+
if (heightResizeEnabled) {
|
|
151
|
+
return PANEL_HEIGHT_MIN;
|
|
152
|
+
}
|
|
153
|
+
return panelRef.current?.getBoundingClientRect().height ?? PANEL_CHROME_MIN_HEIGHT;
|
|
154
|
+
}, [heightResizeEnabled, panelRef]);
|
|
155
|
+
const clampResizeBox = useCallback((width, height) => clampPanelBoxSize(width, height, resolveMinHeight()), [resolveMinHeight]);
|
|
156
|
+
useEffect(() => {
|
|
157
|
+
if (!enabled) {
|
|
158
|
+
return;
|
|
159
|
+
}
|
|
160
|
+
const handleWindowResize = () => {
|
|
161
|
+
setSize((current) => clampPanelSize(current));
|
|
162
|
+
};
|
|
163
|
+
window.addEventListener("resize", handleWindowResize);
|
|
164
|
+
return () => window.removeEventListener("resize", handleWindowResize);
|
|
165
|
+
}, [enabled]);
|
|
166
|
+
useEffect(() => {
|
|
167
|
+
if (!enabled || heightResizeEnabled) {
|
|
168
|
+
return;
|
|
169
|
+
}
|
|
170
|
+
setSize((current) => {
|
|
171
|
+
if (current.height === null) {
|
|
172
|
+
return current;
|
|
173
|
+
}
|
|
174
|
+
const next = { ...current, height: null };
|
|
175
|
+
persistPanelSize(next);
|
|
176
|
+
return next;
|
|
177
|
+
});
|
|
178
|
+
}, [enabled, heightResizeEnabled]);
|
|
179
|
+
const resolveStartSize = useCallback(() => {
|
|
180
|
+
if (!heightResizeEnabled) {
|
|
181
|
+
const measuredHeight = panelRef.current?.getBoundingClientRect().height;
|
|
182
|
+
return {
|
|
183
|
+
width: size.width,
|
|
184
|
+
height: measuredHeight ?? PANEL_CHROME_MIN_HEIGHT,
|
|
185
|
+
};
|
|
186
|
+
}
|
|
187
|
+
if (size.height !== null) {
|
|
188
|
+
return { width: size.width, height: size.height };
|
|
189
|
+
}
|
|
190
|
+
const measuredHeight = panelRef.current?.getBoundingClientRect().height;
|
|
191
|
+
return {
|
|
192
|
+
width: size.width,
|
|
193
|
+
height: measuredHeight ? clampHeight(measuredHeight) : PANEL_HEIGHT_MIN,
|
|
194
|
+
};
|
|
195
|
+
}, [heightResizeEnabled, panelRef, size]);
|
|
196
|
+
const handleResizeComplete = useCallback((next) => {
|
|
197
|
+
let height;
|
|
198
|
+
if (!heightResizeEnabled || next.height <= PANEL_CHROME_MIN_HEIGHT + 16) {
|
|
199
|
+
height = null;
|
|
200
|
+
}
|
|
201
|
+
else {
|
|
202
|
+
height = clampHeight(next.height);
|
|
203
|
+
}
|
|
204
|
+
const nextState = clampPanelSize({
|
|
205
|
+
width: next.width,
|
|
206
|
+
height,
|
|
207
|
+
});
|
|
208
|
+
setSize(nextState);
|
|
209
|
+
persistPanelSize(nextState);
|
|
210
|
+
}, [heightResizeEnabled]);
|
|
211
|
+
const { isResizing, ghostRef, handleResizePointerDown } = useGhostCornerResize({
|
|
212
|
+
enabled,
|
|
213
|
+
targetRef: panelRef,
|
|
214
|
+
handleCorner: resizeCorner,
|
|
215
|
+
clampSize: clampResizeBox,
|
|
216
|
+
onResizeComplete: handleResizeComplete,
|
|
217
|
+
resolveStartSize,
|
|
218
|
+
});
|
|
219
|
+
const resetPanelSize = useCallback(() => {
|
|
220
|
+
const next = clampPanelSize(DEFAULT_PANEL_SIZE);
|
|
221
|
+
setSize(next);
|
|
222
|
+
persistPanelSize(next);
|
|
223
|
+
}, []);
|
|
224
|
+
return {
|
|
225
|
+
panelSize: size,
|
|
226
|
+
isResizing,
|
|
227
|
+
resizeCorner,
|
|
228
|
+
handleResizePointerDown,
|
|
229
|
+
resetPanelSize,
|
|
230
|
+
ghostRef,
|
|
231
|
+
isDefaultSize: size.width === PANEL_DEFAULT_WIDTH && size.height === null,
|
|
232
|
+
};
|
|
233
|
+
}
|
|
234
|
+
//# sourceMappingURL=usePanelResize.js.map
|