@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.
Files changed (164) hide show
  1. package/dist/components/ContextContainer.d.ts +40 -0
  2. package/dist/components/ContextContainer.d.ts.map +1 -0
  3. package/dist/components/TourPlayer.d.ts +49 -0
  4. package/dist/components/TourPlayer.d.ts.map +1 -0
  5. package/dist/components/TourPlayerIntegration.d.ts +26 -0
  6. package/dist/components/TourPlayerIntegration.d.ts.map +1 -0
  7. package/dist/components/index.d.ts +7 -0
  8. package/dist/components/index.d.ts.map +1 -0
  9. package/dist/hooks/index.d.ts +3 -0
  10. package/dist/hooks/index.d.ts.map +1 -0
  11. package/dist/hooks/useFuzzyFileSearch.d.ts +24 -0
  12. package/dist/hooks/useFuzzyFileSearch.d.ts.map +1 -0
  13. package/dist/hooks/useTourPlayer.d.ts +55 -0
  14. package/dist/hooks/useTourPlayer.d.ts.map +1 -0
  15. package/dist/index.d.ts +74 -0
  16. package/dist/index.d.ts.map +1 -0
  17. package/dist/mocks/MockTTSAdapter.d.ts +85 -0
  18. package/dist/mocks/MockTTSAdapter.d.ts.map +1 -0
  19. package/dist/mocks/mockAudioActions.d.ts +27 -0
  20. package/dist/mocks/mockAudioActions.d.ts.map +1 -0
  21. package/dist/mocks/panelContext.d.ts +36 -0
  22. package/dist/mocks/panelContext.d.ts.map +1 -0
  23. package/dist/panels/CodeCityPanel.d.ts +108 -0
  24. package/dist/panels/CodeCityPanel.d.ts.map +1 -0
  25. package/dist/panels/FeedCodeCityPanel.d.ts +19 -0
  26. package/dist/panels/FeedCodeCityPanel.d.ts.map +1 -0
  27. package/dist/panels/FileCityExplorerPanel/FileCityExplorer/AddToAreaModal.d.ts +14 -0
  28. package/dist/panels/FileCityExplorerPanel/FileCityExplorer/AddToAreaModal.d.ts.map +1 -0
  29. package/dist/panels/FileCityExplorerPanel/FileCityExplorer/AddToScopeModal.d.ts +14 -0
  30. package/dist/panels/FileCityExplorerPanel/FileCityExplorer/AddToScopeModal.d.ts.map +1 -0
  31. package/dist/panels/FileCityExplorerPanel/FileCityExplorer/CommitFileOverlay.d.ts +18 -0
  32. package/dist/panels/FileCityExplorerPanel/FileCityExplorer/CommitFileOverlay.d.ts.map +1 -0
  33. package/dist/panels/FileCityExplorerPanel/FileCityExplorer/FileCityExplorer.d.ts +87 -0
  34. package/dist/panels/FileCityExplorerPanel/FileCityExplorer/FileCityExplorer.d.ts.map +1 -0
  35. package/dist/panels/FileCityExplorerPanel/FileCityExplorer/RecentCommitCard.d.ts +37 -0
  36. package/dist/panels/FileCityExplorerPanel/FileCityExplorer/RecentCommitCard.d.ts.map +1 -0
  37. package/dist/panels/FileCityExplorerPanel/FileCityExplorer/ScopeInfoOverlay.d.ts +10 -0
  38. package/dist/panels/FileCityExplorerPanel/FileCityExplorer/ScopeInfoOverlay.d.ts.map +1 -0
  39. package/dist/panels/FileCityExplorerPanel/FileCityExplorer/WorkingTreeCard.d.ts +32 -0
  40. package/dist/panels/FileCityExplorerPanel/FileCityExplorer/WorkingTreeCard.d.ts.map +1 -0
  41. package/dist/panels/FileCityExplorerPanel/FileCityExplorer/WorkingTreeFileOverlay.d.ts +21 -0
  42. package/dist/panels/FileCityExplorerPanel/FileCityExplorer/WorkingTreeFileOverlay.d.ts.map +1 -0
  43. package/dist/panels/FileCityExplorerPanel/FileCityExplorer/index.d.ts +2 -0
  44. package/dist/panels/FileCityExplorerPanel/FileCityExplorer/index.d.ts.map +1 -0
  45. package/dist/panels/FileCityExplorerPanel/FileCityExplorer/layers.d.ts +22 -0
  46. package/dist/panels/FileCityExplorerPanel/FileCityExplorer/layers.d.ts.map +1 -0
  47. package/dist/panels/FileCityExplorerPanel/FileCityExplorer/pathConversion.d.ts +19 -0
  48. package/dist/panels/FileCityExplorerPanel/FileCityExplorer/pathConversion.d.ts.map +1 -0
  49. package/dist/panels/FileCityExplorerPanel/FileCityExplorer/scopeTreePaths.d.ts +21 -0
  50. package/dist/panels/FileCityExplorerPanel/FileCityExplorer/scopeTreePaths.d.ts.map +1 -0
  51. package/dist/panels/FileCityExplorerPanel/FileCityExplorer/styles.d.ts +9 -0
  52. package/dist/panels/FileCityExplorerPanel/FileCityExplorer/styles.d.ts.map +1 -0
  53. package/dist/panels/FileCityExplorerPanel/FileCityExplorerPanel.d.ts +4 -0
  54. package/dist/panels/FileCityExplorerPanel/FileCityExplorerPanel.d.ts.map +1 -0
  55. package/dist/panels/FileCityExplorerPanel/buildCityDataFromContext.d.ts +34 -0
  56. package/dist/panels/FileCityExplorerPanel/buildCityDataFromContext.d.ts.map +1 -0
  57. package/dist/panels/FileCityExplorerPanel/index.d.ts +4 -0
  58. package/dist/panels/FileCityExplorerPanel/index.d.ts.map +1 -0
  59. package/dist/panels/FileCityExplorerPanel/overlays/FileOverlay.d.ts +11 -0
  60. package/dist/panels/FileCityExplorerPanel/overlays/FileOverlay.d.ts.map +1 -0
  61. package/dist/panels/FileCityExplorerPanel/overlays/MarkdownNotes.d.ts +58 -0
  62. package/dist/panels/FileCityExplorerPanel/overlays/MarkdownNotes.d.ts.map +1 -0
  63. package/dist/panels/FileCityExplorerPanel/overlays/PierreFileView.d.ts +11 -0
  64. package/dist/panels/FileCityExplorerPanel/overlays/PierreFileView.d.ts.map +1 -0
  65. package/dist/panels/FileCityExplorerPanel/overlays/PierreSnippetDiffView.d.ts +28 -0
  66. package/dist/panels/FileCityExplorerPanel/overlays/PierreSnippetDiffView.d.ts.map +1 -0
  67. package/dist/panels/FileCityExplorerPanel/overlays/PierreSnippetView.d.ts +42 -0
  68. package/dist/panels/FileCityExplorerPanel/overlays/PierreSnippetView.d.ts.map +1 -0
  69. package/dist/panels/FileCityExplorerPanel/overlays/SequenceDiagramOverlay.d.ts +15 -0
  70. package/dist/panels/FileCityExplorerPanel/overlays/SequenceDiagramOverlay.d.ts.map +1 -0
  71. package/dist/panels/FileCityExplorerPanel/overlays/SequenceEventDetailOverlay.d.ts +22 -0
  72. package/dist/panels/FileCityExplorerPanel/overlays/SequenceEventDetailOverlay.d.ts.map +1 -0
  73. package/dist/panels/FileCityExplorerPanel/overlays/SequenceFilesOverlay.d.ts +28 -0
  74. package/dist/panels/FileCityExplorerPanel/overlays/SequenceFilesOverlay.d.ts.map +1 -0
  75. package/dist/panels/FileCityExplorerPanel/overlays/SequenceLeaderLine.d.ts +42 -0
  76. package/dist/panels/FileCityExplorerPanel/overlays/SequenceLeaderLine.d.ts.map +1 -0
  77. package/dist/panels/FileCityExplorerPanel/overlays/SequenceMarkdownOverlay.d.ts +44 -0
  78. package/dist/panels/FileCityExplorerPanel/overlays/SequenceMarkdownOverlay.d.ts.map +1 -0
  79. package/dist/panels/FileCityExplorerPanel/overlays/SnippetNotes.d.ts +67 -0
  80. package/dist/panels/FileCityExplorerPanel/overlays/SnippetNotes.d.ts.map +1 -0
  81. package/dist/panels/components/ActivityHeatmapView.d.ts +25 -0
  82. package/dist/panels/components/ActivityHeatmapView.d.ts.map +1 -0
  83. package/dist/panels/components/AgentActivityView.d.ts +29 -0
  84. package/dist/panels/components/AgentActivityView.d.ts.map +1 -0
  85. package/dist/panels/components/BuildingCityLoader.d.ts +11 -0
  86. package/dist/panels/components/BuildingCityLoader.d.ts.map +1 -0
  87. package/dist/panels/components/CommitChangesTree.d.ts +29 -0
  88. package/dist/panels/components/CommitChangesTree.d.ts.map +1 -0
  89. package/dist/panels/components/CoverEditor.d.ts +22 -0
  90. package/dist/panels/components/CoverEditor.d.ts.map +1 -0
  91. package/dist/panels/components/EmptyState.d.ts +12 -0
  92. package/dist/panels/components/EmptyState.d.ts.map +1 -0
  93. package/dist/panels/components/FeedProjectHeader.d.ts +86 -0
  94. package/dist/panels/components/FeedProjectHeader.d.ts.map +1 -0
  95. package/dist/panels/components/FileCardList.d.ts +44 -0
  96. package/dist/panels/components/FileCardList.d.ts.map +1 -0
  97. package/dist/panels/components/FileCityTips.d.ts +7 -0
  98. package/dist/panels/components/FileCityTips.d.ts.map +1 -0
  99. package/dist/panels/components/FileTypesView.d.ts +23 -0
  100. package/dist/panels/components/FileTypesView.d.ts.map +1 -0
  101. package/dist/panels/components/GitChangesCardList.d.ts +29 -0
  102. package/dist/panels/components/GitChangesCardList.d.ts.map +1 -0
  103. package/dist/panels/components/GitChangesTree.d.ts +26 -0
  104. package/dist/panels/components/GitChangesTree.d.ts.map +1 -0
  105. package/dist/panels/components/GitChangesView.d.ts +27 -0
  106. package/dist/panels/components/GitChangesView.d.ts.map +1 -0
  107. package/dist/panels/components/HoverInfoBar.d.ts +29 -0
  108. package/dist/panels/components/HoverInfoBar.d.ts.map +1 -0
  109. package/dist/panels/components/Legend.d.ts +145 -0
  110. package/dist/panels/components/Legend.d.ts.map +1 -0
  111. package/dist/panels/components/LegendTabs.d.ts +35 -0
  112. package/dist/panels/components/LegendTabs.d.ts.map +1 -0
  113. package/dist/panels/components/PackageInfo.d.ts +26 -0
  114. package/dist/panels/components/PackageInfo.d.ts.map +1 -0
  115. package/dist/panels/components/PackageManagerIcon.d.ts +10 -0
  116. package/dist/panels/components/PackageManagerIcon.d.ts.map +1 -0
  117. package/dist/panels/components/PrChangesCardList.d.ts +38 -0
  118. package/dist/panels/components/PrChangesCardList.d.ts.map +1 -0
  119. package/dist/panels/components/PrChangesTree.d.ts +32 -0
  120. package/dist/panels/components/PrChangesTree.d.ts.map +1 -0
  121. package/dist/panels/components/ProjectHeader.d.ts +36 -0
  122. package/dist/panels/components/ProjectHeader.d.ts.map +1 -0
  123. package/dist/panels/components/ProjectInfoHeader.d.ts +47 -0
  124. package/dist/panels/components/ProjectInfoHeader.d.ts.map +1 -0
  125. package/dist/panels/components/ProjectInfoView.d.ts +17 -0
  126. package/dist/panels/components/ProjectInfoView.d.ts.map +1 -0
  127. package/dist/panels/components/QualityMetricsView.d.ts +22 -0
  128. package/dist/panels/components/QualityMetricsView.d.ts.map +1 -0
  129. package/dist/panels/components/ScopesCanvasView.d.ts +17 -0
  130. package/dist/panels/components/ScopesCanvasView.d.ts.map +1 -0
  131. package/dist/panels/components/SearchResultsView.d.ts +19 -0
  132. package/dist/panels/components/SearchResultsView.d.ts.map +1 -0
  133. package/dist/panels/components/StoryboardFilesCardList.d.ts +28 -0
  134. package/dist/panels/components/StoryboardFilesCardList.d.ts.map +1 -0
  135. package/dist/panels/components/StoryboardFilesTree.d.ts +26 -0
  136. package/dist/panels/components/StoryboardFilesTree.d.ts.map +1 -0
  137. package/dist/panels/components/StoryboardView.d.ts +38 -0
  138. package/dist/panels/components/StoryboardView.d.ts.map +1 -0
  139. package/dist/panels/index.d.ts +4 -0
  140. package/dist/panels/index.d.ts.map +1 -0
  141. package/dist/panels/stress-test-data.d.ts +40 -0
  142. package/dist/panels/stress-test-data.d.ts.map +1 -0
  143. package/dist/panels/utils/cityData.d.ts +5 -0
  144. package/dist/panels/utils/cityData.d.ts.map +1 -0
  145. package/dist/panels/utils/qualityLayers.d.ts +119 -0
  146. package/dist/panels/utils/qualityLayers.d.ts.map +1 -0
  147. package/dist/tools/index.d.ts +32 -0
  148. package/dist/tools/index.d.ts.map +1 -0
  149. package/dist/tools.bundle.js +103 -0
  150. package/dist/types/FileCityExplorerPanel.d.ts +132 -0
  151. package/dist/types/FileCityExplorerPanel.d.ts.map +1 -0
  152. package/dist/types/Scope.d.ts +94 -0
  153. package/dist/types/Scope.d.ts.map +1 -0
  154. package/dist/types/SequenceDiagram.d.ts +306 -0
  155. package/dist/types/SequenceDiagram.d.ts.map +1 -0
  156. package/dist/types/TextToSpeech.d.ts +118 -0
  157. package/dist/types/TextToSpeech.d.ts.map +1 -0
  158. package/dist/types/TourExtensions.d.ts +28 -0
  159. package/dist/types/TourExtensions.d.ts.map +1 -0
  160. package/dist/types/index.d.ts +204 -0
  161. package/dist/types/index.d.ts.map +1 -0
  162. package/dist/utils/index.d.ts +3 -0
  163. package/dist/utils/index.d.ts.map +1 -0
  164. 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,3 @@
1
+ export { useTourPlayer } from './useTourPlayer';
2
+ export type { TourPlayerState, TourPlayerActions, UseTourPlayerOptions, } from './useTourPlayer';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -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"}
@@ -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":"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"}
@@ -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