@echothink-ui/project 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/README.md +5 -0
- package/dist/components/ProjectActivityTimeline.d.ts +5 -0
- package/dist/components/ProjectAppDomainPanel.d.ts +8 -0
- package/dist/components/ProjectCard.d.ts +8 -0
- package/dist/components/ProjectCreateForm.d.ts +7 -0
- package/dist/components/ProjectDashboardTemplate.d.ts +11 -0
- package/dist/components/ProjectManagementPage.d.ts +17 -0
- package/dist/components/ProjectMembersPanel.d.ts +9 -0
- package/dist/components/ProjectModelConfigPanel.d.ts +9 -0
- package/dist/components/ProjectPermissionPanel.d.ts +9 -0
- package/dist/components/ProjectResourcePanel.d.ts +6 -0
- package/dist/components/ProjectScopeSelector.d.ts +7 -0
- package/dist/components/ProjectSettingsPanel.d.ts +6 -0
- package/dist/components/ProjectStatusSummary.d.ts +6 -0
- package/dist/components/ProjectSummaryPanel.d.ts +5 -0
- package/dist/components/ProjectTab.d.ts +3 -0
- package/dist/components/ProjectTabGroup.d.ts +12 -0
- package/dist/components/ProjectTable.d.ts +9 -0
- package/dist/index.cjs +2112 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.css +2059 -0
- package/dist/index.css.map +1 -0
- package/dist/index.d.ts +21 -0
- package/dist/index.js +2098 -0
- package/dist/index.js.map +1 -0
- package/dist/types.d.ts +99 -0
- package/dist/utils.d.ts +288 -0
- package/package.json +45 -0
- package/src/components/ProjectActivityTimeline.test.tsx +43 -0
- package/src/components/ProjectActivityTimeline.tsx +118 -0
- package/src/components/ProjectAppDomainPanel.tsx +147 -0
- package/src/components/ProjectCard.tsx +117 -0
- package/src/components/ProjectCreateForm.test.tsx +45 -0
- package/src/components/ProjectCreateForm.tsx +176 -0
- package/src/components/ProjectDashboardTemplate.tsx +107 -0
- package/src/components/ProjectManagementPage.tsx +112 -0
- package/src/components/ProjectMembersPanel.tsx +181 -0
- package/src/components/ProjectModelConfigPanel.tsx +294 -0
- package/src/components/ProjectPermissionPanel.tsx +174 -0
- package/src/components/ProjectResourcePanel.tsx +154 -0
- package/src/components/ProjectScopeSelector.test.tsx +50 -0
- package/src/components/ProjectScopeSelector.tsx +92 -0
- package/src/components/ProjectSettingsPanel.test.tsx +25 -0
- package/src/components/ProjectSettingsPanel.tsx +244 -0
- package/src/components/ProjectStatusSummary.tsx +165 -0
- package/src/components/ProjectSummaryPanel.test.tsx +37 -0
- package/src/components/ProjectSummaryPanel.tsx +85 -0
- package/src/components/ProjectTab.tsx +8 -0
- package/src/components/ProjectTabGroup.tsx +38 -0
- package/src/components/ProjectTable.tsx +138 -0
- package/src/index.test.tsx +337 -0
- package/src/index.tsx +41 -0
- package/src/styles.css +2431 -0
- package/src/types.ts +111 -0
- package/src/utils.ts +96 -0
package/README.md
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
# @echothink-ui/project
|
|
2
|
+
|
|
3
|
+
Project package for EchoThink app-domain websites.
|
|
4
|
+
|
|
5
|
+
This package is part of the EchoThink-UI app-domain library. It is designed for normal website app domains rendered inside EchoThink Studio's Chromium shell, not for implementing the studio browser chrome itself.
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { ProjectActivityEvent, ProjectBaseProps } from "../types";
|
|
2
|
+
export interface ProjectActivityTimelineProps extends ProjectBaseProps {
|
|
3
|
+
events?: ProjectActivityEvent[];
|
|
4
|
+
}
|
|
5
|
+
export declare function ProjectActivityTimeline({ events, className, title, ...props }: ProjectActivityTimelineProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { ProjectAppDomainInstance, ProjectBaseProps } from "../types";
|
|
2
|
+
export interface ProjectAppDomainPanelProps extends ProjectBaseProps {
|
|
3
|
+
instances?: ProjectAppDomainInstance[];
|
|
4
|
+
onOpen?: (instanceId: string) => void;
|
|
5
|
+
onConfigure?: (instanceId: string) => void;
|
|
6
|
+
onRemove?: (instanceId: string) => void;
|
|
7
|
+
}
|
|
8
|
+
export declare function ProjectAppDomainPanel({ instances, onOpen, onConfigure, onRemove, className, title, ...props }: ProjectAppDomainPanelProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { type EthAction } from "@echothink-ui/core";
|
|
2
|
+
import type { ProjectBaseProps, ProjectSummary } from "../types";
|
|
3
|
+
export interface ProjectCardProps extends ProjectBaseProps {
|
|
4
|
+
project?: ProjectSummary;
|
|
5
|
+
onSelect?: (projectId: string) => void;
|
|
6
|
+
actions?: EthAction[];
|
|
7
|
+
}
|
|
8
|
+
export declare function ProjectCard({ project, onSelect, actions, className, ...props }: ProjectCardProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { ProjectBaseProps, ProjectCreateValues } from "../types";
|
|
2
|
+
export interface ProjectCreateFormProps extends ProjectBaseProps {
|
|
3
|
+
defaults?: Partial<ProjectCreateValues>;
|
|
4
|
+
onSubmit?: (values: ProjectCreateValues) => void;
|
|
5
|
+
onCancel?: () => void;
|
|
6
|
+
}
|
|
7
|
+
export declare function ProjectCreateForm({ defaults, onSubmit, onCancel, title, description, className, ...props }: ProjectCreateFormProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { type EthAction } from "@echothink-ui/core";
|
|
2
|
+
import type { ProjectActivityEvent, ProjectAppDomainInstance, ProjectBaseProps, ProjectResource, ProjectSummary } from "../types";
|
|
3
|
+
export interface ProjectDashboardTemplateProps extends ProjectBaseProps {
|
|
4
|
+
project?: ProjectSummary;
|
|
5
|
+
projects?: ProjectSummary[];
|
|
6
|
+
events?: ProjectActivityEvent[];
|
|
7
|
+
resources?: ProjectResource[];
|
|
8
|
+
instances?: ProjectAppDomainInstance[];
|
|
9
|
+
actions?: EthAction[];
|
|
10
|
+
}
|
|
11
|
+
export declare function ProjectDashboardTemplate({ project, projects, events, resources, instances, className, actions, ...props }: ProjectDashboardTemplateProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { type EthAction } from "@echothink-ui/core";
|
|
3
|
+
import type { ProjectBaseProps, ProjectSummary } from "../types";
|
|
4
|
+
export interface ProjectManagementPageProps extends ProjectBaseProps {
|
|
5
|
+
projects?: ProjectSummary[];
|
|
6
|
+
onCreate?: () => void;
|
|
7
|
+
onSelect?: (projectId: string) => void;
|
|
8
|
+
onFilterSelect?: (filterId: string) => void;
|
|
9
|
+
filters?: Array<{
|
|
10
|
+
id: string;
|
|
11
|
+
label: React.ReactNode;
|
|
12
|
+
active?: boolean;
|
|
13
|
+
}>;
|
|
14
|
+
activeProjectId?: string;
|
|
15
|
+
actions?: EthAction[];
|
|
16
|
+
}
|
|
17
|
+
export declare function ProjectManagementPage({ projects, onCreate, onSelect, onFilterSelect, filters, activeProjectId, title, subtitle, className, actions, ...props }: ProjectManagementPageProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { ProjectBaseProps, ProjectMember } from "../types";
|
|
2
|
+
export interface ProjectMembersPanelProps extends ProjectBaseProps {
|
|
3
|
+
members?: ProjectMember[];
|
|
4
|
+
roles?: string[];
|
|
5
|
+
onAdd?: () => void;
|
|
6
|
+
onRemove?: (memberId: string) => void;
|
|
7
|
+
onChangeRole?: (memberId: string, role: string) => void;
|
|
8
|
+
}
|
|
9
|
+
export declare function ProjectMembersPanel({ members, roles, onAdd, onRemove, onChangeRole, className, title, ...props }: ProjectMembersPanelProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { ProjectBaseProps, ProjectModelConfig, ProjectModelProvider } from "../types";
|
|
2
|
+
export interface ProjectModelConfigPanelProps extends ProjectBaseProps {
|
|
3
|
+
providers?: Array<string | ProjectModelProvider>;
|
|
4
|
+
selectedProvider?: string;
|
|
5
|
+
model?: string;
|
|
6
|
+
params?: ProjectModelConfig["params"];
|
|
7
|
+
onChange?: (config: ProjectModelConfig) => void;
|
|
8
|
+
}
|
|
9
|
+
export declare function ProjectModelConfigPanel({ providers, selectedProvider, model, params, onChange, className, title, description, ...props }: ProjectModelConfigPanelProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { ProjectBaseProps, ProjectPermissionEntity } from "../types";
|
|
2
|
+
export interface ProjectPermissionPanelProps extends ProjectBaseProps {
|
|
3
|
+
subjects?: ProjectPermissionEntity[];
|
|
4
|
+
resources?: ProjectPermissionEntity[];
|
|
5
|
+
actions?: ProjectPermissionEntity[];
|
|
6
|
+
assignments?: Record<string, boolean>;
|
|
7
|
+
onChange?: (key: string, granted: boolean) => void;
|
|
8
|
+
}
|
|
9
|
+
export declare function ProjectPermissionPanel({ subjects, resources, actions, assignments, onChange, title, description, density, className, ...props }: ProjectPermissionPanelProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { ProjectBaseProps, ProjectResource } from "../types";
|
|
2
|
+
export interface ProjectResourcePanelProps extends ProjectBaseProps {
|
|
3
|
+
resources?: ProjectResource[];
|
|
4
|
+
onSelect?: (resourceId: string) => void;
|
|
5
|
+
}
|
|
6
|
+
export declare function ProjectResourcePanel({ resources, onSelect, className, title, ...props }: ProjectResourcePanelProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { ProjectBaseProps, ProjectScope } from "../types";
|
|
2
|
+
export interface ProjectScopeSelectorProps extends ProjectBaseProps {
|
|
3
|
+
scopes?: ProjectScope[];
|
|
4
|
+
activeScopeId?: string;
|
|
5
|
+
onSelect?: (scopeId: string) => void;
|
|
6
|
+
}
|
|
7
|
+
export declare function ProjectScopeSelector({ scopes, activeScopeId, onSelect, className, ...props }: ProjectScopeSelectorProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { ProjectBaseProps, ProjectSettings } from "../types";
|
|
2
|
+
export interface ProjectSettingsPanelProps extends ProjectBaseProps {
|
|
3
|
+
settings?: ProjectSettings;
|
|
4
|
+
onChange?: (settings: ProjectSettings) => void;
|
|
5
|
+
}
|
|
6
|
+
export declare function ProjectSettingsPanel({ settings, onChange, className, ...props }: ProjectSettingsPanelProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { ProjectBaseProps, ProjectStatusSummaryData, ProjectSummary } from "../types";
|
|
2
|
+
export interface ProjectStatusSummaryProps extends ProjectBaseProps {
|
|
3
|
+
projects?: ProjectSummary[];
|
|
4
|
+
summary?: ProjectStatusSummaryData;
|
|
5
|
+
}
|
|
6
|
+
export declare function ProjectStatusSummary({ projects, summary, title, className, ...props }: ProjectStatusSummaryProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { ProjectBaseProps, ProjectSummary } from "../types";
|
|
2
|
+
export interface ProjectSummaryPanelProps extends ProjectBaseProps {
|
|
3
|
+
project?: ProjectSummary;
|
|
4
|
+
}
|
|
5
|
+
export declare function ProjectSummaryPanel({ project, className, ...props }: ProjectSummaryPanelProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { type ProjectTabItem } from "@echothink-ui/layouts";
|
|
3
|
+
import type { ProjectBaseProps } from "../types";
|
|
4
|
+
export interface ProjectTabGroupProps extends ProjectBaseProps {
|
|
5
|
+
projectId: string;
|
|
6
|
+
projectLabel: React.ReactNode;
|
|
7
|
+
tabs: ProjectTabItem[];
|
|
8
|
+
activeTabId?: string;
|
|
9
|
+
onActivateTab?: (id: string) => void;
|
|
10
|
+
onCloseTab?: (id: string) => void;
|
|
11
|
+
}
|
|
12
|
+
export declare function ProjectTabGroup({ projectId, projectLabel, tabs, activeTabId, onActivateTab, onCloseTab, className, ...props }: ProjectTabGroupProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type EthAction } from "@echothink-ui/core";
|
|
2
|
+
import type { ProjectBaseProps, ProjectSummary } from "../types";
|
|
3
|
+
export interface ProjectTableProps extends ProjectBaseProps {
|
|
4
|
+
projects?: ProjectSummary[];
|
|
5
|
+
onRowSelect?: (projectId: string) => void;
|
|
6
|
+
selectedProjectId?: string;
|
|
7
|
+
rowActions?: (project: ProjectSummary) => EthAction[];
|
|
8
|
+
}
|
|
9
|
+
export declare function ProjectTable({ projects, onRowSelect, selectedProjectId, rowActions, density, className, ...props }: ProjectTableProps): import("react/jsx-runtime").JSX.Element;
|