@silo-code/sdk 0.31.0 → 0.32.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/ActivityGlyph.d.ts +25 -0
- package/dist/ActivityGlyph.d.ts.map +1 -0
- package/dist/ActivityGlyph.js +25 -0
- package/dist/ActivityGlyph.js.map +1 -0
- package/dist/IconButton.d.ts +23 -6
- package/dist/IconButton.d.ts.map +1 -1
- package/dist/IconButton.js +14 -5
- package/dist/IconButton.js.map +1 -1
- package/dist/activity.d.ts +36 -0
- package/dist/activity.d.ts.map +1 -0
- package/dist/activity.js +33 -0
- package/dist/activity.js.map +1 -0
- package/dist/editor-service.d.ts +5 -1
- package/dist/editor-service.d.ts.map +1 -1
- package/dist/icon-button-classes.d.ts +10 -2
- package/dist/icon-button-classes.d.ts.map +1 -1
- package/dist/icon-button-classes.js +9 -5
- package/dist/icon-button-classes.js.map +1 -1
- package/dist/index.d.ts +7 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/phosphor-icon.d.ts +15 -0
- package/dist/phosphor-icon.d.ts.map +1 -0
- package/dist/phosphor-icon.js +2 -0
- package/dist/phosphor-icon.js.map +1 -0
- package/dist/tab-adornment.d.ts +193 -0
- package/dist/tab-adornment.d.ts.map +1 -0
- package/dist/tab-adornment.js +2 -0
- package/dist/tab-adornment.js.map +1 -0
- package/dist/terminal-service.d.ts +18 -35
- package/dist/terminal-service.d.ts.map +1 -1
- package/dist/toolbar-items.d.ts +171 -0
- package/dist/toolbar-items.d.ts.map +1 -0
- package/dist/toolbar-items.js +2 -0
- package/dist/toolbar-items.js.map +1 -0
- package/dist/types.d.ts +15 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/workspace-service.d.ts +66 -45
- package/dist/workspace-service.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/ActivityGlyph.tsx +43 -0
- package/src/IconButton.tsx +28 -6
- package/src/activity.test.ts +35 -0
- package/src/activity.ts +57 -0
- package/src/editor-service.ts +5 -1
- package/src/icon-button-classes.test.ts +10 -0
- package/src/icon-button-classes.ts +18 -5
- package/src/index.ts +32 -1
- package/src/phosphor-icon.ts +14 -0
- package/src/tab-adornment.ts +208 -0
- package/src/terminal-service.ts +21 -35
- package/src/toolbar-items.ts +190 -0
- package/src/types.ts +17 -0
- package/src/workspace-service.ts +72 -45
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { HTMLAttributes } from "react";
|
|
2
|
+
import { type Activity as ActivityKind, type ActivitySize } from "./activity.js";
|
|
3
|
+
/**
|
|
4
|
+
* Host-painted activity glyph — same look on workspace rows, CenterDock tabs,
|
|
5
|
+
* and extension UI. Pick an {@link Activity}; the host owns color and motion
|
|
6
|
+
* (ADR 0030). Omit `activity` only for the workspace-row neutral gray fallback.
|
|
7
|
+
*
|
|
8
|
+
* Styled purely via host-provided `.silo-activity*` classes — no stylesheet
|
|
9
|
+
* import is needed in the extension.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```tsx
|
|
13
|
+
* <ActivityGlyph activity="working" size="md" />
|
|
14
|
+
* <ActivityGlyph activity="ready" />
|
|
15
|
+
* <ActivityGlyph size="sm" /> // workspace neutral (omit)
|
|
16
|
+
* ```
|
|
17
|
+
*
|
|
18
|
+
* @category Consumer Services
|
|
19
|
+
* @public
|
|
20
|
+
*/
|
|
21
|
+
export declare function ActivityGlyph({ activity, size, className, ...rest }: {
|
|
22
|
+
activity?: ActivityKind;
|
|
23
|
+
size?: ActivitySize;
|
|
24
|
+
} & Omit<HTMLAttributes<HTMLSpanElement>, "children">): import("react").JSX.Element;
|
|
25
|
+
//# sourceMappingURL=ActivityGlyph.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ActivityGlyph.d.ts","sourceRoot":"","sources":["../src/ActivityGlyph.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAEL,KAAK,QAAQ,IAAI,YAAY,EAC7B,KAAK,YAAY,EAClB,MAAM,YAAY,CAAC;AAEpB;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,aAAa,CAAC,EAC5B,QAAQ,EACR,IAAW,EACX,SAAS,EACT,GAAG,IAAI,EACR,EAAE;IACD,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,IAAI,CAAC,EAAE,YAAY,CAAC;CACrB,GAAG,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE,UAAU,CAAC,+BASpD"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { activityClass, } from "./activity.js";
|
|
3
|
+
/**
|
|
4
|
+
* Host-painted activity glyph — same look on workspace rows, CenterDock tabs,
|
|
5
|
+
* and extension UI. Pick an {@link Activity}; the host owns color and motion
|
|
6
|
+
* (ADR 0030). Omit `activity` only for the workspace-row neutral gray fallback.
|
|
7
|
+
*
|
|
8
|
+
* Styled purely via host-provided `.silo-activity*` classes — no stylesheet
|
|
9
|
+
* import is needed in the extension.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```tsx
|
|
13
|
+
* <ActivityGlyph activity="working" size="md" />
|
|
14
|
+
* <ActivityGlyph activity="ready" />
|
|
15
|
+
* <ActivityGlyph size="sm" /> // workspace neutral (omit)
|
|
16
|
+
* ```
|
|
17
|
+
*
|
|
18
|
+
* @category Consumer Services
|
|
19
|
+
* @public
|
|
20
|
+
*/
|
|
21
|
+
export function ActivityGlyph({ activity, size = "sm", className, ...rest }) {
|
|
22
|
+
const classes = activityClass(activity, size);
|
|
23
|
+
return (_jsx("span", { className: className ? `${classes} ${className}` : classes, "aria-hidden": rest["aria-label"] == null ? true : undefined, ...rest }));
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=ActivityGlyph.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ActivityGlyph.js","sourceRoot":"","sources":["../src/ActivityGlyph.tsx"],"names":[],"mappings":";AACA,OAAO,EACL,aAAa,GAGd,MAAM,YAAY,CAAC;AAEpB;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,aAAa,CAAC,EAC5B,QAAQ,EACR,IAAI,GAAG,IAAI,EACX,SAAS,EACT,GAAG,IAAI,EAI4C;IACnD,MAAM,OAAO,GAAG,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC9C,OAAO,CACL,eACE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,OAAO,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,OAAO,iBAC7C,IAAI,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,KACtD,IAAI,GACR,CACH,CAAC;AACJ,CAAC"}
|
package/dist/IconButton.d.ts
CHANGED
|
@@ -1,33 +1,50 @@
|
|
|
1
1
|
import type { ButtonHTMLAttributes, ReactNode } from "react";
|
|
2
|
-
import { type IconButtonSize } from "./icon-button-classes.js";
|
|
3
|
-
export type { IconButtonSize };
|
|
2
|
+
import { type IconButtonSize, type IconButtonVariant } from "./icon-button-classes.js";
|
|
3
|
+
export type { IconButtonSize, IconButtonVariant };
|
|
4
4
|
/**
|
|
5
5
|
* A square icon-only button — the kit's one answer for ✕, ⋮, ↻, ✏️, and
|
|
6
6
|
* friends. `aria-label` is **required**: the icon is the only visual, so the
|
|
7
7
|
* label is the accessible name. Pair with {@link Tooltip} so sighted users
|
|
8
8
|
* get the same label on hover.
|
|
9
9
|
*
|
|
10
|
+
* Sized in terms of `--silo-font-size-base` so the hit target and child SVGs
|
|
11
|
+
* scale with Silo's UI zoom (`uiFontSize`). Prefer Phosphor `size="1em"`
|
|
12
|
+
* (or omit a fixed px size) so the glyph tracks the button.
|
|
13
|
+
*
|
|
10
14
|
* Styled purely via host-provided `.silo-icon-button*` classes — no
|
|
11
15
|
* stylesheet import is needed in the extension.
|
|
12
16
|
*
|
|
13
17
|
* @example
|
|
14
18
|
* ```tsx
|
|
15
19
|
* <IconButton aria-label="Refresh" onClick={refresh}>
|
|
16
|
-
* <RefreshIcon />
|
|
20
|
+
* <RefreshIcon size="1em" />
|
|
17
21
|
* </IconButton>
|
|
18
22
|
*
|
|
19
23
|
* // compact — e.g. in a ListRow's trailing slot
|
|
20
24
|
* <IconButton size="sm" aria-label="Pin" onClick={pin}>
|
|
21
|
-
* <PinIcon />
|
|
25
|
+
* <PinIcon size="1em" />
|
|
26
|
+
* </IconButton>
|
|
27
|
+
*
|
|
28
|
+
* // panel / breadcrumb toolbar (local-web-viewer tone)
|
|
29
|
+
* <IconButton size="sm" variant="toolbar" aria-label="Mark">
|
|
30
|
+
* <FlagIcon size="1em" weight="bold" />
|
|
22
31
|
* </IconButton>
|
|
23
32
|
* ```
|
|
24
33
|
*
|
|
25
34
|
* @category Consumer Services
|
|
26
35
|
* @public
|
|
27
36
|
*/
|
|
28
|
-
export declare function IconButton({ size, className, type, children, "aria-label": ariaLabel, ...rest }: {
|
|
29
|
-
/**
|
|
37
|
+
export declare function IconButton({ size, variant, className, type, children, "aria-label": ariaLabel, ...rest }: {
|
|
38
|
+
/**
|
|
39
|
+
* Hit-target size in `em` of `--silo-font-size-base` (tracks Zoom In/Out).
|
|
40
|
+
* `normal` = 2.5em, `sm` = 2em (local-web-viewer toolbar buttons).
|
|
41
|
+
*/
|
|
30
42
|
size?: IconButtonSize;
|
|
43
|
+
/**
|
|
44
|
+
* `"toolbar"` — black/white toolbar-text icons, hover fill only, no
|
|
45
|
+
* press-scale. Use on editor/terminal breadcrumb clusters and panel bars.
|
|
46
|
+
*/
|
|
47
|
+
variant?: IconButtonVariant;
|
|
31
48
|
/** Required — the icon is the only visual. */
|
|
32
49
|
"aria-label": string;
|
|
33
50
|
children?: ReactNode;
|
package/dist/IconButton.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IconButton.d.ts","sourceRoot":"","sources":["../src/IconButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAC7D,OAAO,
|
|
1
|
+
{"version":3,"file":"IconButton.d.ts","sourceRoot":"","sources":["../src/IconButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAC7D,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACvB,MAAM,uBAAuB,CAAC;AAE/B,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,CAAC;AAElD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,UAAU,CAAC,EACzB,IAAe,EACf,OAAkB,EAClB,SAAS,EACT,IAAe,EACf,QAAQ,EACR,YAAY,EAAE,SAAS,EACvB,GAAG,IAAI,EACR,EAAE;IACD;;;OAGG;IACH,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB;;;OAGG;IACH,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,8CAA8C;IAC9C,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB,GAAG,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC,+BAY3E"}
|
package/dist/IconButton.js
CHANGED
|
@@ -1,31 +1,40 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { iconButtonClass } from "./icon-button-classes.js";
|
|
2
|
+
import { iconButtonClass, } from "./icon-button-classes.js";
|
|
3
3
|
/**
|
|
4
4
|
* A square icon-only button — the kit's one answer for ✕, ⋮, ↻, ✏️, and
|
|
5
5
|
* friends. `aria-label` is **required**: the icon is the only visual, so the
|
|
6
6
|
* label is the accessible name. Pair with {@link Tooltip} so sighted users
|
|
7
7
|
* get the same label on hover.
|
|
8
8
|
*
|
|
9
|
+
* Sized in terms of `--silo-font-size-base` so the hit target and child SVGs
|
|
10
|
+
* scale with Silo's UI zoom (`uiFontSize`). Prefer Phosphor `size="1em"`
|
|
11
|
+
* (or omit a fixed px size) so the glyph tracks the button.
|
|
12
|
+
*
|
|
9
13
|
* Styled purely via host-provided `.silo-icon-button*` classes — no
|
|
10
14
|
* stylesheet import is needed in the extension.
|
|
11
15
|
*
|
|
12
16
|
* @example
|
|
13
17
|
* ```tsx
|
|
14
18
|
* <IconButton aria-label="Refresh" onClick={refresh}>
|
|
15
|
-
* <RefreshIcon />
|
|
19
|
+
* <RefreshIcon size="1em" />
|
|
16
20
|
* </IconButton>
|
|
17
21
|
*
|
|
18
22
|
* // compact — e.g. in a ListRow's trailing slot
|
|
19
23
|
* <IconButton size="sm" aria-label="Pin" onClick={pin}>
|
|
20
|
-
* <PinIcon />
|
|
24
|
+
* <PinIcon size="1em" />
|
|
25
|
+
* </IconButton>
|
|
26
|
+
*
|
|
27
|
+
* // panel / breadcrumb toolbar (local-web-viewer tone)
|
|
28
|
+
* <IconButton size="sm" variant="toolbar" aria-label="Mark">
|
|
29
|
+
* <FlagIcon size="1em" weight="bold" />
|
|
21
30
|
* </IconButton>
|
|
22
31
|
* ```
|
|
23
32
|
*
|
|
24
33
|
* @category Consumer Services
|
|
25
34
|
* @public
|
|
26
35
|
*/
|
|
27
|
-
export function IconButton({ size = "normal", className, type = "button", children, "aria-label": ariaLabel, ...rest }) {
|
|
28
|
-
const classes = iconButtonClass(size);
|
|
36
|
+
export function IconButton({ size = "normal", variant = "normal", className, type = "button", children, "aria-label": ariaLabel, ...rest }) {
|
|
37
|
+
const classes = iconButtonClass(size, variant);
|
|
29
38
|
return (_jsx("button", { type: type, "aria-label": ariaLabel, className: className ? `${classes} ${className}` : classes, ...rest, children: children }));
|
|
30
39
|
}
|
|
31
40
|
//# sourceMappingURL=IconButton.js.map
|
package/dist/IconButton.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IconButton.js","sourceRoot":"","sources":["../src/IconButton.tsx"],"names":[],"mappings":";AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"IconButton.js","sourceRoot":"","sources":["../src/IconButton.tsx"],"names":[],"mappings":";AACA,OAAO,EACL,eAAe,GAGhB,MAAM,uBAAuB,CAAC;AAI/B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,MAAM,UAAU,UAAU,CAAC,EACzB,IAAI,GAAG,QAAQ,EACf,OAAO,GAAG,QAAQ,EAClB,SAAS,EACT,IAAI,GAAG,QAAQ,EACf,QAAQ,EACR,YAAY,EAAE,SAAS,EACvB,GAAG,IAAI,EAemE;IAC1E,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC/C,OAAO,CACL,iBACE,IAAI,EAAE,IAAI,gBACE,SAAS,EACrB,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,OAAO,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,OAAO,KACtD,IAAI,YAEP,QAAQ,GACF,CACV,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type { AgentActivity } from "./agents-service.js";
|
|
2
|
+
/**
|
|
3
|
+
* Host-owned activity state for chrome (workspace rows, CenterDock tabs,
|
|
4
|
+
* SideDock tabs, and the public {@link Activity} glyph). Extensions pick a
|
|
5
|
+
* kind only — never an icon, color, or motion. See ADR 0030.
|
|
6
|
+
*
|
|
7
|
+
* @category Core Types
|
|
8
|
+
* @public
|
|
9
|
+
*/
|
|
10
|
+
export type Activity = "working" | "ready" | "warn" | "error";
|
|
11
|
+
/**
|
|
12
|
+
* Glyph size for {@link Activity}. `"sm"` matches workspace status rows (~6px);
|
|
13
|
+
* `"md"` is slightly larger for CenterDock / SideDock tabs.
|
|
14
|
+
*
|
|
15
|
+
* @category Core Types
|
|
16
|
+
* @public
|
|
17
|
+
*/
|
|
18
|
+
export type ActivitySize = "sm" | "md";
|
|
19
|
+
/**
|
|
20
|
+
* Map {@link AgentActivity} onto UI {@link Activity}. Returns `null` when there
|
|
21
|
+
* is nothing to paint (`none` / `dead` — callers may map `dead` → `"error"`
|
|
22
|
+
* themselves if they want chrome).
|
|
23
|
+
*
|
|
24
|
+
* @category Core Types
|
|
25
|
+
* @public
|
|
26
|
+
*/
|
|
27
|
+
export declare function activityFromAgent(a: AgentActivity): Activity | null;
|
|
28
|
+
/**
|
|
29
|
+
* Resolve the host `.silo-activity*` class string. Pinned by unit tests
|
|
30
|
+
* (RFC 0016 class-contract pattern). When `activity` is omitted, uses the
|
|
31
|
+
* neutral workspace fallback (gray “none” look).
|
|
32
|
+
*
|
|
33
|
+
* @internal
|
|
34
|
+
*/
|
|
35
|
+
export declare function activityClass(activity: Activity | undefined, size?: ActivitySize): string;
|
|
36
|
+
//# sourceMappingURL=activity.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"activity.d.ts","sourceRoot":"","sources":["../src/activity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD;;;;;;;GAOG;AACH,MAAM,MAAM,QAAQ,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC;AAE9D;;;;;;GAMG;AACH,MAAM,MAAM,YAAY,GAAG,IAAI,GAAG,IAAI,CAAC;AAEvC;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,aAAa,GAAG,QAAQ,GAAG,IAAI,CAYnE;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,QAAQ,GAAG,SAAS,EAC9B,IAAI,GAAE,YAAmB,GACxB,MAAM,CAGR"}
|
package/dist/activity.js
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Map {@link AgentActivity} onto UI {@link Activity}. Returns `null` when there
|
|
3
|
+
* is nothing to paint (`none` / `dead` — callers may map `dead` → `"error"`
|
|
4
|
+
* themselves if they want chrome).
|
|
5
|
+
*
|
|
6
|
+
* @category Core Types
|
|
7
|
+
* @public
|
|
8
|
+
*/
|
|
9
|
+
export function activityFromAgent(a) {
|
|
10
|
+
switch (a) {
|
|
11
|
+
case "working":
|
|
12
|
+
return "working";
|
|
13
|
+
case "idle":
|
|
14
|
+
return "ready";
|
|
15
|
+
case "error":
|
|
16
|
+
return "error";
|
|
17
|
+
case "none":
|
|
18
|
+
case "dead":
|
|
19
|
+
return null;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Resolve the host `.silo-activity*` class string. Pinned by unit tests
|
|
24
|
+
* (RFC 0016 class-contract pattern). When `activity` is omitted, uses the
|
|
25
|
+
* neutral workspace fallback (gray “none” look).
|
|
26
|
+
*
|
|
27
|
+
* @internal
|
|
28
|
+
*/
|
|
29
|
+
export function activityClass(activity, size = "sm") {
|
|
30
|
+
const kind = activity ?? "none";
|
|
31
|
+
return `silo-activity silo-activity-${kind} silo-activity-${size}`;
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=activity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"activity.js","sourceRoot":"","sources":["../src/activity.ts"],"names":[],"mappings":"AAqBA;;;;;;;GAOG;AACH,MAAM,UAAU,iBAAiB,CAAC,CAAgB;IAChD,QAAQ,CAAC,EAAE,CAAC;QACV,KAAK,SAAS;YACZ,OAAO,SAAS,CAAC;QACnB,KAAK,MAAM;YACT,OAAO,OAAO,CAAC;QACjB,KAAK,OAAO;YACV,OAAO,OAAO,CAAC;QACjB,KAAK,MAAM,CAAC;QACZ,KAAK,MAAM;YACT,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAC3B,QAA8B,EAC9B,OAAqB,IAAI;IAEzB,MAAM,IAAI,GAAG,QAAQ,IAAI,MAAM,CAAC;IAChC,OAAO,+BAA+B,IAAI,kBAAkB,IAAI,EAAE,CAAC;AACrE,CAAC"}
|
package/dist/editor-service.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { Disposable } from "./types.js";
|
|
2
2
|
import type { Event } from "./event.js";
|
|
3
3
|
import type { EditorMode } from "./domain-types.js";
|
|
4
|
+
import type { TabAdornmentMethods } from "./tab-adornment.js";
|
|
4
5
|
/**
|
|
5
6
|
* Options for the editor open methods.
|
|
6
7
|
*
|
|
@@ -207,10 +208,13 @@ export interface EditorSaveEvent {
|
|
|
207
208
|
* editors register save handlers. The single entry point for opening editors —
|
|
208
209
|
* prefer it over reaching into workspace/editor state.
|
|
209
210
|
*
|
|
211
|
+
* Tab chrome adornments (`setIcon` / `setIndicator` / …) take an **editor id**
|
|
212
|
+
* as the target — see {@link TabAdornmentMethods}.
|
|
213
|
+
*
|
|
210
214
|
* @category Consumer Services
|
|
211
215
|
* @public
|
|
212
216
|
*/
|
|
213
|
-
export interface EditorService {
|
|
217
|
+
export interface EditorService extends TabAdornmentMethods {
|
|
214
218
|
/**
|
|
215
219
|
* Open a file in an editor tab. Promotes an existing preview, focuses an
|
|
216
220
|
* already-open tab, or opens a new one.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"editor-service.d.ts","sourceRoot":"","sources":["../src/editor-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"editor-service.d.ts","sourceRoot":"","sources":["../src/editor-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,11 +5,19 @@
|
|
|
5
5
|
* @internal
|
|
6
6
|
*/
|
|
7
7
|
export type IconButtonSize = "normal" | "sm";
|
|
8
|
+
/**
|
|
9
|
+
* Visual tone for {@link IconButton}. `"toolbar"` matches the local-web-viewer
|
|
10
|
+
* bar buttons (toolbar-text icons, hover fill only, no press-scale).
|
|
11
|
+
*
|
|
12
|
+
* @internal
|
|
13
|
+
*/
|
|
14
|
+
export type IconButtonVariant = "normal" | "toolbar";
|
|
8
15
|
/**
|
|
9
16
|
* Resolve the host `.silo-icon-button*` class string for an IconButton's
|
|
10
|
-
* `size`. Default is the
|
|
17
|
+
* `size` + `variant`. Default is the standalone size; `sm` adds the compact
|
|
18
|
+
* modifier; `toolbar` swaps in the breadcrumb/panel-toolbar tone.
|
|
11
19
|
*
|
|
12
20
|
* @internal
|
|
13
21
|
*/
|
|
14
|
-
export declare function iconButtonClass(size?: IconButtonSize): string;
|
|
22
|
+
export declare function iconButtonClass(size?: IconButtonSize, variant?: IconButtonVariant): string;
|
|
15
23
|
//# sourceMappingURL=icon-button-classes.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"icon-button-classes.d.ts","sourceRoot":"","sources":["../src/icon-button-classes.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,IAAI,CAAC;AAE7C;;;;;GAKG;AACH,wBAAgB,eAAe,
|
|
1
|
+
{"version":3,"file":"icon-button-classes.d.ts","sourceRoot":"","sources":["../src/icon-button-classes.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,IAAI,CAAC;AAE7C;;;;;GAKG;AACH,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,SAAS,CAAC;AAErD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,IAAI,GAAE,cAAyB,EAC/B,OAAO,GAAE,iBAA4B,GACpC,MAAM,CAKR"}
|
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Resolve the host `.silo-icon-button*` class string for an IconButton's
|
|
3
|
-
* `size`. Default is the
|
|
3
|
+
* `size` + `variant`. Default is the standalone size; `sm` adds the compact
|
|
4
|
+
* modifier; `toolbar` swaps in the breadcrumb/panel-toolbar tone.
|
|
4
5
|
*
|
|
5
6
|
* @internal
|
|
6
7
|
*/
|
|
7
|
-
export function iconButtonClass(size = "normal") {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
export function iconButtonClass(size = "normal", variant = "normal") {
|
|
9
|
+
const parts = ["silo-icon-button"];
|
|
10
|
+
if (size === "sm")
|
|
11
|
+
parts.push("silo-icon-button-sm");
|
|
12
|
+
if (variant === "toolbar")
|
|
13
|
+
parts.push("silo-icon-button-toolbar");
|
|
14
|
+
return parts.join(" ");
|
|
11
15
|
}
|
|
12
16
|
//# sourceMappingURL=icon-button-classes.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"icon-button-classes.js","sourceRoot":"","sources":["../src/icon-button-classes.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"icon-button-classes.js","sourceRoot":"","sources":["../src/icon-button-classes.ts"],"names":[],"mappings":"AAgBA;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAC7B,OAAuB,QAAQ,EAC/B,UAA6B,QAAQ;IAErC,MAAM,KAAK,GAAG,CAAC,kBAAkB,CAAC,CAAC;IACnC,IAAI,IAAI,KAAK,IAAI;QAAE,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IACrD,IAAI,OAAO,KAAK,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IAClE,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -24,6 +24,12 @@ export type { ProcessService, ProcessSession, ProcessSpawnOptions, ProcessExecOp
|
|
|
24
24
|
export type { ProcessesService, ProcessInfo, ProcessStats, ProcessTreeNode, } from "./processes-service.js";
|
|
25
25
|
export type { AgentsService, AgentInfo, AgentActivity } from "./agents-service.js";
|
|
26
26
|
export type { TerminalService, CreateTerminalInput, TerminalKind, TerminalRecord, TerminalTabDecoration, TerminalTabDecorationProvider, OscEvent, } from "./terminal-service.js";
|
|
27
|
+
export type { TabAdornmentColor, TabIconAdornment, TabIndicatorAdornment, TabIndicatorFlash, TabActivityAdornment, TabActivityFlash, TabIconContribution, TabIndicatorContribution, TabActivityContribution, TabIconBinder, TabIndicatorBinder, TabActivityBinder, TabAdornmentMethods, } from "./tab-adornment.js";
|
|
28
|
+
export type { Activity, ActivitySize } from "./activity.js";
|
|
29
|
+
export { activityFromAgent } from "./activity.js";
|
|
30
|
+
export { ActivityGlyph } from "./ActivityGlyph.js";
|
|
31
|
+
export type { PhosphorIconName } from "./phosphor-icon.js";
|
|
32
|
+
export type { ToolbarSurface, ToolbarItemContext, ToolbarItemFields, ToolbarCommandItemContribution, ToolbarMenuItemContribution, ToolbarChromeFields, ToolbarSeparatorContribution, ToolbarSpacerSize, ToolbarSpacerContribution, ToolbarItemContribution, } from "./toolbar-items.js";
|
|
27
33
|
export type { FileService, FileMeta, FileChangeKind, FileChangeEvent, } from "./file-service.js";
|
|
28
34
|
export type { SearchService, SearchOptions, SearchMatch, SearchFileResult, SearchResponse, } from "./search-service.js";
|
|
29
35
|
export type { Permission } from "./permissions.js";
|
|
@@ -45,7 +51,7 @@ export { Tooltip } from "./Tooltip.js";
|
|
|
45
51
|
export { Button } from "./Button.js";
|
|
46
52
|
export type { ButtonVariant, ButtonSize } from "./Button.js";
|
|
47
53
|
export { IconButton } from "./IconButton.js";
|
|
48
|
-
export type { IconButtonSize } from "./IconButton.js";
|
|
54
|
+
export type { IconButtonSize, IconButtonVariant } from "./IconButton.js";
|
|
49
55
|
export { Input } from "./Input.js";
|
|
50
56
|
export { Textarea } from "./Textarea.js";
|
|
51
57
|
export { SearchInput } from "./SearchInput.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -15,6 +15,8 @@
|
|
|
15
15
|
*
|
|
16
16
|
* @packageDocumentation
|
|
17
17
|
*/
|
|
18
|
+
export { activityFromAgent } from "./activity.js";
|
|
19
|
+
export { ActivityGlyph } from "./ActivityGlyph.js";
|
|
18
20
|
export { PathDeniedError } from "./permissions.js";
|
|
19
21
|
export { DND_MIME } from "./dnd-service.js";
|
|
20
22
|
// Server-side HTTP client — bypasses CORS, readable response headers.
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAgHH,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAgChD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AA6BhD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAoBzC,sEAAsE;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAkCjD,8EAA8E;AAC9E,8EAA8E;AAC9E,6DAA6D;AAC7D,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,yEAAyE;AACzE,iFAAiF;AACjF,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,4EAA4E;AAC5E,qDAAqD;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,4DAA4D;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAExC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAEvC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,wEAAwE;AACxE,iFAAiF;AACjF,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,8EAA8E;AAC9E,4EAA4E;AAC5E,8EAA8E;AAC9E,8EAA8E;AAC9E,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAUvE,6EAA6E;AAC7E,wEAAwE;AACxE,+CAA+C;AAC/C,OAAO,EACL,yBAAyB,EACzB,uBAAuB,GACxB,MAAM,0BAA0B,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Export name of an icon from `@phosphor-icons/react` — e.g. `"Flag"`,
|
|
3
|
+
* `"ArrowClockwise"`, `"PushPin"`. The host resolves the name and paints it:
|
|
4
|
+
* toolbar chrome uses `weight="bold"`; tab decorations use `weight="regular"`
|
|
5
|
+
* by default (`filled: true` → `weight="fill"`); both use `size="1em"` so
|
|
6
|
+
* glyphs track UI zoom.
|
|
7
|
+
*
|
|
8
|
+
* Use the PascalCase component name from
|
|
9
|
+
* [Phosphor](https://phosphoricons.com), not a kebab-case path.
|
|
10
|
+
*
|
|
11
|
+
* @category Registration
|
|
12
|
+
* @public
|
|
13
|
+
*/
|
|
14
|
+
export type PhosphorIconName = string;
|
|
15
|
+
//# sourceMappingURL=phosphor-icon.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"phosphor-icon.d.ts","sourceRoot":"","sources":["../src/phosphor-icon.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"phosphor-icon.js","sourceRoot":"","sources":["../src/phosphor-icon.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
import type { ReactNode } from "react";
|
|
2
|
+
import type { Activity } from "./activity.js";
|
|
3
|
+
import type { PhosphorIconName } from "./phosphor-icon.js";
|
|
4
|
+
import type { Disposable } from "./types.js";
|
|
5
|
+
/**
|
|
6
|
+
* Semantic color for a CenterDock tab trailing {@link TabIndicatorAdornment}
|
|
7
|
+
* (and optional chip background).
|
|
8
|
+
*
|
|
9
|
+
* @category Consumer Services
|
|
10
|
+
* @public
|
|
11
|
+
*/
|
|
12
|
+
export type TabAdornmentColor = "accent" | "warn" | "ok" | "error" | "muted";
|
|
13
|
+
/**
|
|
14
|
+
* Leading identity adornment on a CenterDock tab — arbitrary React artwork
|
|
15
|
+
* (e.g. an app logo). Set via {@link EditorService.setIcon} /
|
|
16
|
+
* {@link TerminalService.setIcon}.
|
|
17
|
+
*
|
|
18
|
+
* @category Consumer Services
|
|
19
|
+
* @public
|
|
20
|
+
*/
|
|
21
|
+
export interface TabIconAdornment {
|
|
22
|
+
/** Extension-owned key; stacking + {@link EditorService.clearIcon} target. */
|
|
23
|
+
id: string;
|
|
24
|
+
/** Leading glyph / logo rendered before the tab title. */
|
|
25
|
+
icon: ReactNode;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Trailing status adornment on a CenterDock tab — static Phosphor glyph.
|
|
29
|
+
* For busy/ready/warn/error chrome use {@link TabActivityAdornment} instead
|
|
30
|
+
* (ADR 0030).
|
|
31
|
+
*
|
|
32
|
+
* Set via {@link EditorService.setIndicator} /
|
|
33
|
+
* {@link TerminalService.setIndicator}.
|
|
34
|
+
*
|
|
35
|
+
* @category Consumer Services
|
|
36
|
+
* @public
|
|
37
|
+
*/
|
|
38
|
+
export interface TabIndicatorAdornment {
|
|
39
|
+
/** Extension-owned key; stacking + clear target. */
|
|
40
|
+
id: string;
|
|
41
|
+
/**
|
|
42
|
+
* Glyph as a {@link PhosphorIconName} (e.g. `"Flag"`). The host resolves
|
|
43
|
+
* and paints it at 1em in regular weight by default. Set
|
|
44
|
+
* {@link TabIndicatorAdornment.filled | filled} for Phosphor fill weight;
|
|
45
|
+
* {@link TabIndicatorAdornment.color | color} tints the glyph; set
|
|
46
|
+
* {@link TabIndicatorAdornment.chip | chip} for a soft tinted background.
|
|
47
|
+
*/
|
|
48
|
+
icon: PhosphorIconName;
|
|
49
|
+
/** Tooltip shown when hovering the indicator. */
|
|
50
|
+
tooltip?: string;
|
|
51
|
+
/** Semantic color for the glyph (and chip fill). */
|
|
52
|
+
color?: TabAdornmentColor;
|
|
53
|
+
/**
|
|
54
|
+
* When true, paint a soft tinted chip behind the icon. Default is
|
|
55
|
+
* glyph-only — no background.
|
|
56
|
+
*/
|
|
57
|
+
chip?: boolean;
|
|
58
|
+
/**
|
|
59
|
+
* When true, paint the glyph with Phosphor `weight="fill"`. Default is
|
|
60
|
+
* regular weight (outline).
|
|
61
|
+
*/
|
|
62
|
+
filled?: boolean;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Host-owned {@link Activity} on a CenterDock tab. Extensions pick the kind
|
|
66
|
+
* (+ optional tooltip); never an icon or color (ADR 0030).
|
|
67
|
+
*
|
|
68
|
+
* @category Consumer Services
|
|
69
|
+
* @public
|
|
70
|
+
*/
|
|
71
|
+
export interface TabActivityAdornment {
|
|
72
|
+
/** Extension-owned key; stacking + clear target. */
|
|
73
|
+
id: string;
|
|
74
|
+
activity: Activity;
|
|
75
|
+
tooltip?: string;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Payload for {@link EditorService.flashIndicator} /
|
|
79
|
+
* {@link TerminalService.flashIndicator} — timed one-shot; no stable `id`
|
|
80
|
+
* (auto-cleared after `durationMs`).
|
|
81
|
+
*
|
|
82
|
+
* @category Consumer Services
|
|
83
|
+
* @public
|
|
84
|
+
*/
|
|
85
|
+
export type TabIndicatorFlash = TabIndicatorContribution & {
|
|
86
|
+
/** How long to show the flash. Defaults to host choice (typically ~800ms). */
|
|
87
|
+
durationMs?: number;
|
|
88
|
+
};
|
|
89
|
+
/**
|
|
90
|
+
* Payload for {@link EditorService.flashActivity} /
|
|
91
|
+
* {@link TerminalService.flashActivity}.
|
|
92
|
+
*
|
|
93
|
+
* @category Consumer Services
|
|
94
|
+
* @public
|
|
95
|
+
*/
|
|
96
|
+
export type TabActivityFlash = TabActivityContribution & {
|
|
97
|
+
durationMs?: number;
|
|
98
|
+
};
|
|
99
|
+
/**
|
|
100
|
+
* Fields contributed by a {@link TabIconBinder.provide} call (the binder’s
|
|
101
|
+
* own `id` is applied by the host).
|
|
102
|
+
*
|
|
103
|
+
* @category Consumer Services
|
|
104
|
+
* @public
|
|
105
|
+
*/
|
|
106
|
+
export type TabIconContribution = Omit<TabIconAdornment, "id">;
|
|
107
|
+
/**
|
|
108
|
+
* Fields contributed by a {@link TabIndicatorBinder.provide} call.
|
|
109
|
+
*
|
|
110
|
+
* @category Consumer Services
|
|
111
|
+
* @public
|
|
112
|
+
*/
|
|
113
|
+
export type TabIndicatorContribution = Omit<TabIndicatorAdornment, "id">;
|
|
114
|
+
/**
|
|
115
|
+
* Fields contributed by a {@link TabActivityBinder.provide} call.
|
|
116
|
+
*
|
|
117
|
+
* @category Consumer Services
|
|
118
|
+
* @public
|
|
119
|
+
*/
|
|
120
|
+
export type TabActivityContribution = Omit<TabActivityAdornment, "id">;
|
|
121
|
+
/**
|
|
122
|
+
* Keep a leading-icon projection in sync for every editor/terminal tab.
|
|
123
|
+
* Prefer over repeatedly calling {@link EditorService.setIcon}.
|
|
124
|
+
*
|
|
125
|
+
* @category Consumer Services
|
|
126
|
+
* @public
|
|
127
|
+
*/
|
|
128
|
+
export interface TabIconBinder {
|
|
129
|
+
/** Extension-owned key — conventionally `"<extension-id>.tab-icon"`. */
|
|
130
|
+
id: string;
|
|
131
|
+
/**
|
|
132
|
+
* Called synchronously per tab during render. Return `null` to contribute
|
|
133
|
+
* nothing for this target id (editor id or terminal session id).
|
|
134
|
+
*/
|
|
135
|
+
provide(targetId: string): TabIconContribution | null;
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Keep a trailing-indicator projection in sync for every editor/terminal tab.
|
|
139
|
+
*
|
|
140
|
+
* @category Consumer Services
|
|
141
|
+
* @public
|
|
142
|
+
*/
|
|
143
|
+
export interface TabIndicatorBinder {
|
|
144
|
+
/** Extension-owned key — conventionally `"<extension-id>.tab-indicator"`. */
|
|
145
|
+
id: string;
|
|
146
|
+
/**
|
|
147
|
+
* Called synchronously per tab during render. Return `null` to contribute
|
|
148
|
+
* nothing for this target id.
|
|
149
|
+
*/
|
|
150
|
+
provide(targetId: string): TabIndicatorContribution | null;
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Keep a trailing-activity projection in sync for every editor/terminal tab.
|
|
154
|
+
*
|
|
155
|
+
* @category Consumer Services
|
|
156
|
+
* @public
|
|
157
|
+
*/
|
|
158
|
+
export interface TabActivityBinder {
|
|
159
|
+
/** Extension-owned key — conventionally `"<extension-id>.tab-activity"`. */
|
|
160
|
+
id: string;
|
|
161
|
+
provide(targetId: string): TabActivityContribution | null;
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* Shared adorn verbs for CenterDock editor and terminal tabs. Implemented by
|
|
165
|
+
* {@link EditorService} and {@link TerminalService} (target id is the editor
|
|
166
|
+
* or terminal session id respectively).
|
|
167
|
+
*
|
|
168
|
+
* @category Consumer Services
|
|
169
|
+
* @public
|
|
170
|
+
*/
|
|
171
|
+
export interface TabAdornmentMethods {
|
|
172
|
+
setIcon(targetId: string, adornment: TabIconAdornment): void;
|
|
173
|
+
clearIcon(targetId: string, adornmentId: string): void;
|
|
174
|
+
bindIcon(binder: TabIconBinder): Disposable;
|
|
175
|
+
setIndicator(targetId: string, adornment: TabIndicatorAdornment): void;
|
|
176
|
+
clearIndicator(targetId: string, adornmentId: string): void;
|
|
177
|
+
flashIndicator(targetId: string, flash: TabIndicatorFlash): void;
|
|
178
|
+
bindIndicator(binder: TabIndicatorBinder): Disposable;
|
|
179
|
+
setActivity(targetId: string, adornment: TabActivityAdornment): void;
|
|
180
|
+
clearActivity(targetId: string, adornmentId: string): void;
|
|
181
|
+
flashActivity(targetId: string, flash: TabActivityFlash): void;
|
|
182
|
+
bindActivity(binder: TabActivityBinder): Disposable;
|
|
183
|
+
/** All leading icons for `targetId`, in set/bind order. */
|
|
184
|
+
getIcons(targetId: string): TabIconAdornment[];
|
|
185
|
+
/** All trailing indicators for `targetId`, in set/bind/flash order. */
|
|
186
|
+
getIndicators(targetId: string): TabIndicatorAdornment[];
|
|
187
|
+
/** All trailing activities for `targetId`, in set/bind/flash order. */
|
|
188
|
+
getActivities(targetId: string): TabActivityAdornment[];
|
|
189
|
+
/** Signal that binder data changed — re-query `provide` and re-render. */
|
|
190
|
+
invalidateTabAdornments(): void;
|
|
191
|
+
subscribeTabAdornments(listener: () => void): Disposable;
|
|
192
|
+
}
|
|
193
|
+
//# sourceMappingURL=tab-adornment.d.ts.map
|