@industry-theme/file-city-panel 0.5.53 → 0.5.54
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/dist/components/ContextContainer.d.ts +40 -0
- package/dist/components/ContextContainer.d.ts.map +1 -0
- package/dist/components/TourPlayer.d.ts +49 -0
- package/dist/components/TourPlayer.d.ts.map +1 -0
- package/dist/components/TourPlayerIntegration.d.ts +26 -0
- package/dist/components/TourPlayerIntegration.d.ts.map +1 -0
- package/dist/components/index.d.ts +7 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/hooks/index.d.ts +3 -0
- package/dist/hooks/index.d.ts.map +1 -0
- package/dist/hooks/useFuzzyFileSearch.d.ts +24 -0
- package/dist/hooks/useFuzzyFileSearch.d.ts.map +1 -0
- package/dist/hooks/useTourPlayer.d.ts +55 -0
- package/dist/hooks/useTourPlayer.d.ts.map +1 -0
- package/dist/index.d.ts +74 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/mocks/MockTTSAdapter.d.ts +85 -0
- package/dist/mocks/MockTTSAdapter.d.ts.map +1 -0
- package/dist/mocks/mockAudioActions.d.ts +27 -0
- package/dist/mocks/mockAudioActions.d.ts.map +1 -0
- package/dist/mocks/panelContext.d.ts +36 -0
- package/dist/mocks/panelContext.d.ts.map +1 -0
- package/dist/panels/CodeCityPanel.d.ts +108 -0
- package/dist/panels/CodeCityPanel.d.ts.map +1 -0
- package/dist/panels/FeedCodeCityPanel.d.ts +19 -0
- package/dist/panels/FeedCodeCityPanel.d.ts.map +1 -0
- package/dist/panels/FileCityExplorerPanel/FileCityExplorer/AddToAreaModal.d.ts +14 -0
- package/dist/panels/FileCityExplorerPanel/FileCityExplorer/AddToAreaModal.d.ts.map +1 -0
- package/dist/panels/FileCityExplorerPanel/FileCityExplorer/AddToScopeModal.d.ts +14 -0
- package/dist/panels/FileCityExplorerPanel/FileCityExplorer/AddToScopeModal.d.ts.map +1 -0
- package/dist/panels/FileCityExplorerPanel/FileCityExplorer/CommitFileOverlay.d.ts +18 -0
- package/dist/panels/FileCityExplorerPanel/FileCityExplorer/CommitFileOverlay.d.ts.map +1 -0
- package/dist/panels/FileCityExplorerPanel/FileCityExplorer/FileCityExplorer.d.ts +87 -0
- package/dist/panels/FileCityExplorerPanel/FileCityExplorer/FileCityExplorer.d.ts.map +1 -0
- package/dist/panels/FileCityExplorerPanel/FileCityExplorer/RecentCommitCard.d.ts +37 -0
- package/dist/panels/FileCityExplorerPanel/FileCityExplorer/RecentCommitCard.d.ts.map +1 -0
- package/dist/panels/FileCityExplorerPanel/FileCityExplorer/ScopeInfoOverlay.d.ts +10 -0
- package/dist/panels/FileCityExplorerPanel/FileCityExplorer/ScopeInfoOverlay.d.ts.map +1 -0
- package/dist/panels/FileCityExplorerPanel/FileCityExplorer/WorkingTreeCard.d.ts +32 -0
- package/dist/panels/FileCityExplorerPanel/FileCityExplorer/WorkingTreeCard.d.ts.map +1 -0
- package/dist/panels/FileCityExplorerPanel/FileCityExplorer/WorkingTreeFileOverlay.d.ts +21 -0
- package/dist/panels/FileCityExplorerPanel/FileCityExplorer/WorkingTreeFileOverlay.d.ts.map +1 -0
- package/dist/panels/FileCityExplorerPanel/FileCityExplorer/index.d.ts +2 -0
- package/dist/panels/FileCityExplorerPanel/FileCityExplorer/index.d.ts.map +1 -0
- package/dist/panels/FileCityExplorerPanel/FileCityExplorer/layers.d.ts +22 -0
- package/dist/panels/FileCityExplorerPanel/FileCityExplorer/layers.d.ts.map +1 -0
- package/dist/panels/FileCityExplorerPanel/FileCityExplorer/pathConversion.d.ts +19 -0
- package/dist/panels/FileCityExplorerPanel/FileCityExplorer/pathConversion.d.ts.map +1 -0
- package/dist/panels/FileCityExplorerPanel/FileCityExplorer/scopeTreePaths.d.ts +21 -0
- package/dist/panels/FileCityExplorerPanel/FileCityExplorer/scopeTreePaths.d.ts.map +1 -0
- package/dist/panels/FileCityExplorerPanel/FileCityExplorer/styles.d.ts +9 -0
- package/dist/panels/FileCityExplorerPanel/FileCityExplorer/styles.d.ts.map +1 -0
- package/dist/panels/FileCityExplorerPanel/FileCityExplorerPanel.d.ts +4 -0
- package/dist/panels/FileCityExplorerPanel/FileCityExplorerPanel.d.ts.map +1 -0
- package/dist/panels/FileCityExplorerPanel/buildCityDataFromContext.d.ts +34 -0
- package/dist/panels/FileCityExplorerPanel/buildCityDataFromContext.d.ts.map +1 -0
- package/dist/panels/FileCityExplorerPanel/index.d.ts +4 -0
- package/dist/panels/FileCityExplorerPanel/index.d.ts.map +1 -0
- package/dist/panels/FileCityExplorerPanel/overlays/FileOverlay.d.ts +11 -0
- package/dist/panels/FileCityExplorerPanel/overlays/FileOverlay.d.ts.map +1 -0
- package/dist/panels/FileCityExplorerPanel/overlays/MarkdownNotes.d.ts +58 -0
- package/dist/panels/FileCityExplorerPanel/overlays/MarkdownNotes.d.ts.map +1 -0
- package/dist/panels/FileCityExplorerPanel/overlays/PierreFileView.d.ts +11 -0
- package/dist/panels/FileCityExplorerPanel/overlays/PierreFileView.d.ts.map +1 -0
- package/dist/panels/FileCityExplorerPanel/overlays/PierreSnippetDiffView.d.ts +28 -0
- package/dist/panels/FileCityExplorerPanel/overlays/PierreSnippetDiffView.d.ts.map +1 -0
- package/dist/panels/FileCityExplorerPanel/overlays/PierreSnippetView.d.ts +42 -0
- package/dist/panels/FileCityExplorerPanel/overlays/PierreSnippetView.d.ts.map +1 -0
- package/dist/panels/FileCityExplorerPanel/overlays/SequenceDiagramOverlay.d.ts +15 -0
- package/dist/panels/FileCityExplorerPanel/overlays/SequenceDiagramOverlay.d.ts.map +1 -0
- package/dist/panels/FileCityExplorerPanel/overlays/SequenceEventDetailOverlay.d.ts +22 -0
- package/dist/panels/FileCityExplorerPanel/overlays/SequenceEventDetailOverlay.d.ts.map +1 -0
- package/dist/panels/FileCityExplorerPanel/overlays/SequenceFilesOverlay.d.ts +28 -0
- package/dist/panels/FileCityExplorerPanel/overlays/SequenceFilesOverlay.d.ts.map +1 -0
- package/dist/panels/FileCityExplorerPanel/overlays/SequenceLeaderLine.d.ts +42 -0
- package/dist/panels/FileCityExplorerPanel/overlays/SequenceLeaderLine.d.ts.map +1 -0
- package/dist/panels/FileCityExplorerPanel/overlays/SequenceMarkdownOverlay.d.ts +44 -0
- package/dist/panels/FileCityExplorerPanel/overlays/SequenceMarkdownOverlay.d.ts.map +1 -0
- package/dist/panels/FileCityExplorerPanel/overlays/SnippetNotes.d.ts +67 -0
- package/dist/panels/FileCityExplorerPanel/overlays/SnippetNotes.d.ts.map +1 -0
- package/dist/panels/components/ActivityHeatmapView.d.ts +25 -0
- package/dist/panels/components/ActivityHeatmapView.d.ts.map +1 -0
- package/dist/panels/components/AgentActivityView.d.ts +29 -0
- package/dist/panels/components/AgentActivityView.d.ts.map +1 -0
- package/dist/panels/components/BuildingCityLoader.d.ts +11 -0
- package/dist/panels/components/BuildingCityLoader.d.ts.map +1 -0
- package/dist/panels/components/CommitChangesTree.d.ts +29 -0
- package/dist/panels/components/CommitChangesTree.d.ts.map +1 -0
- package/dist/panels/components/CoverEditor.d.ts +22 -0
- package/dist/panels/components/CoverEditor.d.ts.map +1 -0
- package/dist/panels/components/EmptyState.d.ts +12 -0
- package/dist/panels/components/EmptyState.d.ts.map +1 -0
- package/dist/panels/components/FeedProjectHeader.d.ts +86 -0
- package/dist/panels/components/FeedProjectHeader.d.ts.map +1 -0
- package/dist/panels/components/FileCardList.d.ts +44 -0
- package/dist/panels/components/FileCardList.d.ts.map +1 -0
- package/dist/panels/components/FileCityTips.d.ts +7 -0
- package/dist/panels/components/FileCityTips.d.ts.map +1 -0
- package/dist/panels/components/FileTypesView.d.ts +23 -0
- package/dist/panels/components/FileTypesView.d.ts.map +1 -0
- package/dist/panels/components/GitChangesCardList.d.ts +29 -0
- package/dist/panels/components/GitChangesCardList.d.ts.map +1 -0
- package/dist/panels/components/GitChangesTree.d.ts +26 -0
- package/dist/panels/components/GitChangesTree.d.ts.map +1 -0
- package/dist/panels/components/GitChangesView.d.ts +27 -0
- package/dist/panels/components/GitChangesView.d.ts.map +1 -0
- package/dist/panels/components/HoverInfoBar.d.ts +29 -0
- package/dist/panels/components/HoverInfoBar.d.ts.map +1 -0
- package/dist/panels/components/Legend.d.ts +145 -0
- package/dist/panels/components/Legend.d.ts.map +1 -0
- package/dist/panels/components/LegendTabs.d.ts +35 -0
- package/dist/panels/components/LegendTabs.d.ts.map +1 -0
- package/dist/panels/components/PackageInfo.d.ts +26 -0
- package/dist/panels/components/PackageInfo.d.ts.map +1 -0
- package/dist/panels/components/PackageManagerIcon.d.ts +10 -0
- package/dist/panels/components/PackageManagerIcon.d.ts.map +1 -0
- package/dist/panels/components/PrChangesCardList.d.ts +38 -0
- package/dist/panels/components/PrChangesCardList.d.ts.map +1 -0
- package/dist/panels/components/PrChangesTree.d.ts +32 -0
- package/dist/panels/components/PrChangesTree.d.ts.map +1 -0
- package/dist/panels/components/ProjectHeader.d.ts +36 -0
- package/dist/panels/components/ProjectHeader.d.ts.map +1 -0
- package/dist/panels/components/ProjectInfoHeader.d.ts +47 -0
- package/dist/panels/components/ProjectInfoHeader.d.ts.map +1 -0
- package/dist/panels/components/ProjectInfoView.d.ts +17 -0
- package/dist/panels/components/ProjectInfoView.d.ts.map +1 -0
- package/dist/panels/components/QualityMetricsView.d.ts +22 -0
- package/dist/panels/components/QualityMetricsView.d.ts.map +1 -0
- package/dist/panels/components/ScopesCanvasView.d.ts +17 -0
- package/dist/panels/components/ScopesCanvasView.d.ts.map +1 -0
- package/dist/panels/components/SearchResultsView.d.ts +19 -0
- package/dist/panels/components/SearchResultsView.d.ts.map +1 -0
- package/dist/panels/components/StoryboardFilesCardList.d.ts +28 -0
- package/dist/panels/components/StoryboardFilesCardList.d.ts.map +1 -0
- package/dist/panels/components/StoryboardFilesTree.d.ts +26 -0
- package/dist/panels/components/StoryboardFilesTree.d.ts.map +1 -0
- package/dist/panels/components/StoryboardView.d.ts +38 -0
- package/dist/panels/components/StoryboardView.d.ts.map +1 -0
- package/dist/panels/index.d.ts +4 -0
- package/dist/panels/index.d.ts.map +1 -0
- package/dist/panels/stress-test-data.d.ts +40 -0
- package/dist/panels/stress-test-data.d.ts.map +1 -0
- package/dist/panels/utils/cityData.d.ts +5 -0
- package/dist/panels/utils/cityData.d.ts.map +1 -0
- package/dist/panels/utils/qualityLayers.d.ts +119 -0
- package/dist/panels/utils/qualityLayers.d.ts.map +1 -0
- package/dist/tools/index.d.ts +32 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools.bundle.js +103 -0
- package/dist/types/FileCityExplorerPanel.d.ts +132 -0
- package/dist/types/FileCityExplorerPanel.d.ts.map +1 -0
- package/dist/types/Scope.d.ts +94 -0
- package/dist/types/Scope.d.ts.map +1 -0
- package/dist/types/SequenceDiagram.d.ts +306 -0
- package/dist/types/SequenceDiagram.d.ts.map +1 -0
- package/dist/types/TextToSpeech.d.ts +118 -0
- package/dist/types/TextToSpeech.d.ts.map +1 -0
- package/dist/types/TourExtensions.d.ts +28 -0
- package/dist/types/TourExtensions.d.ts.map +1 -0
- package/dist/types/index.d.ts +204 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/utils/index.d.ts +3 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SequenceDiagramOverlay.d.ts","sourceRoot":"","sources":["../../../../src/panels/FileCityExplorerPanel/overlays/SequenceDiagramOverlay.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAExC,OAAO,8BAA8B,CAAC;AAEtC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAO7E,MAAM,WAAW,2BAA2B;IAC1C,OAAO,EAAE,sBAAsB,CAAC;IAChC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC7C,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,yDAAyD;IACzD,SAAS,EAAE,MAAM,CAAC;IAClB,uDAAuD;IACvD,cAAc,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CACvC;AAED,eAAO,MAAM,sBAAsB,EAAE,KAAK,CAAC,EAAE,CAAC,2BAA2B,CA0MxE,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { FileCitySequenceEventDef, SequenceNote, SequenceNoteDraft } from '../../../types/SequenceDiagram';
|
|
3
|
+
export interface SequenceEventDetailOverlayProps {
|
|
4
|
+
event: FileCitySequenceEventDef;
|
|
5
|
+
/** Absolute path to the source file (already resolved against the repo). */
|
|
6
|
+
absolutePath: string | null;
|
|
7
|
+
/** Bottom inset (number → px, string → CSS) so the panel sits above the sequence drawer. */
|
|
8
|
+
bottomOffset: number | string;
|
|
9
|
+
/** Stable id of the active payload — required to mutate notes. */
|
|
10
|
+
payloadId: string | undefined;
|
|
11
|
+
/** Notes attached to the active payload (overlay filters by event.id). */
|
|
12
|
+
payloadNotes: SequenceNote[] | undefined;
|
|
13
|
+
/** Host-supplied file reader, forwarded to PierreSnippetView. */
|
|
14
|
+
readFile: (path: string) => Promise<string>;
|
|
15
|
+
/** Host-supplied note actions. */
|
|
16
|
+
createSequenceNote: (payloadId: string, draft: SequenceNoteDraft) => Promise<SequenceNote | null>;
|
|
17
|
+
deleteSequenceNote: (payloadId: string, noteId: string) => Promise<void>;
|
|
18
|
+
onClose: () => void;
|
|
19
|
+
onOpenInTab?: () => void;
|
|
20
|
+
}
|
|
21
|
+
export declare const SequenceEventDetailOverlay: React.ForwardRefExoticComponent<SequenceEventDetailOverlayProps & React.RefAttributes<HTMLDivElement>>;
|
|
22
|
+
//# sourceMappingURL=SequenceEventDetailOverlay.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SequenceEventDetailOverlay.d.ts","sourceRoot":"","sources":["../../../../src/panels/FileCityExplorerPanel/overlays/SequenceEventDetailOverlay.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,KAAK,EACV,wBAAwB,EACxB,YAAY,EACZ,iBAAiB,EAClB,MAAM,gCAAgC,CAAC;AA6BxC,MAAM,WAAW,+BAA+B;IAC9C,KAAK,EAAE,wBAAwB,CAAC;IAChC,4EAA4E;IAC5E,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,4FAA4F;IAC5F,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9B,kEAAkE;IAClE,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,0EAA0E;IAC1E,YAAY,EAAE,YAAY,EAAE,GAAG,SAAS,CAAC;IACzC,iEAAiE;IACjE,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5C,kCAAkC;IAClC,kBAAkB,EAAE,CAClB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,iBAAiB,KACrB,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IAClC,kBAAkB,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACzE,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;CAC1B;AAWD,eAAO,MAAM,0BAA0B,wGA4brC,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export interface SequenceStep {
|
|
3
|
+
/** Stable id of the underlying sequence event. */
|
|
4
|
+
eventId: string;
|
|
5
|
+
/** 1-based index of the event in the sequence. */
|
|
6
|
+
stepIndex: number;
|
|
7
|
+
/** Display label for the event (label, falling back to name). */
|
|
8
|
+
eventLabel: string;
|
|
9
|
+
/** Path as it appears in the sequence payload (relative to the repo root). */
|
|
10
|
+
relativePath: string;
|
|
11
|
+
/** Resolved absolute path; null when it can't be resolved (no repo path). */
|
|
12
|
+
absolutePath: string | null;
|
|
13
|
+
/** Total notes anchored to this event (snippet + description-scoped markdown). */
|
|
14
|
+
noteCount: number;
|
|
15
|
+
}
|
|
16
|
+
export interface SequenceFilesOverlayProps {
|
|
17
|
+
steps: SequenceStep[];
|
|
18
|
+
/** Total event count, including events without a sourcePath. */
|
|
19
|
+
totalEvents: number;
|
|
20
|
+
/** Bottom inset (number → px, string → CSS) so the panel sits above the sequence drawer. */
|
|
21
|
+
bottomOffset: number | string;
|
|
22
|
+
/** Click on a step row → focuses that event in the sequence. */
|
|
23
|
+
onSelectStep: (step: SequenceStep) => void;
|
|
24
|
+
/** Open-in-tab button on a step row → opens the file without changing selection. */
|
|
25
|
+
onOpenFile: (step: SequenceStep) => void;
|
|
26
|
+
}
|
|
27
|
+
export declare const SequenceFilesOverlay: React.FC<SequenceFilesOverlayProps>;
|
|
28
|
+
//# sourceMappingURL=SequenceFilesOverlay.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SequenceFilesOverlay.d.ts","sourceRoot":"","sources":["../../../../src/panels/FileCityExplorerPanel/overlays/SequenceFilesOverlay.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,MAAM,WAAW,YAAY;IAC3B,kDAAkD;IAClD,OAAO,EAAE,MAAM,CAAC;IAChB,kDAAkD;IAClD,SAAS,EAAE,MAAM,CAAC;IAClB,iEAAiE;IACjE,UAAU,EAAE,MAAM,CAAC;IACnB,8EAA8E;IAC9E,YAAY,EAAE,MAAM,CAAC;IACrB,6EAA6E;IAC7E,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,kFAAkF;IAClF,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,gEAAgE;IAChE,WAAW,EAAE,MAAM,CAAC;IACpB,4FAA4F;IAC5F,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9B,gEAAgE;IAChE,YAAY,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAC;IAC3C,oFAAoF;IACpF,UAAU,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAC;CAC1C;AAWD,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,yBAAyB,CA8TpE,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import * as THREE from 'three';
|
|
3
|
+
import type { CityBuilding } from '@principal-ai/file-city-react';
|
|
4
|
+
/**
|
|
5
|
+
* Mirror of `OnCameraFrame` from `@principal-ai/file-city-react`'s internals;
|
|
6
|
+
* not re-exported from the package's public surface.
|
|
7
|
+
*/
|
|
8
|
+
export type OnCameraFrame = (camera: THREE.Camera, size: {
|
|
9
|
+
width: number;
|
|
10
|
+
height: number;
|
|
11
|
+
}) => void;
|
|
12
|
+
export interface SequenceLeaderLineHandle {
|
|
13
|
+
/** Pass this through to `<FileCityExplorer onCameraFrame={...}>`. */
|
|
14
|
+
onCameraFrame: OnCameraFrame;
|
|
15
|
+
}
|
|
16
|
+
export interface SequenceLeaderLineProps {
|
|
17
|
+
/** Container the SVG sits inside; used to convert client-rect coords to local. */
|
|
18
|
+
containerRef: React.RefObject<HTMLDivElement | null>;
|
|
19
|
+
/** Building the line points to. `null` hides the line. */
|
|
20
|
+
building: CityBuilding | null;
|
|
21
|
+
/**
|
|
22
|
+
* `FileCity3D` re-centers the city around the world origin, so building
|
|
23
|
+
* positions need this offset subtracted before projecting through the
|
|
24
|
+
* camera. Compute as `(bounds.minX + bounds.maxX) / 2` etc.
|
|
25
|
+
*/
|
|
26
|
+
cityCenter: {
|
|
27
|
+
x: number;
|
|
28
|
+
z: number;
|
|
29
|
+
} | null;
|
|
30
|
+
/** Element the line lands on (e.g. the detail overlay root). `null` hides the line. */
|
|
31
|
+
targetRef: React.RefObject<HTMLElement | null>;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Single leader-line from the selected sequence-diagram node to the
|
|
35
|
+
* matching building in the 3D city. SVG attrs are written imperatively
|
|
36
|
+
* inside `onCameraFrame` so we don't trigger React reconciliation 60×/sec.
|
|
37
|
+
*
|
|
38
|
+
* Mirrors the pattern from
|
|
39
|
+
* `web-ade/file-city/.../LeaderLineSnippetOverlay3D.stories.tsx`.
|
|
40
|
+
*/
|
|
41
|
+
export declare const SequenceLeaderLine: React.ForwardRefExoticComponent<SequenceLeaderLineProps & React.RefAttributes<SequenceLeaderLineHandle>>;
|
|
42
|
+
//# sourceMappingURL=SequenceLeaderLine.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SequenceLeaderLine.d.ts","sourceRoot":"","sources":["../../../../src/panels/FileCityExplorerPanel/overlays/SequenceLeaderLine.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAElE;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG,CAC1B,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,IAAI,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,KACpC,IAAI,CAAC;AAEV,MAAM,WAAW,wBAAwB;IACvC,qEAAqE;IACrE,aAAa,EAAE,aAAa,CAAC;CAC9B;AAED,MAAM,WAAW,uBAAuB;IACtC,kFAAkF;IAClF,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IACrD,0DAA0D;IAC1D,QAAQ,EAAE,YAAY,GAAG,IAAI,CAAC;IAC9B;;;;OAIG;IACH,UAAU,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC5C,uFAAuF;IACvF,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;CAChD;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,0GA0L7B,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { type Annotation } from 'themed-markdown';
|
|
3
|
+
export interface SequenceMarkdownOverlayProps {
|
|
4
|
+
/** Small caps label shown above the title (e.g. "Overview", "Change notes"). */
|
|
5
|
+
eyebrow: string;
|
|
6
|
+
/** Bold heading shown under the eyebrow. */
|
|
7
|
+
title: string;
|
|
8
|
+
/** Markdown body. The overlay short-circuits to `null` when this is empty. */
|
|
9
|
+
markdown: string;
|
|
10
|
+
/** Stable prefix used by `IndustryMarkdownSlide` for slide ids. */
|
|
11
|
+
slideIdPrefix: string;
|
|
12
|
+
/** Bottom inset (number → px, string → CSS) so the panel sits above the sequence drawer. */
|
|
13
|
+
bottomOffset: number | string;
|
|
14
|
+
/** Position of the current event in the sequence; renders an "n / total" pill. */
|
|
15
|
+
position?: {
|
|
16
|
+
index: number;
|
|
17
|
+
total: number;
|
|
18
|
+
};
|
|
19
|
+
/** Called when the user clicks the previous-event chevron. Omit to disable. */
|
|
20
|
+
onPrev?: () => void;
|
|
21
|
+
/** Called when the user clicks the next-event chevron. Omit to disable. */
|
|
22
|
+
onNext?: () => void;
|
|
23
|
+
/** Inline annotations to render on the markdown body (highlights + badges). */
|
|
24
|
+
annotations?: Annotation[];
|
|
25
|
+
/** id of the annotation whose notes panel is currently open. */
|
|
26
|
+
activeAnnotationId?: string | null;
|
|
27
|
+
/** Click on a highlight → toggle its notes panel. */
|
|
28
|
+
onAnnotationClick?: (annotationId: string) => void;
|
|
29
|
+
/** Click the floating "Add note" pill on a fresh selection. */
|
|
30
|
+
onCreateNoteForSelection?: (anchor: {
|
|
31
|
+
exact: string;
|
|
32
|
+
prefix?: string;
|
|
33
|
+
suffix?: string;
|
|
34
|
+
}) => void;
|
|
35
|
+
/**
|
|
36
|
+
* While a composer is in progress the floating pill is suppressed — the
|
|
37
|
+
* selection highlight is owned by a draft annotation in `annotations`.
|
|
38
|
+
*/
|
|
39
|
+
composerOpen?: boolean;
|
|
40
|
+
/** Forward a ref to the panel container so siblings can position relative to it. */
|
|
41
|
+
containerRef?: React.MutableRefObject<HTMLDivElement | null>;
|
|
42
|
+
}
|
|
43
|
+
export declare const SequenceMarkdownOverlay: React.FC<SequenceMarkdownOverlayProps>;
|
|
44
|
+
//# sourceMappingURL=SequenceMarkdownOverlay.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SequenceMarkdownOverlay.d.ts","sourceRoot":"","sources":["../../../../src/panels/FileCityExplorerPanel/overlays/SequenceMarkdownOverlay.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAEL,KAAK,UAAU,EAEhB,MAAM,iBAAiB,CAAC;AAIzB,MAAM,WAAW,4BAA4B;IAC3C,gFAAgF;IAChF,OAAO,EAAE,MAAM,CAAC;IAChB,4CAA4C;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd,8EAA8E;IAC9E,QAAQ,EAAE,MAAM,CAAC;IACjB,mEAAmE;IACnE,aAAa,EAAE,MAAM,CAAC;IACtB,4FAA4F;IAC5F,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9B,kFAAkF;IAClF,QAAQ,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5C,+EAA+E;IAC/E,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,2EAA2E;IAC3E,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IAEpB,+EAA+E;IAC/E,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;IAC3B,gEAAgE;IAChE,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,qDAAqD;IACrD,iBAAiB,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;IACnD,+DAA+D;IAC/D,wBAAwB,CAAC,EAAE,CAAC,MAAM,EAAE;QAClC,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,KAAK,IAAI,CAAC;IACX;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,oFAAoF;IACpF,YAAY,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;CAC9D;AAUD,eAAO,MAAM,uBAAuB,EAAE,KAAK,CAAC,EAAE,CAAC,4BAA4B,CAkY1E,CAAC"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export interface ComposerRange extends SnippetUiRange {
|
|
3
|
+
startLineText: string;
|
|
4
|
+
endLineText: string;
|
|
5
|
+
}
|
|
6
|
+
export type NotesSelection = {
|
|
7
|
+
kind: 'thread';
|
|
8
|
+
threadKey: string;
|
|
9
|
+
} | {
|
|
10
|
+
kind: 'composer';
|
|
11
|
+
ranges: ComposerRange[];
|
|
12
|
+
};
|
|
13
|
+
export interface SnippetUiRange {
|
|
14
|
+
startLine: number;
|
|
15
|
+
endLine: number;
|
|
16
|
+
}
|
|
17
|
+
export interface SnippetNote {
|
|
18
|
+
id: string;
|
|
19
|
+
/**
|
|
20
|
+
* Stable key identifying the thread this note belongs to. Notes with the
|
|
21
|
+
* same threadKey are rendered together; replies share the head's threadKey.
|
|
22
|
+
*/
|
|
23
|
+
threadKey: string;
|
|
24
|
+
/** Disjoint ranges this note is anchored to. Each gets its own indicator pill. */
|
|
25
|
+
ranges: SnippetUiRange[];
|
|
26
|
+
body: string;
|
|
27
|
+
author?: string;
|
|
28
|
+
createdAt: number;
|
|
29
|
+
}
|
|
30
|
+
export declare const computeThreadKey: (ranges: SnippetUiRange[]) => string;
|
|
31
|
+
export declare const formatRangeLabel: (range: SnippetUiRange) => string;
|
|
32
|
+
export declare const formatRangesLabel: (ranges: SnippetUiRange[]) => string;
|
|
33
|
+
interface IndicatorProps {
|
|
34
|
+
/** Notes belonging to this pill's thread (shared threadKey). */
|
|
35
|
+
notes: SnippetNote[];
|
|
36
|
+
/** Range this pill is anchored to (one note has one pill per range). */
|
|
37
|
+
range: SnippetUiRange;
|
|
38
|
+
active?: boolean;
|
|
39
|
+
/** While a composer is open we dim and disable existing pills. */
|
|
40
|
+
disabled?: boolean;
|
|
41
|
+
onClick: () => void;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Compact, inline pill rendered by Pierre under an annotated line. Signals
|
|
45
|
+
* "there's a note here" without showing the full thread — the actual UI
|
|
46
|
+
* lives in `<SnippetNotePanel>` to the side.
|
|
47
|
+
*/
|
|
48
|
+
export declare const SnippetNoteIndicator: React.FC<IndicatorProps>;
|
|
49
|
+
interface NotePanelProps {
|
|
50
|
+
/** Selection state — drives whether the panel renders thread or composer. */
|
|
51
|
+
selection: NotesSelection;
|
|
52
|
+
/** All notes for the snippet (panel filters by threadKey for thread mode). */
|
|
53
|
+
notes: SnippetNote[];
|
|
54
|
+
/** Position the panel relative to its absolutely-positioned ancestor. */
|
|
55
|
+
style: React.CSSProperties;
|
|
56
|
+
onClose: () => void;
|
|
57
|
+
/** Submit composer with the current ranges. */
|
|
58
|
+
onSubmitNote: (ranges: ComposerRange[], body: string) => void;
|
|
59
|
+
/** Reply to an existing thread; replies share the head's ranges. */
|
|
60
|
+
onReplyNote: (threadKey: string, body: string) => void;
|
|
61
|
+
onDeleteNote: (id: string) => void;
|
|
62
|
+
/** Remove one range chip from the composer. */
|
|
63
|
+
onRemoveComposerRange: (range: SnippetUiRange) => void;
|
|
64
|
+
}
|
|
65
|
+
export declare const SnippetNotePanel: React.FC<NotePanelProps>;
|
|
66
|
+
export {};
|
|
67
|
+
//# sourceMappingURL=SnippetNotes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SnippetNotes.d.ts","sourceRoot":"","sources":["../../../../src/panels/FileCityExplorerPanel/overlays/SnippetNotes.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,MAAM,WAAW,aAAc,SAAQ,cAAc;IACnD,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,MAAM,cAAc,GACtB;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GACrC;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,MAAM,EAAE,aAAa,EAAE,CAAA;CAAE,CAAC;AAElD,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX;;;OAGG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB,kFAAkF;IAClF,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,eAAO,MAAM,gBAAgB,GAAI,QAAQ,cAAc,EAAE,KAAG,MAK9C,CAAC;AAEf,eAAO,MAAM,gBAAgB,GAAI,OAAO,cAAc,KAAG,MAGR,CAAC;AAElD,eAAO,MAAM,iBAAiB,GAAI,QAAQ,cAAc,EAAE,KAAG,MAK5D,CAAC;AAmBF,UAAU,cAAc;IACtB,gEAAgE;IAChE,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,wEAAwE;IACxE,KAAK,EAAE,cAAc,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,kEAAkE;IAClE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAmEzD,CAAC;AAEF,UAAU,cAAc;IACtB,6EAA6E;IAC7E,SAAS,EAAE,cAAc,CAAC;IAC1B,8EAA8E;IAC9E,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,yEAAyE;IACzE,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC;IAC3B,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,+CAA+C;IAC/C,YAAY,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9D,oEAAoE;IACpE,WAAW,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACvD,YAAY,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,+CAA+C;IAC/C,qBAAqB,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;CACxD;AAED,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAgLrD,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
/** Activity data for a single day */
|
|
3
|
+
export interface ActivityDay {
|
|
4
|
+
date: string;
|
|
5
|
+
count: number;
|
|
6
|
+
}
|
|
7
|
+
interface ActivityHeatmapViewProps {
|
|
8
|
+
/** Activity data to display */
|
|
9
|
+
activityData: ActivityDay[];
|
|
10
|
+
/** Horizontal padding for the container */
|
|
11
|
+
horizontalPadding?: string;
|
|
12
|
+
/** Whether to show the section header (default: true) */
|
|
13
|
+
showHeader?: boolean;
|
|
14
|
+
/** Callback when a day is clicked */
|
|
15
|
+
onDayClick?: (date: string, count: number) => void;
|
|
16
|
+
/** Callback when a day is hovered */
|
|
17
|
+
onDayHover?: (date: string | null, count: number) => void;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* ActivityHeatmapView displays activity data as a calendar month heatmap.
|
|
21
|
+
* Shows the current month with color intensity based on activity count.
|
|
22
|
+
*/
|
|
23
|
+
export declare const ActivityHeatmapView: React.FC<ActivityHeatmapViewProps>;
|
|
24
|
+
export {};
|
|
25
|
+
//# sourceMappingURL=ActivityHeatmapView.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ActivityHeatmapView.d.ts","sourceRoot":"","sources":["../../../src/panels/components/ActivityHeatmapView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAIvC,qCAAqC;AACrC,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,UAAU,wBAAwB;IAChC,+BAA+B;IAC/B,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,2CAA2C;IAC3C,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,yDAAyD;IACzD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,qCAAqC;IACrC,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnD,qCAAqC;IACrC,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAC3D;AAoBD;;;GAGG;AACH,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CA0SlE,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export interface AgentActivityItem {
|
|
3
|
+
path: string;
|
|
4
|
+
type: 'file' | 'directory';
|
|
5
|
+
renderStrategy: 'fill' | 'border';
|
|
6
|
+
}
|
|
7
|
+
export interface AgentActivityLayer {
|
|
8
|
+
id: string;
|
|
9
|
+
name: string;
|
|
10
|
+
color: string;
|
|
11
|
+
enabled: boolean;
|
|
12
|
+
items: AgentActivityItem[];
|
|
13
|
+
timestamp?: number;
|
|
14
|
+
}
|
|
15
|
+
interface AgentActivityViewProps {
|
|
16
|
+
layers: AgentActivityLayer[];
|
|
17
|
+
onLayerClick?: (id: string) => void;
|
|
18
|
+
onClearAll?: () => void;
|
|
19
|
+
/** When false, hides the header and removes border/rounded corners for embedding in tabs */
|
|
20
|
+
showHeader?: boolean;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* A view for displaying agent activity with full-width rows
|
|
24
|
+
* and expanded information for each layer.
|
|
25
|
+
* Intended to be used within the legend area or a tabbed container.
|
|
26
|
+
*/
|
|
27
|
+
export declare const AgentActivityView: React.FC<AgentActivityViewProps>;
|
|
28
|
+
export {};
|
|
29
|
+
//# sourceMappingURL=AgentActivityView.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AgentActivityView.d.ts","sourceRoot":"","sources":["../../../src/panels/components/AgentActivityView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,cAAc,EAAE,MAAM,GAAG,QAAQ,CAAC;CACnC;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,iBAAiB,EAAE,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,UAAU,sBAAsB;IAC9B,MAAM,EAAE,kBAAkB,EAAE,CAAC;IAC7B,YAAY,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,4FAA4F;IAC5F,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CA2Z9D,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
interface BuildingCityLoaderProps {
|
|
3
|
+
gridSize?: number;
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* An animated loading state that shows a grid of squares that randomly appear
|
|
7
|
+
* with a shimmer effect, simulating buildings being constructed in a city.
|
|
8
|
+
*/
|
|
9
|
+
export declare const BuildingCityLoader: React.FC<BuildingCityLoaderProps>;
|
|
10
|
+
export {};
|
|
11
|
+
//# sourceMappingURL=BuildingCityLoader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BuildingCityLoader.d.ts","sourceRoot":"","sources":["../../../src/panels/components/BuildingCityLoader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,UAAU,uBAAuB;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAKD;;;GAGG;AACH,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAiQhE,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
/** Commit files data structure with categorized file paths */
|
|
3
|
+
export interface CommitFilesStatus {
|
|
4
|
+
added: string[];
|
|
5
|
+
modified: string[];
|
|
6
|
+
removed: string[];
|
|
7
|
+
renamed: string[];
|
|
8
|
+
}
|
|
9
|
+
/** Commit file status category for selection callbacks */
|
|
10
|
+
export type CommitChangeSelectionStatus = 'added' | 'modified' | 'removed' | 'renamed';
|
|
11
|
+
interface CommitChangesTreeProps {
|
|
12
|
+
/** Commit files data with categorized file paths */
|
|
13
|
+
commitFiles: CommitFilesStatus;
|
|
14
|
+
/** Root path for the repository (used for building file trees) */
|
|
15
|
+
rootPath?: string;
|
|
16
|
+
/** Horizontal padding for tree nodes */
|
|
17
|
+
horizontalPadding?: string;
|
|
18
|
+
/** Callback when a file is clicked */
|
|
19
|
+
onFileClick?: (filePath: string, status?: CommitChangeSelectionStatus) => void;
|
|
20
|
+
/** Callback when a node is hovered */
|
|
21
|
+
onNodeHover?: (nodePath: string | null, isFolder: boolean) => void;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* CommitChangesTree component that displays commit file changes in a file tree format.
|
|
25
|
+
* Uses GitStatusFileTree from @principal-ade/dynamic-file-tree for rendering.
|
|
26
|
+
*/
|
|
27
|
+
export declare const CommitChangesTree: React.FC<CommitChangesTreeProps>;
|
|
28
|
+
export {};
|
|
29
|
+
//# sourceMappingURL=CommitChangesTree.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CommitChangesTree.d.ts","sourceRoot":"","sources":["../../../src/panels/components/CommitChangesTree.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+B,MAAM,OAAO,CAAC;AAKpD,8DAA8D;AAC9D,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,0DAA0D;AAC1D,MAAM,MAAM,2BAA2B,GAAG,OAAO,GAAG,UAAU,GAAG,SAAS,GAAG,SAAS,CAAC;AAEvF,UAAU,sBAAsB;IAC9B,oDAAoD;IACpD,WAAW,EAAE,iBAAiB,CAAC;IAC/B,kEAAkE;IAClE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,wCAAwC;IACxC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,sCAAsC;IACtC,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,2BAA2B,KAAK,IAAI,CAAC;IAC/E,sCAAsC;IACtC,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,EAAE,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;CACpE;AAED;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CAoI9D,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export interface CoverOptions {
|
|
3
|
+
opacity?: number;
|
|
4
|
+
image?: string;
|
|
5
|
+
text?: string;
|
|
6
|
+
textSize?: number;
|
|
7
|
+
backgroundColor?: string;
|
|
8
|
+
borderRadius?: number;
|
|
9
|
+
icon?: string;
|
|
10
|
+
iconSize?: number;
|
|
11
|
+
lucideIcon?: string;
|
|
12
|
+
}
|
|
13
|
+
interface CoverEditorProps {
|
|
14
|
+
directoryPath: string;
|
|
15
|
+
initialCoverOptions?: CoverOptions;
|
|
16
|
+
onChange?: (coverOptions: CoverOptions) => void;
|
|
17
|
+
onSave: (directoryPath: string, coverOptions: CoverOptions) => void;
|
|
18
|
+
onCancel: () => void;
|
|
19
|
+
}
|
|
20
|
+
export declare const CoverEditor: React.FC<CoverEditorProps>;
|
|
21
|
+
export {};
|
|
22
|
+
//# sourceMappingURL=CoverEditor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CoverEditor.d.ts","sourceRoot":"","sources":["../../../src/panels/components/CoverEditor.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2C,MAAM,OAAO,CAAC;AAehE,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,gBAAgB;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,mBAAmB,CAAC,EAAE,YAAY,CAAC;IACnC,QAAQ,CAAC,EAAE,CAAC,YAAY,EAAE,YAAY,KAAK,IAAI,CAAC;IAChD,MAAM,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,KAAK,IAAI,CAAC;IACpE,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB;AAwBD,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAqhBlD,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
interface EmptyStateProps {
|
|
3
|
+
padding?: string;
|
|
4
|
+
showTips?: boolean;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Shared empty state component for legend areas.
|
|
8
|
+
* Shows rotating tips about file types.
|
|
9
|
+
*/
|
|
10
|
+
export declare const EmptyState: React.FC<EmptyStateProps>;
|
|
11
|
+
export {};
|
|
12
|
+
//# sourceMappingURL=EmptyState.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EmptyState.d.ts","sourceRoot":"","sources":["../../../src/panels/components/EmptyState.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,UAAU,eAAe;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;GAGG;AACH,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAmBhD,CAAC"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
/** Package manager type */
|
|
3
|
+
type PackageManager = 'npm' | 'yarn' | 'pnpm' | 'bun' | 'pip' | 'poetry' | 'pipenv' | 'cargo' | 'unknown';
|
|
4
|
+
/**
|
|
5
|
+
* GitHub repository information from the API
|
|
6
|
+
*/
|
|
7
|
+
export interface GitHubRepoInfo {
|
|
8
|
+
/** Repository owner (user or organization) */
|
|
9
|
+
owner: string;
|
|
10
|
+
/** Repository name */
|
|
11
|
+
name: string;
|
|
12
|
+
/** Full name (owner/name) */
|
|
13
|
+
fullName: string;
|
|
14
|
+
/** Repository description */
|
|
15
|
+
description?: string;
|
|
16
|
+
/** Repository URL */
|
|
17
|
+
htmlUrl: string;
|
|
18
|
+
/** Star count */
|
|
19
|
+
stars: number;
|
|
20
|
+
/** Fork count */
|
|
21
|
+
forks: number;
|
|
22
|
+
/** Watcher count */
|
|
23
|
+
watchers?: number;
|
|
24
|
+
/** Open issues count */
|
|
25
|
+
openIssues?: number;
|
|
26
|
+
/** Primary language */
|
|
27
|
+
language?: string;
|
|
28
|
+
/** Topics/tags */
|
|
29
|
+
topics?: string[];
|
|
30
|
+
/** Last updated timestamp */
|
|
31
|
+
updatedAt?: string;
|
|
32
|
+
/** Whether the owner is an organization */
|
|
33
|
+
isOrganization?: boolean;
|
|
34
|
+
/** Owner avatar URL */
|
|
35
|
+
avatarUrl?: string;
|
|
36
|
+
/** License from GitHub */
|
|
37
|
+
license?: string;
|
|
38
|
+
/** Default branch */
|
|
39
|
+
defaultBranch?: string;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Root package information from package.json
|
|
43
|
+
*/
|
|
44
|
+
export interface RootPackageInfo {
|
|
45
|
+
/** Package name */
|
|
46
|
+
name?: string;
|
|
47
|
+
/** Version string */
|
|
48
|
+
version?: string;
|
|
49
|
+
/** License identifier */
|
|
50
|
+
license?: string;
|
|
51
|
+
/** Package manager used */
|
|
52
|
+
packageManager?: PackageManager;
|
|
53
|
+
/** Number of production dependencies */
|
|
54
|
+
dependencyCount?: number;
|
|
55
|
+
/** Number of dev dependencies */
|
|
56
|
+
devDependencyCount?: number;
|
|
57
|
+
/** Whether this is a monorepo */
|
|
58
|
+
isMonorepo?: boolean;
|
|
59
|
+
/** Number of packages in monorepo */
|
|
60
|
+
packageCount?: number;
|
|
61
|
+
}
|
|
62
|
+
interface FeedProjectHeaderProps {
|
|
63
|
+
/** GitHub repository information */
|
|
64
|
+
repo: GitHubRepoInfo;
|
|
65
|
+
/** Root package information (optional) */
|
|
66
|
+
rootPackage?: RootPackageInfo;
|
|
67
|
+
/** Callback when the "Open" button is clicked */
|
|
68
|
+
onOpen?: () => void;
|
|
69
|
+
/** Whether to show in compact mode */
|
|
70
|
+
compact?: boolean;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* FeedProjectHeaderSkeleton - Shimmer loading state for FeedProjectHeader
|
|
74
|
+
*/
|
|
75
|
+
export declare const FeedProjectHeaderSkeleton: React.FC<{
|
|
76
|
+
compact?: boolean;
|
|
77
|
+
}>;
|
|
78
|
+
/**
|
|
79
|
+
* FeedProjectHeader - Displays GitHub repo info for feed view
|
|
80
|
+
*
|
|
81
|
+
* Shows repository metadata (stars, forks, description, license).
|
|
82
|
+
* Designed for feed entry project preview.
|
|
83
|
+
*/
|
|
84
|
+
export declare const FeedProjectHeader: React.FC<FeedProjectHeaderProps>;
|
|
85
|
+
export default FeedProjectHeader;
|
|
86
|
+
//# sourceMappingURL=FeedProjectHeader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FeedProjectHeader.d.ts","sourceRoot":"","sources":["../../../src/panels/components/FeedProjectHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAa1B,2BAA2B;AAC3B,KAAK,cAAc,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;AAE1G;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,8CAA8C;IAC9C,KAAK,EAAE,MAAM,CAAC;IACd,sBAAsB;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,6BAA6B;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,6BAA6B;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qBAAqB;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,iBAAiB;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,oBAAoB;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,wBAAwB;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,uBAAuB;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kBAAkB;IAClB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2CAA2C;IAC3C,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,uBAAuB;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0BAA0B;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qBAAqB;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,mBAAmB;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,qBAAqB;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yBAAyB;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2BAA2B;IAC3B,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,wCAAwC;IACxC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iCAAiC;IACjC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,iCAAiC;IACjC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,qCAAqC;IACrC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,UAAU,sBAAsB;IAC9B,oCAAoC;IACpC,IAAI,EAAE,cAAc,CAAC;IACrB,0CAA0C;IAC1C,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B,iDAAiD;IACjD,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,sCAAsC;IACtC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAqDD;;GAEG;AACH,eAAO,MAAM,yBAAyB,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAkDrE,CAAC;AAaF;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CA4P9D,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export interface FileCardItem {
|
|
3
|
+
/** Full file path */
|
|
4
|
+
path: string;
|
|
5
|
+
/** Optional color for the file name (overrides extension color) */
|
|
6
|
+
color?: string;
|
|
7
|
+
/** Optional color for the icon only (e.g., git status color) */
|
|
8
|
+
iconColor?: string;
|
|
9
|
+
/** Optional badge text to show (e.g., 'M', 'A', 'D') */
|
|
10
|
+
badge?: string;
|
|
11
|
+
/** Optional badge color */
|
|
12
|
+
badgeColor?: string;
|
|
13
|
+
}
|
|
14
|
+
interface FileCardListProps {
|
|
15
|
+
/** List of files to display */
|
|
16
|
+
files: FileCardItem[];
|
|
17
|
+
/** Callback when a file card is clicked */
|
|
18
|
+
onFileClick?: (filePath: string) => void;
|
|
19
|
+
/** Callback when a file card is hovered */
|
|
20
|
+
onFileHover?: (filePath: string | null) => void;
|
|
21
|
+
/** Callback when stage button is clicked (only shows for unstaged files) */
|
|
22
|
+
onStageFile?: (filePath: string) => void;
|
|
23
|
+
/** Callback when unstage button is clicked (only shows for staged files) */
|
|
24
|
+
onUnstageFile?: (filePath: string) => void;
|
|
25
|
+
/** File status map for determining if file can be staged/unstaged */
|
|
26
|
+
fileStatusMap?: Map<string, string>;
|
|
27
|
+
/** Empty state message */
|
|
28
|
+
emptyMessage?: string;
|
|
29
|
+
/** Horizontal padding for cards */
|
|
30
|
+
horizontalPadding?: string;
|
|
31
|
+
/** Whether to show file icons. Default true. */
|
|
32
|
+
showIcons?: boolean;
|
|
33
|
+
/** Currently selected file path (shows selection styling and Open button) */
|
|
34
|
+
selectedFile?: string | null;
|
|
35
|
+
/** Callback when Open button is clicked on selected file */
|
|
36
|
+
onOpenFile?: (filePath: string) => void;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* FileCardList displays files as a flat list of cards.
|
|
40
|
+
* Each card shows the filename prominently with the directory path below it.
|
|
41
|
+
*/
|
|
42
|
+
export declare const FileCardList: React.FC<FileCardListProps>;
|
|
43
|
+
export {};
|
|
44
|
+
//# sourceMappingURL=FileCardList.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FileCardList.d.ts","sourceRoot":"","sources":["../../../src/panels/components/FileCardList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+B,MAAM,OAAO,CAAC;AAQpD,MAAM,WAAW,YAAY;IAC3B,qBAAqB;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,mEAAmE;IACnE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gEAAgE;IAChE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wDAAwD;IACxD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2BAA2B;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,iBAAiB;IACzB,+BAA+B;IAC/B,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,2CAA2C;IAC3C,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,2CAA2C;IAC3C,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAChD,4EAA4E;IAC5E,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,4EAA4E;IAC5E,aAAa,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,qEAAqE;IACrE,aAAa,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,0BAA0B;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mCAAmC;IACnC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gDAAgD;IAChD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,6EAA6E;IAC7E,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,4DAA4D;IAC5D,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;CACzC;AAED;;;GAGG;AACH,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAkbpD,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* FileCityTips displays rotating tips about different file types,
|
|
4
|
+
* showing the visual file representation alongside helpful information.
|
|
5
|
+
*/
|
|
6
|
+
export declare const FileCityTips: React.FC;
|
|
7
|
+
//# sourceMappingURL=FileCityTips.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FileCityTips.d.ts","sourceRoot":"","sources":["../../../src/panels/components/FileCityTips.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAuB1B;;;GAGG;AACH,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EA4EhC,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { LegendFileType, LegendPackageData } from './Legend';
|
|
3
|
+
interface FileTypesViewProps {
|
|
4
|
+
/** File types to display */
|
|
5
|
+
fileTypes: LegendFileType[];
|
|
6
|
+
/** Root package data to display */
|
|
7
|
+
packageData?: LegendPackageData | null;
|
|
8
|
+
/** Number of workspace packages (excluding root, for monorepos) */
|
|
9
|
+
workspacePackageCount?: number;
|
|
10
|
+
/** Callback when a file type is clicked */
|
|
11
|
+
onItemClick?: (id: string) => void;
|
|
12
|
+
/** Horizontal padding for cards */
|
|
13
|
+
horizontalPadding?: string;
|
|
14
|
+
/** Whether to show section headers (default: true) */
|
|
15
|
+
showHeader?: boolean;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* FileTypesView displays file types legend and package information.
|
|
19
|
+
* Includes a toggle to switch between package and file types view when both are available.
|
|
20
|
+
*/
|
|
21
|
+
export declare const FileTypesView: React.FC<FileTypesViewProps>;
|
|
22
|
+
export {};
|
|
23
|
+
//# sourceMappingURL=FileTypesView.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FileTypesView.d.ts","sourceRoot":"","sources":["../../../src/panels/components/FileTypesView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAIxC,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAElE,UAAU,kBAAkB;IAC1B,4BAA4B;IAC5B,SAAS,EAAE,cAAc,EAAE,CAAC;IAC5B,mCAAmC;IACnC,WAAW,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACvC,mEAAmE;IACnE,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,2CAA2C;IAC3C,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,mCAAmC;IACnC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,sDAAsD;IACtD,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAyMtD,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { GitStatusWithFiles } from '@principal-ai/repository-abstraction';
|
|
3
|
+
import type { PanelActions } from '../../types';
|
|
4
|
+
/** Git status category for selection callbacks */
|
|
5
|
+
export type GitChangeSelectionStatus = 'staged' | 'unstaged' | 'untracked' | 'deleted';
|
|
6
|
+
/** View mode for git changes */
|
|
7
|
+
export type GitChangesViewMode = 'unstaged' | 'staged';
|
|
8
|
+
interface GitChangesCardListProps {
|
|
9
|
+
/** Git status data with categorized file paths */
|
|
10
|
+
gitStatus: GitStatusWithFiles;
|
|
11
|
+
/** View mode - determines which files to show */
|
|
12
|
+
viewMode: GitChangesViewMode;
|
|
13
|
+
/** Horizontal padding for cards */
|
|
14
|
+
horizontalPadding?: string;
|
|
15
|
+
/** Callback when a file is clicked */
|
|
16
|
+
onFileClick?: (filePath: string, status?: GitChangeSelectionStatus) => void;
|
|
17
|
+
/** Callback when a file is hovered */
|
|
18
|
+
onFileHover?: (filePath: string | null) => void;
|
|
19
|
+
/** Panel actions for git operations */
|
|
20
|
+
actions?: PanelActions;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* GitChangesCardList displays git changes as a flat list of file cards.
|
|
24
|
+
* Each card shows the filename with a colored status badge (A, M, D, ??).
|
|
25
|
+
* Includes a toggle to switch between staged and unstaged views.
|
|
26
|
+
*/
|
|
27
|
+
export declare const GitChangesCardList: React.FC<GitChangesCardListProps>;
|
|
28
|
+
export {};
|
|
29
|
+
//# sourceMappingURL=GitChangesCardList.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GitChangesCardList.d.ts","sourceRoot":"","sources":["../../../src/panels/components/GitChangesCardList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+B,MAAM,OAAO,CAAC;AAGpD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAC/E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,kDAAkD;AAClD,MAAM,MAAM,wBAAwB,GAAG,QAAQ,GAAG,UAAU,GAAG,WAAW,GAAG,SAAS,CAAC;AAEvF,gCAAgC;AAChC,MAAM,MAAM,kBAAkB,GAAG,UAAU,GAAG,QAAQ,CAAC;AAkBvD,UAAU,uBAAuB;IAC/B,kDAAkD;IAClD,SAAS,EAAE,kBAAkB,CAAC;IAC9B,iDAAiD;IACjD,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,mCAAmC;IACnC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,sCAAsC;IACtC,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,wBAAwB,KAAK,IAAI,CAAC;IAC5E,sCAAsC;IACtC,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAChD,uCAAuC;IACvC,OAAO,CAAC,EAAE,YAAY,CAAC;CACxB;AAED;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAqGhE,CAAC"}
|