@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,40 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export interface ContextContainerProps {
|
|
3
|
+
/** Position of the context area - affects border styling */
|
|
4
|
+
position?: 'top' | 'left' | 'right' | 'bottom';
|
|
5
|
+
/** Content to render inside the container */
|
|
6
|
+
children: React.ReactNode;
|
|
7
|
+
/** Optional additional styles to merge with container styles */
|
|
8
|
+
style?: React.CSSProperties;
|
|
9
|
+
/** Optional className for the container */
|
|
10
|
+
className?: string;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* ContextContainer - Standard container for components in the Context Panel area
|
|
14
|
+
*
|
|
15
|
+
* Provides the critical flex layout properties needed for components to work correctly
|
|
16
|
+
* in the CodeCityPanel's Context Panel area. Handles position-aware border styling.
|
|
17
|
+
*
|
|
18
|
+
* ## Critical Properties
|
|
19
|
+
* - `flex: 1` - Fills all available space in the flex container
|
|
20
|
+
* - `minWidth: 0` - Allows the flex item to shrink below content's natural width
|
|
21
|
+
* - `minHeight: 0` - Allows the flex item to shrink below content's natural height
|
|
22
|
+
* - `overflow: 'hidden'` - Prevents content overflow and layout breaking
|
|
23
|
+
*
|
|
24
|
+
* ## Position-Aware Borders
|
|
25
|
+
* - `position="top"` - Adds bottom border
|
|
26
|
+
* - `position="bottom"` - Adds top border
|
|
27
|
+
* - `position="right"` - Adds left border
|
|
28
|
+
* - `position="left"` - Adds right border
|
|
29
|
+
*
|
|
30
|
+
* ## Usage
|
|
31
|
+
* ```tsx
|
|
32
|
+
* <ContextContainer position="right">
|
|
33
|
+
* <div style={{ flex: 1, minHeight: 0, overflow: 'auto' }}>
|
|
34
|
+
* Your scrollable content
|
|
35
|
+
* </div>
|
|
36
|
+
* </ContextContainer>
|
|
37
|
+
* ```
|
|
38
|
+
*/
|
|
39
|
+
export declare const ContextContainer: React.FC<ContextContainerProps>;
|
|
40
|
+
//# sourceMappingURL=ContextContainer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContextContainer.d.ts","sourceRoot":"","sources":["../../src/components/ContextContainer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,MAAM,WAAW,qBAAqB;IACpC,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;IAC/C,6CAA6C;IAC7C,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,gEAAgE;IAChE,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,2CAA2C;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAmC5D,CAAC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { IntroductionTour, IntroductionTourStep } from '@principal-ai/file-city-builder';
|
|
3
|
+
import type { TourAudioContext } from '../types/TextToSpeech';
|
|
4
|
+
import type { PanelActions, ImageResolutionContext } from '../types';
|
|
5
|
+
export interface TourPlayerProps {
|
|
6
|
+
/** The introduction tour to play */
|
|
7
|
+
tour: IntroductionTour;
|
|
8
|
+
/** Current step index (controlled mode) */
|
|
9
|
+
currentStepIndex?: number;
|
|
10
|
+
/** Callback when step changes */
|
|
11
|
+
onStepChange?: (stepIndex: number, step: IntroductionTourStep) => void;
|
|
12
|
+
/** Callback when tour exits */
|
|
13
|
+
onExit?: () => void;
|
|
14
|
+
/** Callback when an interactive action is triggered */
|
|
15
|
+
onInteractiveAction?: (action: {
|
|
16
|
+
type: string;
|
|
17
|
+
target?: string;
|
|
18
|
+
}) => void;
|
|
19
|
+
/** Callback when cover image should be displayed (undefined to hide) */
|
|
20
|
+
onCoverImageChange?: (imageUrl: string | undefined) => void;
|
|
21
|
+
/** Whether the tour player is visible */
|
|
22
|
+
visible?: boolean;
|
|
23
|
+
/** Position of the player UI - 'top'/'left'/'right'/'bottom' for Context Panel flex layout, or 'overlay' for absolute positioning */
|
|
24
|
+
position?: 'top' | 'bottom' | 'overlay' | 'left' | 'right';
|
|
25
|
+
/** Skip welcome screen and start playing immediately */
|
|
26
|
+
skipWelcome?: boolean;
|
|
27
|
+
/** Context for fetching tour audio (owner, repo, path, commitSha). Used with actions.fetchAudioUrls. */
|
|
28
|
+
tourAudioContext?: TourAudioContext;
|
|
29
|
+
/** Panel actions (provided by host). Used to fetch audio URLs via actions.fetchAudioUrls. */
|
|
30
|
+
actions?: PanelActions;
|
|
31
|
+
/** Auto-play audio when step changes (default: false) */
|
|
32
|
+
autoPlayAudio?: boolean;
|
|
33
|
+
/** Auto-advance to next step when audio ends (default: false) */
|
|
34
|
+
autoAdvanceOnAudioEnd?: boolean;
|
|
35
|
+
/** Delay in ms before auto-advancing after audio ends (default: 1000) */
|
|
36
|
+
autoAdvanceDelay?: number;
|
|
37
|
+
/** Start in auto-play mode immediately (default: false) */
|
|
38
|
+
startInAutoPlayMode?: boolean;
|
|
39
|
+
/** Repository context for resolving relative cover image paths. Required if tour has coverImage fields. */
|
|
40
|
+
imageContext?: ImageResolutionContext;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* TourPlayer - Interactive guided tour player for introduction tours
|
|
44
|
+
*
|
|
45
|
+
* Displays tour steps, navigation controls, progress tracking, and
|
|
46
|
+
* triggers events for focus/highlight changes in the File City visualization.
|
|
47
|
+
*/
|
|
48
|
+
export declare const TourPlayer: React.FC<TourPlayerProps>;
|
|
49
|
+
//# sourceMappingURL=TourPlayer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TourPlayer.d.ts","sourceRoot":"","sources":["../../src/components/TourPlayer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmD,MAAM,OAAO,CAAC;AAexE,OAAO,KAAK,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAC9F,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAKrE,MAAM,WAAW,eAAe;IAC9B,oCAAoC;IACpC,IAAI,EAAE,gBAAgB,CAAC;IAEvB,2CAA2C;IAC3C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,iCAAiC;IACjC,YAAY,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,oBAAoB,KAAK,IAAI,CAAC;IAEvE,+BAA+B;IAC/B,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IAEpB,uDAAuD;IACvD,mBAAmB,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IAE1E,wEAAwE;IACxE,kBAAkB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;IAE5D,yCAAyC;IACzC,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,qIAAqI;IACrI,QAAQ,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,CAAC;IAE3D,wDAAwD;IACxD,WAAW,CAAC,EAAE,OAAO,CAAC;IAGtB,wGAAwG;IACxG,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IAEpC,6FAA6F;IAC7F,OAAO,CAAC,EAAE,YAAY,CAAC;IAEvB,yDAAyD;IACzD,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB,iEAAiE;IACjE,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAEhC,yEAAyE;IACzE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,2DAA2D;IAC3D,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAG9B,2GAA2G;IAC3G,YAAY,CAAC,EAAE,sBAAsB,CAAC;CACvC;AAED;;;;;GAKG;AACH,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAiiChD,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { PanelEventBus } from '@principal-ade/panel-framework-core';
|
|
3
|
+
import type { IntroductionTour } from '@principal-ai/file-city-builder';
|
|
4
|
+
import type { ImageResolutionContext } from '../types';
|
|
5
|
+
export interface TourPlayerIntegrationProps {
|
|
6
|
+
/** The introduction tour */
|
|
7
|
+
tour: IntroductionTour;
|
|
8
|
+
/** Panel event bus for emitting focus/highlight events */
|
|
9
|
+
events: PanelEventBus;
|
|
10
|
+
/** Whether the tour player is visible */
|
|
11
|
+
visible: boolean;
|
|
12
|
+
/** Callback when tour exits */
|
|
13
|
+
onExit: () => void;
|
|
14
|
+
/** Position of the player UI - 'top'/'left'/'right'/'bottom' for Context Panel layout, or 'overlay' for absolute positioning */
|
|
15
|
+
position?: 'top' | 'bottom' | 'overlay' | 'left' | 'right';
|
|
16
|
+
/** Repository context for resolving cover image URLs. Required if tour has coverImage fields. */
|
|
17
|
+
imageContext?: ImageResolutionContext;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* TourPlayerIntegration - Connects TourPlayer to File City Panel events
|
|
21
|
+
*
|
|
22
|
+
* This component handles the translation of tour steps into File City
|
|
23
|
+
* panel events for focus, highlights, and color mode changes.
|
|
24
|
+
*/
|
|
25
|
+
export declare const TourPlayerIntegration: React.FC<TourPlayerIntegrationProps>;
|
|
26
|
+
//# sourceMappingURL=TourPlayerIntegration.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TourPlayerIntegration.d.ts","sourceRoot":"","sources":["../../src/components/TourPlayerIntegration.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAiC,MAAM,OAAO,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,KAAK,EAAE,gBAAgB,EAA8C,MAAM,iCAAiC,CAAC;AACpH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAGvD,MAAM,WAAW,0BAA0B;IACzC,4BAA4B;IAC5B,IAAI,EAAE,gBAAgB,CAAC;IAEvB,0DAA0D;IAC1D,MAAM,EAAE,aAAa,CAAC;IAEtB,yCAAyC;IACzC,OAAO,EAAE,OAAO,CAAC;IAEjB,+BAA+B;IAC/B,MAAM,EAAE,MAAM,IAAI,CAAC;IAEnB,gIAAgI;IAChI,QAAQ,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,CAAC;IAE3D,iGAAiG;IACjG,YAAY,CAAC,EAAE,sBAAsB,CAAC;CACvC;AAED;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,0BAA0B,CA4MtE,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export { ContextContainer } from './ContextContainer';
|
|
2
|
+
export type { ContextContainerProps } from './ContextContainer';
|
|
3
|
+
export { TourPlayer } from './TourPlayer';
|
|
4
|
+
export type { TourPlayerProps } from './TourPlayer';
|
|
5
|
+
export { TourPlayerIntegration } from './TourPlayerIntegration';
|
|
6
|
+
export type { TourPlayerIntegrationProps } from './TourPlayerIntegration';
|
|
7
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,YAAY,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAGhE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,YAAY,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EACV,eAAe,EACf,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { FileInfo } from '@principal-ai/repository-abstraction';
|
|
2
|
+
interface UseFuzzyFileSearchOptions {
|
|
3
|
+
files: FileInfo[];
|
|
4
|
+
query: string;
|
|
5
|
+
threshold?: number;
|
|
6
|
+
maxResults?: number;
|
|
7
|
+
debounceMs?: number;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Hook for fuzzy file search using Fuse.js
|
|
11
|
+
*
|
|
12
|
+
* Provides debounced fuzzy search over file paths and names.
|
|
13
|
+
* Supports abbreviations like 'btntsx' matching 'Button.tsx'.
|
|
14
|
+
*
|
|
15
|
+
* @param files - Array of FileInfo objects to search
|
|
16
|
+
* @param query - Search query string
|
|
17
|
+
* @param threshold - Match sensitivity (0.0-1.0, default 0.4)
|
|
18
|
+
* @param maxResults - Maximum number of results (default 100)
|
|
19
|
+
* @param debounceMs - Input debounce delay in ms (default 150)
|
|
20
|
+
* @returns Array of matching file paths
|
|
21
|
+
*/
|
|
22
|
+
export declare function useFuzzyFileSearch({ files, query, threshold, maxResults, debounceMs, }: UseFuzzyFileSearchOptions): string[];
|
|
23
|
+
export {};
|
|
24
|
+
//# sourceMappingURL=useFuzzyFileSearch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFuzzyFileSearch.d.ts","sourceRoot":"","sources":["../../src/hooks/useFuzzyFileSearch.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sCAAsC,CAAC;AAErE,UAAU,yBAAyB;IACjC,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,KAAK,EACL,KAAK,EACL,SAAe,EACf,UAAgB,EAChB,UAAgB,GACjB,EAAE,yBAAyB,GAAG,MAAM,EAAE,CAgCtC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import type { IntroductionTour, IntroductionTourStep } from '@principal-ai/file-city-builder';
|
|
2
|
+
export interface TourPlayerState {
|
|
3
|
+
/** Current step index */
|
|
4
|
+
currentStepIndex: number;
|
|
5
|
+
/** Current step */
|
|
6
|
+
currentStep: IntroductionTourStep | null;
|
|
7
|
+
/** Whether story is active */
|
|
8
|
+
isActive: boolean;
|
|
9
|
+
/** Whether story is playing */
|
|
10
|
+
isPlaying: boolean;
|
|
11
|
+
/** Set of completed step IDs */
|
|
12
|
+
completedSteps: Set<string>;
|
|
13
|
+
/** Progress percentage */
|
|
14
|
+
progress: number;
|
|
15
|
+
}
|
|
16
|
+
export interface TourPlayerActions {
|
|
17
|
+
/** Start the story from beginning */
|
|
18
|
+
start: () => void;
|
|
19
|
+
/** Stop the story */
|
|
20
|
+
stop: () => void;
|
|
21
|
+
/** Pause the story */
|
|
22
|
+
pause: () => void;
|
|
23
|
+
/** Resume the story */
|
|
24
|
+
resume: () => void;
|
|
25
|
+
/** Go to next step */
|
|
26
|
+
nextStep: () => void;
|
|
27
|
+
/** Go to previous step */
|
|
28
|
+
previousStep: () => void;
|
|
29
|
+
/** Go to specific step by index */
|
|
30
|
+
goToStep: (index: number) => void;
|
|
31
|
+
/** Mark current step as completed */
|
|
32
|
+
completeStep: () => void;
|
|
33
|
+
/** Reset story to beginning */
|
|
34
|
+
reset: () => void;
|
|
35
|
+
}
|
|
36
|
+
export interface UseTourPlayerOptions {
|
|
37
|
+
/** The story to play */
|
|
38
|
+
story: IntroductionTour;
|
|
39
|
+
/** Callback when step changes */
|
|
40
|
+
onStepChange?: (step: IntroductionTourStep, index: number) => void;
|
|
41
|
+
/** Callback when story completes */
|
|
42
|
+
onComplete?: () => void;
|
|
43
|
+
/** Callback when story exits */
|
|
44
|
+
onExit?: () => void;
|
|
45
|
+
/** Auto-start the story */
|
|
46
|
+
autoStart?: boolean;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Hook for managing introduction story state and playback
|
|
50
|
+
*
|
|
51
|
+
* Provides state and actions for controlling story navigation,
|
|
52
|
+
* tracking progress, and handling step transitions.
|
|
53
|
+
*/
|
|
54
|
+
export declare function useTourPlayer(options: UseTourPlayerOptions): [TourPlayerState, TourPlayerActions];
|
|
55
|
+
//# sourceMappingURL=useTourPlayer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useTourPlayer.d.ts","sourceRoot":"","sources":["../../src/hooks/useTourPlayer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAE9F,MAAM,WAAW,eAAe;IAC9B,yBAAyB;IACzB,gBAAgB,EAAE,MAAM,CAAC;IAEzB,mBAAmB;IACnB,WAAW,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAEzC,8BAA8B;IAC9B,QAAQ,EAAE,OAAO,CAAC;IAElB,+BAA+B;IAC/B,SAAS,EAAE,OAAO,CAAC;IAEnB,gCAAgC;IAChC,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAE5B,0BAA0B;IAC1B,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,qCAAqC;IACrC,KAAK,EAAE,MAAM,IAAI,CAAC;IAElB,qBAAqB;IACrB,IAAI,EAAE,MAAM,IAAI,CAAC;IAEjB,sBAAsB;IACtB,KAAK,EAAE,MAAM,IAAI,CAAC;IAElB,uBAAuB;IACvB,MAAM,EAAE,MAAM,IAAI,CAAC;IAEnB,sBAAsB;IACtB,QAAQ,EAAE,MAAM,IAAI,CAAC;IAErB,0BAA0B;IAC1B,YAAY,EAAE,MAAM,IAAI,CAAC;IAEzB,mCAAmC;IACnC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAElC,qCAAqC;IACrC,YAAY,EAAE,MAAM,IAAI,CAAC;IAEzB,+BAA+B;IAC/B,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAED,MAAM,WAAW,oBAAoB;IACnC,wBAAwB;IACxB,KAAK,EAAE,gBAAgB,CAAC;IAExB,iCAAiC;IACjC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAEnE,oCAAoC;IACpC,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IAExB,gCAAgC;IAChC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IAEpB,2BAA2B;IAC3B,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,oBAAoB,GAC5B,CAAC,eAAe,EAAE,iBAAiB,CAAC,CA0GtC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import type { PanelDefinition, PanelActions, CodeCityPanelContext, FeedCodeCityPanelContext, FileCityExplorerPanelActions, FileCityExplorerPanelContext } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Export array of panel definitions.
|
|
4
|
+
* This is the required export for panel extensions.
|
|
5
|
+
* Using generic types for v0.4.2+ typed actions and context.
|
|
6
|
+
*/
|
|
7
|
+
export declare const panels: (PanelDefinition<PanelActions, CodeCityPanelContext> | PanelDefinition<PanelActions, FeedCodeCityPanelContext> | PanelDefinition<FileCityExplorerPanelActions, FileCityExplorerPanelContext>)[];
|
|
8
|
+
/**
|
|
9
|
+
* Optional: Called once when the entire package is loaded.
|
|
10
|
+
* Use this for package-level initialization.
|
|
11
|
+
*/
|
|
12
|
+
export declare const onPackageLoad: () => Promise<void>;
|
|
13
|
+
/**
|
|
14
|
+
* Optional: Called once when the package is unloaded.
|
|
15
|
+
* Use this for package-level cleanup.
|
|
16
|
+
*/
|
|
17
|
+
export declare const onPackageUnload: () => Promise<void>;
|
|
18
|
+
/**
|
|
19
|
+
* Export tools for server-safe imports.
|
|
20
|
+
* Use '@industry-theme/file-city-panel/tools' to import without React dependencies.
|
|
21
|
+
*/
|
|
22
|
+
export { codeCityPanelTools, codeCityPanelToolsMetadata, focusBuildingTool, selectDistrictTool, resetViewTool, } from './tools';
|
|
23
|
+
/**
|
|
24
|
+
* Export types for host applications to create the fileCityColorModes slice.
|
|
25
|
+
*/
|
|
26
|
+
export type { FileCityColorModesSliceData, QualitySliceData, ColorMode, ColorModeConfig, FileMetricData, HighlightLayer, CodeCityPanelPropsTyped, CodeCityPanelContext, CommitFilesSliceData, PrFilesSliceData, PackagesSliceData, AlexandriaEntry, ActivityDay, ActivityHeatmapSliceData, ForkTourSliceData, LineCountsSliceData, SequenceEvent, SequenceEdge, SliceSnippet, DiffSnippet, SequenceEventSnippet, FileCitySequenceEventDef, SequenceLayoutOptions, SliceRange, SnippetSliceAnchor, SnippetDiffAnchor, SequenceSnippetNote, MarkdownTextQuoteAnchor, MarkdownNoteScope, SequenceMarkdownNote, SequenceNote, SequenceNoteDraft, SequenceDiagramPayload, BaseSequenceDiagramIndexEntry, NodePosition, EventAttributeSchema, EventRecord, NamespaceRecord, ScopeRecord, ScopeWorkspace, AddScopeInput, AddNamespaceInput, AddPathToNamespaceInput, AddEventInput, LatestCommitFileEntry, LatestCommitSliceData, AreaWorkspace, FileCityExplorerRepository, FileCityExplorerPanelContext, AddToScopeActionInput, AddAreaActionInput, AddPathToAreaActionInput, FileCityExplorerPanelActions, FileCityExplorerPanelPropsTyped, } from './types';
|
|
27
|
+
/**
|
|
28
|
+
* Export color mode constants for host applications.
|
|
29
|
+
*/
|
|
30
|
+
export { COLOR_MODES, DEFAULT_COLOR_MODES, QUALITY_COLOR_MODES, } from './panels/utils/qualityLayers';
|
|
31
|
+
/**
|
|
32
|
+
* Export UI components for composition in custom panels.
|
|
33
|
+
*/
|
|
34
|
+
export { ProjectInfoHeader } from './panels/components/ProjectInfoHeader';
|
|
35
|
+
export type { ProjectInfo } from './panels/components/ProjectInfoHeader';
|
|
36
|
+
export { FeedProjectHeader, FeedProjectHeaderSkeleton } from './panels/components/FeedProjectHeader';
|
|
37
|
+
export type { GitHubRepoInfo, RootPackageInfo } from './panels/components/FeedProjectHeader';
|
|
38
|
+
export { CodeCityPanel } from './panels/CodeCityPanel';
|
|
39
|
+
export { FeedCodeCityPanel } from './panels/FeedCodeCityPanel';
|
|
40
|
+
export type { FeedProjectSliceData, FeedCodeCityPanelPropsTyped, FeedCodeCityPanelContext } from './types';
|
|
41
|
+
/**
|
|
42
|
+
* FileCityExplorerPanel — the ported electron explorer with scope/area
|
|
43
|
+
* authoring, sequence-diagram playback, and snippet/markdown notes.
|
|
44
|
+
*
|
|
45
|
+
* Hosts wire it via FileCityExplorerPanelContext (slices) and
|
|
46
|
+
* FileCityExplorerPanelActions (required actions). See
|
|
47
|
+
* docs/FILE_CITY_EXPLORER_PORT.md for the full alignment doc.
|
|
48
|
+
*/
|
|
49
|
+
export { FileCityExplorerPanel, FileCityExplorer, buildCityDataFromContext, stripRootPath, } from './panels/FileCityExplorerPanel';
|
|
50
|
+
export type { FileCityExplorerProps, BuildCityDataInput, } from './panels/FileCityExplorerPanel';
|
|
51
|
+
export { FileCardList } from './panels/components/FileCardList';
|
|
52
|
+
export type { FileCardItem } from './panels/components/FileCardList';
|
|
53
|
+
export { GitChangesCardList } from './panels/components/GitChangesCardList';
|
|
54
|
+
export type { GitChangeSelectionStatus } from './panels/components/GitChangesCardList';
|
|
55
|
+
export { PrChangesCardList } from './panels/components/PrChangesCardList';
|
|
56
|
+
export type { PrFilesStatus, PrChangeSelectionStatus } from './panels/components/PrChangesCardList';
|
|
57
|
+
export { StoryboardFilesCardList } from './panels/components/StoryboardFilesCardList';
|
|
58
|
+
export type { StoryboardFileCategory } from './panels/components/StoryboardFilesCardList';
|
|
59
|
+
/**
|
|
60
|
+
* Export TTS (Text-to-Speech) components and types for tour narration.
|
|
61
|
+
*
|
|
62
|
+
* Note: The panel defines the TextToSpeechAdapter interface but does NOT
|
|
63
|
+
* provide a production implementation. Host applications must implement
|
|
64
|
+
* the adapter to handle API calls with proper credentials.
|
|
65
|
+
*/
|
|
66
|
+
export { TourPlayer } from './components/TourPlayer';
|
|
67
|
+
export type { TourPlayerProps } from './components/TourPlayer';
|
|
68
|
+
export { MockTTSAdapter } from './mocks/MockTTSAdapter';
|
|
69
|
+
export type { MockTTSAdapterConfig } from './mocks/MockTTSAdapter';
|
|
70
|
+
export { createMockAudioActions, createFullMockActions } from './mocks/mockAudioActions';
|
|
71
|
+
export type { MockAudioConfig } from './mocks/mockAudioActions';
|
|
72
|
+
export type { TextToSpeechAdapter, TTSState, TTSOptions, TTSEvent, TourAudioContext, ImageResolutionContext, } from './types';
|
|
73
|
+
export { resolveImageUrl } from './types';
|
|
74
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Mock Text-to-Speech Adapter for Storybook and Testing
|
|
3
|
+
*
|
|
4
|
+
* Simulates TTS functionality without making real API calls or playing audio.
|
|
5
|
+
* Useful for development, testing, and Storybook stories.
|
|
6
|
+
*/
|
|
7
|
+
import type { TextToSpeechAdapter, TTSState, TTSOptions, TTSEvent, TourAudioContext } from '../types/TextToSpeech';
|
|
8
|
+
/**
|
|
9
|
+
* Configuration for MockTTSAdapter
|
|
10
|
+
*/
|
|
11
|
+
export interface MockTTSAdapterConfig {
|
|
12
|
+
/** Simulated audio duration per step in seconds (default: 5) */
|
|
13
|
+
audioDuration?: number;
|
|
14
|
+
/** Delay before starting playback in ms (default: 100) */
|
|
15
|
+
playbackDelay?: number;
|
|
16
|
+
/** Delay for fetching tour audio in ms (default: 500) */
|
|
17
|
+
fetchDelay?: number;
|
|
18
|
+
/** Whether to log actions to console (default: true) */
|
|
19
|
+
verbose?: boolean;
|
|
20
|
+
/** Simulate errors (useful for testing error states) */
|
|
21
|
+
simulateError?: boolean;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Mock TTS adapter for testing and Storybook
|
|
25
|
+
*/
|
|
26
|
+
export declare class MockTTSAdapter implements TextToSpeechAdapter {
|
|
27
|
+
private audioCache;
|
|
28
|
+
private eventTarget;
|
|
29
|
+
private playbackTimer;
|
|
30
|
+
private progressTimer;
|
|
31
|
+
private config;
|
|
32
|
+
private _state;
|
|
33
|
+
constructor(config?: MockTTSAdapterConfig);
|
|
34
|
+
get state(): TTSState;
|
|
35
|
+
private setState;
|
|
36
|
+
private log;
|
|
37
|
+
/**
|
|
38
|
+
* Fetch audio URLs for all steps in a tour
|
|
39
|
+
*/
|
|
40
|
+
fetchTourAudio(tourId: string, stepIds: string[], context: TourAudioContext, options?: TTSOptions): Promise<Map<string, string>>;
|
|
41
|
+
/**
|
|
42
|
+
* Play audio for a specific step
|
|
43
|
+
*/
|
|
44
|
+
speak(stepId: string): Promise<void>;
|
|
45
|
+
/**
|
|
46
|
+
* Stop current audio playback
|
|
47
|
+
*/
|
|
48
|
+
stop(): void;
|
|
49
|
+
/**
|
|
50
|
+
* Pause current audio playback
|
|
51
|
+
*/
|
|
52
|
+
pause(): void;
|
|
53
|
+
/**
|
|
54
|
+
* Resume paused audio playback
|
|
55
|
+
*/
|
|
56
|
+
resume(): void;
|
|
57
|
+
/**
|
|
58
|
+
* Subscribe to TTS events
|
|
59
|
+
*/
|
|
60
|
+
addEventListener(event: TTSEvent, handler: () => void): void;
|
|
61
|
+
/**
|
|
62
|
+
* Unsubscribe from TTS events
|
|
63
|
+
*/
|
|
64
|
+
removeEventListener(event: TTSEvent, handler: () => void): void;
|
|
65
|
+
/**
|
|
66
|
+
* Emit an event
|
|
67
|
+
*/
|
|
68
|
+
private emit;
|
|
69
|
+
/**
|
|
70
|
+
* Clean up timers
|
|
71
|
+
*/
|
|
72
|
+
private cleanupPlayback;
|
|
73
|
+
/**
|
|
74
|
+
* Clear all cached audio URLs
|
|
75
|
+
*/
|
|
76
|
+
clearCache(): void;
|
|
77
|
+
/**
|
|
78
|
+
* Get cache statistics (for debugging)
|
|
79
|
+
*/
|
|
80
|
+
getCacheStats(): {
|
|
81
|
+
size: number;
|
|
82
|
+
entries: string[];
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=MockTTSAdapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MockTTSAdapter.d.ts","sourceRoot":"","sources":["../../src/mocks/MockTTSAdapter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,mBAAmB,EACnB,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,gBAAgB,EACjB,MAAM,uBAAuB,CAAC;AAE/B;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,gEAAgE;IAChE,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,0DAA0D;IAC1D,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,yDAAyD;IACzD,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,wDAAwD;IACxD,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,wDAAwD;IACxD,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;GAEG;AACH,qBAAa,cAAe,YAAW,mBAAmB;IACxD,OAAO,CAAC,UAAU,CAAkC;IACpD,OAAO,CAAC,WAAW,CAAqB;IACxC,OAAO,CAAC,aAAa,CAA8C;IACnE,OAAO,CAAC,aAAa,CAA+C;IACpE,OAAO,CAAC,MAAM,CAAiC;IAE/C,OAAO,CAAC,MAAM,CAKZ;gBAEU,MAAM,GAAE,oBAAyB;IAU7C,IAAI,KAAK,IAAI,QAAQ,CAEpB;IAED,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,GAAG;IAMX;;OAEG;IACG,cAAc,CAClB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EAAE,EACjB,OAAO,EAAE,gBAAgB,EACzB,OAAO,CAAC,EAAE,UAAU,GACnB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IA6B/B;;OAEG;IACG,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA4D1C;;OAEG;IACH,IAAI,IAAI,IAAI;IAWZ;;OAEG;IACH,KAAK,IAAI,IAAI;IASb;;OAEG;IACH,MAAM,IAAI,IAAI;IAmCd;;OAEG;IACH,gBAAgB,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,IAAI,GAAG,IAAI;IAI5D;;OAEG;IACH,mBAAmB,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,IAAI,GAAG,IAAI;IAI/D;;OAEG;IACH,OAAO,CAAC,IAAI;IAIZ;;OAEG;IACH,OAAO,CAAC,eAAe;IAWvB;;OAEG;IACH,UAAU,IAAI,IAAI;IAIlB;;OAEG;IACH,aAAa;;;;CAMd"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Mock Audio Actions for Storybook
|
|
3
|
+
*
|
|
4
|
+
* Provides realistic audio mocks for testing TourPlayer audio features in Storybook.
|
|
5
|
+
* Generates audio blobs with configurable durations to test UI states and auto-play.
|
|
6
|
+
*/
|
|
7
|
+
import type { PanelActions } from '../types';
|
|
8
|
+
export interface MockAudioConfig {
|
|
9
|
+
/** Duration in seconds for each audio file (default: 8) */
|
|
10
|
+
audioDuration?: number;
|
|
11
|
+
/** Delay in ms before returning audio URLs (simulates API call, default: 500) */
|
|
12
|
+
fetchDelay?: number;
|
|
13
|
+
/** Whether to log mock actions to console (default: false) */
|
|
14
|
+
verbose?: boolean;
|
|
15
|
+
/** Simulate fetch error (default: false) */
|
|
16
|
+
simulateError?: boolean;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Create mock panel actions with realistic audio URL generation
|
|
20
|
+
*/
|
|
21
|
+
export declare function createMockAudioActions(stepIds: string[], config?: MockAudioConfig): Pick<PanelActions, 'fetchAudioUrls'>;
|
|
22
|
+
/**
|
|
23
|
+
* Create full mock PanelActions with audio support
|
|
24
|
+
* Includes stubs for other required actions
|
|
25
|
+
*/
|
|
26
|
+
export declare function createFullMockActions(stepIds: string[], config?: MockAudioConfig): PanelActions;
|
|
27
|
+
//# sourceMappingURL=mockAudioActions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mockAudioActions.d.ts","sourceRoot":"","sources":["../../src/mocks/mockAudioActions.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAoB,MAAM,UAAU,CAAC;AAE/D,MAAM,WAAW,eAAe;IAC9B,2DAA2D;IAC3D,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,iFAAiF;IACjF,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,8DAA8D;IAC9D,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,4CAA4C;IAC5C,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AA0FD;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,MAAM,EAAE,EACjB,MAAM,GAAE,eAAoB,GAC3B,IAAI,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAyCtC;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,MAAM,EAAE,EACjB,MAAM,GAAE,eAAoB,GAC3B,YAAY,CAUd"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { PanelContextValue, PanelActions, PanelEventEmitter } from '../types';
|
|
3
|
+
/**
|
|
4
|
+
* Mock Panel Context for Storybook
|
|
5
|
+
*/
|
|
6
|
+
export declare const createMockContext: (overrides?: Partial<PanelContextValue>) => PanelContextValue;
|
|
7
|
+
/**
|
|
8
|
+
* Mock Panel Actions for Storybook
|
|
9
|
+
*/
|
|
10
|
+
export declare const createMockActions: (overrides?: Partial<PanelActions>) => PanelActions;
|
|
11
|
+
/**
|
|
12
|
+
* Mock Event Emitter for Storybook
|
|
13
|
+
*/
|
|
14
|
+
export declare const createMockEvents: () => PanelEventEmitter;
|
|
15
|
+
/**
|
|
16
|
+
* Mock Panel Props Provider
|
|
17
|
+
* Wraps components with mock context for Storybook
|
|
18
|
+
*/
|
|
19
|
+
interface MockPanelProviderProps {
|
|
20
|
+
children: React.ReactElement;
|
|
21
|
+
repository?: {
|
|
22
|
+
path: string;
|
|
23
|
+
name: string;
|
|
24
|
+
} | null;
|
|
25
|
+
slices?: Record<string, {
|
|
26
|
+
data: unknown;
|
|
27
|
+
loading: boolean;
|
|
28
|
+
error: Error | null;
|
|
29
|
+
}>;
|
|
30
|
+
contextOverrides?: Partial<PanelContextValue>;
|
|
31
|
+
actionsOverrides?: Partial<PanelActions>;
|
|
32
|
+
events?: PanelEventEmitter;
|
|
33
|
+
}
|
|
34
|
+
export declare const MockPanelProvider: React.FC<MockPanelProviderProps>;
|
|
35
|
+
export {};
|
|
36
|
+
//# sourceMappingURL=panelContext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"panelContext.d.ts","sourceRoot":"","sources":["../../src/mocks/panelContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EACV,iBAAiB,EACjB,YAAY,EACZ,iBAAiB,EAIlB,MAAM,UAAU,CAAC;AA+BlB;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAC5B,YAAY,OAAO,CAAC,iBAAiB,CAAC,KACrC,iBA+GF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAC5B,YAAY,OAAO,CAAC,YAAY,CAAC,KAChC,YA8BD,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,gBAAgB,QAAO,iBAwCnC,CAAC;AAEF;;;GAGG;AACH,UAAU,sBAAsB;IAC9B,QAAQ,EAAE,KAAK,CAAC,YAAY,CAAC;IAC7B,UAAU,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACnD,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;IAClF,gBAAgB,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC9C,gBAAgB,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IACzC,MAAM,CAAC,EAAE,iBAAiB,CAAC;CAC5B;AAED,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CA0E9D,CAAC"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { CodeCityPanelPropsTyped } from '../types';
|
|
3
|
+
/**
|
|
4
|
+
* Packages slice data - package information from codebase-composition
|
|
5
|
+
*/
|
|
6
|
+
export interface PackagesSliceData {
|
|
7
|
+
packages: Array<{
|
|
8
|
+
id: string;
|
|
9
|
+
name: string;
|
|
10
|
+
packageData: {
|
|
11
|
+
name: string;
|
|
12
|
+
path: string;
|
|
13
|
+
version?: string;
|
|
14
|
+
description?: string;
|
|
15
|
+
license?: string;
|
|
16
|
+
packageManager: 'npm' | 'yarn' | 'pnpm' | 'bun' | 'pip' | 'poetry' | 'pipenv' | 'cargo' | 'unknown';
|
|
17
|
+
dependencies: Record<string, string>;
|
|
18
|
+
devDependencies: Record<string, string>;
|
|
19
|
+
peerDependencies: Record<string, string>;
|
|
20
|
+
availableCommands?: Array<{
|
|
21
|
+
name: string;
|
|
22
|
+
command: string;
|
|
23
|
+
}>;
|
|
24
|
+
isMonorepoRoot?: boolean;
|
|
25
|
+
};
|
|
26
|
+
}>;
|
|
27
|
+
summary: {
|
|
28
|
+
isMonorepo: boolean;
|
|
29
|
+
rootPackageName?: string;
|
|
30
|
+
totalPackages: number;
|
|
31
|
+
workspacePackages: Array<{
|
|
32
|
+
name?: string;
|
|
33
|
+
path: string;
|
|
34
|
+
}>;
|
|
35
|
+
totalDependencies: number;
|
|
36
|
+
totalDevDependencies: number;
|
|
37
|
+
availableScripts: string[];
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* PR files data - files changed in a selected pull request
|
|
42
|
+
*/
|
|
43
|
+
export interface PrFilesSliceData {
|
|
44
|
+
files: Array<{
|
|
45
|
+
sha: string;
|
|
46
|
+
filename: string;
|
|
47
|
+
status: 'added' | 'removed' | 'modified' | 'renamed' | 'copied' | 'changed' | 'unchanged';
|
|
48
|
+
additions: number;
|
|
49
|
+
deletions: number;
|
|
50
|
+
changes: number;
|
|
51
|
+
}>;
|
|
52
|
+
filesByStatus: {
|
|
53
|
+
added: string[];
|
|
54
|
+
modified: string[];
|
|
55
|
+
removed: string[];
|
|
56
|
+
renamed: {
|
|
57
|
+
filename: string;
|
|
58
|
+
previous_filename?: string;
|
|
59
|
+
}[];
|
|
60
|
+
};
|
|
61
|
+
pullNumber: number | null;
|
|
62
|
+
owner?: string;
|
|
63
|
+
repo?: string;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Commit files data - files changed in a selected commit
|
|
67
|
+
*/
|
|
68
|
+
export interface CommitFilesSliceData {
|
|
69
|
+
filesByStatus: {
|
|
70
|
+
added: string[];
|
|
71
|
+
modified: string[];
|
|
72
|
+
removed: string[];
|
|
73
|
+
renamed: string[];
|
|
74
|
+
};
|
|
75
|
+
commitHash: string | null;
|
|
76
|
+
stats?: {
|
|
77
|
+
total: number;
|
|
78
|
+
additions: number;
|
|
79
|
+
deletions: number;
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
export type { StoryboardContextSliceData } from '@principal-ai/principal-view-core';
|
|
83
|
+
/**
|
|
84
|
+
* CodeCityPanelContent - Internal component that uses theme
|
|
85
|
+
*/
|
|
86
|
+
declare const CodeCityPanelContent: React.FC<CodeCityPanelPropsTyped>;
|
|
87
|
+
/**
|
|
88
|
+
* CodeCityPanelContent - Internal component that uses theme
|
|
89
|
+
* Exported separately for flexibility
|
|
90
|
+
*/
|
|
91
|
+
export { CodeCityPanelContent };
|
|
92
|
+
/**
|
|
93
|
+
* CodeCityPanel - A file visualization panel using the File City map.
|
|
94
|
+
*
|
|
95
|
+
* This panel shows:
|
|
96
|
+
* - 3D visualization of repository structure
|
|
97
|
+
* - File and directory hierarchy as a city metaphor
|
|
98
|
+
* - Interactive hover and click functionality
|
|
99
|
+
* - Highlight layers for different file types
|
|
100
|
+
*
|
|
101
|
+
* Note: This component expects to be rendered within a ThemeProvider from the host.
|
|
102
|
+
*/
|
|
103
|
+
export declare const CodeCityPanel: React.FC<CodeCityPanelPropsTyped>;
|
|
104
|
+
/**
|
|
105
|
+
* Preview component for panel selection
|
|
106
|
+
*/
|
|
107
|
+
export declare const CodeCityPanelPreview: React.FC;
|
|
108
|
+
//# sourceMappingURL=CodeCityPanel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CodeCityPanel.d.ts","sourceRoot":"","sources":["../../src/panels/CodeCityPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4D,MAAM,OAAO,CAAC;AA8CjF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAiBxD;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,KAAK,CAAC;QACd,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE;YACX,IAAI,EAAE,MAAM,CAAC;YACb,IAAI,EAAE,MAAM,CAAC;YACb,OAAO,CAAC,EAAE,MAAM,CAAC;YACjB,WAAW,CAAC,EAAE,MAAM,CAAC;YACrB,OAAO,CAAC,EAAE,MAAM,CAAC;YACjB,cAAc,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;YACpG,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YACrC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YACxC,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YACzC,iBAAiB,CAAC,EAAE,KAAK,CAAC;gBAAE,IAAI,EAAE,MAAM,CAAC;gBAAC,OAAO,EAAE,MAAM,CAAA;aAAE,CAAC,CAAC;YAC7D,cAAc,CAAC,EAAE,OAAO,CAAC;SAC1B,CAAC;KACH,CAAC,CAAC;IACH,OAAO,EAAE;QACP,UAAU,EAAE,OAAO,CAAC;QACpB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,aAAa,EAAE,MAAM,CAAC;QACtB,iBAAiB,EAAE,KAAK,CAAC;YAAE,IAAI,CAAC,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAC1D,iBAAiB,EAAE,MAAM,CAAC;QAC1B,oBAAoB,EAAE,MAAM,CAAC;QAC7B,gBAAgB,EAAE,MAAM,EAAE,CAAC;KAC5B,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,KAAK,CAAC;QACX,GAAG,EAAE,MAAM,CAAC;QACZ,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,OAAO,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,WAAW,CAAC;QAC1F,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC,CAAC;IACH,aAAa,EAAE;QACb,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnB,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,OAAO,EAAE;YAAE,QAAQ,EAAE,MAAM,CAAC;YAAC,iBAAiB,CAAC,EAAE,MAAM,CAAA;SAAE,EAAE,CAAC;KAC7D,CAAC;IACF,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,aAAa,EAAE;QACb,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnB,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,OAAO,EAAE,MAAM,EAAE,CAAC;KACnB,CAAC;IACF,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,KAAK,CAAC,EAAE;QACN,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAGD,YAAY,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AAmCpF;;GAEG;AACH,QAAA,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CA2oF3D,CAAC;AAEF;;;GAGG;AACH,OAAO,EAAE,oBAAoB,EAAE,CAAC;AAEhC;;;;;;;;;;GAUG;AACH,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAE3D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EA8BxC,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { FeedCodeCityPanelPropsTyped } from '../types';
|
|
3
|
+
/**
|
|
4
|
+
* FeedCodeCityPanel - A file city panel designed for feed view context.
|
|
5
|
+
*
|
|
6
|
+
* Shows:
|
|
7
|
+
* - Project header with GitHub repo info and package details
|
|
8
|
+
* - 3D visualization of repository structure
|
|
9
|
+
* - Simplified legend (file types only)
|
|
10
|
+
*
|
|
11
|
+
* Emits:
|
|
12
|
+
* - project:open - When the "Open" button is clicked
|
|
13
|
+
*/
|
|
14
|
+
export declare const FeedCodeCityPanel: React.FC<FeedCodeCityPanelPropsTyped>;
|
|
15
|
+
/**
|
|
16
|
+
* Preview component for panel selection
|
|
17
|
+
*/
|
|
18
|
+
export declare const FeedCodeCityPanelPreview: React.FC;
|
|
19
|
+
//# sourceMappingURL=FeedCodeCityPanel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FeedCodeCityPanel.d.ts","sourceRoot":"","sources":["../../src/panels/FeedCodeCityPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4D,MAAM,OAAO,CAAC;AAkBjF,OAAO,KAAK,EAAE,2BAA2B,EAAwC,MAAM,UAAU,CAAC;AAkYlG;;;;;;;;;;GAUG;AACH,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,2BAA2B,CAEnE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB,EAAE,KAAK,CAAC,EA8B5C,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { ProjectArea } from '@principal-ai/principal-view-core';
|
|
3
|
+
export declare const AddToAreaModal: React.FC<{
|
|
4
|
+
path: string;
|
|
5
|
+
areas: readonly ProjectArea[];
|
|
6
|
+
areaName: string;
|
|
7
|
+
description: string;
|
|
8
|
+
onAreaNameChange: (value: string) => void;
|
|
9
|
+
onDescriptionChange: (value: string) => void;
|
|
10
|
+
onPickExisting: (areaName: string) => void;
|
|
11
|
+
onSubmit: () => void;
|
|
12
|
+
onClose: () => void;
|
|
13
|
+
}>;
|
|
14
|
+
//# sourceMappingURL=AddToAreaModal.d.ts.map
|