@pstdio/workbench 0.6.0 → 0.7.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/index.d.ts CHANGED
@@ -93,6 +93,7 @@ export declare interface Command {
93
93
  }
94
94
 
95
95
  export declare interface CommandHandler<TArgs = unknown, TResult = unknown> {
96
+ prepareArgs?(args: TArgs, context?: WorkbenchCommandExecutionContext, onArgsChange?: (args: TArgs) => void): TArgs | Promise<TArgs>;
96
97
  execute(args: TArgs, context?: WorkbenchCommandExecutionContext): TResult | Promise<TResult>;
97
98
  isEnabled?(args: TArgs): boolean;
98
99
  isVisible?(args: TArgs): boolean;
@@ -149,6 +150,8 @@ export declare interface CommandParamDescriptor {
149
150
  options?: CommandParamOption[];
150
151
  templateType?: string;
151
152
  resourceType?: string;
153
+ accept?: string;
154
+ multiple?: boolean;
152
155
  metadata?: Record<string, unknown>;
153
156
  }
154
157
 
@@ -168,6 +171,7 @@ export declare interface CommandRegistry {
168
171
  isCommandEnabled(id: string, args?: unknown): boolean;
169
172
  isCommandVisible(id: string, args?: unknown): boolean;
170
173
  isCommandToggled(id: string, args?: unknown): boolean;
174
+ prepareCommandArgs(id: string, args: unknown, context?: WorkbenchCommandExecutionContext, onArgsChange?: (args: unknown) => void): Promise<unknown>;
171
175
  executeCommand(id: string, args?: unknown, context?: WorkbenchCommandExecutionContext): Promise<unknown>;
172
176
  onDidExecuteError(listener: WorkbenchCommandExecutionErrorListener): Disposable_2;
173
177
  }
@@ -567,10 +571,21 @@ export declare interface FileIconThemeRegistry {
567
571
 
568
572
  export declare interface FileRendererContent {
569
573
  fileName?: string;
574
+ /** Workspace-relative path shown above the file preview. */
575
+ filePath?: string;
570
576
  mimeType?: string;
571
577
  content?: string;
572
578
  dataUrl?: string;
573
579
  placeholder?: string;
580
+ /** Override contribution-level save support for one loaded file. */
581
+ editable?: boolean;
582
+ /** Request Monaco for text that automatic dispatch would open as markdown. */
583
+ textRenderer?: "automatic" | "monaco";
584
+ /** Represent a deliberate no-file selection without an editable blank document. */
585
+ emptyState?: {
586
+ title: string;
587
+ description?: string;
588
+ };
574
589
  /** Ordered backing-store revision when one is available. */
575
590
  revision?: string;
576
591
  }
@@ -1261,7 +1276,9 @@ export declare interface ResolvedCompositionPlacement {
1261
1276
 
1262
1277
  declare type ResolvedResourceHierarchyProvider = Required<ResourceHierarchyProvider>;
1263
1278
 
1264
- declare type ResolvedResourcePresenter = Required<ResourcePresenter>;
1279
+ declare type ResolvedResourcePresenter = Omit<ResourcePresenter, "priority"> & {
1280
+ priority: number;
1281
+ };
1265
1282
 
1266
1283
  export declare interface ResourceBrowseEntry {
1267
1284
  resource: ResourceRef;
@@ -1325,6 +1342,7 @@ export declare interface ResourcePresenter {
1325
1342
  priority?: number;
1326
1343
  canOpen(resource: ResourceRef): boolean;
1327
1344
  open(resource: ResourceRef, input: OpenResourceInput): WorkbenchPanelInstance | Promise<WorkbenchPanelInstance>;
1345
+ afterOpen?(resource: ResourceRef, instance: WorkbenchPanelInstance, input: OpenResourceInput): void;
1328
1346
  }
1329
1347
 
1330
1348
  export declare interface ResourceProvider {
@@ -1516,11 +1534,13 @@ export declare interface TreeNode {
1516
1534
  target?: NavigationTarget;
1517
1535
  /** Visual row variant for non-data rows such as placeholders. */
1518
1536
  rowVariant?: TreeNodeRowVariant;
1537
+ inlineInput?: TreeNodeInlineInput;
1519
1538
  actions?: TreeAction[];
1520
1539
  contextMenuActions?: TreeAction[];
1521
1540
  contextMenuPath?: MenuPath;
1522
1541
  menuPath?: MenuPath;
1523
1542
  menuPlacement?: "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "left-start";
1543
+ showContextMenuTrigger?: boolean;
1524
1544
  collapsible?: boolean;
1525
1545
  disabled?: boolean;
1526
1546
  children?: TreeNode[];
@@ -1531,6 +1551,18 @@ export declare interface TreeNode {
1531
1551
  canHide?: boolean;
1532
1552
  /** When false, the node stays fixed within its Sidenav group. */
1533
1553
  canReorder?: boolean;
1554
+ /** Allow this node to be moved to another tree location. */
1555
+ canDrag?: boolean;
1556
+ /** Allow movable nodes to be dropped on this node. */
1557
+ canDrop?: boolean;
1558
+ }
1559
+
1560
+ export declare interface TreeNodeInlineInput {
1561
+ ariaLabel: string;
1562
+ defaultValue?: string;
1563
+ placeholder?: string;
1564
+ onCommit(value: string): Promise<void> | void;
1565
+ onCancel?(): void;
1534
1566
  }
1535
1567
 
1536
1568
  declare type TreeNodeRowVariant = "empty-state";
@@ -1539,6 +1571,8 @@ export declare interface TreeRendererContribution {
1539
1571
  id: string;
1540
1572
  title: string;
1541
1573
  icon?: string;
1574
+ searchable?: boolean;
1575
+ searchPlaceholder?: string;
1542
1576
  when?: string;
1543
1577
  defaultExpandedSectionIds?: string[];
1544
1578
  defaultExpandedNodeIds?: string[];
@@ -1546,6 +1580,7 @@ export declare interface TreeRendererContribution {
1546
1580
  getHeader?(ctx: TreeContext): Promise<TreeNode[]> | TreeNode[];
1547
1581
  getFooter?(ctx: TreeContext): Promise<TreeNode[]> | TreeNode[];
1548
1582
  getChildren(node: TreeNode, ctx: TreeContext): Promise<TreeNode[]> | TreeNode[];
1583
+ moveNode?(source: TreeNode, target: TreeNode | undefined, ctx: TreeContext): Promise<void> | void;
1549
1584
  }
1550
1585
 
1551
1586
  export declare type TreeRendererImplementation = (input: WorkbenchPanelRenderInput & {
@@ -2204,7 +2239,7 @@ export declare interface WorkbenchPersistenceAdapter {
2204
2239
 
2205
2240
  export declare type WorkbenchRegion = (typeof workbenchRegions)[number];
2206
2241
 
2207
- declare const workbenchRegions: readonly ["nav", "activity", "sidenav-header", "sidenav", "main-header", "main-left-menu", "main", "main-right-menu", "secondary-header", "secondary-left-menu", "secondary", "secondary-right-menu", "side-header", "side-left-menu", "side", "side-right-menu", "status", "overlay"];
2242
+ export declare const workbenchRegions: readonly ["nav", "activity", "sidenav-header", "sidenav", "main-header", "main-left-menu", "main", "main-right-menu", "secondary-header", "secondary-left-menu", "secondary", "secondary-right-menu", "side-header", "side-left-menu", "side", "side-right-menu", "status", "overlay"];
2208
2243
 
2209
2244
  export declare interface WorkbenchRegionSize {
2210
2245
  defaultPx?: number;