@elench/shell 0.1.4 → 0.1.6
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 +21 -37
- package/dist/components/shell/right-inspector.d.ts.map +1 -1
- package/dist/components/shell/right-inspector.js +10 -6
- package/dist/components/shell/right-inspector.js.map +1 -1
- package/dist/components/shell/workspace-tab-content.d.ts.map +1 -1
- package/dist/components/shell/workspace-tab-content.js +5 -1
- package/dist/components/shell/workspace-tab-content.js.map +1 -1
- package/dist/public-api.d.ts.map +1 -1
- package/dist/public-api.js +5 -3
- package/dist/public-api.js.map +1 -1
- package/dist/styles.css +4 -2
- package/package.json +8 -3
package/README.md
CHANGED
|
@@ -1,48 +1,32 @@
|
|
|
1
|
-
#
|
|
1
|
+
# @elench/shell
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Avocado's desktop shell extracted into a reusable React package.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
The package owns the shell frame, FlexLayout substrate, activity rail, sidebar,
|
|
6
|
+
workspace tabs, inspector, search bar, status bar, keyboard shortcuts, state
|
|
7
|
+
persistence, and Avocado shell styling. Product code consumes only the public
|
|
8
|
+
API exported from `@elench/shell`.
|
|
6
9
|
|
|
7
|
-
|
|
10
|
+
## Public API
|
|
8
11
|
|
|
9
|
-
```
|
|
10
|
-
|
|
11
|
-
|
|
12
|
+
```tsx
|
|
13
|
+
import {
|
|
14
|
+
ShellApp,
|
|
15
|
+
defineShellApp,
|
|
16
|
+
defineShellSection,
|
|
17
|
+
defineShellTab,
|
|
18
|
+
} from "@elench/shell";
|
|
19
|
+
import "@elench/shell/styles.css";
|
|
12
20
|
```
|
|
13
21
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
## How It Is Organized
|
|
18
|
-
|
|
19
|
-
- `src/app/` - Next.js routes and app entrypoints
|
|
20
|
-
- `src/components/shell/` - app shell layout, navigation, tabs, inspector
|
|
21
|
-
- `src/features/` - feature workspaces such as environments, instances, intelligence, and tools
|
|
22
|
-
- `src/hooks/` - data-fetching and domain hooks
|
|
23
|
-
- `src/hooks/shell/` - shell store, shortcuts, registry provider
|
|
24
|
-
- `src/lib/` - API client, shell types/actions, live updates, shared utilities
|
|
25
|
-
|
|
26
|
-
## Architectural Notes
|
|
27
|
-
|
|
28
|
-
- The UI is centered around a multi-panel shell: activity bar, sidebar, workspace, and inspector.
|
|
29
|
-
- Feature workspaces register themselves through `src/hooks/shell/shell-registry-provider.tsx`.
|
|
30
|
-
- Shell state is managed with Zustand; server state and domain behavior live in focused hooks.
|
|
31
|
-
- Real-time updates flow through SSE-based stream hooks such as `use-event-stream` and `use-runtime-stream`.
|
|
22
|
+
Studio/product code defines sections and tabs. The shell adapts those
|
|
23
|
+
definitions into the Avocado shell internals; consumers should not import
|
|
24
|
+
FlexLayout, shell internals, or package source paths directly.
|
|
32
25
|
|
|
33
|
-
##
|
|
26
|
+
## Commands
|
|
34
27
|
|
|
35
28
|
```bash
|
|
36
|
-
npm run dev
|
|
37
|
-
npm run build
|
|
38
|
-
npm run lint
|
|
39
29
|
npm run typecheck
|
|
40
|
-
npm
|
|
41
|
-
npm run
|
|
42
|
-
npm run storybook
|
|
43
|
-
npm run ci
|
|
30
|
+
npm test
|
|
31
|
+
npm run build
|
|
44
32
|
```
|
|
45
|
-
|
|
46
|
-
## Further Reading
|
|
47
|
-
|
|
48
|
-
- [Frontend architecture](../docs/frontend/architecture.md)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"right-inspector.d.ts","sourceRoot":"","sources":["../../../src/components/shell/right-inspector.tsx"],"names":[],"mappings":"AAeA,wBAAgB,cAAc,
|
|
1
|
+
{"version":3,"file":"right-inspector.d.ts","sourceRoot":"","sources":["../../../src/components/shell/right-inspector.tsx"],"names":[],"mappings":"AAeA,wBAAgB,cAAc,4CAiE7B"}
|
|
@@ -10,20 +10,24 @@ import { setShellTabFields, shellInspectorLogger } from "../../lib/observe/shell
|
|
|
10
10
|
import { useShellSurfaceActionGroups } from "./use-shell-surface-action-groups.js";
|
|
11
11
|
export function RightInspector() {
|
|
12
12
|
const hasHydrated = useShellStore((state) => state.hasHydrated);
|
|
13
|
-
const { activeModeWorkspace, activeTab, activeTabWorkspace } = useShellRegistry();
|
|
13
|
+
const { activeMode, activeModeWorkspace, activeTab, activeTabWorkspace } = useShellRegistry();
|
|
14
|
+
const scopedActiveTab = activeTab && activeTab.mode === activeMode ? activeTab : null;
|
|
15
|
+
const scopedActiveTabWorkspace = scopedActiveTab ? activeTabWorkspace : null;
|
|
14
16
|
const contextKeyRef = useRef("");
|
|
15
17
|
useEffect(() => {
|
|
16
|
-
const contextKey = `${activeModeWorkspace?.mode ?? "none"}:${
|
|
18
|
+
const contextKey = `${activeModeWorkspace?.mode ?? "none"}:${scopedActiveTab?.id ?? "none"}:${scopedActiveTabWorkspace?.mode ?? "none"}`;
|
|
17
19
|
if (contextKeyRef.current === contextKey) {
|
|
18
20
|
return;
|
|
19
21
|
}
|
|
20
22
|
setShellTabFields(shellInspectorLogger
|
|
21
23
|
.event("shell.inspector.context.changed")
|
|
22
|
-
.set("workspace_mode",
|
|
24
|
+
.set("workspace_mode", scopedActiveTabWorkspace?.mode ?? activeModeWorkspace?.mode ?? null), scopedActiveTab).send();
|
|
23
25
|
contextKeyRef.current = contextKey;
|
|
24
|
-
}, [activeModeWorkspace,
|
|
25
|
-
const Inspector =
|
|
26
|
-
|
|
26
|
+
}, [activeModeWorkspace, scopedActiveTab, scopedActiveTabWorkspace]);
|
|
27
|
+
const Inspector = scopedActiveTabWorkspace?.Inspector ??
|
|
28
|
+
activeModeWorkspace?.Inspector ??
|
|
29
|
+
null;
|
|
30
|
+
const tab = scopedActiveTabWorkspace ? scopedActiveTab : null;
|
|
27
31
|
const contextMenuGroups = useShellSurfaceActionGroups({
|
|
28
32
|
includeAppearance: false,
|
|
29
33
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"right-inspector.js","sourceRoot":"","sources":["../../../src/components/shell/right-inspector.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAC3E,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EACL,eAAe,EACf,cAAc,EACd,eAAe,GAChB,MAAM,+CAA+C,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC9E,OAAO,EAAE,2BAA2B,EAAE,MAAM,mCAAmC,CAAC;AAEhF,MAAM,UAAU,cAAc;IAC5B,MAAM,WAAW,GAAG,aAAa,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAChE,MAAM,EAAE,mBAAmB,EAAE,SAAS,EAAE,kBAAkB,EAAE,
|
|
1
|
+
{"version":3,"file":"right-inspector.js","sourceRoot":"","sources":["../../../src/components/shell/right-inspector.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAC3E,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EACL,eAAe,EACf,cAAc,EACd,eAAe,GAChB,MAAM,+CAA+C,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC9E,OAAO,EAAE,2BAA2B,EAAE,MAAM,mCAAmC,CAAC;AAEhF,MAAM,UAAU,cAAc;IAC5B,MAAM,WAAW,GAAG,aAAa,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAChE,MAAM,EAAE,UAAU,EAAE,mBAAmB,EAAE,SAAS,EAAE,kBAAkB,EAAE,GACtE,gBAAgB,EAAE,CAAC;IACrB,MAAM,eAAe,GACnB,SAAS,IAAI,SAAS,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;IAChE,MAAM,wBAAwB,GAAG,eAAe,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7E,MAAM,aAAa,GAAG,MAAM,CAAS,EAAE,CAAC,CAAC;IAEzC,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,UAAU,GAAG,GAAG,mBAAmB,EAAE,IAAI,IAAI,MAAM,IAAI,eAAe,EAAE,EAAE,IAAI,MAAM,IAAI,wBAAwB,EAAE,IAAI,IAAI,MAAM,EAAE,CAAC;QACzI,IAAI,aAAa,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;YACzC,OAAO;QACT,CAAC;QAED,iBAAiB,CACf,oBAAoB;aACjB,KAAK,CAAC,iCAAiC,CAAC;aACxC,GAAG,CACF,gBAAgB,EAChB,wBAAwB,EAAE,IAAI,IAAI,mBAAmB,EAAE,IAAI,IAAI,IAAI,CACpE,EACH,eAAe,CAChB,CAAC,IAAI,EAAE,CAAC;QACT,aAAa,CAAC,OAAO,GAAG,UAAU,CAAC;IACrC,CAAC,EAAE,CAAC,mBAAmB,EAAE,eAAe,EAAE,wBAAwB,CAAC,CAAC,CAAC;IAErE,MAAM,SAAS,GACb,wBAAwB,EAAE,SAAS;QACnC,mBAAmB,EAAE,SAAS;QAC9B,IAAI,CAAC;IACP,MAAM,GAAG,GAAG,wBAAwB,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9D,MAAM,iBAAiB,GAAG,2BAA2B,CAAC;QACpD,iBAAiB,EAAE,KAAK;KACzB,CAAC,CAAC;IAEH,OAAO,CACL,KAAC,iBAAiB,IAAC,MAAM,EAAE,iBAAiB,YAC1C,cAAK,SAAS,EAAC,QAAQ,YACrB,MAAC,cAAc,kBAAY,WAAW,aACpC,KAAC,eAAe,IAAC,KAAK,EAAC,WAAW,GAAG,EACrC,KAAC,eAAe,IAAC,SAAS,EAAC,MAAM,YAC9B,CAAC,WAAW,CAAC,CAAC,CAAC,CACd,cAAK,SAAS,EAAC,KAAK,YAClB,KAAC,YAAY,IACX,SAAS,EAAC,eAAe,EACzB,KAAK,EAAC,qBAAqB,GAC3B,GACE,CACP,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CACd,KAAC,SAAS,IAAC,GAAG,EAAE,GAAG,GAAI,CACxB,CAAC,CAAC,CAAC,CACF,cAAK,SAAS,EAAC,KAAK,YAClB,KAAC,UAAU,IACT,KAAK,EAAC,uBAAuB,EAC7B,WAAW,EAAC,2DAA2D,EACvE,SAAS,EAAC,eAAe,GACzB,GACE,CACP,GACe,IACH,GACb,GACY,CACrB,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace-tab-content.d.ts","sourceRoot":"","sources":["../../../src/components/shell/workspace-tab-content.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAGlD,UAAU,wBAAwB;IAChC,GAAG,EAAE,QAAQ,CAAC;CACf;AAED,wBAAgB,mBAAmB,CAAC,EAAE,GAAG,EAAE,EAAE,wBAAwB,
|
|
1
|
+
{"version":3,"file":"workspace-tab-content.d.ts","sourceRoot":"","sources":["../../../src/components/shell/workspace-tab-content.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAGlD,UAAU,wBAAwB;IAChC,GAAG,EAAE,QAAQ,CAAC;CACf;AAED,wBAAgB,mBAAmB,CAAC,EAAE,GAAG,EAAE,EAAE,wBAAwB,2CAqCpE"}
|
|
@@ -4,7 +4,11 @@ import { ErrorState } from "../system/async-state.js";
|
|
|
4
4
|
import { useShellRegistry } from "../../hooks/shell/shell-registry-provider.js";
|
|
5
5
|
import { WorkspaceSurfaceContextMenu } from "./workspace-surface-context-menu.js";
|
|
6
6
|
export function WorkspaceTabContent({ tab }) {
|
|
7
|
-
const { getWorkspace } = useShellRegistry();
|
|
7
|
+
const { activeMode, activeModeWorkspace, getWorkspace } = useShellRegistry();
|
|
8
|
+
if (tab.mode !== activeMode) {
|
|
9
|
+
const ActiveWorkspace = activeModeWorkspace?.Workspace ?? null;
|
|
10
|
+
return (_jsx(WorkspaceSurfaceContextMenu, { tab: null, workspace: activeModeWorkspace ?? undefined, children: _jsx("div", { className: "h-full overflow-auto bg-bg-surface", children: ActiveWorkspace ? _jsx(ActiveWorkspace, { tab: null }) : null }) }));
|
|
11
|
+
}
|
|
8
12
|
const workspace = getWorkspace(tab.mode);
|
|
9
13
|
if (!workspace) {
|
|
10
14
|
return (_jsx(WorkspaceSurfaceContextMenu, { tab: tab, children: _jsx(ErrorState, { title: "Workspace unavailable", description: "No workspace renderer is registered for this tab's mode." }) }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace-tab-content.js","sourceRoot":"","sources":["../../../src/components/shell/workspace-tab-content.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AAEzE,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAM/E,MAAM,UAAU,mBAAmB,CAAC,EAAE,GAAG,EAA4B;IACnE,MAAM,EAAE,YAAY,EAAE,GAAG,gBAAgB,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"workspace-tab-content.js","sourceRoot":"","sources":["../../../src/components/shell/workspace-tab-content.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AAEzE,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAM/E,MAAM,UAAU,mBAAmB,CAAC,EAAE,GAAG,EAA4B;IACnE,MAAM,EAAE,UAAU,EAAE,mBAAmB,EAAE,YAAY,EAAE,GAAG,gBAAgB,EAAE,CAAC;IAE7E,IAAI,GAAG,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QAC5B,MAAM,eAAe,GAAG,mBAAmB,EAAE,SAAS,IAAI,IAAI,CAAC;QAC/D,OAAO,CACL,KAAC,2BAA2B,IAC1B,GAAG,EAAE,IAAI,EACT,SAAS,EAAE,mBAAmB,IAAI,SAAS,YAE3C,cAAK,SAAS,EAAC,oCAAoC,YAChD,eAAe,CAAC,CAAC,CAAC,KAAC,eAAe,IAAC,GAAG,EAAE,IAAI,GAAI,CAAC,CAAC,CAAC,IAAI,GACpD,GACsB,CAC/B,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAEzC,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,CACL,KAAC,2BAA2B,IAAC,GAAG,EAAE,GAAG,YACnC,KAAC,UAAU,IACT,KAAK,EAAC,uBAAuB,EAC7B,WAAW,EAAC,0DAA0D,GACtE,GAC0B,CAC/B,CAAC;IACJ,CAAC;IAED,MAAM,EAAE,SAAS,EAAE,GAAG,SAAS,CAAC;IAEhC,OAAO,CACL,KAAC,2BAA2B,IAAC,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,YACzD,KAAC,SAAS,IAAC,GAAG,EAAE,GAAG,GAAI,GACK,CAC/B,CAAC;AACJ,CAAC"}
|
package/dist/public-api.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"public-api.d.ts","sourceRoot":"","sources":["../src/public-api.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAiB,SAAS,EAAE,MAAM,OAAO,CAAC;
|
|
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
CHANGED
|
@@ -4,7 +4,7 @@ import { AppShell as AvocadoShellApp } from "./components/shell/app-shell.js";
|
|
|
4
4
|
import { SidebarActionRow } from "./components/shell/primitives/sidebar-action-row.js";
|
|
5
5
|
import { SidebarFrame } from "./components/shell/primitives/sidebar-frame.js";
|
|
6
6
|
import { SidebarSection } from "./components/shell/primitives/sidebar-section.js";
|
|
7
|
-
import { WorkspaceFormHeader,
|
|
7
|
+
import { WorkspaceFormHeader, WorkspacePageFrame, } from "./components/shell/primitives/workspace-page.js";
|
|
8
8
|
import { InspectorField, InspectorValue, } from "./components/shell/primitives/inspector-panel.js";
|
|
9
9
|
import { useShellRegistry } from "./hooks/shell/shell-registry-provider.js";
|
|
10
10
|
import { useShellStore } from "./hooks/shell/use-shell-store.js";
|
|
@@ -50,7 +50,7 @@ export function ShellMetric({ title, value, }) {
|
|
|
50
50
|
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 })] }));
|
|
51
51
|
}
|
|
52
52
|
export function ShellField({ label, value, }) {
|
|
53
|
-
return _jsx(InspectorField, { label: label, value: _jsx(InspectorValue, { children: value }) });
|
|
53
|
+
return (_jsx(InspectorField, { label: label, value: _jsx(InspectorValue, { children: value }) }));
|
|
54
54
|
}
|
|
55
55
|
export function ShellEmptyState({ description, title, }) {
|
|
56
56
|
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] }));
|
|
@@ -105,7 +105,9 @@ function usePublicShellController() {
|
|
|
105
105
|
const { activeMode, activeTab } = useShellRegistry();
|
|
106
106
|
const store = useShellStore();
|
|
107
107
|
const tabs = store.tabs.map(ensurePublicTab);
|
|
108
|
-
const activePublicTab = activeTab
|
|
108
|
+
const activePublicTab = activeTab && activeTab.mode === activeMode
|
|
109
|
+
? ensurePublicTab(activeTab)
|
|
110
|
+
: null;
|
|
109
111
|
const tabsForActiveSection = tabs.filter((tab) => tab.sectionId === activeMode);
|
|
110
112
|
return {
|
|
111
113
|
activeSectionId: activeMode,
|
package/dist/public-api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"public-api.js","sourceRoot":"","sources":["../src/public-api.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAGb,OAAO,EAAE,QAAQ,IAAI,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAE,MAAM,kDAAkD,CAAC;AACpF,OAAO,EAAE,YAAY,EAAE,MAAM,6CAA6C,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,MAAM,+CAA+C,CAAC;AAC/E,OAAO,EACL,mBAAmB,EACnB,
|
|
1
|
+
{"version":3,"file":"public-api.js","sourceRoot":"","sources":["../src/public-api.tsx"],"names":[],"mappings":"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"}
|
package/dist/styles.css
CHANGED
|
@@ -84,8 +84,10 @@
|
|
|
84
84
|
|
|
85
85
|
.flexlayout__tabset_tabbar_inner_tab_container[data-shell-tab-indicator="settling"]::after {
|
|
86
86
|
transition:
|
|
87
|
-
left var(--shell-tab-indicator-settle-duration)
|
|
88
|
-
|
|
87
|
+
left var(--shell-tab-indicator-settle-duration)
|
|
88
|
+
var(--shell-tab-indicator-ease),
|
|
89
|
+
width var(--shell-tab-indicator-settle-duration)
|
|
90
|
+
var(--shell-tab-indicator-ease),
|
|
89
91
|
opacity 0.12s ease;
|
|
90
92
|
}
|
|
91
93
|
|
package/package.json
CHANGED
|
@@ -1,11 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elench/shell",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.6",
|
|
4
4
|
"description": "The Avocado-derived Elench desktop shell packaged behind a public domain API.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"private": false,
|
|
7
|
-
"sideEffects": [
|
|
8
|
-
|
|
7
|
+
"sideEffects": [
|
|
8
|
+
"./dist/styles.css"
|
|
9
|
+
],
|
|
10
|
+
"files": [
|
|
11
|
+
"dist",
|
|
12
|
+
"README.md"
|
|
13
|
+
],
|
|
9
14
|
"exports": {
|
|
10
15
|
".": {
|
|
11
16
|
"types": "./dist/index.d.ts",
|