@industry-theme/repository-composition-panels 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -1,4 +1,18 @@
1
- export { GitChangesPanel, GitChangesPanelPreview } from './panels/GitChangesPanel';
1
+ import type { PanelDefinition } from './types';
2
+ /**
3
+ * Export array of panel definitions.
4
+ * This is the required export for panel extensions.
5
+ */
6
+ export declare const panels: PanelDefinition[];
7
+ /**
8
+ * Optional: Called once when the entire package is loaded.
9
+ */
10
+ export declare const onPackageLoad: () => Promise<void>;
11
+ /**
12
+ * Optional: Called once when the package is unloaded.
13
+ */
14
+ export declare const onPackageUnload: () => Promise<void>;
15
+ export { GitChangesPanel, GitChangesPanelContent, GitChangesPanelPreview } from './panels/GitChangesPanel';
2
16
  export type { GitChangesPanelProps } from './panels/GitChangesPanel';
3
- export type { GitStatus, GitChangeSelectionStatus, GitFileStatus, FileTree, } from './types';
17
+ export type { GitStatus, GitChangeSelectionStatus, GitFileStatus, FileTree, PanelComponentProps, PanelDefinition, PanelContextValue, } from './types';
4
18
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AACnF,YAAY,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAGrE,YAAY,EACV,SAAS,EACT,wBAAwB,EACxB,aAAa,EACb,QAAQ,GACT,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAqB,MAAM,SAAS,CAAC;AAElE;;;GAGG;AACH,eAAO,MAAM,MAAM,EAAE,eAAe,EA+BnC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,qBAGzB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,qBAG3B,CAAC;AAGF,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAC3G,YAAY,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAGrE,YAAY,EACV,SAAS,EACT,wBAAwB,EACxB,aAAa,EACb,QAAQ,EACR,mBAAmB,EACnB,eAAe,EACf,iBAAiB,GAClB,MAAM,SAAS,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { type FileTree } from '@principal-ai/repository-abstraction';
3
- import type { GitStatus, GitChangeSelectionStatus } from '../types';
3
+ import type { GitStatus, GitChangeSelectionStatus, PanelComponentProps } from '../types';
4
4
  export interface GitChangesPanelProps {
5
5
  /** Git status data with categorized file paths */
6
6
  gitStatus: GitStatus;
@@ -19,6 +19,15 @@ export interface GitChangesPanelProps {
19
19
  /** Currently selected file path */
20
20
  selectedFile?: string;
21
21
  }
22
- export declare const GitChangesPanel: React.FC<GitChangesPanelProps>;
22
+ /**
23
+ * GitChangesPanelContent - Internal component that renders the git changes UI
24
+ * Can be used directly with props or via the framework wrapper
25
+ */
26
+ export declare const GitChangesPanelContent: React.FC<GitChangesPanelProps>;
23
27
  export declare const GitChangesPanelPreview: React.FC;
28
+ /**
29
+ * GitChangesPanel - Panel Framework compatible component
30
+ * Uses context.getSlice('git') and context.getSlice('fileTree') to get data
31
+ */
32
+ export declare const GitChangesPanel: React.FC<PanelComponentProps>;
24
33
  //# sourceMappingURL=GitChangesPanel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"GitChangesPanel.d.ts","sourceRoot":"","sources":["../../src/panels/GitChangesPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4D,MAAM,OAAO,CAAC;AAGjF,OAAO,EAAwB,KAAK,QAAQ,EAAE,MAAM,sCAAsC,CAAC;AAC3F,OAAO,KAAK,EAAE,SAAS,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAEpE,MAAM,WAAW,oBAAoB;IACnC,kDAAkD;IAClD,SAAS,EAAE,SAAS,CAAC;IACrB,mDAAmD;IACnD,QAAQ,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC;IAC3B,kEAAkE;IAClE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,8CAA8C;IAC9C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,sCAAsC;IACtC,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,wBAAwB,KAAK,IAAI,CAAC;IAC5E,mDAAmD;IACnD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,uCAAuC;IACvC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mCAAmC;IACnC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAqQ1D,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,KAAK,CAAC,EAiD1C,CAAC"}
1
+ {"version":3,"file":"GitChangesPanel.d.ts","sourceRoot":"","sources":["../../src/panels/GitChangesPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4D,MAAM,OAAO,CAAC;AAGjF,OAAO,EAAwB,KAAK,QAAQ,EAAE,MAAM,sCAAsC,CAAC;AAC3F,OAAO,KAAK,EAAE,SAAS,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAEzF,MAAM,WAAW,oBAAoB;IACnC,kDAAkD;IAClD,SAAS,EAAE,SAAS,CAAC;IACrB,mDAAmD;IACnD,QAAQ,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC;IAC3B,kEAAkE;IAClE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,8CAA8C;IAC9C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,sCAAsC;IACtC,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,wBAAwB,KAAK,IAAI,CAAC;IAC5E,mDAAmD;IACnD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,uCAAuC;IACvC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mCAAmC;IACnC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;GAGG;AACH,eAAO,MAAM,sBAAsB,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAqQjE,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,KAAK,CAAC,EAiD1C,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CA4BzD,CAAC"}
@@ -1,9 +1,11 @@
1
1
  import type { StoryObj } from '@storybook/react-vite';
2
2
  import { GitChangesPanelPreview } from './GitChangesPanel';
3
- import type { GitStatus } from '../types';
3
+ import type { GitStatus, GitChangeSelectionStatus } from '../types';
4
4
  /**
5
- * GitChangesPanel displays git status changes in a file tree format.
5
+ * GitChangesPanelContent displays git status changes in a file tree format.
6
6
  * It supports two view modes: "Full Tree" (complete file structure) and "Changes Only" (modified files only).
7
+ *
8
+ * Note: This is the direct-props version. The GitChangesPanel component is the Panel Framework wrapper.
7
9
  */
8
10
  declare const meta: {
9
11
  title: string;
@@ -22,7 +24,7 @@ declare const meta: {
22
24
  fileTree?: (import("@principal-ai/repository-abstraction").FileTree | null) | undefined;
23
25
  rootPath?: string | undefined;
24
26
  isLoading?: boolean | undefined;
25
- onFileClick?: ((filePath: string, status?: import("..").GitChangeSelectionStatus) => void) | undefined;
27
+ onFileClick?: ((filePath: string, status?: GitChangeSelectionStatus) => void) | undefined;
26
28
  emptyMessage?: string | undefined;
27
29
  loadingMessage?: string | undefined;
28
30
  selectedFile?: string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"GitChangesPanel.stories.d.ts","sourceRoot":"","sources":["../../src/panels/GitChangesPanel.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAmB,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAC5E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE1C;;;GAGG;AACH,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;gDAgBA,CAAC;;;;;CAM6B,CAAC;AAEzC,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AA6BnC;;GAEG;AACH,eAAO,MAAM,OAAO,EAAE,KAQrB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,OAAO,EAAE,KAMrB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,SAAS,EAAE,KAMvB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,UAAU,EAAE,KAcxB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,KAc1B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,KAe3B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,KAczB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,KAazB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,KAM9B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,OAAO,EAAE,QAAQ,CAAC,OAAO,sBAAsB,CAQ3D,CAAC"}
1
+ {"version":3,"file":"GitChangesPanel.stories.d.ts","sourceRoot":"","sources":["../../src/panels/GitChangesPanel.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAA0B,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AACnF,OAAO,KAAK,EAAE,SAAS,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAEpE;;;;;GAKG;AACH,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;gDAQqF,CAAC;;;;;CAcjD,CAAC;AAEhD,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AA6BnC;;GAEG;AACH,eAAO,MAAM,OAAO,EAAE,KAQrB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,OAAO,EAAE,KAMrB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,SAAS,EAAE,KAMvB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,UAAU,EAAE,KAcxB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,KAc1B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,KAe3B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,KAczB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,KAazB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,KAM9B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,OAAO,EAAE,QAAQ,CAAC,OAAO,sBAAsB,CAQ3D,CAAC"}
@@ -7822,7 +7822,7 @@ class N extends G {
7822
7822
  return _.hashPaths(j.files);
7823
7823
  }
7824
7824
  }
7825
- const GitChangesPanel = ({
7825
+ const GitChangesPanelContent = ({
7826
7826
  gitStatus,
7827
7827
  fileTree,
7828
7828
  rootPath,
@@ -8100,8 +8100,64 @@ const GitChangesPanelPreview = () => {
8100
8100
  }
8101
8101
  );
8102
8102
  };
8103
+ const GitChangesPanel = ({ context }) => {
8104
+ var _a;
8105
+ const gitSlice = context.getSlice("git");
8106
+ const fileTreeSlice = context.getSlice("fileTree");
8107
+ const gitStatus = (gitSlice == null ? void 0 : gitSlice.data) ?? {
8108
+ staged: [],
8109
+ unstaged: [],
8110
+ untracked: [],
8111
+ deleted: []
8112
+ };
8113
+ const fileTree = (fileTreeSlice == null ? void 0 : fileTreeSlice.data) ?? null;
8114
+ const isLoading = (gitSlice == null ? void 0 : gitSlice.loading) || (fileTreeSlice == null ? void 0 : fileTreeSlice.loading) || false;
8115
+ const rootPath = context.currentScope.type === "repository" ? (_a = context.currentScope.repository) == null ? void 0 : _a.path : void 0;
8116
+ return /* @__PURE__ */ jsx(
8117
+ GitChangesPanelContent,
8118
+ {
8119
+ gitStatus,
8120
+ fileTree,
8121
+ rootPath,
8122
+ isLoading
8123
+ }
8124
+ );
8125
+ };
8126
+ const panels = [
8127
+ {
8128
+ metadata: {
8129
+ id: "industry-theme.git-changes",
8130
+ name: "Git Changes",
8131
+ icon: "GitBranch",
8132
+ version: "0.1.0",
8133
+ author: "Industry Theme",
8134
+ description: "View repository git changes with file tree visualization",
8135
+ slices: ["git", "fileTree"]
8136
+ },
8137
+ component: GitChangesPanel,
8138
+ onMount: async (context) => {
8139
+ console.log("Git Changes Panel mounted");
8140
+ if (context.hasSlice("git") && !context.isSliceLoading("git")) {
8141
+ await context.refresh("repository", "git");
8142
+ }
8143
+ },
8144
+ onUnmount: async (_context) => {
8145
+ console.log("Git Changes Panel unmounting");
8146
+ }
8147
+ }
8148
+ ];
8149
+ const onPackageLoad = async () => {
8150
+ console.log("Repository Composition Panels package loaded");
8151
+ };
8152
+ const onPackageUnload = async () => {
8153
+ console.log("Repository Composition Panels package unloading");
8154
+ };
8103
8155
  export {
8104
8156
  GitChangesPanel,
8105
- GitChangesPanelPreview
8157
+ GitChangesPanelContent,
8158
+ GitChangesPanelPreview,
8159
+ onPackageLoad,
8160
+ onPackageUnload,
8161
+ panels
8106
8162
  };
8107
8163
  //# sourceMappingURL=panels.bundle.js.map