@elench/shell 0.1.8 → 0.1.10
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 +9 -9
- package/dist/components/shell/primitives/sidebar-new-button.js +1 -1
- package/dist/components/shell/primitives/sidebar-new-button.js.map +1 -1
- package/dist/index.d.ts +5 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/shell/api.d.ts +17 -0
- package/dist/lib/shell/api.d.ts.map +1 -0
- package/dist/lib/shell/api.js +93 -0
- package/dist/lib/shell/api.js.map +1 -0
- package/dist/styles.css +406 -1
- package/dist/workbench.d.ts +194 -0
- package/dist/workbench.d.ts.map +1 -0
- package/dist/workbench.js +378 -0
- package/dist/workbench.js.map +1 -0
- package/package.json +4 -2
- package/dist/public-api.d.ts +0 -114
- package/dist/public-api.d.ts.map +0 -1
- package/dist/public-api.js +0 -151
- package/dist/public-api.js.map +0 -1
package/dist/public-api.d.ts
DELETED
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
import type { ReactNode } from "react";
|
|
2
|
-
import type { ShellSearchBarProps, ShellTab as InternalShellTab, ShellTabTarget, ShellTabTone } from "./lib/shell/types.js";
|
|
3
|
-
import type { ShellEventSource } from "./lib/observe/shell.js";
|
|
4
|
-
export type { ShellTabTarget, ShellTabTone };
|
|
5
|
-
export type ShellTab<TTarget extends ShellTabTarget = ShellTabTarget> = InternalShellTab & {
|
|
6
|
-
sectionId: string;
|
|
7
|
-
title: string;
|
|
8
|
-
target: TTarget;
|
|
9
|
-
};
|
|
10
|
-
export type ShellActionMeta = {
|
|
11
|
-
preview?: boolean;
|
|
12
|
-
source?: ShellEventSource;
|
|
13
|
-
};
|
|
14
|
-
export type ShellController = {
|
|
15
|
-
activeSectionId: string;
|
|
16
|
-
activeTab: ShellTab | null;
|
|
17
|
-
closeAllTabs: (meta?: ShellActionMeta) => void;
|
|
18
|
-
closeOtherTabs: (tabId: string, meta?: ShellActionMeta) => void;
|
|
19
|
-
closeTab: (tabId: string, meta?: ShellActionMeta) => void;
|
|
20
|
-
isOpen: (tabId: string) => boolean;
|
|
21
|
-
isSelected: (tabId: string) => boolean;
|
|
22
|
-
openTab: (tab: ShellTab, meta?: ShellActionMeta) => void;
|
|
23
|
-
pinTab: (tabId: string, meta?: ShellActionMeta) => void;
|
|
24
|
-
selectSection: (sectionId: string, meta?: ShellActionMeta) => void;
|
|
25
|
-
selectTab: (tabId: string, meta?: ShellActionMeta) => void;
|
|
26
|
-
tabs: ShellTab[];
|
|
27
|
-
tabsForActiveSection: ShellTab[];
|
|
28
|
-
tabsForSection: (sectionId: string) => ShellTab[];
|
|
29
|
-
};
|
|
30
|
-
export type ShellSidebarContext = ShellController & {
|
|
31
|
-
section: ShellSectionDefinition;
|
|
32
|
-
};
|
|
33
|
-
export type ShellRenderContext<TTab extends ShellTab = ShellTab> = ShellController & {
|
|
34
|
-
section: ShellSectionDefinition;
|
|
35
|
-
tab: TTab;
|
|
36
|
-
};
|
|
37
|
-
export type DefineShellSectionInput = {
|
|
38
|
-
id: string;
|
|
39
|
-
label: string;
|
|
40
|
-
icon: ReactNode;
|
|
41
|
-
renderSidebar: (ctx: ShellSidebarContext) => ReactNode;
|
|
42
|
-
renderTab: (ctx: ShellRenderContext) => ReactNode;
|
|
43
|
-
renderInspector?: (ctx: ShellRenderContext) => ReactNode;
|
|
44
|
-
renderSearch?: (ctx: ShellSearchBarProps & {
|
|
45
|
-
section: ShellSectionDefinition;
|
|
46
|
-
}) => ReactNode;
|
|
47
|
-
renderStatus?: (ctx: ShellController) => ReactNode;
|
|
48
|
-
};
|
|
49
|
-
export type ShellSectionDefinition = DefineShellSectionInput;
|
|
50
|
-
export type ShellAppDefinition = {
|
|
51
|
-
id: string;
|
|
52
|
-
title: string;
|
|
53
|
-
sections: ShellSectionDefinition[];
|
|
54
|
-
storageNamespace: string;
|
|
55
|
-
};
|
|
56
|
-
export type ShellAppProps = {
|
|
57
|
-
app: ShellAppDefinition;
|
|
58
|
-
initialSectionId?: string;
|
|
59
|
-
};
|
|
60
|
-
type DefineShellTabInput<TTarget extends ShellTabTarget> = {
|
|
61
|
-
id: string;
|
|
62
|
-
sectionId: string;
|
|
63
|
-
title: string;
|
|
64
|
-
description?: string;
|
|
65
|
-
tone?: ShellTabTone;
|
|
66
|
-
preview?: boolean;
|
|
67
|
-
target: TTarget;
|
|
68
|
-
};
|
|
69
|
-
export declare function defineShellApp(app: ShellAppDefinition): ShellAppDefinition;
|
|
70
|
-
export declare function defineShellSection(section: DefineShellSectionInput): ShellSectionDefinition;
|
|
71
|
-
export declare function defineShellTab<TTarget extends ShellTabTarget>(tab: DefineShellTabInput<TTarget>): ShellTab<TTarget>;
|
|
72
|
-
export declare function ShellApp({ app, initialSectionId }: ShellAppProps): import("react/jsx-runtime").JSX.Element;
|
|
73
|
-
export declare function useShellController(): ShellController;
|
|
74
|
-
export declare function ShellSidebar({ children, title, }: {
|
|
75
|
-
children: ReactNode;
|
|
76
|
-
title?: string;
|
|
77
|
-
}): import("react/jsx-runtime").JSX.Element;
|
|
78
|
-
export declare function ShellSidebarNewButton({ disabled, noun, onClick, }: {
|
|
79
|
-
disabled?: boolean;
|
|
80
|
-
noun: string;
|
|
81
|
-
onClick: () => void;
|
|
82
|
-
}): import("react/jsx-runtime").JSX.Element;
|
|
83
|
-
export declare function ShellSidebarSection({ children, title, }: {
|
|
84
|
-
children: ReactNode;
|
|
85
|
-
title: string;
|
|
86
|
-
}): import("react/jsx-runtime").JSX.Element;
|
|
87
|
-
export declare function ShellSidebarItem({ active, children, description, icon, onClick, }: {
|
|
88
|
-
active?: boolean;
|
|
89
|
-
children: ReactNode;
|
|
90
|
-
description?: string;
|
|
91
|
-
icon?: ReactNode;
|
|
92
|
-
onClick: () => void;
|
|
93
|
-
tone?: ShellTabTone;
|
|
94
|
-
}): import("react/jsx-runtime").JSX.Element;
|
|
95
|
-
export declare function ShellPage({ actions, children, description, eyebrow, title, }: {
|
|
96
|
-
actions?: ReactNode;
|
|
97
|
-
children: ReactNode;
|
|
98
|
-
description?: string;
|
|
99
|
-
eyebrow?: string | null;
|
|
100
|
-
title: string;
|
|
101
|
-
}): import("react/jsx-runtime").JSX.Element;
|
|
102
|
-
export declare function ShellMetric({ title, value, }: {
|
|
103
|
-
title: string;
|
|
104
|
-
value: ReactNode;
|
|
105
|
-
}): import("react/jsx-runtime").JSX.Element;
|
|
106
|
-
export declare function ShellField({ label, value, }: {
|
|
107
|
-
label: string;
|
|
108
|
-
value: ReactNode;
|
|
109
|
-
}): import("react/jsx-runtime").JSX.Element;
|
|
110
|
-
export declare function ShellEmptyState({ description, title, }: {
|
|
111
|
-
description?: string;
|
|
112
|
-
title: string;
|
|
113
|
-
}): import("react/jsx-runtime").JSX.Element;
|
|
114
|
-
//# sourceMappingURL=public-api.d.ts.map
|
package/dist/public-api.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"public-api.d.ts","sourceRoot":"","sources":["../src/public-api.tsx"],"names":[],"mappings":"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"}
|
package/dist/public-api.js
DELETED
|
@@ -1,151 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
3
|
-
import { AppShell as AvocadoShellApp } from "./components/shell/app-shell.js";
|
|
4
|
-
import { SidebarActionRow } from "./components/shell/primitives/sidebar-action-row.js";
|
|
5
|
-
import { SidebarFrame } from "./components/shell/primitives/sidebar-frame.js";
|
|
6
|
-
import { SidebarNewButton } from "./components/shell/primitives/sidebar-new-button.js";
|
|
7
|
-
import { SidebarSection } from "./components/shell/primitives/sidebar-section.js";
|
|
8
|
-
import { WorkspaceFormHeader, WorkspacePageFrame, } from "./components/shell/primitives/workspace-page.js";
|
|
9
|
-
import { InspectorField, InspectorValue, } from "./components/shell/primitives/inspector-panel.js";
|
|
10
|
-
import { useShellRegistry } from "./hooks/shell/shell-registry-provider.js";
|
|
11
|
-
import { useShellStore } from "./hooks/shell/use-shell-store.js";
|
|
12
|
-
export function defineShellApp(app) {
|
|
13
|
-
if (app.sections.length === 0) {
|
|
14
|
-
throw new Error("Shell apps must define at least one section.");
|
|
15
|
-
}
|
|
16
|
-
const ids = app.sections.map((section) => section.id);
|
|
17
|
-
if (new Set(ids).size !== ids.length) {
|
|
18
|
-
throw new Error("Shell sections must have unique ids.");
|
|
19
|
-
}
|
|
20
|
-
return app;
|
|
21
|
-
}
|
|
22
|
-
export function defineShellSection(section) {
|
|
23
|
-
return section;
|
|
24
|
-
}
|
|
25
|
-
export function defineShellTab(tab) {
|
|
26
|
-
return {
|
|
27
|
-
...tab,
|
|
28
|
-
mode: tab.sectionId,
|
|
29
|
-
label: tab.title,
|
|
30
|
-
};
|
|
31
|
-
}
|
|
32
|
-
export function ShellApp({ app, initialSectionId }) {
|
|
33
|
-
return (_jsx(AvocadoShellApp, { appTitle: app.title, initialActiveMode: initialSectionId ?? app.sections[0]?.id, workspaces: app.sections.map((section) => toWorkspace(section)), children: _jsx(CompactWorkspace, {}) }));
|
|
34
|
-
}
|
|
35
|
-
export function useShellController() {
|
|
36
|
-
return usePublicShellController();
|
|
37
|
-
}
|
|
38
|
-
export function ShellSidebar({ children, title, }) {
|
|
39
|
-
return _jsx(SidebarFrame, { title: title, children: children });
|
|
40
|
-
}
|
|
41
|
-
export function ShellSidebarNewButton({ disabled, noun, onClick, }) {
|
|
42
|
-
return (_jsx(SidebarNewButton, { "aria-label": `New ${noun}`, disabled: disabled, noun: noun, onClick: onClick }));
|
|
43
|
-
}
|
|
44
|
-
export function ShellSidebarSection({ children, title, }) {
|
|
45
|
-
return _jsx(SidebarSection, { title: title, children: children });
|
|
46
|
-
}
|
|
47
|
-
export function ShellSidebarItem({ active, children, description, icon, onClick, }) {
|
|
48
|
-
return (_jsx(SidebarActionRow, { active: active, "aria-selected": active, description: description, icon: icon, onClick: onClick, role: "tab", title: typeof children === "string" ? children : String(children ?? "") }));
|
|
49
|
-
}
|
|
50
|
-
export function ShellPage({ actions, children, description, eyebrow, title, }) {
|
|
51
|
-
return (_jsxs(WorkspacePageFrame, { width: "full", children: [_jsx(WorkspaceFormHeader, { actions: actions, description: description, eyebrow: eyebrow, title: title }), children] }));
|
|
52
|
-
}
|
|
53
|
-
export function ShellMetric({ title, value, }) {
|
|
54
|
-
return (_jsxs("div", { className: "rounded-[10px] border border-border bg-bg-card px-4 py-[14px]", children: [_jsx("p", { className: "mb-1.5 text-[11px] font-medium tracking-[0.06em] text-fg-tertiary uppercase", children: title }), _jsx("p", { className: "font-mono text-[22px] leading-[1.2] font-semibold text-fg", children: value })] }));
|
|
55
|
-
}
|
|
56
|
-
export function ShellField({ label, value, }) {
|
|
57
|
-
return (_jsx(InspectorField, { label: label, value: _jsx(InspectorValue, { children: value }) }));
|
|
58
|
-
}
|
|
59
|
-
export function ShellEmptyState({ description, title, }) {
|
|
60
|
-
return (_jsxs("div", { className: "flex h-full min-h-44 w-full flex-col items-center justify-center gap-1.5 p-6 text-center", children: [_jsx("h3", { className: "text-sm font-medium text-muted-foreground", children: title }), description ? (_jsx("p", { className: "max-w-prose text-sm text-muted-foreground/60", children: description })) : null] }));
|
|
61
|
-
}
|
|
62
|
-
function toWorkspace(section) {
|
|
63
|
-
const Sidebar = () => {
|
|
64
|
-
const ctx = usePublicShellController();
|
|
65
|
-
return _jsx(_Fragment, { children: section.renderSidebar({ ...ctx, section }) });
|
|
66
|
-
};
|
|
67
|
-
const Workspace = ({ tab }) => {
|
|
68
|
-
const ctx = usePublicShellController();
|
|
69
|
-
if (!tab)
|
|
70
|
-
return _jsx("div", { "aria-label": "No open tab", className: "h-full" });
|
|
71
|
-
return (_jsx(_Fragment, { children: section.renderTab({
|
|
72
|
-
...ctx,
|
|
73
|
-
section,
|
|
74
|
-
tab: ensurePublicTab(tab),
|
|
75
|
-
}) }));
|
|
76
|
-
};
|
|
77
|
-
const Inspector = section.renderInspector
|
|
78
|
-
? ({ tab }) => {
|
|
79
|
-
const ctx = usePublicShellController();
|
|
80
|
-
if (!tab)
|
|
81
|
-
return _jsx(ShellEmptyState, { title: "No tab selected" });
|
|
82
|
-
return (_jsx(_Fragment, { children: section.renderInspector?.({
|
|
83
|
-
...ctx,
|
|
84
|
-
section,
|
|
85
|
-
tab: ensurePublicTab(tab),
|
|
86
|
-
}) }));
|
|
87
|
-
}
|
|
88
|
-
: undefined;
|
|
89
|
-
const SearchBarContent = section.renderSearch
|
|
90
|
-
? (props) => (_jsx(_Fragment, { children: section.renderSearch?.({ ...props, section }) }))
|
|
91
|
-
: undefined;
|
|
92
|
-
return {
|
|
93
|
-
mode: section.id,
|
|
94
|
-
label: section.label,
|
|
95
|
-
icon: section.icon,
|
|
96
|
-
Sidebar,
|
|
97
|
-
Workspace,
|
|
98
|
-
Inspector,
|
|
99
|
-
SearchBarContent,
|
|
100
|
-
};
|
|
101
|
-
}
|
|
102
|
-
function CompactWorkspace() {
|
|
103
|
-
const { activeTabWorkspace, activeModeWorkspace, activeTab } = useShellRegistry();
|
|
104
|
-
const Workspace = activeTabWorkspace?.Workspace ?? activeModeWorkspace?.Workspace ?? null;
|
|
105
|
-
const tab = activeTabWorkspace ? activeTab : null;
|
|
106
|
-
return Workspace ? _jsx(Workspace, { tab: tab }) : null;
|
|
107
|
-
}
|
|
108
|
-
function usePublicShellController() {
|
|
109
|
-
const { activeMode, activeTab } = useShellRegistry();
|
|
110
|
-
const store = useShellStore();
|
|
111
|
-
const tabs = store.tabs.map(ensurePublicTab);
|
|
112
|
-
const activePublicTab = activeTab && activeTab.mode === activeMode
|
|
113
|
-
? ensurePublicTab(activeTab)
|
|
114
|
-
: null;
|
|
115
|
-
const tabsForActiveSection = tabs.filter((tab) => tab.sectionId === activeMode);
|
|
116
|
-
return {
|
|
117
|
-
activeSectionId: activeMode,
|
|
118
|
-
activeTab: activePublicTab,
|
|
119
|
-
closeAllTabs: store.closeAllTabs,
|
|
120
|
-
closeOtherTabs: store.closeOtherTabs,
|
|
121
|
-
closeTab: store.closeTab,
|
|
122
|
-
isOpen: (tabId) => tabs.some((tab) => tab.id === tabId),
|
|
123
|
-
isSelected: (tabId) => activePublicTab?.id === tabId,
|
|
124
|
-
openTab: (tab, meta) => {
|
|
125
|
-
store.setActiveMode(tab.sectionId, meta);
|
|
126
|
-
store.openTab(ensureInternalTab(tab), meta);
|
|
127
|
-
},
|
|
128
|
-
pinTab: store.pinTab,
|
|
129
|
-
selectSection: store.setActiveMode,
|
|
130
|
-
selectTab: (tabId, meta) => store.setActiveTab(tabId, meta),
|
|
131
|
-
tabs,
|
|
132
|
-
tabsForActiveSection,
|
|
133
|
-
tabsForSection: (sectionId) => tabs.filter((tab) => tab.sectionId === sectionId),
|
|
134
|
-
};
|
|
135
|
-
}
|
|
136
|
-
function ensureInternalTab(tab) {
|
|
137
|
-
return {
|
|
138
|
-
...tab,
|
|
139
|
-
mode: tab.sectionId,
|
|
140
|
-
label: tab.title,
|
|
141
|
-
};
|
|
142
|
-
}
|
|
143
|
-
function ensurePublicTab(tab) {
|
|
144
|
-
const maybePublic = tab;
|
|
145
|
-
return {
|
|
146
|
-
...tab,
|
|
147
|
-
sectionId: maybePublic.sectionId ?? tab.mode,
|
|
148
|
-
title: maybePublic.title ?? tab.label,
|
|
149
|
-
};
|
|
150
|
-
}
|
|
151
|
-
//# sourceMappingURL=public-api.js.map
|
package/dist/public-api.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"public-api.js","sourceRoot":"","sources":["../src/public-api.tsx"],"names":[],"mappings":"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"}
|