@flanksource/clicky-ui 0.3.55 → 0.3.56
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/NOTICE.md +6 -0
- package/dist/ai.cjs +6 -0
- package/dist/ai.js +3 -1
- package/dist/chat.cjs +2 -0
- package/dist/chat.d.ts +1 -0
- package/dist/chat.d.ts.map +1 -1
- package/dist/chat.js +2 -1
- package/dist/comments/CommentCard.cjs +37 -7
- package/dist/comments/CommentCard.cjs.map +1 -1
- package/dist/comments/CommentCard.d.ts +11 -1
- package/dist/comments/CommentCard.d.ts.map +1 -1
- package/dist/comments/CommentCard.js +37 -7
- package/dist/comments/CommentCard.js.map +1 -1
- package/dist/comments/CommentCardParts.cjs +9 -4
- package/dist/comments/CommentCardParts.cjs.map +1 -1
- package/dist/comments/CommentCardParts.d.ts.map +1 -1
- package/dist/comments/CommentCardParts.js +9 -4
- package/dist/comments/CommentCardParts.js.map +1 -1
- package/dist/comments/CommentComposer.cjs +8 -8
- package/dist/comments/CommentComposer.cjs.map +1 -1
- package/dist/comments/CommentComposer.d.ts.map +1 -1
- package/dist/comments/CommentComposer.js +8 -8
- package/dist/comments/CommentComposer.js.map +1 -1
- package/dist/comments/CommentProvider.cjs +5 -1
- package/dist/comments/CommentProvider.cjs.map +1 -1
- package/dist/comments/CommentProvider.d.ts +1 -1
- package/dist/comments/CommentProvider.d.ts.map +1 -1
- package/dist/comments/CommentProvider.js +5 -1
- package/dist/comments/CommentProvider.js.map +1 -1
- package/dist/comments/CommentSidePanel.cjs +17 -11
- package/dist/comments/CommentSidePanel.cjs.map +1 -1
- package/dist/comments/CommentSidePanel.d.ts +6 -0
- package/dist/comments/CommentSidePanel.d.ts.map +1 -1
- package/dist/comments/CommentSidePanel.js +17 -11
- package/dist/comments/CommentSidePanel.js.map +1 -1
- package/dist/comments/CommentThread.cjs +4 -1
- package/dist/comments/CommentThread.cjs.map +1 -1
- package/dist/comments/CommentThread.d.ts +4 -1
- package/dist/comments/CommentThread.d.ts.map +1 -1
- package/dist/comments/CommentThread.js +4 -1
- package/dist/comments/CommentThread.js.map +1 -1
- package/dist/comments/CommentThreadList.cjs +6 -3
- package/dist/comments/CommentThreadList.cjs.map +1 -1
- package/dist/comments/CommentThreadList.d.ts +7 -2
- package/dist/comments/CommentThreadList.d.ts.map +1 -1
- package/dist/comments/CommentThreadList.js +6 -3
- package/dist/comments/CommentThreadList.js.map +1 -1
- package/dist/comments/MentionTextarea.cjs +1 -1
- package/dist/comments/MentionTextarea.cjs.map +1 -1
- package/dist/comments/MentionTextarea.d.ts.map +1 -1
- package/dist/comments/MentionTextarea.js +1 -1
- package/dist/comments/MentionTextarea.js.map +1 -1
- package/dist/comments/comment-assign.cjs +68 -0
- package/dist/comments/comment-assign.cjs.map +1 -0
- package/dist/comments/comment-assign.d.ts +31 -0
- package/dist/comments/comment-assign.d.ts.map +1 -0
- package/dist/comments/comment-assign.js +67 -0
- package/dist/comments/comment-assign.js.map +1 -0
- package/dist/comments/comment-types.cjs.map +1 -1
- package/dist/comments/comment-types.d.ts +39 -0
- package/dist/comments/comment-types.d.ts.map +1 -1
- package/dist/comments/comment-types.js.map +1 -1
- package/dist/comments/comment-utils.cjs +2 -0
- package/dist/comments/comment-utils.cjs.map +1 -1
- package/dist/comments/comment-utils.d.ts +2 -0
- package/dist/comments/comment-utils.d.ts.map +1 -1
- package/dist/comments/comment-utils.js +2 -0
- package/dist/comments/comment-utils.js.map +1 -1
- package/dist/comments.cjs +3 -0
- package/dist/comments.d.ts +1 -0
- package/dist/comments.d.ts.map +1 -1
- package/dist/comments.js +2 -1
- package/dist/components/ComboboxMenu.cjs +23 -13
- package/dist/components/ComboboxMenu.cjs.map +1 -1
- package/dist/components/ComboboxMenu.d.ts.map +1 -1
- package/dist/components/ComboboxMenu.js +23 -13
- package/dist/components/ComboboxMenu.js.map +1 -1
- package/dist/components/FilterBar.cjs +29 -6
- package/dist/components/FilterBar.cjs.map +1 -1
- package/dist/components/FilterBar.d.ts +3 -1
- package/dist/components/FilterBar.d.ts.map +1 -1
- package/dist/components/FilterBar.js +29 -6
- package/dist/components/FilterBar.js.map +1 -1
- package/dist/components/ItemActions.cjs +1 -1
- package/dist/components/ItemActions.cjs.map +1 -1
- package/dist/components/ItemActions.js +1 -1
- package/dist/components/ItemActions.js.map +1 -1
- package/dist/components/ListMenu.cjs +33 -3
- package/dist/components/ListMenu.cjs.map +1 -1
- package/dist/components/ListMenu.d.ts +4 -1
- package/dist/components/ListMenu.d.ts.map +1 -1
- package/dist/components/ListMenu.js +33 -3
- package/dist/components/ListMenu.js.map +1 -1
- package/dist/components/ListMenuItems.cjs +80 -0
- package/dist/components/ListMenuItems.cjs.map +1 -0
- package/dist/components/ListMenuItems.d.ts +8 -0
- package/dist/components/ListMenuItems.d.ts.map +1 -0
- package/dist/components/ListMenuItems.js +80 -0
- package/dist/components/ListMenuItems.js.map +1 -0
- package/dist/components/LocalPathPicker.cjs +182 -0
- package/dist/components/LocalPathPicker.cjs.map +1 -0
- package/dist/components/LocalPathPicker.d.ts +11 -0
- package/dist/components/LocalPathPicker.d.ts.map +1 -0
- package/dist/components/LocalPathPicker.js +182 -0
- package/dist/components/LocalPathPicker.js.map +1 -0
- package/dist/components/LocalPathTree.cjs +89 -0
- package/dist/components/LocalPathTree.cjs.map +1 -0
- package/dist/components/LocalPathTree.d.ts +9 -0
- package/dist/components/LocalPathTree.d.ts.map +1 -0
- package/dist/components/LocalPathTree.js +89 -0
- package/dist/components/LocalPathTree.js.map +1 -0
- package/dist/components/RangeSlider.cjs +10 -30
- package/dist/components/RangeSlider.cjs.map +1 -1
- package/dist/components/RangeSlider.d.ts.map +1 -1
- package/dist/components/RangeSlider.js +4 -24
- package/dist/components/RangeSlider.js.map +1 -1
- package/dist/components/Slider.cjs +79 -0
- package/dist/components/Slider.cjs.map +1 -0
- package/dist/components/Slider.d.ts +23 -0
- package/dist/components/Slider.d.ts.map +1 -0
- package/dist/components/Slider.js +79 -0
- package/dist/components/Slider.js.map +1 -0
- package/dist/components/combobox-types.d.ts +4 -1
- package/dist/components/combobox-types.d.ts.map +1 -1
- package/dist/components/filter-bar-field-utils.cjs +3 -5
- package/dist/components/filter-bar-field-utils.cjs.map +1 -1
- package/dist/components/filter-bar-field-utils.d.ts.map +1 -1
- package/dist/components/filter-bar-field-utils.js +3 -5
- package/dist/components/filter-bar-field-utils.js.map +1 -1
- package/dist/components/filter-bar-tree-model.cjs +22 -0
- package/dist/components/filter-bar-tree-model.cjs.map +1 -0
- package/dist/components/filter-bar-tree-model.d.ts +33 -0
- package/dist/components/filter-bar-tree-model.d.ts.map +1 -0
- package/dist/components/filter-bar-tree-model.js +21 -0
- package/dist/components/filter-bar-tree-model.js.map +1 -0
- package/dist/components/filter-bar-tree.cjs +84 -0
- package/dist/components/filter-bar-tree.cjs.map +1 -0
- package/dist/components/filter-bar-tree.d.ts +7 -0
- package/dist/components/filter-bar-tree.d.ts.map +1 -0
- package/dist/components/filter-bar-tree.js +84 -0
- package/dist/components/filter-bar-tree.js.map +1 -0
- package/dist/components/json-schema-form-debug-glyph-map.cjs +2 -0
- package/dist/components/json-schema-form-debug-glyph-map.cjs.map +1 -1
- package/dist/components/json-schema-form-debug-glyph-map.d.ts.map +1 -1
- package/dist/components/json-schema-form-debug-glyph-map.js +2 -0
- package/dist/components/json-schema-form-debug-glyph-map.js.map +1 -1
- package/dist/components/json-schema-form-help-links.cjs +18 -0
- package/dist/components/json-schema-form-help-links.cjs.map +1 -0
- package/dist/components/json-schema-form-help-links.d.ts +5 -0
- package/dist/components/json-schema-form-help-links.d.ts.map +1 -0
- package/dist/components/json-schema-form-help-links.js +18 -0
- package/dist/components/json-schema-form-help-links.js.map +1 -0
- package/dist/components/json-schema-form-help-model.cjs +7 -0
- package/dist/components/json-schema-form-help-model.cjs.map +1 -0
- package/dist/components/json-schema-form-help-model.d.ts +3 -0
- package/dist/components/json-schema-form-help-model.d.ts.map +1 -0
- package/dist/components/json-schema-form-help-model.js +7 -0
- package/dist/components/json-schema-form-help-model.js.map +1 -0
- package/dist/components/json-schema-form-json.cjs +48 -0
- package/dist/components/json-schema-form-json.cjs.map +1 -0
- package/dist/components/json-schema-form-json.d.ts +7 -0
- package/dist/components/json-schema-form-json.d.ts.map +1 -0
- package/dist/components/json-schema-form-json.js +48 -0
- package/dist/components/json-schema-form-json.js.map +1 -0
- package/dist/components/json-schema-form-layout.cjs +7 -5
- package/dist/components/json-schema-form-layout.cjs.map +1 -1
- package/dist/components/json-schema-form-layout.d.ts +2 -2
- package/dist/components/json-schema-form-layout.d.ts.map +1 -1
- package/dist/components/json-schema-form-layout.js +7 -5
- package/dist/components/json-schema-form-layout.js.map +1 -1
- package/dist/components/json-schema-form-object.cjs +2 -13
- package/dist/components/json-schema-form-object.cjs.map +1 -1
- package/dist/components/json-schema-form-object.d.ts.map +1 -1
- package/dist/components/json-schema-form-object.js +2 -13
- package/dist/components/json-schema-form-object.js.map +1 -1
- package/dist/components/json-schema-form-refs.cjs +1 -1
- package/dist/components/json-schema-form-refs.cjs.map +1 -1
- package/dist/components/json-schema-form-refs.d.ts.map +1 -1
- package/dist/components/json-schema-form-refs.js +1 -1
- package/dist/components/json-schema-form-refs.js.map +1 -1
- package/dist/components/json-schema-form-render.cjs +20 -6
- package/dist/components/json-schema-form-render.cjs.map +1 -1
- package/dist/components/json-schema-form-render.d.ts.map +1 -1
- package/dist/components/json-schema-form-render.js +20 -6
- package/dist/components/json-schema-form-render.js.map +1 -1
- package/dist/components/json-schema-form-resolve.cjs +22 -2
- package/dist/components/json-schema-form-resolve.cjs.map +1 -1
- package/dist/components/json-schema-form-resolve.d.ts.map +1 -1
- package/dist/components/json-schema-form-resolve.js +22 -2
- package/dist/components/json-schema-form-resolve.js.map +1 -1
- package/dist/components/json-schema-form-types.d.ts +5 -1
- package/dist/components/json-schema-form-types.d.ts.map +1 -1
- package/dist/components/json-schema-form-union-model.cjs +46 -0
- package/dist/components/json-schema-form-union-model.cjs.map +1 -0
- package/dist/components/json-schema-form-union-model.d.ts +6 -0
- package/dist/components/json-schema-form-union-model.d.ts.map +1 -0
- package/dist/components/json-schema-form-union-model.js +43 -0
- package/dist/components/json-schema-form-union-model.js.map +1 -0
- package/dist/components/json-schema-form-union.cjs +52 -0
- package/dist/components/json-schema-form-union.cjs.map +1 -0
- package/dist/components/json-schema-form-union.d.ts +7 -0
- package/dist/components/json-schema-form-union.d.ts.map +1 -0
- package/dist/components/json-schema-form-union.js +52 -0
- package/dist/components/json-schema-form-union.js.map +1 -0
- package/dist/components/list-menu-virtual.cjs +5 -0
- package/dist/components/list-menu-virtual.cjs.map +1 -0
- package/dist/components/list-menu-virtual.d.ts +12 -0
- package/dist/components/list-menu-virtual.d.ts.map +1 -0
- package/dist/components/list-menu-virtual.js +6 -0
- package/dist/components/list-menu-virtual.js.map +1 -0
- package/dist/components/local-path.cjs +12 -0
- package/dist/components/local-path.cjs.map +1 -0
- package/dist/components/local-path.d.ts +14 -0
- package/dist/components/local-path.d.ts.map +1 -0
- package/dist/components/local-path.js +12 -0
- package/dist/components/local-path.js.map +1 -0
- package/dist/components/slider-shared.cjs +32 -0
- package/dist/components/slider-shared.cjs.map +1 -0
- package/dist/components/slider-shared.d.ts +18 -0
- package/dist/components/slider-shared.d.ts.map +1 -0
- package/dist/components/slider-shared.js +27 -0
- package/dist/components/slider-shared.js.map +1 -0
- package/dist/components.cjs +8 -0
- package/dist/components.d.ts +6 -1
- package/dist/components.d.ts.map +1 -1
- package/dist/components.js +5 -1
- package/dist/connections/ConnectionsPage.cjs +51 -19
- package/dist/connections/ConnectionsPage.cjs.map +1 -1
- package/dist/connections/ConnectionsPage.d.ts +9 -1
- package/dist/connections/ConnectionsPage.d.ts.map +1 -1
- package/dist/connections/ConnectionsPage.js +52 -20
- package/dist/connections/ConnectionsPage.js.map +1 -1
- package/dist/connections/connectionDashboard.cjs +13 -8
- package/dist/connections/connectionDashboard.cjs.map +1 -1
- package/dist/connections/connectionDashboard.d.ts +8 -3
- package/dist/connections/connectionDashboard.d.ts.map +1 -1
- package/dist/connections/connectionDashboard.js +14 -9
- package/dist/connections/connectionDashboard.js.map +1 -1
- package/dist/connections/connectionDashboardModel.cjs.map +1 -1
- package/dist/connections/connectionDashboardModel.d.ts +4 -0
- package/dist/connections/connectionDashboardModel.d.ts.map +1 -1
- package/dist/connections/connectionDashboardModel.js.map +1 -1
- package/dist/connections/connectionDashboardRow.cjs +75 -55
- package/dist/connections/connectionDashboardRow.cjs.map +1 -1
- package/dist/connections/connectionDashboardRow.d.ts +3 -2
- package/dist/connections/connectionDashboardRow.d.ts.map +1 -1
- package/dist/connections/connectionDashboardRow.js +75 -55
- package/dist/connections/connectionDashboardRow.js.map +1 -1
- package/dist/connections/connectionNamespaceField.cjs +17 -0
- package/dist/connections/connectionNamespaceField.cjs.map +1 -0
- package/dist/connections/connectionNamespaceField.d.ts +10 -0
- package/dist/connections/connectionNamespaceField.d.ts.map +1 -0
- package/dist/connections/connectionNamespaceField.js +17 -0
- package/dist/connections/connectionNamespaceField.js.map +1 -0
- package/dist/connections/connectionSchemaFormExtensions.cjs +98 -0
- package/dist/connections/connectionSchemaFormExtensions.cjs.map +1 -0
- package/dist/connections/connectionSchemaFormExtensions.d.ts +41 -0
- package/dist/connections/connectionSchemaFormExtensions.d.ts.map +1 -0
- package/dist/connections/connectionSchemaFormExtensions.js +96 -0
- package/dist/connections/connectionSchemaFormExtensions.js.map +1 -0
- package/dist/connections/connectionsPageModel.cjs +11 -0
- package/dist/connections/connectionsPageModel.cjs.map +1 -1
- package/dist/connections/connectionsPageModel.d.ts +5 -0
- package/dist/connections/connectionsPageModel.d.ts.map +1 -1
- package/dist/connections/connectionsPageModel.js +11 -1
- package/dist/connections/connectionsPageModel.js.map +1 -1
- package/dist/connections.cjs +5 -0
- package/dist/connections.d.ts +2 -1
- package/dist/connections.d.ts.map +1 -1
- package/dist/connections.js +3 -2
- package/dist/data/AvatarBadge.cjs +3 -3
- package/dist/data/AvatarBadge.cjs.map +1 -1
- package/dist/data/AvatarBadge.js +3 -3
- package/dist/data/AvatarBadge.js.map +1 -1
- package/dist/data/CodeDiff.cjs +2 -0
- package/dist/data/CodeDiff.cjs.map +1 -1
- package/dist/data/CodeDiff.js +2 -0
- package/dist/data/CodeDiff.js.map +1 -1
- package/dist/data/DataTable.cjs +3 -2
- package/dist/data/DataTable.cjs.map +1 -1
- package/dist/data/DataTable.d.ts.map +1 -1
- package/dist/data/DataTable.js +3 -2
- package/dist/data/DataTable.js.map +1 -1
- package/dist/data/Gauge.cjs +1 -1
- package/dist/data/Gauge.cjs.map +1 -1
- package/dist/data/Gauge.js +1 -1
- package/dist/data/Gauge.js.map +1 -1
- package/dist/data/HighlightedTokens.cjs +2 -10
- package/dist/data/HighlightedTokens.cjs.map +1 -1
- package/dist/data/HighlightedTokens.d.ts.map +1 -1
- package/dist/data/HighlightedTokens.js +1 -9
- package/dist/data/HighlightedTokens.js.map +1 -1
- package/dist/data/Markdown.cjs +38 -11
- package/dist/data/Markdown.cjs.map +1 -1
- package/dist/data/Markdown.d.ts +9 -1
- package/dist/data/Markdown.d.ts.map +1 -1
- package/dist/data/Markdown.js +39 -12
- package/dist/data/Markdown.js.map +1 -1
- package/dist/data/MultiGaugeBar.cjs +157 -0
- package/dist/data/MultiGaugeBar.cjs.map +1 -0
- package/dist/data/MultiGaugeBar.d.ts +29 -0
- package/dist/data/MultiGaugeBar.d.ts.map +1 -0
- package/dist/data/MultiGaugeBar.js +157 -0
- package/dist/data/MultiGaugeBar.js.map +1 -0
- package/dist/data/OpenInFilesLink.cjs +27 -0
- package/dist/data/OpenInFilesLink.cjs.map +1 -0
- package/dist/data/OpenInFilesLink.d.ts +15 -0
- package/dist/data/OpenInFilesLink.d.ts.map +1 -0
- package/dist/data/OpenInFilesLink.js +27 -0
- package/dist/data/OpenInFilesLink.js.map +1 -0
- package/dist/data/ProgressBar.cjs +5 -3
- package/dist/data/ProgressBar.cjs.map +1 -1
- package/dist/data/ProgressBar.d.ts +5 -1
- package/dist/data/ProgressBar.d.ts.map +1 -1
- package/dist/data/ProgressBar.js +5 -3
- package/dist/data/ProgressBar.js.map +1 -1
- package/dist/data/ProgressBars.cjs +13 -5
- package/dist/data/ProgressBars.cjs.map +1 -1
- package/dist/data/ProgressBars.d.ts +6 -1
- package/dist/data/ProgressBars.d.ts.map +1 -1
- package/dist/data/ProgressBars.js +13 -5
- package/dist/data/ProgressBars.js.map +1 -1
- package/dist/data/Properties.cjs +3 -3
- package/dist/data/Properties.cjs.map +1 -1
- package/dist/data/Properties.js +3 -3
- package/dist/data/Properties.js.map +1 -1
- package/dist/data/TaskProgress.cjs +14 -6
- package/dist/data/TaskProgress.cjs.map +1 -1
- package/dist/data/TaskProgress.d.ts +3 -1
- package/dist/data/TaskProgress.d.ts.map +1 -1
- package/dist/data/TaskProgress.js +14 -6
- package/dist/data/TaskProgress.js.map +1 -1
- package/dist/data/TaskPrompts.cjs +96 -0
- package/dist/data/TaskPrompts.cjs.map +1 -0
- package/dist/data/TaskPrompts.d.ts +6 -0
- package/dist/data/TaskPrompts.d.ts.map +1 -0
- package/dist/data/TaskPrompts.js +96 -0
- package/dist/data/TaskPrompts.js.map +1 -0
- package/dist/data/TaskSnapshot.cjs.map +1 -1
- package/dist/data/TaskSnapshot.d.ts +3 -0
- package/dist/data/TaskSnapshot.d.ts.map +1 -1
- package/dist/data/TaskSnapshot.js.map +1 -1
- package/dist/data/TimeseriesCoreBars.cjs +7 -3
- package/dist/data/TimeseriesCoreBars.cjs.map +1 -1
- package/dist/data/TimeseriesCoreBars.d.ts.map +1 -1
- package/dist/data/TimeseriesCoreBars.js +8 -4
- package/dist/data/TimeseriesCoreBars.js.map +1 -1
- package/dist/data/TimeseriesGauge.cjs +12 -5
- package/dist/data/TimeseriesGauge.cjs.map +1 -1
- package/dist/data/TimeseriesGauge.d.ts.map +1 -1
- package/dist/data/TimeseriesGauge.js +13 -6
- package/dist/data/TimeseriesGauge.js.map +1 -1
- package/dist/data/TimeseriesPanel.cjs +10 -9
- package/dist/data/TimeseriesPanel.cjs.map +1 -1
- package/dist/data/TimeseriesPanel.d.ts +1 -1
- package/dist/data/TimeseriesPanel.d.ts.map +1 -1
- package/dist/data/TimeseriesPanel.js +11 -10
- package/dist/data/TimeseriesPanel.js.map +1 -1
- package/dist/data/TimeseriesPanel.model.cjs +62 -10
- package/dist/data/TimeseriesPanel.model.cjs.map +1 -1
- package/dist/data/TimeseriesPanel.model.d.ts +40 -1
- package/dist/data/TimeseriesPanel.model.d.ts.map +1 -1
- package/dist/data/TimeseriesPanel.model.js +62 -11
- package/dist/data/TimeseriesPanel.model.js.map +1 -1
- package/dist/data/WorkloadCard.cjs +7 -3
- package/dist/data/WorkloadCard.cjs.map +1 -1
- package/dist/data/WorkloadCard.d.ts +3 -1
- package/dist/data/WorkloadCard.d.ts.map +1 -1
- package/dist/data/WorkloadCard.js +7 -3
- package/dist/data/WorkloadCard.js.map +1 -1
- package/dist/data/WorkloadCard.model.cjs.map +1 -1
- package/dist/data/WorkloadCard.model.d.ts +2 -0
- package/dist/data/WorkloadCard.model.d.ts.map +1 -1
- package/dist/data/WorkloadCard.model.js.map +1 -1
- package/dist/data/ai/ChatWindow.placement.cjs +2 -1
- package/dist/data/ai/ChatWindow.placement.cjs.map +1 -1
- package/dist/data/ai/ChatWindow.placement.d.ts +1 -1
- package/dist/data/ai/ChatWindow.placement.d.ts.map +1 -1
- package/dist/data/ai/ChatWindow.placement.js +2 -1
- package/dist/data/ai/ChatWindow.placement.js.map +1 -1
- package/dist/data/ai/SpecRuntimeBar.cjs +2 -2
- package/dist/data/ai/SpecRuntimeBar.cjs.map +1 -1
- package/dist/data/ai/SpecRuntimeBar.d.ts +4 -1
- package/dist/data/ai/SpecRuntimeBar.d.ts.map +1 -1
- package/dist/data/ai/SpecRuntimeBar.js +2 -2
- package/dist/data/ai/SpecRuntimeBar.js.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/PromptSection.cjs +1 -1
- package/dist/data/ai/SpecRuntimeEditor/PromptSection.cjs.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/PromptSection.js +1 -1
- package/dist/data/ai/SpecRuntimeEditor/PromptSection.js.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor.model.cjs +2 -2
- package/dist/data/ai/SpecRuntimeEditor.model.cjs.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor.model.d.ts +2 -2
- package/dist/data/ai/SpecRuntimeEditor.model.d.ts.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor.model.js +2 -2
- package/dist/data/ai/SpecRuntimeEditor.model.js.map +1 -1
- package/dist/data/ai/ThreadPicker.cjs +2 -2
- package/dist/data/ai/ThreadPicker.cjs.map +1 -1
- package/dist/data/ai/ThreadPicker.js +2 -2
- package/dist/data/ai/ThreadPicker.js.map +1 -1
- package/dist/data/ai/index.d.ts +2 -0
- package/dist/data/ai/index.d.ts.map +1 -1
- package/dist/data/ai/use-prompt-run-stream.cjs +126 -0
- package/dist/data/ai/use-prompt-run-stream.cjs.map +1 -0
- package/dist/data/ai/use-prompt-run-stream.d.ts +52 -0
- package/dist/data/ai/use-prompt-run-stream.d.ts.map +1 -0
- package/dist/data/ai/use-prompt-run-stream.js +126 -0
- package/dist/data/ai/use-prompt-run-stream.js.map +1 -0
- package/dist/data/cache-browser/CacheBrowser.cjs +1 -0
- package/dist/data/cache-browser/CacheBrowser.cjs.map +1 -1
- package/dist/data/cache-browser/CacheBrowser.d.ts.map +1 -1
- package/dist/data/cache-browser/CacheBrowser.js +1 -0
- package/dist/data/cache-browser/CacheBrowser.js.map +1 -1
- package/dist/data/charts/BarChart.cjs +194 -0
- package/dist/data/charts/BarChart.cjs.map +1 -0
- package/dist/data/charts/BarChart.d.ts +19 -0
- package/dist/data/charts/BarChart.d.ts.map +1 -0
- package/dist/data/charts/BarChart.js +194 -0
- package/dist/data/charts/BarChart.js.map +1 -0
- package/dist/data/charts/ChartLegend.cjs +54 -0
- package/dist/data/charts/ChartLegend.cjs.map +1 -0
- package/dist/data/charts/ChartLegend.d.ts +17 -0
- package/dist/data/charts/ChartLegend.d.ts.map +1 -0
- package/dist/data/charts/ChartLegend.js +54 -0
- package/dist/data/charts/ChartLegend.js.map +1 -0
- package/dist/data/charts/Sparkline.cjs +56 -0
- package/dist/data/charts/Sparkline.cjs.map +1 -0
- package/dist/data/charts/Sparkline.d.ts +15 -0
- package/dist/data/charts/Sparkline.d.ts.map +1 -0
- package/dist/data/charts/Sparkline.js +56 -0
- package/dist/data/charts/Sparkline.js.map +1 -0
- package/dist/data/charts/StackedBarChart.cjs +241 -0
- package/dist/data/charts/StackedBarChart.cjs.map +1 -0
- package/dist/data/charts/StackedBarChart.d.ts +20 -0
- package/dist/data/charts/StackedBarChart.d.ts.map +1 -0
- package/dist/data/charts/StackedBarChart.js +241 -0
- package/dist/data/charts/StackedBarChart.js.map +1 -0
- package/dist/data/charts/TrendChart.cjs +157 -0
- package/dist/data/charts/TrendChart.cjs.map +1 -0
- package/dist/data/charts/TrendChart.d.ts +20 -0
- package/dist/data/charts/TrendChart.d.ts.map +1 -0
- package/dist/data/charts/TrendChart.js +157 -0
- package/dist/data/charts/TrendChart.js.map +1 -0
- package/dist/data/charts/chart-marks.cjs +115 -0
- package/dist/data/charts/chart-marks.cjs.map +1 -0
- package/dist/data/charts/chart-marks.d.ts +39 -0
- package/dist/data/charts/chart-marks.d.ts.map +1 -0
- package/dist/data/charts/chart-marks.js +112 -0
- package/dist/data/charts/chart-marks.js.map +1 -0
- package/dist/data/charts/chart-palette.cjs +74 -0
- package/dist/data/charts/chart-palette.cjs.map +1 -0
- package/dist/data/charts/chart-palette.d.ts +58 -0
- package/dist/data/charts/chart-palette.d.ts.map +1 -0
- package/dist/data/charts/chart-palette.js +72 -0
- package/dist/data/charts/chart-palette.js.map +1 -0
- package/dist/data/charts/chart-scale.cjs +115 -0
- package/dist/data/charts/chart-scale.cjs.map +1 -0
- package/dist/data/charts/chart-scale.d.ts +41 -0
- package/dist/data/charts/chart-scale.d.ts.map +1 -0
- package/dist/data/charts/chart-scale.js +104 -0
- package/dist/data/charts/chart-scale.js.map +1 -0
- package/dist/data/charts/chart.test-utils.d.ts +7 -0
- package/dist/data/charts/chart.test-utils.d.ts.map +1 -0
- package/dist/data/charts/index.d.ts +7 -0
- package/dist/data/charts/index.d.ts.map +1 -0
- package/dist/data/chat/MessageActions.cjs +1 -1
- package/dist/data/chat/MessageActions.cjs.map +1 -1
- package/dist/data/chat/MessageActions.js +1 -1
- package/dist/data/chat/MessageActions.js.map +1 -1
- package/dist/data/diagnostics/DiagnosticsDetailPanel.cjs +1 -1
- package/dist/data/diagnostics/DiagnosticsDetailPanel.js +1 -1
- package/dist/data/diagnostics/DiagnosticsTree.cjs +1 -1
- package/dist/data/diagnostics/DiagnosticsTree.cjs.map +1 -1
- package/dist/data/diagnostics/DiagnosticsTree.js +1 -1
- package/dist/data/diagnostics/DiagnosticsTree.js.map +1 -1
- package/dist/data/diagnostics/FrameSourceWindow.cjs +9 -2
- package/dist/data/diagnostics/FrameSourceWindow.cjs.map +1 -1
- package/dist/data/diagnostics/FrameSourceWindow.d.ts +1 -1
- package/dist/data/diagnostics/FrameSourceWindow.d.ts.map +1 -1
- package/dist/data/diagnostics/FrameSourceWindow.js +9 -2
- package/dist/data/diagnostics/FrameSourceWindow.js.map +1 -1
- package/dist/data/diagnostics/ProblemActions.cjs +37 -0
- package/dist/data/diagnostics/ProblemActions.cjs.map +1 -0
- package/dist/data/diagnostics/ProblemActions.d.ts +6 -0
- package/dist/data/diagnostics/ProblemActions.d.ts.map +1 -0
- package/dist/data/diagnostics/ProblemActions.js +37 -0
- package/dist/data/diagnostics/ProblemActions.js.map +1 -0
- package/dist/data/diagnostics/ProblemFacet.cjs +33 -0
- package/dist/data/diagnostics/ProblemFacet.cjs.map +1 -0
- package/dist/data/diagnostics/ProblemFacet.d.ts +9 -0
- package/dist/data/diagnostics/ProblemFacet.d.ts.map +1 -0
- package/dist/data/diagnostics/ProblemFacet.js +33 -0
- package/dist/data/diagnostics/ProblemFacet.js.map +1 -0
- package/dist/data/diagnostics/ProblemRow.cjs +62 -0
- package/dist/data/diagnostics/ProblemRow.cjs.map +1 -0
- package/dist/data/diagnostics/ProblemRow.d.ts +14 -0
- package/dist/data/diagnostics/ProblemRow.d.ts.map +1 -0
- package/dist/data/diagnostics/ProblemRow.js +62 -0
- package/dist/data/diagnostics/ProblemRow.js.map +1 -0
- package/dist/data/diagnostics/ProblemViewOptions.cjs +18 -0
- package/dist/data/diagnostics/ProblemViewOptions.cjs.map +1 -0
- package/dist/data/diagnostics/ProblemViewOptions.d.ts +6 -0
- package/dist/data/diagnostics/ProblemViewOptions.d.ts.map +1 -0
- package/dist/data/diagnostics/ProblemViewOptions.js +18 -0
- package/dist/data/diagnostics/ProblemViewOptions.js.map +1 -0
- package/dist/data/diagnostics/StackFrameRow.cjs +1 -1
- package/dist/data/diagnostics/StackFrameRow.cjs.map +1 -1
- package/dist/data/diagnostics/StackFrameRow.js +1 -1
- package/dist/data/diagnostics/StackFrameRow.js.map +1 -1
- package/dist/data/diagnostics/diagnostic-identity.cjs +14 -0
- package/dist/data/diagnostics/diagnostic-identity.cjs.map +1 -0
- package/dist/data/diagnostics/diagnostic-identity.d.ts +3 -0
- package/dist/data/diagnostics/diagnostic-identity.d.ts.map +1 -0
- package/dist/data/diagnostics/diagnostic-identity.js +14 -0
- package/dist/data/diagnostics/diagnostic-identity.js.map +1 -0
- package/dist/data/diagnostics/use-problem-expansion.cjs +16 -0
- package/dist/data/diagnostics/use-problem-expansion.cjs.map +1 -0
- package/dist/data/diagnostics/use-problem-expansion.d.ts +3 -0
- package/dist/data/diagnostics/use-problem-expansion.d.ts.map +1 -0
- package/dist/data/diagnostics/use-problem-expansion.js +16 -0
- package/dist/data/diagnostics/use-problem-expansion.js.map +1 -0
- package/dist/data/git/GitChangeList.cjs +9 -6
- package/dist/data/git/GitChangeList.cjs.map +1 -1
- package/dist/data/git/GitChangeList.d.ts +6 -0
- package/dist/data/git/GitChangeList.d.ts.map +1 -1
- package/dist/data/git/GitChangeList.js +9 -6
- package/dist/data/git/GitChangeList.js.map +1 -1
- package/dist/data/git/pickers/GitPickersDemo.d.ts.map +1 -1
- package/dist/data/git/pickers/ReferencePicker.cjs +1 -0
- package/dist/data/git/pickers/ReferencePicker.cjs.map +1 -1
- package/dist/data/git/pickers/ReferencePicker.js +1 -0
- package/dist/data/git/pickers/ReferencePicker.js.map +1 -1
- package/dist/data/lint/LintDetail.cjs +230 -189
- package/dist/data/lint/LintDetail.cjs.map +1 -1
- package/dist/data/lint/LintDetail.d.ts +25 -3
- package/dist/data/lint/LintDetail.d.ts.map +1 -1
- package/dist/data/lint/LintDetail.js +231 -192
- package/dist/data/lint/LintDetail.js.map +1 -1
- package/dist/data/lint/LintFilterBar.cjs +78 -83
- package/dist/data/lint/LintFilterBar.cjs.map +1 -1
- package/dist/data/lint/LintFilterBar.d.ts +23 -6
- package/dist/data/lint/LintFilterBar.d.ts.map +1 -1
- package/dist/data/lint/LintFilterBar.js +78 -85
- package/dist/data/lint/LintFilterBar.js.map +1 -1
- package/dist/data/lint/LintIgnoreMenu.cjs +59 -0
- package/dist/data/lint/LintIgnoreMenu.cjs.map +1 -0
- package/dist/data/lint/LintIgnoreMenu.d.ts +20 -0
- package/dist/data/lint/LintIgnoreMenu.d.ts.map +1 -0
- package/dist/data/lint/LintIgnoreMenu.js +58 -0
- package/dist/data/lint/LintIgnoreMenu.js.map +1 -0
- package/dist/data/lint/LintResults.cjs +59 -14
- package/dist/data/lint/LintResults.cjs.map +1 -1
- package/dist/data/lint/LintResults.d.ts +25 -1
- package/dist/data/lint/LintResults.d.ts.map +1 -1
- package/dist/data/lint/LintResults.fixtures.d.ts +19 -0
- package/dist/data/lint/LintResults.fixtures.d.ts.map +1 -1
- package/dist/data/lint/LintResults.js +60 -15
- package/dist/data/lint/LintResults.js.map +1 -1
- package/dist/data/lint/LintTable.cjs +156 -0
- package/dist/data/lint/LintTable.cjs.map +1 -0
- package/dist/data/lint/LintTable.d.ts +13 -0
- package/dist/data/lint/LintTable.d.ts.map +1 -0
- package/dist/data/lint/LintTable.js +156 -0
- package/dist/data/lint/LintTable.js.map +1 -0
- package/dist/data/lint/LintTreeNode.cjs +42 -19
- package/dist/data/lint/LintTreeNode.cjs.map +1 -1
- package/dist/data/lint/LintTreeNode.d.ts +7 -2
- package/dist/data/lint/LintTreeNode.d.ts.map +1 -1
- package/dist/data/lint/LintTreeNode.js +44 -21
- package/dist/data/lint/LintTreeNode.js.map +1 -1
- package/dist/data/lint/ViolationSnippet.cjs +113 -0
- package/dist/data/lint/ViolationSnippet.cjs.map +1 -0
- package/dist/data/lint/ViolationSnippet.d.ts +20 -0
- package/dist/data/lint/ViolationSnippet.d.ts.map +1 -0
- package/dist/data/lint/ViolationSnippet.js +112 -0
- package/dist/data/lint/ViolationSnippet.js.map +1 -0
- package/dist/data/lint/actions.cjs +44 -16
- package/dist/data/lint/actions.cjs.map +1 -1
- package/dist/data/lint/actions.d.ts +7 -3
- package/dist/data/lint/actions.d.ts.map +1 -1
- package/dist/data/lint/actions.js +44 -16
- package/dist/data/lint/actions.js.map +1 -1
- package/dist/data/lint/grouping.cjs +105 -8
- package/dist/data/lint/grouping.cjs.map +1 -1
- package/dist/data/lint/grouping.d.ts +21 -1
- package/dist/data/lint/grouping.d.ts.map +1 -1
- package/dist/data/lint/grouping.js +105 -10
- package/dist/data/lint/grouping.js.map +1 -1
- package/dist/data/lint/ignore-menu-items.cjs +18 -0
- package/dist/data/lint/ignore-menu-items.cjs.map +1 -0
- package/dist/data/lint/ignore-menu-items.d.ts +6 -0
- package/dist/data/lint/ignore-menu-items.d.ts.map +1 -0
- package/dist/data/lint/ignore-menu-items.js +17 -0
- package/dist/data/lint/ignore-menu-items.js.map +1 -0
- package/dist/data/lint/index.d.ts +7 -5
- package/dist/data/lint/index.d.ts.map +1 -1
- package/dist/data/lint/stats.cjs +19 -4
- package/dist/data/lint/stats.cjs.map +1 -1
- package/dist/data/lint/stats.d.ts +13 -3
- package/dist/data/lint/stats.d.ts.map +1 -1
- package/dist/data/lint/stats.js +17 -5
- package/dist/data/lint/stats.js.map +1 -1
- package/dist/data/lint/types.cjs +8 -0
- package/dist/data/lint/types.cjs.map +1 -1
- package/dist/data/lint/types.d.ts +47 -0
- package/dist/data/lint/types.d.ts.map +1 -1
- package/dist/data/lint/types.js +8 -1
- package/dist/data/lint/types.js.map +1 -1
- package/dist/data/lint/violation-menu-items.cjs +31 -0
- package/dist/data/lint/violation-menu-items.cjs.map +1 -0
- package/dist/data/lint/violation-menu-items.d.ts +12 -0
- package/dist/data/lint/violation-menu-items.d.ts.map +1 -0
- package/dist/data/lint/violation-menu-items.js +31 -0
- package/dist/data/lint/violation-menu-items.js.map +1 -0
- package/dist/data/markdown-source-blocks.cjs +38 -0
- package/dist/data/markdown-source-blocks.cjs.map +1 -0
- package/dist/data/markdown-source-blocks.d.ts +32 -0
- package/dist/data/markdown-source-blocks.d.ts.map +1 -0
- package/dist/data/markdown-source-blocks.js +35 -0
- package/dist/data/markdown-source-blocks.js.map +1 -0
- package/dist/data/test-runner/FilterFacet.cjs +52 -0
- package/dist/data/test-runner/FilterFacet.cjs.map +1 -0
- package/dist/data/test-runner/FilterFacet.d.ts +13 -0
- package/dist/data/test-runner/FilterFacet.d.ts.map +1 -0
- package/dist/data/test-runner/FilterFacet.js +52 -0
- package/dist/data/test-runner/FilterFacet.js.map +1 -0
- package/dist/data/test-runner/MatrixMarks.cjs +19 -29
- package/dist/data/test-runner/MatrixMarks.cjs.map +1 -1
- package/dist/data/test-runner/MatrixMarks.d.ts +4 -4
- package/dist/data/test-runner/MatrixMarks.d.ts.map +1 -1
- package/dist/data/test-runner/MatrixMarks.js +19 -29
- package/dist/data/test-runner/MatrixMarks.js.map +1 -1
- package/dist/data/test-runner/TestAttemptDetail.cjs +1 -1
- package/dist/data/test-runner/TestAttemptDetail.js +1 -1
- package/dist/data/test-runner/TestDetailPanel.cjs +11 -0
- package/dist/data/test-runner/TestDetailPanel.cjs.map +1 -1
- package/dist/data/test-runner/TestDetailPanel.d.ts.map +1 -1
- package/dist/data/test-runner/TestDetailPanel.js +11 -0
- package/dist/data/test-runner/TestDetailPanel.js.map +1 -1
- package/dist/data/test-runner/TestFilterBar.cjs +3 -44
- package/dist/data/test-runner/TestFilterBar.cjs.map +1 -1
- package/dist/data/test-runner/TestFilterBar.d.ts.map +1 -1
- package/dist/data/test-runner/TestFilterBar.js +3 -44
- package/dist/data/test-runner/TestFilterBar.js.map +1 -1
- package/dist/data/test-runner/TestRunner.cjs +3 -1
- package/dist/data/test-runner/TestRunner.cjs.map +1 -1
- package/dist/data/test-runner/TestRunner.d.ts +7 -1
- package/dist/data/test-runner/TestRunner.d.ts.map +1 -1
- package/dist/data/test-runner/TestRunner.js +3 -1
- package/dist/data/test-runner/TestRunner.js.map +1 -1
- package/dist/data/test-runner/context.cjs.map +1 -1
- package/dist/data/test-runner/context.d.ts +3 -0
- package/dist/data/test-runner/context.d.ts.map +1 -1
- package/dist/data/test-runner/context.js.map +1 -1
- package/dist/data/test-runner/types.d.ts +2 -0
- package/dist/data/test-runner/types.d.ts.map +1 -1
- package/dist/data/timeseries-query.cjs +98 -2
- package/dist/data/timeseries-query.cjs.map +1 -1
- package/dist/data/timeseries-query.d.ts +31 -5
- package/dist/data/timeseries-query.d.ts.map +1 -1
- package/dist/data/timeseries-query.js +98 -3
- package/dist/data/timeseries-query.js.map +1 -1
- package/dist/data/timeseries-stream-provider.cjs +38 -0
- package/dist/data/timeseries-stream-provider.cjs.map +1 -0
- package/dist/data/timeseries-stream-provider.d.ts +26 -0
- package/dist/data/timeseries-stream-provider.d.ts.map +1 -0
- package/dist/data/timeseries-stream-provider.js +38 -0
- package/dist/data/timeseries-stream-provider.js.map +1 -0
- package/dist/data/timeseries-stream.cjs +304 -0
- package/dist/data/timeseries-stream.cjs.map +1 -0
- package/dist/data/timeseries-stream.d.ts +81 -0
- package/dist/data/timeseries-stream.d.ts.map +1 -0
- package/dist/data/timeseries-stream.fixtures.d.ts +36 -0
- package/dist/data/timeseries-stream.fixtures.d.ts.map +1 -0
- package/dist/data/timeseries-stream.js +296 -0
- package/dist/data/timeseries-stream.js.map +1 -0
- package/dist/data/token-style.cjs +13 -0
- package/dist/data/token-style.cjs.map +1 -0
- package/dist/data/token-style.d.ts +4 -0
- package/dist/data/token-style.d.ts.map +1 -0
- package/dist/data/token-style.js +13 -0
- package/dist/data/token-style.js.map +1 -0
- package/dist/data/traces/ProcessTraceDetail.cjs +1 -1
- package/dist/data/traces/ProcessTraceDetail.js +1 -1
- package/dist/data/traces/index.d.ts +1 -1
- package/dist/data/traces/index.d.ts.map +1 -1
- package/dist/data/use-data-table-virtual.d.ts +1 -1
- package/dist/data/version-info.cjs +3 -3
- package/dist/data/version-info.js +3 -3
- package/dist/data/workload-panel/MemoryStack.cjs +49 -0
- package/dist/data/workload-panel/MemoryStack.cjs.map +1 -0
- package/dist/data/workload-panel/MemoryStack.d.ts +11 -0
- package/dist/data/workload-panel/MemoryStack.d.ts.map +1 -0
- package/dist/data/workload-panel/MemoryStack.js +48 -0
- package/dist/data/workload-panel/MemoryStack.js.map +1 -0
- package/dist/data/workload-panel/Metrics.cjs +197 -0
- package/dist/data/workload-panel/Metrics.cjs.map +1 -0
- package/dist/data/workload-panel/Metrics.d.ts +11 -0
- package/dist/data/workload-panel/Metrics.d.ts.map +1 -0
- package/dist/data/workload-panel/Metrics.js +196 -0
- package/dist/data/workload-panel/Metrics.js.map +1 -0
- package/dist/data/workload-panel/WorkloadPanel.cjs +66 -0
- package/dist/data/workload-panel/WorkloadPanel.cjs.map +1 -0
- package/dist/data/workload-panel/WorkloadPanel.d.ts +3 -0
- package/dist/data/workload-panel/WorkloadPanel.d.ts.map +1 -0
- package/dist/data/workload-panel/WorkloadPanel.js +66 -0
- package/dist/data/workload-panel/WorkloadPanel.js.map +1 -0
- package/dist/data/workload-panel/fixtures.d.ts +60 -0
- package/dist/data/workload-panel/fixtures.d.ts.map +1 -0
- package/dist/data/workload-panel/model.cjs +137 -0
- package/dist/data/workload-panel/model.cjs.map +1 -0
- package/dist/data/workload-panel/model.d.ts +53 -0
- package/dist/data/workload-panel/model.d.ts.map +1 -0
- package/dist/data/workload-panel/model.js +133 -0
- package/dist/data/workload-panel/model.js.map +1 -0
- package/dist/data/workload-panel/types.d.ts +56 -0
- package/dist/data/workload-panel/types.d.ts.map +1 -0
- package/dist/data.cjs +57 -6
- package/dist/data.d.ts +9 -1
- package/dist/data.d.ts.map +1 -1
- package/dist/data.js +27 -10
- package/dist/file-findings/AnnotatedCode.cjs +243 -0
- package/dist/file-findings/AnnotatedCode.cjs.map +1 -0
- package/dist/file-findings/AnnotatedCode.d.ts +30 -0
- package/dist/file-findings/AnnotatedCode.d.ts.map +1 -0
- package/dist/file-findings/AnnotatedCode.js +243 -0
- package/dist/file-findings/AnnotatedCode.js.map +1 -0
- package/dist/file-findings/FileFindingsView.cjs +213 -0
- package/dist/file-findings/FileFindingsView.cjs.map +1 -0
- package/dist/file-findings/FileFindingsView.d.ts +35 -0
- package/dist/file-findings/FileFindingsView.d.ts.map +1 -0
- package/dist/file-findings/FileFindingsView.js +213 -0
- package/dist/file-findings/FileFindingsView.js.map +1 -0
- package/dist/file-findings/LazyAnnotatedCode.cjs +22 -0
- package/dist/file-findings/LazyAnnotatedCode.cjs.map +1 -0
- package/dist/file-findings/LazyAnnotatedCode.d.ts +5 -0
- package/dist/file-findings/LazyAnnotatedCode.d.ts.map +1 -0
- package/dist/file-findings/LazyAnnotatedCode.js +22 -0
- package/dist/file-findings/LazyAnnotatedCode.js.map +1 -0
- package/dist/file-findings/adapters.cjs +155 -0
- package/dist/file-findings/adapters.cjs.map +1 -0
- package/dist/file-findings/adapters.d.ts +24 -0
- package/dist/file-findings/adapters.d.ts.map +1 -0
- package/dist/file-findings/adapters.js +153 -0
- package/dist/file-findings/adapters.js.map +1 -0
- package/dist/file-findings/file-review/CommentDraft.cjs +97 -0
- package/dist/file-findings/file-review/CommentDraft.cjs.map +1 -0
- package/dist/file-findings/file-review/CommentDraft.d.ts +25 -0
- package/dist/file-findings/file-review/CommentDraft.d.ts.map +1 -0
- package/dist/file-findings/file-review/CommentDraft.js +97 -0
- package/dist/file-findings/file-review/CommentDraft.js.map +1 -0
- package/dist/file-findings/file-review/FileReview.cjs +863 -0
- package/dist/file-findings/file-review/FileReview.cjs.map +1 -0
- package/dist/file-findings/file-review/FileReview.d.ts +79 -0
- package/dist/file-findings/file-review/FileReview.d.ts.map +1 -0
- package/dist/file-findings/file-review/FileReview.fixtures.d.ts +25 -0
- package/dist/file-findings/file-review/FileReview.fixtures.d.ts.map +1 -0
- package/dist/file-findings/file-review/FileReview.js +863 -0
- package/dist/file-findings/file-review/FileReview.js.map +1 -0
- package/dist/file-findings/file-review/InlineAuthors.cjs +77 -0
- package/dist/file-findings/file-review/InlineAuthors.cjs.map +1 -0
- package/dist/file-findings/file-review/InlineAuthors.d.ts +9 -0
- package/dist/file-findings/file-review/InlineAuthors.d.ts.map +1 -0
- package/dist/file-findings/file-review/InlineAuthors.js +77 -0
- package/dist/file-findings/file-review/InlineAuthors.js.map +1 -0
- package/dist/file-findings/file-review/InlineThread.cjs +77 -0
- package/dist/file-findings/file-review/InlineThread.cjs.map +1 -0
- package/dist/file-findings/file-review/InlineThread.d.ts +27 -0
- package/dist/file-findings/file-review/InlineThread.d.ts.map +1 -0
- package/dist/file-findings/file-review/InlineThread.js +77 -0
- package/dist/file-findings/file-review/InlineThread.js.map +1 -0
- package/dist/file-findings/file-review/ProblemsList.cjs +164 -0
- package/dist/file-findings/file-review/ProblemsList.cjs.map +1 -0
- package/dist/file-findings/file-review/ProblemsList.d.ts +15 -0
- package/dist/file-findings/file-review/ProblemsList.d.ts.map +1 -0
- package/dist/file-findings/file-review/ProblemsList.js +164 -0
- package/dist/file-findings/file-review/ProblemsList.js.map +1 -0
- package/dist/file-findings/file-review/SourceView.cjs +179 -0
- package/dist/file-findings/file-review/SourceView.cjs.map +1 -0
- package/dist/file-findings/file-review/SourceView.d.ts +29 -0
- package/dist/file-findings/file-review/SourceView.d.ts.map +1 -0
- package/dist/file-findings/file-review/SourceView.js +179 -0
- package/dist/file-findings/file-review/SourceView.js.map +1 -0
- package/dist/file-findings/file-review/blame.cjs +35 -0
- package/dist/file-findings/file-review/blame.cjs.map +1 -0
- package/dist/file-findings/file-review/blame.d.ts +28 -0
- package/dist/file-findings/file-review/blame.d.ts.map +1 -0
- package/dist/file-findings/file-review/blame.js +33 -0
- package/dist/file-findings/file-review/blame.js.map +1 -0
- package/dist/file-findings/file-review/geometry.cjs +101 -0
- package/dist/file-findings/file-review/geometry.cjs.map +1 -0
- package/dist/file-findings/file-review/geometry.d.ts +45 -0
- package/dist/file-findings/file-review/geometry.d.ts.map +1 -0
- package/dist/file-findings/file-review/geometry.js +98 -0
- package/dist/file-findings/file-review/geometry.js.map +1 -0
- package/dist/file-findings/file-review/hooks.cjs +101 -0
- package/dist/file-findings/file-review/hooks.cjs.map +1 -0
- package/dist/file-findings/file-review/hooks.d.ts +22 -0
- package/dist/file-findings/file-review/hooks.d.ts.map +1 -0
- package/dist/file-findings/file-review/hooks.js +99 -0
- package/dist/file-findings/file-review/hooks.js.map +1 -0
- package/dist/file-findings/file-review/marks.cjs +52 -0
- package/dist/file-findings/file-review/marks.cjs.map +1 -0
- package/dist/file-findings/file-review/marks.d.ts +23 -0
- package/dist/file-findings/file-review/marks.d.ts.map +1 -0
- package/dist/file-findings/file-review/marks.js +47 -0
- package/dist/file-findings/file-review/marks.js.map +1 -0
- package/dist/file-findings/file-review/problem-filters.cjs +14 -0
- package/dist/file-findings/file-review/problem-filters.cjs.map +1 -0
- package/dist/file-findings/file-review/problem-filters.d.ts +10 -0
- package/dist/file-findings/file-review/problem-filters.d.ts.map +1 -0
- package/dist/file-findings/file-review/problem-filters.js +13 -0
- package/dist/file-findings/file-review/problem-filters.js.map +1 -0
- package/dist/file-findings/file-review/quote-anchor.cjs +234 -0
- package/dist/file-findings/file-review/quote-anchor.cjs.map +1 -0
- package/dist/file-findings/file-review/quote-anchor.d.ts +54 -0
- package/dist/file-findings/file-review/quote-anchor.d.ts.map +1 -0
- package/dist/file-findings/file-review/quote-anchor.js +226 -0
- package/dist/file-findings/file-review/quote-anchor.js.map +1 -0
- package/dist/file-findings/file-review/source-anchor.cjs +104 -0
- package/dist/file-findings/file-review/source-anchor.cjs.map +1 -0
- package/dist/file-findings/file-review/source-anchor.d.ts +27 -0
- package/dist/file-findings/file-review/source-anchor.d.ts.map +1 -0
- package/dist/file-findings/file-review/source-anchor.js +99 -0
- package/dist/file-findings/file-review/source-anchor.js.map +1 -0
- package/dist/file-findings/file-review/source-marks.cjs +71 -0
- package/dist/file-findings/file-review/source-marks.cjs.map +1 -0
- package/dist/file-findings/file-review/source-marks.d.ts +27 -0
- package/dist/file-findings/file-review/source-marks.d.ts.map +1 -0
- package/dist/file-findings/file-review/source-marks.js +68 -0
- package/dist/file-findings/file-review/source-marks.js.map +1 -0
- package/dist/file-findings/findings-comments.cjs +136 -0
- package/dist/file-findings/findings-comments.cjs.map +1 -0
- package/dist/file-findings/findings-comments.d.ts +28 -0
- package/dist/file-findings/findings-comments.d.ts.map +1 -0
- package/dist/file-findings/findings-comments.js +131 -0
- package/dist/file-findings/findings-comments.js.map +1 -0
- package/dist/file-findings/findings-languages.cjs +53 -0
- package/dist/file-findings/findings-languages.cjs.map +1 -0
- package/dist/file-findings/findings-languages.d.ts +11 -0
- package/dist/file-findings/findings-languages.d.ts.map +1 -0
- package/dist/file-findings/findings-languages.js +53 -0
- package/dist/file-findings/findings-languages.js.map +1 -0
- package/dist/file-findings/mdx-source.cjs +48 -0
- package/dist/file-findings/mdx-source.cjs.map +1 -0
- package/dist/file-findings/mdx-source.d.ts +7 -0
- package/dist/file-findings/mdx-source.d.ts.map +1 -0
- package/dist/file-findings/mdx-source.js +48 -0
- package/dist/file-findings/mdx-source.js.map +1 -0
- package/dist/file-findings/monaco-language.cjs +73 -0
- package/dist/file-findings/monaco-language.cjs.map +1 -0
- package/dist/file-findings/monaco-language.d.ts +11 -0
- package/dist/file-findings/monaco-language.d.ts.map +1 -0
- package/dist/file-findings/monaco-language.js +72 -0
- package/dist/file-findings/monaco-language.js.map +1 -0
- package/dist/file-findings/severity-counts.cjs +20 -0
- package/dist/file-findings/severity-counts.cjs.map +1 -0
- package/dist/file-findings/severity-counts.d.ts +5 -0
- package/dist/file-findings/severity-counts.d.ts.map +1 -0
- package/dist/file-findings/severity-counts.js +19 -0
- package/dist/file-findings/severity-counts.js.map +1 -0
- package/dist/file-findings/types.cjs +12 -0
- package/dist/file-findings/types.cjs.map +1 -0
- package/dist/file-findings/types.d.ts +43 -0
- package/dist/file-findings/types.d.ts.map +1 -0
- package/dist/file-findings/types.js +11 -0
- package/dist/file-findings/types.js.map +1 -0
- package/dist/file-findings.cjs +47 -0
- package/dist/file-findings.d.ts +15 -0
- package/dist/file-findings.d.ts.map +1 -0
- package/dist/file-findings.js +15 -0
- package/dist/hooks/event-hub.cjs +22 -8
- package/dist/hooks/event-hub.cjs.map +1 -1
- package/dist/hooks/event-hub.d.ts.map +1 -1
- package/dist/hooks/event-hub.js +22 -8
- package/dist/hooks/event-hub.js.map +1 -1
- package/dist/icons/components/UiBrowser.cjs +51 -0
- package/dist/icons/components/UiBrowser.cjs.map +1 -0
- package/dist/icons/components/UiBrowser.d.ts +15 -0
- package/dist/icons/components/UiBrowser.d.ts.map +1 -0
- package/dist/icons/components/UiBrowser.js +48 -0
- package/dist/icons/components/UiBrowser.js.map +1 -0
- package/dist/icons/components/UiCreditCard.cjs +51 -0
- package/dist/icons/components/UiCreditCard.cjs.map +1 -0
- package/dist/icons/components/UiCreditCard.d.ts +15 -0
- package/dist/icons/components/UiCreditCard.d.ts.map +1 -0
- package/dist/icons/components/UiCreditCard.js +48 -0
- package/dist/icons/components/UiCreditCard.js.map +1 -0
- package/dist/icons/components/UiShoppingCart.cjs +51 -0
- package/dist/icons/components/UiShoppingCart.cjs.map +1 -0
- package/dist/icons/components/UiShoppingCart.d.ts +15 -0
- package/dist/icons/components/UiShoppingCart.d.ts.map +1 -0
- package/dist/icons/components/UiShoppingCart.js +48 -0
- package/dist/icons/components/UiShoppingCart.js.map +1 -0
- package/dist/icons/index.d.ts +6 -0
- package/dist/icons/index.d.ts.map +1 -1
- package/dist/icons/registry.cjs +6 -0
- package/dist/icons/registry.cjs.map +1 -1
- package/dist/icons/registry.d.ts.map +1 -1
- package/dist/icons/registry.js +6 -0
- package/dist/icons/registry.js.map +1 -1
- package/dist/icons.cjs +9 -0
- package/dist/icons.js +4 -1
- package/dist/index.cjs +75 -7
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +35 -12
- package/dist/layout/AppShell.cjs +37 -21
- package/dist/layout/AppShell.cjs.map +1 -1
- package/dist/layout/AppShell.d.ts +13 -2
- package/dist/layout/AppShell.d.ts.map +1 -1
- package/dist/layout/AppShell.js +37 -21
- package/dist/layout/AppShell.js.map +1 -1
- package/dist/layout/AppShell.nav.cjs +7 -6
- package/dist/layout/AppShell.nav.cjs.map +1 -1
- package/dist/layout/AppShell.nav.d.ts.map +1 -1
- package/dist/layout/AppShell.nav.js +7 -6
- package/dist/layout/AppShell.nav.js.map +1 -1
- package/dist/layout/SplitPane.cjs +16 -6
- package/dist/layout/SplitPane.cjs.map +1 -1
- package/dist/layout/SplitPane.d.ts +12 -2
- package/dist/layout/SplitPane.d.ts.map +1 -1
- package/dist/layout/SplitPane.js +16 -6
- package/dist/layout/SplitPane.js.map +1 -1
- package/dist/layout/Workspace.cjs +37 -33
- package/dist/layout/Workspace.cjs.map +1 -1
- package/dist/layout/Workspace.d.ts.map +1 -1
- package/dist/layout/Workspace.js +37 -33
- package/dist/layout/Workspace.js.map +1 -1
- package/dist/layout/Workspace.regions.cjs +3 -3
- package/dist/layout/Workspace.regions.cjs.map +1 -1
- package/dist/layout/Workspace.regions.js +3 -3
- package/dist/layout/Workspace.regions.js.map +1 -1
- package/dist/lib/breakpoints.cjs +102 -0
- package/dist/lib/breakpoints.cjs.map +1 -0
- package/dist/lib/breakpoints.d.ts +36 -0
- package/dist/lib/breakpoints.d.ts.map +1 -0
- package/dist/lib/breakpoints.js +99 -0
- package/dist/lib/breakpoints.js.map +1 -0
- package/dist/lib/combobox.cjs +2 -1
- package/dist/lib/combobox.cjs.map +1 -1
- package/dist/lib/combobox.d.ts +1 -1
- package/dist/lib/combobox.d.ts.map +1 -1
- package/dist/lib/combobox.js +2 -1
- package/dist/lib/combobox.js.map +1 -1
- package/dist/lib/path-tree.cjs +21 -0
- package/dist/lib/path-tree.cjs.map +1 -1
- package/dist/lib/path-tree.d.ts +15 -0
- package/dist/lib/path-tree.d.ts.map +1 -1
- package/dist/lib/path-tree.js +21 -1
- package/dist/lib/path-tree.js.map +1 -1
- package/dist/overlay/Modal.cjs +2 -1
- package/dist/overlay/Modal.cjs.map +1 -1
- package/dist/overlay/Modal.d.ts.map +1 -1
- package/dist/overlay/Modal.js +2 -1
- package/dist/overlay/Modal.js.map +1 -1
- package/dist/overlay/dropdownMenuContext.d.ts +1 -1
- package/dist/profiles/editor/profileEditor.cjs +1 -1
- package/dist/profiles/editor/profileEditor.cjs.map +1 -1
- package/dist/profiles/editor/profileEditor.js +1 -1
- package/dist/profiles/editor/profileEditor.js.map +1 -1
- package/dist/profiles/editor/profileEditorSections.cjs +2 -2
- package/dist/profiles/editor/profileEditorSections.cjs.map +1 -1
- package/dist/profiles/editor/profileEditorSections.js +2 -2
- package/dist/profiles/editor/profileEditorSections.js.map +1 -1
- package/dist/profiles/query/prometheusResults.cjs +24 -36
- package/dist/profiles/query/prometheusResults.cjs.map +1 -1
- package/dist/profiles/query/prometheusResults.d.ts.map +1 -1
- package/dist/profiles/query/prometheusResults.js +24 -36
- package/dist/profiles/query/prometheusResults.js.map +1 -1
- package/dist/rpc/CommandForm.cjs +1 -1
- package/dist/rpc/CommandForm.cjs.map +1 -1
- package/dist/rpc/CommandForm.js +1 -1
- package/dist/rpc/CommandForm.js.map +1 -1
- package/dist/rpc/classify.cjs +1 -1
- package/dist/rpc/classify.cjs.map +1 -1
- package/dist/rpc/classify.d.ts.map +1 -1
- package/dist/rpc/classify.js +1 -1
- package/dist/rpc/classify.js.map +1 -1
- package/dist/rpc/useOperations.d.ts +24 -24
- package/dist/rpc.cjs +0 -2
- package/dist/rpc.d.ts +0 -1
- package/dist/rpc.d.ts.map +1 -1
- package/dist/rpc.js +1 -2
- package/dist/styles.css +1 -1
- package/dist/utils.cjs +6 -0
- package/dist/utils.d.ts +2 -1
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +3 -2
- package/package.json +9 -3
- package/schemas/json-schema-form.schema.json +9 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FileReview.cjs","names":["DEFAULT_COMMENT_STATUSES","lineAnchor","quoteAnchor","describeQuote","cn","parseQuoteAnchor","describeSource","parseSourceAnchor","useState","useMemo","FINDINGS_COMMENT_CONFIG","blankMdxPreamble","blameLines","useResolvedTheme","highlightToLines","languageFromPath","useRef","useNarrow","useCardHeights","findingsToComments","ProblemActions","selectCommentThreadsByStage","getRoots","resolveCommentStage","severityOf","SEVERITY_RANK","useAnchorBoxes","resolveSource","sourceSpans","markAnchors","layoutCards","sourceRangeOf","locateSource","sourceAnchor","locateSelection","sourceSpanOf","locateSourceSelection","useCallback","CommentDraft","Tabs","UiEye","UiFileCode","UiListChecks","Button","Icon","UiGitCommit","DropdownMenu","UiDotsVertical","UiCheck","AnnotatedCode","SourceView","InlineThread","selectAnchorThreads","ProblemsList","SEVERITY_MARK","squiggle","Markdown","InlineAuthors","CommentThread"],"sources":["../../../src/file-findings/file-review/FileReview.tsx"],"sourcesContent":["import type { DropdownMenuItem } from \"../../overlay/DropdownMenu\";\nimport { ProblemActions } from \"../../data/diagnostics/ProblemActions\";\nimport { useCallback, useEffect, useLayoutEffect, useMemo, useRef, useState, type MouseEvent, type ReactNode } from \"react\";\nimport { Button } from \"../../components/button\";\nimport { highlightToLines, languageFromPath, type HighlightedLine } from \"../../data/code-highlight\";\nimport { Icon } from \"../../data/Icon\";\nimport { useResolvedTheme } from \"../../hooks/use-theme\";\nimport { Markdown } from \"../../data/Markdown\";\nimport { Tabs } from \"../../layout/Tabs\";\nimport { DropdownMenu } from \"../../overlay/DropdownMenu\";\nimport { cn } from \"../../lib/utils\";\nimport { resolveCommentStage, selectCommentThreadsByStage } from \"../../lib/comment-stage\";\nimport { CommentThread } from \"../../comments/CommentThread\";\nimport { DEFAULT_COMMENT_STATUSES, type Comment, type CommentCallbacks, type CommentConfig } from \"../../comments/comment-types\";\nimport { getRoots, selectAnchorThreads } from \"../../comments/comment-utils\";\nimport { UiCheck, UiDotsVertical, UiEye, UiFileCode, UiGitCommit, UiListChecks } from \"../../icons\";\nimport { FINDINGS_COMMENT_CONFIG, findingsToComments, lineAnchor } from \"../findings-comments\";\nimport { AnnotatedCode } from \"../LazyAnnotatedCode\";\nimport { blankMdxPreamble } from \"../mdx-source\";\nimport type { FileFinding } from \"../types\";\nimport { layoutCards, type AnchorMode, type Box } from \"./geometry\";\nimport { useAnchorBoxes, useCardHeights, useNarrow } from \"./hooks\";\nimport { SEVERITY_MARK, SEVERITY_RANK, severityOf, squiggle, type Severity } from \"./marks\";\nimport { ProblemsList } from \"./ProblemsList\";\nimport type { ProblemFilters } from \"./problem-filters\";\nimport {\n QUOTE_PREFIX,\n describeQuote,\n locateSelection,\n locateSourceSelection,\n parseQuoteAnchor,\n quoteAnchor,\n sourceSpans,\n type QuoteLocator,\n} from \"./quote-anchor\";\nimport { SourceView } from \"./SourceView\";\nimport { markAnchors, sourceRangeOf, sourceSpanOf, type SourceMark } from \"./source-marks\";\nimport { SOURCE_PREFIX, describeSource, locateSource, parseSourceAnchor, resolveSource, sourceAnchor } from \"./source-anchor\";\nimport { blameLines, type BlameRange } from \"./blame\";\nimport { InlineThread } from \"./InlineThread\";\nimport { InlineAuthors } from \"./InlineAuthors\";\nimport { CommentDraft, type CommentDraftPosition } from \"./CommentDraft\";\n\nconst DEFAULT_CONFIG: CommentConfig = { statuses: DEFAULT_COMMENT_STATUSES };\nconst ESTIMATED_CARD_HEIGHT = 96;\n/** How long the pointer rests on a highlight before its inline box opens. */\nconst HOVER_OPEN_MS = 450;\n/** Grace period for the pointer to travel from a highlight into its inline box. */\nconst HOVER_CLOSE_MS = 300;\n/** Width left of a block, over its severity bar, that previews a finding on hover. */\nconst BAR_HOVER_WIDTH = 16;\n// Stable defaults: a fresh `[]` per render would re-derive every anchor and re-measure forever.\nconst NO_FINDINGS: readonly FileFinding[] = [];\nconst NO_COMMENTS: Comment[] = [];\nconst NO_CALLBACKS: CommentCallbacks = {};\n\n/** Findings anchor on their line (`lineAnchor`); people's threads on a quote. */\nconst FINDING_ANCHOR_PREFIX = lineAnchor(1).replace(/\\d+$/, \"\");\nconst isFindingAnchor = (anchor: string) => anchor.startsWith(FINDING_ANCHOR_PREFIX);\n\ntype AuthorFilter = \"all\" | \"user\" | \"agent\";\n/** A selection offered for commenting: a Comment pill that morphs into a composer card once `expanded`. */\ntype Draft = { anchor: string; label: string; position: CommentDraftPosition; expanded: boolean; surface: \"preview\" | \"source\" };\n\nconst isMarkdownPath = (path: string) => /\\.mdx?$/i.test(path);\n/** Anchors on quoted text: words in rendered markdown (`q:`) or characters in a source file (`s:`). */\nconst isTextAnchor = (anchor: string) => anchor.startsWith(QUOTE_PREFIX) || anchor.startsWith(SOURCE_PREFIX);\nconst quoteDraft = (locator: QuoteLocator) => ({ anchor: quoteAnchor(locator), label: describeQuote(locator) });\n\nfunction boxClass({ mode, active }: { mode: AnchorMode; active: boolean }) {\n if (mode === \"block\") {\n return cn(\n \"border-l-[3px] border-amber-400\",\n active ? \"bg-amber-200/50 [[data-theme=dark]_&]:bg-amber-400/20\" : \"bg-amber-100/30 [[data-theme=dark]_&]:bg-amber-400/5\",\n );\n }\n return cn(\n \"rounded-sm\",\n active ? \"bg-amber-300 [[data-theme=dark]_&]:bg-amber-400/50\" : \"bg-amber-200/60 [[data-theme=dark]_&]:bg-amber-400/25\",\n );\n}\n\nfunction anchorLabel(anchor: string, found: boolean): string {\n const label = anchor.startsWith(QUOTE_PREFIX)\n ? describeQuote(parseQuoteAnchor(anchor))\n : anchor.startsWith(SOURCE_PREFIX)\n ? describeSource(parseSourceAnchor(anchor))\n : anchor.replace(\"line:\", \"line \");\n return found ? label : `Text not found · ${label}`;\n}\n\nconst WORD = /[\\p{L}\\p{N}'’-]/u;\n\n/** The word under a viewport point, or null when the point is not over a word. */\nfunction wordAt(x: number, y: number): Range | null {\n const caret = document.caretRangeFromPoint?.(x, y);\n const node = caret?.startContainer;\n if (!caret || !node || node.nodeType !== Node.TEXT_NODE) return null;\n const text = node.textContent ?? \"\";\n let start = caret.startOffset;\n let end = caret.startOffset;\n while (start > 0 && WORD.test(text[start - 1]!)) start--;\n while (end < text.length && WORD.test(text[end]!)) end++;\n if (start === end) return null;\n const range = document.createRange();\n range.setStart(node, start);\n range.setEnd(node, end);\n return range;\n}\n\nexport type FileReviewView = \"preview\" | \"source\" | \"problems\";\n\nexport type FileReviewLayout = \"margin\" | \"inline\";\n\n/** People's threads on the document and what they may do with them. */\nexport type FileReviewComments = {\n /** Every comment on the document; quote threads carry `q:` anchors from `quoteAnchor`. */\n items: Comment[];\n callbacks: CommentCallbacks;\n /** Statuses and facets of the host's comments; lint statuses are added for findings. */\n config?: CommentConfig | undefined;\n};\n\nexport type FileReviewProps = {\n /**\n * File path. Markdown (`.md`, `.mdx`) gets a rendered Preview, with an\n * `.mdx` file's frontmatter and ESM statements blanked; any other file is\n * reviewed as syntax-highlighted Source, its language taken from the extension.\n */\n path: string;\n /** The file being reviewed. */\n source: string;\n /** \"preview\" is only valid for markdown. */\n view: FileReviewView;\n onViewChange: (view: FileReviewView) => void;\n /** Lint findings: a severity rail and squiggle on each flagged block, read-only threads, and a Problems tab. */\n findings?: readonly FileFinding[] | undefined;\n /** Severity and issue-type filters on the Problems tab. Controlled; needed with the \"problems\" view. */\n problemFilters?: ProblemFilters | undefined;\n onProblemFiltersChange?: ((filters: ProblemFilters) => void) | undefined;\n /** People's comments: quote highlights, threads and author avatars. Without it the document has no comment UI. */\n comments?: FileReviewComments | undefined;\n /** Draw a quote as its exact text, or as the whole block holding it. */\n mode?: AnchorMode | undefined;\n /** Selecting or right-clicking text offers a Comment button that starts a thread on it; needs `comments.callbacks.onCreate`. */\n selectToComment?: boolean | undefined;\n /** Show People / Tools chips that filter threads by author kind. */\n authorFilter?: boolean | undefined;\n /** Threads in a margin rail, or in a box under the highlight that opens on hover. */\n layout?: FileReviewLayout | undefined;\n /** Offers the thread layouts in the tab bar's overflow menu. */\n onLayoutChange?: ((layout: FileReviewLayout) => void) | undefined;\n /**\n * Makes Source an editor: the findings show in Monaco (host renders a\n * MonacoProvider) and each edit is reported here. Without it Source is a\n * read-only listing where text can be commented on.\n */\n onSourceChange?: ((source: string) => void) | undefined;\n /**\n * `git blame` for `source`: offers a Blame toggle that shows who last\n * changed each line in a gutter, in the read-only Source listing. Must cover\n * the same revision as `source`, so omit it while the text has unsaved edits.\n */\n blame?: readonly BlameRange[] | undefined;\n /** Line to reveal and focus, e.g. from the host's URL. Controlled with `onLineChange`. */\n line?: number | undefined;\n /** Called with a finding's line when the reader picks it. */\n onLineChange?: ((line: number) => void) | undefined;\n /** Contextual actions for a finding in Problems, Source and Preview. Return an empty array when no host actions apply. */\n getFindingActions?: ((finding: FileFinding) => DropdownMenuItem[]) | undefined;\n /** Host controls in the header row, e.g. lint, save or revert buttons. */\n toolbar?: ReactNode;\n /** Sizes the frame; the document and sidebar scroll inside it. Defaults to a fixed 520px pane. */\n className?: string | undefined;\n};\n\nconst LAYOUTS: { id: FileReviewLayout; label: string }[] = [\n { id: \"inline\", label: \"Inline comments\" },\n { id: \"margin\", label: \"Comment sidebar\" },\n];\n\n/** Sidebar cards level with their anchored line, or stacked in document order. */\ntype SidebarAlign = \"line\" | \"stack\";\n\nconst SIDEBAR_ALIGNS: { id: SidebarAlign; label: string }[] = [\n { id: \"line\", label: \"Align to line\" },\n { id: \"stack\", label: \"Stacked list\" },\n];\n\n/** Space kept above a target scrolled into view. */\nconst REVEAL_OFFSET = 48;\n\n/**\n * Google Docs-style review of one file. Markdown gets a rendered Preview with\n * threads in the margin or inline; any file gets a syntax-highlighted Source\n * listing with threads under their lines. Each feature is on when its prop is\n * given: lint `findings` (rail, squiggles, Problems), people's `comments`\n * (quote highlights and threads), text selection to comment, `blame`, and an\n * editable source.\n */\nexport function FileReview({\n path,\n source: raw,\n view,\n onViewChange,\n findings: findingsProp,\n problemFilters,\n onProblemFiltersChange,\n comments,\n mode = \"text\",\n selectToComment = false,\n authorFilter = false,\n layout = \"margin\",\n onLayoutChange,\n onSourceChange,\n blame,\n line,\n onLineChange,\n getFindingActions,\n toolbar,\n className,\n}: FileReviewProps) {\n const lint = findingsProp !== undefined;\n const findings = findingsProp ?? NO_FINDINGS;\n const prose = isMarkdownPath(path);\n if (view === \"problems\" && !lint) throw new Error(\"FileReview: view \\\"problems\\\" needs `findings`\");\n if (view === \"problems\" && (!problemFilters || !onProblemFiltersChange))\n throw new Error(\"FileReview: view \\\"problems\\\" needs `problemFilters` and `onProblemFiltersChange`\");\n if (view === \"preview\" && !prose) throw new Error(`FileReview: view \"preview\" needs a markdown file, got ${path}`);\n const [showBlame, setShowBlame] = useState(false);\n const [showFindings, setShowFindings] = useState(true);\n const blaming = showBlame && blame !== undefined;\n // Blame annotates committed lines, so it shows in the read-only listing even for an editable file.\n const editing = onSourceChange !== undefined && !blaming;\n const people = comments?.items ?? NO_COMMENTS;\n const callbacks = comments?.callbacks ?? NO_CALLBACKS;\n const hostConfig = comments?.config ?? DEFAULT_CONFIG;\n const config = useMemo<CommentConfig>(\n () => ({\n ...hostConfig,\n statuses: [...hostConfig.statuses, ...FINDINGS_COMMENT_CONFIG.statuses],\n // Severity is already the status badge; repeating it as a facet chip crowds a 300px card.\n facets: [...(hostConfig.facets ?? []), ...(FINDINGS_COMMENT_CONFIG.facets ?? []).filter((facet) => facet.key !== \"severity\")],\n }),\n [hostConfig],\n );\n const canComment = selectToComment && Boolean(callbacks.onCreate);\n const source = useMemo(() => (path.endsWith(\".mdx\") ? blankMdxPreamble(raw) : raw), [path, raw]);\n const sourceLines = useMemo(() => source.split(\"\\n\"), [source]);\n const blamed = useMemo(() => (blaming ? blameLines(blame, sourceLines.length) : null), [blaming, blame, sourceLines.length]);\n const theme = useResolvedTheme();\n const listing = view === \"source\" && !editing;\n // Source and the Problems context blocks both colour their lines with the same tokens.\n const tokenized = listing || view === \"problems\";\n const [tokens, setTokens] = useState<{ source: string; lines: HighlightedLine[] | null } | null>(null);\n useEffect(() => {\n if (!tokenized) return;\n let current = true;\n const shiki = theme === \"dark\" ? \"github-dark\" : \"github-light\";\n void highlightToLines(source, { lang: languageFromPath(path), theme: shiki }).then(\n (lines) => current && setTokens({ source, lines }),\n );\n return () => {\n current = false;\n };\n }, [tokenized, source, path, theme]);\n // Tokens of an earlier text would colour the wrong characters; show plain text until the new ones arrive.\n const sourceTokens = tokens?.source === source ? tokens.lines : null;\n const [align, setAlign] = useState<SidebarAlign>(\"line\");\n const [focused, setFocused] = useState<string | null>(null);\n const [hovered, setHovered] = useState<string | null>(null);\n const [draft, setDraft] = useState<Draft | null>(null);\n const [filter, setFilter] = useState<AuthorFilter>(\"all\");\n const [editorLine, setEditorLine] = useState<number | undefined>(undefined);\n /** A finding picked from Source or Problems: the preview scrolls to it once its box is measured. */\n const [revealing, setRevealing] = useState<string | null>(null);\n const scroller = useRef<HTMLDivElement>(null);\n /** The rendered document's own scroll pane, beside the sidebar's (wide layouts only). */\n const bodyPane = useRef<HTMLDivElement>(null);\n const sidebarPane = useRef<HTMLDivElement>(null);\n const outer = useRef<HTMLDivElement>(null);\n const origin = useRef<HTMLDivElement>(null);\n const markdown = useRef<HTMLDivElement>(null);\n const narrow = useNarrow(outer);\n const { heights, refFor } = useCardHeights();\n\n const findingComments = useMemo(() => findingsToComments(findings), [findings]);\n const all = useMemo(() => [...findingComments, ...people], [findingComments, people]);\n // findingsToComments keeps the findings' order, so a thread's id leads back to its finding.\n const findingById = useMemo(() => new Map(findingComments.map((c, i) => [c.id, findings[i]!])), [findingComments, findings]);\n const renderRootDetails = useMemo(() => {\n if (!getFindingActions) return undefined;\n return (comment: Comment) => {\n const finding = findingById.get(comment.id);\n return finding ? <ProblemActions items={getFindingActions(finding)} /> : null;\n };\n }, [getFindingActions, findingById]);\n const filtered = useMemo(\n () => all.filter((c) => c.parentId || filter === \"all\" || (c.author?.kind ?? \"user\") === filter),\n [all, filter],\n );\n const open = useMemo(() => selectCommentThreadsByStage(filtered, config, \"active\"), [filtered, config]);\n const resolvedCount = getRoots(filtered).filter((c) => resolveCommentStage(config, c.status) !== \"active\").length;\n const threadAnchors = useMemo(() => [...new Set(getRoots(open).map((c) => c.anchor ?? \"\"))].filter(Boolean), [open]);\n // An expanded draft highlights its selection, but has no thread to place in the sidebar until posted.\n const draftAnchor = draft?.expanded ? draft.anchor : null;\n const unposted = draftAnchor && !threadAnchors.includes(draftAnchor) ? draftAnchor : null;\n const anchors = useMemo(() => (unposted ? [...threadAnchors, unposted] : threadAnchors), [threadAnchors, unposted]);\n // A line with several findings shows its most severe one.\n const severity = useMemo(() => {\n const worst = new Map<string, Severity>();\n for (const c of getRoots(open)) {\n if (!c.anchor || !isFindingAnchor(c.anchor)) continue;\n const level = severityOf(c.status);\n const current = worst.get(c.anchor);\n if (!current || SEVERITY_RANK[level] > SEVERITY_RANK[current]) worst.set(c.anchor, level);\n }\n return worst;\n }, [open]);\n const { boxes, height, width } = useAnchorBoxes({ origin, markdown, anchors, mode, visible: view === \"preview\" });\n const sourceOrigin = useRef<HTMLDivElement>(null);\n const [sourceWidth, setSourceWidth] = useState(0);\n const [sourceMarks, setSourceMarks] = useState<SourceMark[]>([]);\n // Source quotes (`s:`) resolve against the text; markdown quotes (`q:`) against the\n // rendered preview, which stays mounted while hidden.\n useLayoutEffect(() => {\n if (view !== \"source\" || !sourceOrigin.current) return;\n const root = markdown.current;\n const mark = () =>\n setSourceMarks(\n anchors\n .flatMap((anchor) => {\n if (anchor.startsWith(SOURCE_PREFIX)) return [{ anchor, spans: resolveSource(source, parseSourceAnchor(anchor)) }];\n if (root && anchor.startsWith(QUOTE_PREFIX)) return [{ anchor, spans: sourceSpans(root, sourceLines, parseQuoteAnchor(anchor)) }];\n return [];\n })\n .filter((m) => m.spans.length > 0),\n );\n mark();\n // Opened straight on Source, the hidden preview may still be rendering the quotes resolve against.\n const renders = new MutationObserver(mark);\n if (root) renders.observe(root, { childList: true, subtree: true, characterData: true });\n const el = sourceOrigin.current;\n const resizes = new ResizeObserver(() => setSourceWidth(el.offsetWidth));\n resizes.observe(el);\n return () => {\n renders.disconnect();\n resizes.disconnect();\n };\n }, [view, anchors, source, sourceLines, editing]);\n const hoverTimer = useRef<ReturnType<typeof setTimeout> | null>(null);\n /** The anchor the pointer is heading for; `hovered` catches up once the timer fires. */\n const intended = useRef<string | null>(null);\n // A pinned box stays put while the pointer previews other highlights.\n const inlineAnchor = focused ?? hovered;\n useEffect(() => () => clearTimeout(hoverTimer.current ?? undefined), []);\n /** The hovered or pinned quote thread in Source, floating under its highlighted words. */\n const [sourceThread, setSourceThread] = useState<{ anchor: string; boxes: Box[] } | null>(null);\n useLayoutEffect(() => {\n const root = sourceOrigin.current;\n if (view !== \"source\" || !root || !inlineAnchor || !isTextAnchor(inlineAnchor)) return setSourceThread(null);\n const base = root.getBoundingClientRect();\n const boxes = [...root.querySelectorAll<HTMLElement>(\"[data-source-comment]\")]\n .filter((el) => markAnchors(el).includes(inlineAnchor))\n .flatMap((el) => [...el.getClientRects()])\n .map((r) => ({ top: r.top - base.top, left: r.left - base.left, width: r.width, height: r.height }));\n setSourceThread(boxes.length > 0 ? { anchor: inlineAnchor, boxes } : null);\n }, [view, inlineAnchor, sourceMarks, sourceWidth]);\n\n const target = revealing ? boxes.get(revealing)?.[0] : undefined;\n // Narrow layouts stack the sidebar under the document, so the whole frame scrolls as one.\n useEffect(() => {\n const pane = (narrow ? scroller : bodyPane).current;\n if (view !== \"preview\" || !target || !pane || !origin.current) return;\n const top = origin.current.getBoundingClientRect().top - pane.getBoundingClientRect().top + pane.scrollTop + target.top;\n const visible = top >= pane.scrollTop && top + target.height <= pane.scrollTop + pane.clientHeight;\n if (!visible) pane.scrollTop = top - REVEAL_OFFSET;\n setRevealing(null);\n }, [view, target, narrow]);\n // In the Source listing a picked finding scrolls its line into view.\n useEffect(() => {\n const pane = scroller.current;\n if (view !== \"source\" || !revealing || !pane) return;\n const line = isFindingAnchor(revealing) ? revealing.slice(FINDING_ANCHOR_PREFIX.length) : null;\n const row = line ? pane.querySelector<HTMLElement>(`[data-source-line=\"${line}\"]`) : null;\n if (row) {\n const top = row.getBoundingClientRect().top - pane.getBoundingClientRect().top + pane.scrollTop;\n const visible = top >= pane.scrollTop && top + row.offsetHeight <= pane.scrollTop + pane.clientHeight;\n if (!visible) pane.scrollTop = top - REVEAL_OFFSET;\n }\n setRevealing(null);\n }, [view, revealing]);\n\n const sidebarScrolls = layout === \"margin\" && !narrow;\n /** Aligned cards sit at their anchor's offset, so matching the document's scroll puts each level with its line. */\n const levelSidebar = () => {\n if (sidebarScrolls && align === \"line\" && sidebarPane.current && bodyPane.current) {\n sidebarPane.current.scrollTop = bodyPane.current.scrollTop;\n }\n };\n // Re-level after the user scrolled the sidebar on its own and then picked a thread.\n useEffect(levelSidebar, [focused, align, sidebarScrolls]);\n // A stacked list scrolls the focused card into view instead.\n useEffect(() => {\n const pane = sidebarPane.current;\n if (!sidebarScrolls || align !== \"stack\" || !focused || !pane) return;\n const card = [...pane.querySelectorAll<HTMLElement>(\"[data-card-anchor]\")].find((el) => el.dataset.cardAnchor === focused);\n if (!card) return;\n const top = card.getBoundingClientRect().top - pane.getBoundingClientRect().top + pane.scrollTop;\n const visible = top >= pane.scrollTop && top + card.offsetHeight <= pane.scrollTop + pane.clientHeight;\n if (!visible) pane.scrollTop = top - REVEAL_OFFSET;\n }, [focused, align, sidebarScrolls]);\n\n /** Picking a card focuses its thread and brings the anchored text into view. */\n function focusCard(anchor: string) {\n setFocused(anchor);\n setRevealing(anchor);\n if (isFindingAnchor(anchor)) onLineChange?.(Number(anchor.slice(FINDING_ANCHOR_PREFIX.length)));\n }\n\n function openFinding(finding: FileFinding) {\n const anchor = lineAnchor(finding.line);\n onViewChange(prose ? \"preview\" : \"source\");\n setFocused(anchor);\n setRevealing(anchor);\n if (!prose) setEditorLine(finding.line);\n onLineChange?.(finding.line);\n }\n\n // A line named by the host (its URL) is revealed and focused like a picked finding.\n useEffect(() => {\n if (line === undefined) return;\n const anchor = lineAnchor(line);\n setFocused(anchor);\n setRevealing(anchor);\n setEditorLine(line);\n }, [line]);\n\n const documentOrder = [...boxes.keys()];\n const tops = layoutCards({\n cards: threadAnchors.map((anchor) => ({\n anchor,\n desired: boxes.get(anchor)?.[0]?.top ?? height,\n order: boxes.has(anchor) ? documentOrder.indexOf(anchor) : documentOrder.length,\n height: heights[anchor] ?? ESTIMATED_CARD_HEIGHT,\n })),\n focused,\n });\n const railHeight = Math.max(height, ...threadAnchors.map((a) => (tops.get(a) ?? 0) + (heights[a] ?? ESTIMATED_CARD_HEIGHT)));\n const ordered = [...threadAnchors].sort((a, b) => (tops.get(a) ?? 0) - (tops.get(b) ?? 0));\n\n /**\n * The anchor under the pointer, preferring an exact quote over the block holding it.\n * A click takes the whole block; a hover only an exact quote or a block's severity\n * bar, so reading a paragraph with a finding in it does not open anything.\n */\n function anchorAt(event: MouseEvent<HTMLDivElement>, intent: \"click\" | \"hover\"): string | null {\n const base = event.currentTarget.getBoundingClientRect();\n const x = event.clientX - base.left;\n const y = event.clientY - base.top;\n const hits = [...boxes]\n .filter(([anchor, list]) => {\n if (anchor === unposted) return false;\n if (isFindingAnchor(anchor)) {\n const last = list[list.length - 1]!;\n const inRail = x <= BAR_HOVER_WIDTH && y >= list[0]!.top && y <= last.top + last.height;\n return inRail || (intent === \"click\" && list.some((b) => y >= b.top && y <= b.top + b.height && x >= b.left && x <= b.left + b.width));\n }\n return list.some((b) => {\n if (y < b.top || y > b.top + b.height) return false;\n const exact = mode === \"text\";\n if (intent === \"click\" || exact) return x >= b.left - (exact ? 0 : 12) && x <= b.left + b.width;\n return x >= b.left - BAR_HOVER_WIDTH && x <= b.left;\n });\n })\n .map(([anchor]) => anchor);\n return hits.find((a) => a.startsWith(QUOTE_PREFIX)) ?? hits[0] ?? null;\n }\n\n const fromInlineThread = (event: MouseEvent) =>\n (event.target as Element).closest(\"[data-inline-thread], [data-comment-draft], [data-source-thread]\") !== null;\n\n /**\n * The anchor a selection makes. In markdown, a Source selection is mapped onto\n * the rendered text so the thread shows in Preview too; in any other file it\n * anchors on the source characters.\n */\n function locate(surface: Draft[\"surface\"], range: Range): Pick<Draft, \"anchor\" | \"label\"> | null {\n if (!prose) {\n const covered = sourceRangeOf(range);\n const locator = covered && locateSource(source, covered.start, covered.end);\n return locator ? { anchor: sourceAnchor(locator), label: describeSource(locator) } : null;\n }\n if (!markdown.current) return null;\n if (surface === \"preview\") {\n const locator = locateSelection(markdown.current, range);\n return locator && quoteDraft(locator);\n }\n const span = sourceSpanOf(range);\n const locator = span && locateSourceSelection(markdown.current, sourceLines, span);\n return locator && quoteDraft(locator);\n }\n\n const surfaceOrigin = (surface: Draft[\"surface\"]) => (surface === \"preview\" ? origin : sourceOrigin).current!;\n\n function focusAt(event: MouseEvent<HTMLDivElement>) {\n if (!window.getSelection()?.isCollapsed || fromInlineThread(event) || (event.target as Element).closest(\"button, a\")) return;\n setFocused(anchorAt(event, \"click\"));\n }\n\n /**\n * Hover intent: the pointer has to rest on a highlight before its box opens,\n * and leaving starts a grace period so the pointer can still reach the box.\n * Re-targeting only on a change keeps continuous movement from resetting the timer.\n */\n function hoverTo(anchor: string | null) {\n if (anchor === intended.current) return;\n intended.current = anchor;\n clearTimeout(hoverTimer.current ?? undefined);\n hoverTimer.current = setTimeout(() => setHovered(anchor), anchor ? HOVER_OPEN_MS : HOVER_CLOSE_MS);\n }\n\n function keepHover(anchor: string) {\n clearTimeout(hoverTimer.current ?? undefined);\n intended.current = anchor;\n }\n\n function closeInlineThread() {\n clearTimeout(hoverTimer.current ?? undefined);\n intended.current = null;\n setFocused(null);\n setHovered(null);\n }\n\n /** Source previews a thread while the pointer rests on its highlighted words. */\n function hoverSourceAt(event: MouseEvent<HTMLDivElement>) {\n if (fromInlineThread(event)) return;\n const selecting = event.buttons !== 0 || !window.getSelection()?.isCollapsed;\n const mark = (event.target as Element).closest<HTMLElement>(\"[data-source-comment]\");\n hoverTo(selecting || !mark ? null : markAnchors(mark)[0]!);\n }\n\n /** Clicking away from a highlight and its box unpins it. */\n function unpinSourceAt(event: MouseEvent<HTMLDivElement>) {\n if (fromInlineThread(event) || (event.target as Element).closest(\"[data-source-comment], button, a\")) return;\n if (focused && isTextAnchor(focused) && window.getSelection()?.isCollapsed) closeInlineThread();\n }\n\n function hoverAt(event: MouseEvent<HTMLDivElement>) {\n if (layout !== \"inline\" || fromInlineThread(event)) return;\n // Dragging out a selection is reading or commenting, not asking to preview.\n const selecting = event.buttons !== 0 || !window.getSelection()?.isCollapsed;\n hoverTo(selecting ? null : anchorAt(event, \"hover\"));\n }\n\n function offerComment(event: MouseEvent<HTMLDivElement>, surface: Draft[\"surface\"]) {\n if (!canComment || fromInlineThread(event) || (event.target as Element).closest(\"[data-comment-author]\")) return;\n const selection = window.getSelection();\n const range = selection && !selection.isCollapsed && selection.rangeCount > 0 ? selection.getRangeAt(0) : null;\n const locator = range ? locate(surface, range) : null;\n if (!range || !locator) {\n // An open composer may hold typed text: only Escape or its close button discards it.\n setDraft((current) => (current?.expanded ? current : null));\n return;\n }\n const base = surfaceOrigin(surface).getBoundingClientRect();\n const rect = range.getBoundingClientRect();\n setDraft({\n ...locator,\n position: { top: rect.top - base.top, bottom: rect.bottom - base.top, left: rect.left - base.left + rect.width / 2 },\n expanded: false,\n surface,\n });\n }\n\n /**\n * Right-click offers Comment at the pointer: on the selection when the pointer\n * is inside it, else on the word under the pointer, which it selects.\n */\n function commentMenu(event: MouseEvent<HTMLDivElement>, surface: Draft[\"surface\"]) {\n if (!canComment || fromInlineThread(event) || (event.target as Element).closest(\"[data-comment-author], button, a\")) return;\n const selection = window.getSelection();\n const current = selection && !selection.isCollapsed && selection.rangeCount > 0 ? selection.getRangeAt(0) : null;\n const inside = current && [...current.getClientRects()].some((r) => event.clientX >= r.left && event.clientX <= r.right && event.clientY >= r.top && event.clientY <= r.bottom);\n const range = inside ? current : wordAt(event.clientX, event.clientY);\n const locator = range ? locate(surface, range) : null;\n if (!range || !locator) return;\n event.preventDefault();\n if (!inside) {\n selection?.removeAllRanges();\n selection?.addRange(range);\n }\n const base = surfaceOrigin(surface).getBoundingClientRect();\n const rect = range.getBoundingClientRect();\n setDraft({\n ...locator,\n position: { top: rect.top - base.top, bottom: rect.bottom - base.top, left: event.clientX - base.left },\n expanded: false,\n surface,\n });\n }\n\n /** The pill morphs into its composer card; the measured highlight replaces the browser selection. */\n function expandDraft() {\n setDraft((current) => current && { ...current, expanded: true });\n window.getSelection()?.removeAllRanges();\n }\n\n const closeDraft = useCallback(() => setDraft(null), []);\n\n /** An open card follows its measured highlight, so a reflow (width, layout) keeps it beside the text. */\n function draftPosition(current: Draft): CommentDraftPosition {\n const list = current.expanded && current.surface === \"preview\" ? boxes.get(current.anchor) : undefined;\n const first = list?.[0];\n const last = list?.at(-1);\n if (!first || !last) return current.position;\n return { top: first.top, bottom: last.top + last.height, left: first.left + first.width / 2 };\n }\n\n function renderDraft(current: Draft, containerWidth: number) {\n const onCreate = callbacks.onCreate;\n if (!onCreate) return null;\n const { anchor, label } = current;\n return (\n <CommentDraft\n key={anchor}\n anchor={anchor}\n label={label}\n position={draftPosition(current)}\n containerWidth={containerWidth}\n expanded={current.expanded}\n config={config}\n onExpand={expandDraft}\n onClose={closeDraft}\n onCreate={async (input) => {\n await onCreate(input);\n setDraft(null);\n setFocused(anchor);\n }}\n />\n );\n }\n\n return (\n <div ref={outer} data-file-review={path} className={cn(\"flex min-h-0 flex-col gap-2\", className ?? \"h-[600px]\")}>\n <div className=\"flex shrink-0 flex-wrap items-center gap-2 text-xs text-muted-foreground\">\n {toolbar}\n {(comments || lint) && (\n <span>\n {getRoots(open).length} open · {resolvedCount} resolved (hidden)\n </span>\n )}\n {comments && layout === \"inline\" && <span>· hover a highlight to view or reply</span>}\n {canComment && <span>· select or right-click text to comment</span>}\n {authorFilter && (\n <div role=\"radiogroup\" aria-label=\"Authors\" className=\"ml-auto inline-flex rounded-md border border-border p-0.5\">\n {([\"all\", \"user\", \"agent\"] as const).map((value) => (\n <button\n key={value}\n type=\"button\"\n role=\"radio\"\n aria-checked={filter === value}\n onClick={() => setFilter(value)}\n className={cn(\n \"rounded px-2 py-0.5 font-medium\",\n filter === value ? \"bg-primary text-primary-foreground\" : \"hover:text-foreground\",\n )}\n >\n {value === \"all\" ? \"All\" : value === \"user\" ? \"People\" : \"Tools\"}\n </button>\n ))}\n </div>\n )}\n </div>\n <div className=\"flex shrink-0 items-center border-b border-border\">\n <Tabs\n className=\"min-w-0 flex-1 border-b-0\"\n value={view}\n onChange={(id) => {\n onViewChange(id as FileReviewView);\n setDraft(null);\n }}\n tabs={[\n ...(prose ? [{ id: \"preview\", label: \"Preview\", icon: UiEye }] : []),\n { id: \"source\", label: \"Source\", icon: UiFileCode },\n ...(lint ? [{ id: \"problems\", label: \"Problems\", icon: UiListChecks, count: findings.length }] : []),\n ]}\n />\n {lint && findings.length > 0 && view === \"source\" && !editing && (\n <Button\n size=\"sm\"\n variant={showFindings ? \"secondary\" : \"ghost\"}\n aria-pressed={showFindings}\n title={showFindings ? \"Show only the gutter marks; pick one to read its findings\" : \"Show each line's findings underneath it\"}\n onClick={() => setShowFindings((shown) => !shown)}\n className=\"shrink-0 gap-1.5\"\n >\n <Icon icon={UiListChecks} />\n Findings\n </Button>\n )}\n {blame && view === \"source\" && (\n <Button\n size=\"sm\"\n variant={showBlame ? \"secondary\" : \"ghost\"}\n aria-pressed={showBlame}\n title={showBlame ? \"Hide who last changed each line\" : \"Show who last changed each line\"}\n onClick={() => setShowBlame((shown) => !shown)}\n className=\"shrink-0 gap-1.5\"\n >\n <Icon icon={UiGitCommit} />\n Blame\n </Button>\n )}\n {comments && onLayoutChange && prose && view !== \"problems\" && (\n <DropdownMenu\n align=\"right\"\n icon={UiDotsVertical}\n hideChevron\n variant=\"ghost\"\n size=\"sm\"\n title=\"View options\"\n menuLabel=\"View options\"\n className=\"shrink-0\"\n items={[\n ...LAYOUTS.map((entry) => ({\n label: entry.label,\n group: \"Comments\",\n icon: UiCheck,\n iconClassName: entry.id === layout ? undefined : \"invisible\",\n onSelect: () => onLayoutChange(entry.id),\n })),\n ...(layout === \"margin\"\n ? SIDEBAR_ALIGNS.map((entry) => ({\n label: entry.label,\n group: \"Sidebar cards\",\n icon: UiCheck,\n iconClassName: entry.id === align ? undefined : \"invisible\",\n onSelect: () => setAlign(entry.id),\n }))\n : []),\n ]}\n />\n )}\n </div>\n <div\n ref={scroller}\n className={cn(\n \"relative min-h-0 flex-1 rounded-md border border-border bg-background\",\n editing && view === \"source\" ? \"overflow-hidden\" : \"overflow-y-auto\",\n )}\n >\n {editing && view === \"source\" && (\n <AnnotatedCode\n path={path}\n source={raw}\n findings={findings}\n line={editorLine}\n onLineChange={setEditorLine}\n onChange={onSourceChange}\n inlineChips\n />\n )}\n {!editing && view === \"source\" && (\n <div\n ref={sourceOrigin}\n className=\"relative\"\n onMouseUp={(event) => event.button === 0 && offerComment(event, \"source\")}\n onContextMenu={(event) => commentMenu(event, \"source\")}\n onClick={unpinSourceAt}\n onMouseMove={hoverSourceAt}\n onMouseLeave={() => hoverTo(null)}\n >\n <SourceView\n source={source}\n tokens={sourceTokens}\n blame={blamed}\n findings={findings}\n showFindings={showFindings}\n marks={sourceMarks}\n comments={open}\n selected={inlineAnchor ?? draftAnchor}\n onSelect={(f) => {\n setFocused(lineAnchor(f.line));\n onLineChange?.(f.line);\n }}\n getFindingActions={getFindingActions}\n onFocus={setFocused}\n />\n {draft?.surface === \"source\" && renderDraft(draft, sourceWidth)}\n {sourceThread && (\n <InlineThread\n key={sourceThread.anchor}\n seamless\n anchor={sourceThread.anchor}\n label={anchorLabel(sourceThread.anchor, true)}\n boxes={sourceThread.boxes}\n containerWidth={sourceWidth}\n thread={selectAnchorThreads(open, sourceThread.anchor)}\n config={config}\n callbacks={callbacks}\n pinned={focused === sourceThread.anchor}\n onPin={() => setFocused(sourceThread.anchor)}\n onClose={closeInlineThread}\n onPointerEnter={() => keepHover(sourceThread.anchor)}\n onPointerLeave={() => hoverTo(null)}\n />\n )}\n </div>\n )}\n {view === \"problems\" && problemFilters && onProblemFiltersChange && (\n <ProblemsList\n source={source}\n tokens={sourceTokens}\n findings={findings}\n filters={problemFilters}\n onFiltersChange={onProblemFiltersChange}\n onOpen={openFinding}\n openLabel={prose ? \"Open in preview\" : \"Open in source\"}\n getFindingActions={getFindingActions}\n />\n )}\n {/* Hidden rather than unmounted, so anchor boxes stay measured and a picked finding scrolls straight to its line. */}\n {prose && (\n <div className={cn(\"flex\", narrow ? \"flex-col gap-4 p-4\" : \"h-full\", view !== \"preview\" && \"hidden\")}>\n {/* Wide layouts give the document and the sidebar their own scroll panes. */}\n <div ref={bodyPane} onScroll={levelSidebar} className={cn(\"min-w-0 flex-1\", !narrow && \"overflow-y-auto p-4\")}>\n <div\n ref={origin}\n className=\"relative\"\n onMouseUp={(event) => event.button === 0 && offerComment(event, \"preview\")}\n onContextMenu={(event) => commentMenu(event, \"preview\")}\n onClick={focusAt}\n onMouseMove={hoverAt}\n onMouseLeave={() => layout === \"inline\" && hoverTo(null)}\n >\n {[...boxes].flatMap(([anchor, list]) => {\n const active = anchor === focused || anchor === hovered || anchor === draftAnchor;\n if (isFindingAnchor(anchor)) {\n const level = severity.get(anchor);\n if (!level) throw new Error(`lint anchor ${anchor} has no open finding`);\n const mark = SEVERITY_MARK[level];\n const first = list[0]!;\n return [\n <span\n key={`${anchor}:rail`}\n data-lint-rail={level}\n aria-hidden\n className={cn(\"pointer-events-none absolute z-20 flex size-4 items-center justify-center rounded-sm\", mark.tone, active && mark.tint)}\n style={{ top: first.top + first.height / 2 - 8, left: 0 }}\n >\n <Icon icon={mark.icon} className=\"text-[13px]\" />\n </span>,\n ...list.map((box, i) => (\n <div\n key={`${anchor}:${i}`}\n data-anchor-box={anchor}\n data-lint-squiggle={level}\n aria-hidden\n className={cn(\"pointer-events-none absolute z-0 transition-colors\", active && mark.tint)}\n style={{ top: box.top, left: box.left, width: box.width, height: box.height + 3 }}\n >\n <span\n className=\"absolute inset-x-0 bottom-0 h-[3px]\"\n style={{ backgroundImage: squiggle(mark.stroke), backgroundRepeat: \"repeat-x\", backgroundSize: \"6px 3px\" }}\n />\n </div>\n )),\n ];\n }\n return list.map((box, i) => (\n <div\n key={`${anchor}:${i}`}\n data-anchor-box={anchor}\n aria-hidden\n className={cn(\"pointer-events-none absolute z-0 transition-colors\", boxClass({ mode, active }))}\n style={\n mode === \"text\"\n ? { top: box.top, left: box.left, width: box.width, height: box.height }\n : { top: box.top - 2, left: box.left - 10, width: box.width + 10, height: box.height + 4 }\n }\n />\n ));\n })}\n <div ref={markdown} data-annotated-markdown=\"\" className=\"relative z-10 pl-4\">\n <Markdown sourceBlocks text={source} />\n </div>\n {comments && layout === \"inline\" && <InlineAuthors markdown={markdown} comments={open} focused={focused} onFocus={setFocused} />}\n {draft?.surface === \"preview\" && renderDraft(draft, width)}\n {layout === \"inline\" && inlineAnchor && (\n <InlineThread\n key={inlineAnchor}\n anchor={inlineAnchor}\n label={anchorLabel(inlineAnchor, true)}\n boxes={boxes.get(inlineAnchor) ?? []}\n containerWidth={width}\n thread={selectAnchorThreads(open, inlineAnchor)}\n config={config}\n callbacks={isFindingAnchor(inlineAnchor) ? NO_CALLBACKS : callbacks}\n renderRootDetails={renderRootDetails}\n pinned={focused === inlineAnchor}\n onPin={() => setFocused(inlineAnchor)}\n onClose={closeInlineThread}\n onPointerEnter={() => keepHover(inlineAnchor)}\n onPointerLeave={() => hoverTo(null)}\n />\n )}\n </div>\n </div>\n {layout === \"margin\" && (\n <div\n ref={sidebarPane}\n data-comment-sidebar={narrow ? \"below\" : align}\n className={cn(narrow ? \"w-full\" : \"w-[316px] shrink-0 overflow-y-auto overscroll-contain border-l border-border py-4 pl-2 pr-4\")}\n >\n <div\n className={cn(\"relative\", (narrow || align === \"stack\") && \"space-y-2\")}\n style={sidebarScrolls && align === \"line\" ? { height: railHeight } : undefined}\n >\n {ordered.map((anchor) => {\n const thread = selectAnchorThreads(open, anchor);\n const isFocused = anchor === focused;\n return (\n <div\n key={`${anchor}:${isFocused}`}\n ref={refFor(anchor)}\n data-card-anchor={anchor}\n onMouseEnter={() => setHovered(anchor)}\n onMouseLeave={() => setHovered(null)}\n onClick={() => focusCard(anchor)}\n className={cn(\n \"rounded-lg border bg-card transition-[top,transform] duration-150\",\n sidebarScrolls && align === \"line\" && \"absolute inset-x-0\",\n isFocused ? \"z-10 -translate-x-2 border-primary/50 shadow-lg\" : \"border-border shadow-sm\",\n )}\n style={sidebarScrolls && align === \"line\" ? { top: tops.get(anchor) ?? 0 } : undefined}\n >\n <div className=\"truncate px-2 pt-2 text-[11px] text-muted-foreground\">\n {anchorLabel(anchor, boxes.has(anchor))}\n </div>\n <CommentThread\n comments={thread}\n config={config}\n anchor={anchor}\n compact\n defaultExpanded={isFocused || isFindingAnchor(anchor)}\n hideComposer={thread.length > 0}\n autoFocusComposer={thread.length === 0}\n composerPlaceholder=\"Add a comment…\"\n {...(isFindingAnchor(anchor) ? NO_CALLBACKS : callbacks)}\n {...(renderRootDetails ? { renderRootDetails } : {})}\n />\n </div>\n );\n })}\n </div>\n </div>\n )}\n </div>\n )}\n </div>\n </div>\n );\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { DropdownMenuItem } from '../../overlay/DropdownMenu.js';
|
|
2
|
+
import { ReactNode } from 'react';
|
|
3
|
+
import { Comment, CommentCallbacks, CommentConfig } from '../../comments/comment-types.js';
|
|
4
|
+
import { FileFinding } from '../types.js';
|
|
5
|
+
import { AnchorMode } from './geometry.js';
|
|
6
|
+
import { ProblemFilters } from './problem-filters.js';
|
|
7
|
+
import { BlameRange } from './blame.js';
|
|
8
|
+
export type FileReviewView = "preview" | "source" | "problems";
|
|
9
|
+
export type FileReviewLayout = "margin" | "inline";
|
|
10
|
+
/** People's threads on the document and what they may do with them. */
|
|
11
|
+
export type FileReviewComments = {
|
|
12
|
+
/** Every comment on the document; quote threads carry `q:` anchors from `quoteAnchor`. */
|
|
13
|
+
items: Comment[];
|
|
14
|
+
callbacks: CommentCallbacks;
|
|
15
|
+
/** Statuses and facets of the host's comments; lint statuses are added for findings. */
|
|
16
|
+
config?: CommentConfig | undefined;
|
|
17
|
+
};
|
|
18
|
+
export type FileReviewProps = {
|
|
19
|
+
/**
|
|
20
|
+
* File path. Markdown (`.md`, `.mdx`) gets a rendered Preview, with an
|
|
21
|
+
* `.mdx` file's frontmatter and ESM statements blanked; any other file is
|
|
22
|
+
* reviewed as syntax-highlighted Source, its language taken from the extension.
|
|
23
|
+
*/
|
|
24
|
+
path: string;
|
|
25
|
+
/** The file being reviewed. */
|
|
26
|
+
source: string;
|
|
27
|
+
/** "preview" is only valid for markdown. */
|
|
28
|
+
view: FileReviewView;
|
|
29
|
+
onViewChange: (view: FileReviewView) => void;
|
|
30
|
+
/** Lint findings: a severity rail and squiggle on each flagged block, read-only threads, and a Problems tab. */
|
|
31
|
+
findings?: readonly FileFinding[] | undefined;
|
|
32
|
+
/** Severity and issue-type filters on the Problems tab. Controlled; needed with the "problems" view. */
|
|
33
|
+
problemFilters?: ProblemFilters | undefined;
|
|
34
|
+
onProblemFiltersChange?: ((filters: ProblemFilters) => void) | undefined;
|
|
35
|
+
/** People's comments: quote highlights, threads and author avatars. Without it the document has no comment UI. */
|
|
36
|
+
comments?: FileReviewComments | undefined;
|
|
37
|
+
/** Draw a quote as its exact text, or as the whole block holding it. */
|
|
38
|
+
mode?: AnchorMode | undefined;
|
|
39
|
+
/** Selecting or right-clicking text offers a Comment button that starts a thread on it; needs `comments.callbacks.onCreate`. */
|
|
40
|
+
selectToComment?: boolean | undefined;
|
|
41
|
+
/** Show People / Tools chips that filter threads by author kind. */
|
|
42
|
+
authorFilter?: boolean | undefined;
|
|
43
|
+
/** Threads in a margin rail, or in a box under the highlight that opens on hover. */
|
|
44
|
+
layout?: FileReviewLayout | undefined;
|
|
45
|
+
/** Offers the thread layouts in the tab bar's overflow menu. */
|
|
46
|
+
onLayoutChange?: ((layout: FileReviewLayout) => void) | undefined;
|
|
47
|
+
/**
|
|
48
|
+
* Makes Source an editor: the findings show in Monaco (host renders a
|
|
49
|
+
* MonacoProvider) and each edit is reported here. Without it Source is a
|
|
50
|
+
* read-only listing where text can be commented on.
|
|
51
|
+
*/
|
|
52
|
+
onSourceChange?: ((source: string) => void) | undefined;
|
|
53
|
+
/**
|
|
54
|
+
* `git blame` for `source`: offers a Blame toggle that shows who last
|
|
55
|
+
* changed each line in a gutter, in the read-only Source listing. Must cover
|
|
56
|
+
* the same revision as `source`, so omit it while the text has unsaved edits.
|
|
57
|
+
*/
|
|
58
|
+
blame?: readonly BlameRange[] | undefined;
|
|
59
|
+
/** Line to reveal and focus, e.g. from the host's URL. Controlled with `onLineChange`. */
|
|
60
|
+
line?: number | undefined;
|
|
61
|
+
/** Called with a finding's line when the reader picks it. */
|
|
62
|
+
onLineChange?: ((line: number) => void) | undefined;
|
|
63
|
+
/** Contextual actions for a finding in Problems, Source and Preview. Return an empty array when no host actions apply. */
|
|
64
|
+
getFindingActions?: ((finding: FileFinding) => DropdownMenuItem[]) | undefined;
|
|
65
|
+
/** Host controls in the header row, e.g. lint, save or revert buttons. */
|
|
66
|
+
toolbar?: ReactNode;
|
|
67
|
+
/** Sizes the frame; the document and sidebar scroll inside it. Defaults to a fixed 520px pane. */
|
|
68
|
+
className?: string | undefined;
|
|
69
|
+
};
|
|
70
|
+
/**
|
|
71
|
+
* Google Docs-style review of one file. Markdown gets a rendered Preview with
|
|
72
|
+
* threads in the margin or inline; any file gets a syntax-highlighted Source
|
|
73
|
+
* listing with threads under their lines. Each feature is on when its prop is
|
|
74
|
+
* given: lint `findings` (rail, squiggles, Problems), people's `comments`
|
|
75
|
+
* (quote highlights and threads), text selection to comment, `blame`, and an
|
|
76
|
+
* editable source.
|
|
77
|
+
*/
|
|
78
|
+
export declare function FileReview({ path, source: raw, view, onViewChange, findings: findingsProp, problemFilters, onProblemFiltersChange, comments, mode, selectToComment, authorFilter, layout, onLayoutChange, onSourceChange, blame, line, onLineChange, getFindingActions, toolbar, className, }: FileReviewProps): import("react").JSX.Element;
|
|
79
|
+
//# sourceMappingURL=FileReview.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FileReview.d.ts","sourceRoot":"","sources":["../../../src/file-findings/file-review/FileReview.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Comment } from '../../comments/comment-types.js';
|
|
2
|
+
import { FileFinding } from '../types.js';
|
|
3
|
+
import { BlameRange } from './blame.js';
|
|
4
|
+
export declare const DOC_PATH = "docs/release-checklist.md";
|
|
5
|
+
export declare const DOC_SOURCE: string;
|
|
6
|
+
export declare const DOC_FINDINGS: FileFinding[];
|
|
7
|
+
export declare const DOC_COMMENTS: Comment[];
|
|
8
|
+
/** A document to annotate: its markdown, people's comments on it and lint findings against it. */
|
|
9
|
+
export type DocFixture = {
|
|
10
|
+
id: string;
|
|
11
|
+
label: string;
|
|
12
|
+
path: string;
|
|
13
|
+
source: string;
|
|
14
|
+
comments: Comment[];
|
|
15
|
+
findings: FileFinding[];
|
|
16
|
+
blame?: BlameRange[];
|
|
17
|
+
};
|
|
18
|
+
export declare const SHORT_DOC: DocFixture;
|
|
19
|
+
export declare const RUNBOOK_SOURCE: string;
|
|
20
|
+
export declare const LONG_DOC: DocFixture;
|
|
21
|
+
export declare const CODE_PATH = "pkg/retry/retry.go";
|
|
22
|
+
export declare const CODE_SOURCE: string;
|
|
23
|
+
export declare const CODE_FILE: DocFixture;
|
|
24
|
+
export declare const DOCS: readonly [DocFixture, DocFixture, DocFixture];
|
|
25
|
+
//# sourceMappingURL=FileReview.fixtures.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FileReview.fixtures.d.ts","sourceRoot":"","sources":["../../../src/file-findings/file-review/FileReview.fixtures.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAiB,MAAM,8BAA8B,CAAC;AAC3E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C,OAAO,KAAK,EAAe,UAAU,EAAE,MAAM,SAAS,CAAC;AAIvD,eAAO,MAAM,QAAQ,8BAA8B,CAAC;AAGpD,eAAO,MAAM,UAAU,QA8BX,CAAC;AAMb,eAAO,MAAM,YAAY,EAAE,WAAW,EAKrC,CAAC;AAqBF,eAAO,MAAM,YAAY,EAAE,OAAO,EAoDjC,CAAC;AAEF,kGAAkG;AAClG,MAAM,MAAM,UAAU,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,OAAO,EAAE,CAAC;IAAC,QAAQ,EAAE,WAAW,EAAE,CAAC;IAAC,KAAK,CAAC,EAAE,UAAU,EAAE,CAAA;CAAE,CAAC;AAEzJ,eAAO,MAAM,SAAS,EAAE,UAOvB,CAAC;AA2IF,eAAO,MAAM,cAAc,QAAkB,CAAC;AAyD9C,eAAO,MAAM,QAAQ,EAAE,UAOtB,CAAC;AAEF,eAAO,MAAM,SAAS,uBAAuB,CAAC;AAE9C,eAAO,MAAM,WAAW,QAyBZ,CAAC;AAuCb,eAAO,MAAM,SAAS,EAAE,UAQvB,CAAC;AAEF,eAAO,MAAM,IAAI,+CAA4C,CAAC"}
|