@industry-theme/github-panels 0.1.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/LICENSE +21 -0
- package/README.md +536 -0
- package/dist/components/GitHubProjectCard.d.ts +24 -0
- package/dist/components/GitHubProjectCard.d.ts.map +1 -0
- package/dist/components/GitHubProjectCard.stories.d.ts +67 -0
- package/dist/components/GitHubProjectCard.stories.d.ts.map +1 -0
- package/dist/components/index.d.ts +6 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/index.d.ts +20 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/mocks/githubData.d.ts +29 -0
- package/dist/mocks/githubData.d.ts.map +1 -0
- package/dist/mocks/panelContext.d.ts +24 -0
- package/dist/mocks/panelContext.d.ts.map +1 -0
- package/dist/panels/GitHubProjectsPanel.d.ts +27 -0
- package/dist/panels/GitHubProjectsPanel.d.ts.map +1 -0
- package/dist/panels/GitHubProjectsPanel.stories.d.ts +82 -0
- package/dist/panels/GitHubProjectsPanel.stories.d.ts.map +1 -0
- package/dist/panels.bundle.js +1546 -0
- package/dist/panels.bundle.js.map +1 -0
- package/dist/types/github.d.ts +85 -0
- package/dist/types/github.d.ts.map +1 -0
- package/dist/types/index.d.ts +8 -0
- package/dist/types/index.d.ts.map +1 -0
- package/package.json +86 -0
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Mock GitHub data for Storybook development
|
|
3
|
+
*/
|
|
4
|
+
import type { GitHubRepository, GitHubOrganization, GitHubRepositoriesSliceData } from '../types/github';
|
|
5
|
+
/**
|
|
6
|
+
* Sample owned repositories
|
|
7
|
+
*/
|
|
8
|
+
export declare const mockOwnedRepositories: GitHubRepository[];
|
|
9
|
+
/**
|
|
10
|
+
* Sample starred repositories
|
|
11
|
+
*/
|
|
12
|
+
export declare const mockStarredRepositories: GitHubRepository[];
|
|
13
|
+
/**
|
|
14
|
+
* Sample organization repositories
|
|
15
|
+
*/
|
|
16
|
+
export declare const mockOrganizations: GitHubOrganization[];
|
|
17
|
+
/**
|
|
18
|
+
* Create mock GitHub repositories slice data
|
|
19
|
+
*/
|
|
20
|
+
export declare const createMockGitHubSliceData: (overrides?: Partial<GitHubRepositoriesSliceData>) => GitHubRepositoriesSliceData;
|
|
21
|
+
/**
|
|
22
|
+
* Create unauthenticated state
|
|
23
|
+
*/
|
|
24
|
+
export declare const createUnauthenticatedSliceData: () => GitHubRepositoriesSliceData;
|
|
25
|
+
/**
|
|
26
|
+
* Create empty but authenticated state
|
|
27
|
+
*/
|
|
28
|
+
export declare const createEmptySliceData: () => GitHubRepositoriesSliceData;
|
|
29
|
+
//# sourceMappingURL=githubData.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"githubData.d.ts","sourceRoot":"","sources":["../../src/mocks/githubData.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,gBAAgB,EAChB,kBAAkB,EAClB,2BAA2B,EAC5B,MAAM,iBAAiB,CAAC;AAEzB;;GAEG;AACH,eAAO,MAAM,qBAAqB,EAAE,gBAAgB,EAsFnD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,uBAAuB,EAAE,gBAAgB,EAqFrD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,kBAAkB,EAwHjD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,yBAAyB,GACpC,YAAY,OAAO,CAAC,2BAA2B,CAAC,KAC/C,2BAOD,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,8BAA8B,QAAO,2BAIhD,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,oBAAoB,QAAO,2BAKtC,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { PanelComponentProps, 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
|
+
export declare const MockPanelProvider: React.FC<{
|
|
20
|
+
children: (props: PanelComponentProps) => React.ReactNode;
|
|
21
|
+
contextOverrides?: Partial<PanelContextValue>;
|
|
22
|
+
actionsOverrides?: Partial<PanelActions>;
|
|
23
|
+
}>;
|
|
24
|
+
//# 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;AAC1B,OAAO,KAAK,EACV,mBAAmB,EACnB,iBAAiB,EACjB,YAAY,EACZ,iBAAiB,EAIlB,MAAM,UAAU,CAAC;AA+BlB;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAC5B,YAAY,OAAO,CAAC,iBAAiB,CAAC,KACrC,iBAiHF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAC5B,YAAY,OAAO,CAAC,YAAY,CAAC,KAChC,YAkBD,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,gBAAgB,QAAO,iBAwCnC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC;IACvC,QAAQ,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,KAAK,CAAC,SAAS,CAAC;IAC1D,gBAAgB,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC9C,gBAAgB,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;CAC1C,CAMA,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { PanelComponentProps } from '../types';
|
|
3
|
+
/**
|
|
4
|
+
* GitHubProjectsPanel - A panel for browsing GitHub repositories
|
|
5
|
+
*
|
|
6
|
+
* Features:
|
|
7
|
+
* - Lists personal, organization, and starred repositories
|
|
8
|
+
* - Responsive layout: compact (dropdown) for narrow, columns for wide
|
|
9
|
+
* - Search/filter functionality
|
|
10
|
+
* - Emits repository:selected events when a repo is clicked
|
|
11
|
+
*
|
|
12
|
+
* Required data slice: 'github-repositories' (GitHubRepositoriesSliceData)
|
|
13
|
+
*/
|
|
14
|
+
export declare const GitHubProjectsPanel: React.FC<PanelComponentProps>;
|
|
15
|
+
/**
|
|
16
|
+
* Panel metadata for registration
|
|
17
|
+
*/
|
|
18
|
+
export declare const GitHubProjectsPanelMetadata: {
|
|
19
|
+
id: string;
|
|
20
|
+
name: string;
|
|
21
|
+
description: string;
|
|
22
|
+
icon: string;
|
|
23
|
+
version: string;
|
|
24
|
+
slices: string[];
|
|
25
|
+
surfaces: string[];
|
|
26
|
+
};
|
|
27
|
+
//# sourceMappingURL=GitHubProjectsPanel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GitHubProjectsPanel.d.ts","sourceRoot":"","sources":["../../src/panels/GitHubProjectsPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4D,MAAM,OAAO,CAAC;AAcjF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAgdpD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAM7D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,2BAA2B;;;;;;;;CAQvC,CAAC"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import type { StoryObj } from '@storybook/react';
|
|
2
|
+
/**
|
|
3
|
+
* GitHubProjectsPanel displays a browsable list of GitHub repositories
|
|
4
|
+
* organized by owned, organization, and starred sections.
|
|
5
|
+
*/
|
|
6
|
+
declare const meta: {
|
|
7
|
+
title: string;
|
|
8
|
+
component: import("react").FC<import("@principal-ade/panel-framework-core").PanelComponentProps>;
|
|
9
|
+
parameters: {
|
|
10
|
+
layout: string;
|
|
11
|
+
docs: {
|
|
12
|
+
description: {
|
|
13
|
+
component: string;
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
tags: string[];
|
|
18
|
+
decorators: ((Story: import("@storybook/core/csf").PartialStoryFn<import("@storybook/react").ReactRenderer, {
|
|
19
|
+
context: import("@principal-ade/panel-framework-core").PanelContextValue;
|
|
20
|
+
actions: import("@principal-ade/panel-framework-core").PanelActions;
|
|
21
|
+
events: import("@principal-ade/panel-framework-core").PanelEventEmitter;
|
|
22
|
+
}>) => import("react/jsx-runtime").JSX.Element)[];
|
|
23
|
+
};
|
|
24
|
+
export default meta;
|
|
25
|
+
type Story = StoryObj<typeof meta>;
|
|
26
|
+
/**
|
|
27
|
+
* Default state with owned and starred repositories
|
|
28
|
+
*/
|
|
29
|
+
export declare const Default: Story;
|
|
30
|
+
/**
|
|
31
|
+
* Loading state while fetching repositories
|
|
32
|
+
*/
|
|
33
|
+
export declare const Loading: Story;
|
|
34
|
+
/**
|
|
35
|
+
* Not authenticated - prompts user to sign in
|
|
36
|
+
*/
|
|
37
|
+
export declare const NotAuthenticated: Story;
|
|
38
|
+
/**
|
|
39
|
+
* Authenticated but no repositories
|
|
40
|
+
*/
|
|
41
|
+
export declare const EmptyRepositories: Story;
|
|
42
|
+
/**
|
|
43
|
+
* Only owned repositories (no starred)
|
|
44
|
+
*/
|
|
45
|
+
export declare const OnlyOwned: Story;
|
|
46
|
+
/**
|
|
47
|
+
* Only starred repositories (no owned)
|
|
48
|
+
*/
|
|
49
|
+
export declare const OnlyStarred: Story;
|
|
50
|
+
/**
|
|
51
|
+
* Many repositories - tests scrolling
|
|
52
|
+
*/
|
|
53
|
+
export declare const ManyRepositories: Story;
|
|
54
|
+
/**
|
|
55
|
+
* No GitHub slice available
|
|
56
|
+
*/
|
|
57
|
+
export declare const NoDataSlice: Story;
|
|
58
|
+
/**
|
|
59
|
+
* Interactive with event logging
|
|
60
|
+
*/
|
|
61
|
+
export declare const Interactive: Story;
|
|
62
|
+
/**
|
|
63
|
+
* With organizations - shows personal, org, and starred repos
|
|
64
|
+
*/
|
|
65
|
+
export declare const WithOrganizations: Story;
|
|
66
|
+
/**
|
|
67
|
+
* Compact layout (narrow panel) - simulates a sidebar view
|
|
68
|
+
*/
|
|
69
|
+
export declare const CompactLayout: Story;
|
|
70
|
+
/**
|
|
71
|
+
* Expanded layout (wide panel) - simulates a main panel view
|
|
72
|
+
*/
|
|
73
|
+
export declare const ExpandedLayout: Story;
|
|
74
|
+
/**
|
|
75
|
+
* Single organization - user belongs to one org
|
|
76
|
+
*/
|
|
77
|
+
export declare const SingleOrganization: Story;
|
|
78
|
+
/**
|
|
79
|
+
* Many organizations - user belongs to multiple orgs
|
|
80
|
+
*/
|
|
81
|
+
export declare const ManyOrganizations: Story;
|
|
82
|
+
//# sourceMappingURL=GitHubProjectsPanel.stories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GitHubProjectsPanel.stories.d.ts","sourceRoot":"","sources":["../../src/panels/GitHubProjectsPanel.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAkBvD;;;GAGG;AACH,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;CA6BkC,CAAC;AAE7C,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAkCnC;;GAEG;AACH,eAAO,MAAM,OAAO,EAAE,KAMrB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,OAAO,EAAE,KAMrB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,KAM9B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,KAM/B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,SAAS,EAAE,KAWvB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,KAWzB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,KAkB9B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,KAWzB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,KA4BzB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,KAa/B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,KAoB3B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,KAoB5B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,KAYhC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,KAwD/B,CAAC"}
|