@pstdio/workbench 0.2.1 → 0.4.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 +100 -88
- package/dist/context-key-service-W4QEfVdN.js +1031 -0
- package/dist/context-key-service-W4QEfVdN.js.map +1 -0
- package/dist/extensions.d.ts +749 -256
- package/dist/extensions.js +900 -694
- package/dist/extensions.js.map +1 -1
- package/dist/file-renderer-view-DrrhYnb_.js.map +1 -1
- package/dist/index.d.ts +756 -448
- package/dist/index.js +2974 -60
- package/dist/index.js.map +1 -1
- package/dist/layout-types-DMoZz38-.js +100 -0
- package/dist/layout-types-DMoZz38-.js.map +1 -0
- package/dist/react.d.ts +745 -231
- package/dist/react.js +3494 -2493
- package/dist/react.js.map +1 -1
- package/dist/storage.d.ts +109 -14
- package/dist/storage.js +142 -47
- package/dist/storage.js.map +1 -1
- package/dist/surface-map-C1pOTUmF.js +52 -0
- package/dist/surface-map-C1pOTUmF.js.map +1 -0
- package/dist/testing.d.ts +695 -198
- package/dist/testing.js +46 -34
- package/dist/testing.js.map +1 -1
- package/dist/webview-runtime.js +5 -1
- package/dist/webview-runtime.js.map +1 -1
- package/dist/workbench-menu-paths-B_QJzcNU.js +12 -0
- package/dist/workbench-menu-paths-B_QJzcNU.js.map +1 -0
- package/package.json +6 -7
- package/dist/context-key-service-C--cHa0B.js +0 -447
- package/dist/context-key-service-C--cHa0B.js.map +0 -1
- package/dist/core.d.ts +0 -1885
- package/dist/core.js +0 -64
- package/dist/core.js.map +0 -1
- package/dist/surface-reconcile-DkRf01ro.js +0 -260
- package/dist/surface-reconcile-DkRf01ro.js.map +0 -1
- package/dist/workbench-core-DFpwi8Lo.js +0 -2264
- package/dist/workbench-core-DFpwi8Lo.js.map +0 -1
- package/dist/workbench-menu-paths-CQVH6z4_.js +0 -11
- package/dist/workbench-menu-paths-CQVH6z4_.js.map +0 -1
package/dist/react.d.ts
CHANGED
|
@@ -11,6 +11,7 @@ import { ParamEditorProps } from '@pstdio/ui';
|
|
|
11
11
|
import { ReactElement } from 'react';
|
|
12
12
|
import { ReactNode } from 'react';
|
|
13
13
|
import { ReactPortal } from 'react';
|
|
14
|
+
import { ResourceContextAction as ResourceContextAction_2 } from '@pstdio/ui';
|
|
14
15
|
import { TerminalBridge } from '@pstdio/ui/terminal';
|
|
15
16
|
import { ThemePreference as ThemePreference_3 } from '@pstdio/ui';
|
|
16
17
|
import { ThemePreferenceOption as ThemePreferenceOption_3 } from '@pstdio/ui';
|
|
@@ -25,7 +26,7 @@ declare interface AttributeDescriptor {
|
|
|
25
26
|
displayable?: boolean;
|
|
26
27
|
editable?: boolean;
|
|
27
28
|
display?: AttributeDisplayDescriptor;
|
|
28
|
-
render?: (value: unknown, row:
|
|
29
|
+
render?: (value: unknown, row: KanbanRendererRow) => ReactNode;
|
|
29
30
|
compare?: (a: unknown, b: unknown) => number;
|
|
30
31
|
}
|
|
31
32
|
|
|
@@ -95,7 +96,7 @@ declare interface CollectionSettingsPanel<TItem = unknown> extends SettingsPanel
|
|
|
95
96
|
itemLabel(item: TItem): string;
|
|
96
97
|
itemIcon?(item: TItem): string | undefined;
|
|
97
98
|
groupBy?: SettingsCollectionGroupBy<TItem>;
|
|
98
|
-
renderItem(item: TItem, input:
|
|
99
|
+
renderItem(item: TItem, input: WorkbenchPanelRenderInput): unknown;
|
|
99
100
|
actions?: SettingsAction[];
|
|
100
101
|
}
|
|
101
102
|
|
|
@@ -271,8 +272,6 @@ declare interface ControlsQueryResult {
|
|
|
271
272
|
readOnly?: boolean;
|
|
272
273
|
}
|
|
273
274
|
|
|
274
|
-
declare type ControlsRendererArea = "main-right" | "secondary" | "overlay";
|
|
275
|
-
|
|
276
275
|
declare interface ControlsRendererContribution {
|
|
277
276
|
id: string;
|
|
278
277
|
title: string;
|
|
@@ -292,12 +291,12 @@ declare interface ControlsRendererContribution {
|
|
|
292
291
|
subscribe?: (listener: () => void) => Disposable_2 | (() => void);
|
|
293
292
|
}
|
|
294
293
|
|
|
295
|
-
declare type ControlsRendererImplementation = (input:
|
|
294
|
+
declare type ControlsRendererImplementation = (input: WorkbenchPanelRenderInput & {
|
|
296
295
|
controlsRendererId: string;
|
|
297
296
|
}) => unknown;
|
|
298
297
|
|
|
299
298
|
declare interface ControlsRendererLayout {
|
|
300
|
-
|
|
299
|
+
region?: ControlsRendererRegion;
|
|
301
300
|
defaultPx?: number;
|
|
302
301
|
minPx?: number;
|
|
303
302
|
maxPx?: number;
|
|
@@ -309,6 +308,8 @@ declare interface ControlsRendererRefreshEvent {
|
|
|
309
308
|
|
|
310
309
|
declare type ControlsRendererRefreshListener = (event: ControlsRendererRefreshEvent) => void;
|
|
311
310
|
|
|
311
|
+
declare type ControlsRendererRegion = "main-right-menu" | "secondary" | "overlay";
|
|
312
|
+
|
|
312
313
|
declare interface ControlsRendererRegistry {
|
|
313
314
|
controlsStore: WorkbenchStore<ControlsRendererStoreState>;
|
|
314
315
|
registerControlsRenderer(contribution: ControlsRendererContribution, metadata?: ContributionMetadata): Disposable_2;
|
|
@@ -369,10 +370,12 @@ declare interface CreateWorkbenchRendererRegistryInput {
|
|
|
369
370
|
createHost?: () => HTMLElement;
|
|
370
371
|
}
|
|
371
372
|
|
|
373
|
+
export declare const createWorkbenchResourceActions: (workbench: WorkbenchCoreContributionContext, resource: ResourceRef) => ResourceContextAction_2[];
|
|
374
|
+
|
|
372
375
|
export declare const createWorkbenchSettingsModule: (options?: WorkbenchSettingsModuleOptions) => WorkbenchModuleContribution;
|
|
373
376
|
|
|
374
377
|
/**
|
|
375
|
-
* Host-owned terminal surface: tabbed placements in the `secondary`
|
|
378
|
+
* Host-owned terminal surface: tabbed placements in the `secondary` region whose
|
|
376
379
|
* chrome, focus, lifecycle, and styling belong to the workbench. Sessions are
|
|
377
380
|
* owned by `workbench.terminal` (the same registry the `terminal.session`
|
|
378
381
|
* webview capability uses); the host injects a session opener via
|
|
@@ -387,108 +390,123 @@ export declare const createWorkbenchTerminalModule: () => WorkbenchModuleContrib
|
|
|
387
390
|
*/
|
|
388
391
|
declare interface CustomSettingsPanel extends SettingsPanelBase {
|
|
389
392
|
kind: "custom";
|
|
390
|
-
render(input:
|
|
393
|
+
render(input: WorkbenchPanelRenderInput): unknown;
|
|
391
394
|
}
|
|
392
395
|
|
|
393
|
-
declare interface
|
|
396
|
+
declare interface DataTableRendererColumn {
|
|
397
|
+
id: string;
|
|
398
|
+
label?: string;
|
|
399
|
+
description?: string;
|
|
400
|
+
icon?: unknown;
|
|
401
|
+
hidden?: boolean;
|
|
402
|
+
stat?: DataTableRendererColumnStat;
|
|
403
|
+
renderer?: DataTableRendererColumnRenderer;
|
|
404
|
+
}
|
|
405
|
+
|
|
406
|
+
declare type DataTableRendererColumnRenderer = {
|
|
407
|
+
type: "json";
|
|
408
|
+
} | {
|
|
409
|
+
type: "color-scale";
|
|
410
|
+
stops: Array<{
|
|
411
|
+
value: number;
|
|
412
|
+
color: DataTableRendererThemeColor;
|
|
413
|
+
}>;
|
|
414
|
+
} | {
|
|
415
|
+
type: "categorical-color";
|
|
416
|
+
categories: Array<{
|
|
417
|
+
value: string | number | boolean | null;
|
|
418
|
+
color: DataTableRendererThemeColor;
|
|
419
|
+
}>;
|
|
420
|
+
};
|
|
421
|
+
|
|
422
|
+
declare type DataTableRendererColumnStat = {
|
|
423
|
+
type: "unique";
|
|
424
|
+
} | {
|
|
425
|
+
type: "histogram";
|
|
426
|
+
bins?: number;
|
|
427
|
+
} | {
|
|
428
|
+
type: "top-values";
|
|
429
|
+
limit?: number;
|
|
430
|
+
};
|
|
431
|
+
|
|
432
|
+
declare interface DataTableRendererContribution {
|
|
394
433
|
id: string;
|
|
395
434
|
title: string;
|
|
396
435
|
resourceKind?: string;
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
* `WorkbenchDataView` subscribes so additions / removals / kind changes
|
|
404
|
-
* propagate live without re-registering the renderer.
|
|
405
|
-
*/
|
|
406
|
-
attributes: AttributeDescriptor[] | AttributesSource;
|
|
407
|
-
/** Per-board-column overrides (color, drag/create rules, custom actions). */
|
|
408
|
-
getBoardColumnConfig?: (groupKey: string) => BoardColumnConfig;
|
|
409
|
-
hideToolbar?: boolean;
|
|
436
|
+
columns?: DataTableRendererColumn[];
|
|
437
|
+
selectionMode?: "none" | "multiple";
|
|
438
|
+
selectionActions?: DataTableRendererSelectionAction[];
|
|
439
|
+
rowActions?: DataTableRendererRowAction[];
|
|
440
|
+
initialPageSize?: number;
|
|
441
|
+
pageSizeOptions?: number[];
|
|
410
442
|
emptyTitle?: string;
|
|
411
443
|
emptyDescription?: string;
|
|
412
|
-
|
|
413
|
-
defaultSettings?: Partial<DataRendererSettings>;
|
|
414
|
-
defaultFilters?: DataRendererFilterState;
|
|
415
|
-
/**
|
|
416
|
-
* Data source. Receives the current display state so backends can paginate
|
|
417
|
-
* / filter / sort. The renderer re-applies filter / sort / group locally,
|
|
418
|
-
* so this can return unfiltered rows in simple cases.
|
|
419
|
-
*/
|
|
420
|
-
executeQuery(state: DataRendererQueryState): Promise<TRow[]> | TRow[];
|
|
444
|
+
executeQuery(context: DataTableRendererQueryContext): Promise<DataTableRendererQueryResult> | DataTableRendererQueryResult;
|
|
421
445
|
subscribe?: (listener: () => void) => Disposable_2 | (() => void);
|
|
422
|
-
|
|
423
|
-
onRowClick?: (row: TRow) => void;
|
|
424
|
-
/** Per-row right-click context menu actions (mirrored from <DataRenderer>). */
|
|
425
|
-
getRowContextMenuActions?: (row: TRow) => ResourceContextAction[];
|
|
426
|
-
/**
|
|
427
|
-
* Fires for inline attribute edits AND for cross-column drag-to-reorder on
|
|
428
|
-
* the board (the renderer passes the grouping attribute id + the target
|
|
429
|
-
* column value).
|
|
430
|
-
*/
|
|
431
|
-
onAttributeChange?: (rowId: string, attributeId: string, value: unknown) => Promise<void> | void;
|
|
432
|
-
/** Manual within-column reorder (only fires when ordering is manual). */
|
|
433
|
-
onReorder?: (rowId: string, beforeRowId?: string) => Promise<void> | void;
|
|
434
|
-
onCreateRow?: (columnId: string) => void;
|
|
435
|
-
onColumnAction?: (columnId: string, actionId: string) => Promise<void> | void;
|
|
446
|
+
onRowClick?: (row: DataTableRendererRow) => void;
|
|
436
447
|
}
|
|
437
448
|
|
|
438
|
-
declare type
|
|
439
|
-
|
|
440
|
-
declare type DataRendererImplementation = (input: WorkbenchWidgetRenderInput & {
|
|
441
|
-
dataRendererId: string;
|
|
449
|
+
declare type DataTableRendererImplementation = (input: WorkbenchPanelRenderInput & {
|
|
450
|
+
dataTableRendererId: string;
|
|
442
451
|
}) => unknown;
|
|
443
452
|
|
|
444
|
-
declare interface
|
|
445
|
-
|
|
446
|
-
|
|
453
|
+
declare interface DataTableRendererQueryContext {
|
|
454
|
+
resource?: ResourceRef;
|
|
455
|
+
modeId?: string;
|
|
447
456
|
}
|
|
448
457
|
|
|
449
|
-
declare interface
|
|
450
|
-
|
|
451
|
-
|
|
458
|
+
declare interface DataTableRendererQueryResult {
|
|
459
|
+
rows: DataTableRendererRow[];
|
|
460
|
+
columns?: DataTableRendererColumn[];
|
|
452
461
|
}
|
|
453
462
|
|
|
454
|
-
declare interface
|
|
455
|
-
|
|
463
|
+
declare interface DataTableRendererRefreshEvent {
|
|
464
|
+
dataTableRendererId: string;
|
|
456
465
|
}
|
|
457
466
|
|
|
458
|
-
declare
|
|
467
|
+
declare interface DataTableRendererRegistry {
|
|
468
|
+
dataTableStore: WorkbenchStore<DataTableRendererStoreState>;
|
|
469
|
+
registerDataTableRenderer(contribution: DataTableRendererContribution, metadata?: ContributionMetadata): Disposable_2;
|
|
470
|
+
setDataTableRendererImplementation(implementation: DataTableRendererImplementation): void;
|
|
471
|
+
getDataTableRenderer(id: string): RegisteredDataTableRendererContribution | undefined;
|
|
472
|
+
listDataTableRenderers(): RegisteredDataTableRendererContribution[];
|
|
473
|
+
refreshDataTableRenderer(id: string): void;
|
|
474
|
+
onDidRefreshDataTableRenderer(listener: (event: DataTableRendererRefreshEvent) => void): Disposable_2;
|
|
475
|
+
}
|
|
459
476
|
|
|
460
|
-
declare interface
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
getDataRenderer(id: string): RegisteredDataRendererContribution | undefined;
|
|
465
|
-
listDataRenderers(): RegisteredDataRendererContribution[];
|
|
466
|
-
refreshDataRenderer(id: string): void;
|
|
467
|
-
onDidRefreshDataRenderer(listener: DataRendererRefreshListener): Disposable_2;
|
|
477
|
+
declare interface DataTableRendererRow {
|
|
478
|
+
id: string;
|
|
479
|
+
values: Record<string, unknown>;
|
|
480
|
+
resource?: ResourceRef;
|
|
468
481
|
}
|
|
469
482
|
|
|
470
|
-
declare interface
|
|
483
|
+
declare interface DataTableRendererRowAction {
|
|
471
484
|
id: string;
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
* resource via the workbench).
|
|
477
|
-
*/
|
|
478
|
-
resource?: unknown;
|
|
479
|
-
attributes: Record<string, unknown>;
|
|
485
|
+
label: string;
|
|
486
|
+
icon?: unknown;
|
|
487
|
+
destructive?: boolean;
|
|
488
|
+
run(row: DataTableRendererRow): Promise<void> | void;
|
|
480
489
|
}
|
|
481
490
|
|
|
482
|
-
declare interface
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
491
|
+
declare interface DataTableRendererSelectionAction {
|
|
492
|
+
id: string;
|
|
493
|
+
label: string;
|
|
494
|
+
icon?: unknown;
|
|
495
|
+
destructive?: boolean;
|
|
496
|
+
run(rows: DataTableRendererRow[]): Promise<void> | void;
|
|
488
497
|
}
|
|
489
498
|
|
|
490
|
-
declare interface
|
|
491
|
-
renderers: Record<string,
|
|
499
|
+
declare interface DataTableRendererStoreState {
|
|
500
|
+
renderers: Record<string, RegisteredDataTableRendererContribution>;
|
|
501
|
+
}
|
|
502
|
+
|
|
503
|
+
declare interface DataTableRendererThemeColor {
|
|
504
|
+
light: string;
|
|
505
|
+
dark: string;
|
|
506
|
+
foreground?: {
|
|
507
|
+
light: string;
|
|
508
|
+
dark: string;
|
|
509
|
+
};
|
|
492
510
|
}
|
|
493
511
|
|
|
494
512
|
declare interface Disposable_2 {
|
|
@@ -568,7 +586,7 @@ declare interface FileRendererContribution {
|
|
|
568
586
|
save?(resource: ResourceRef | undefined, content: string): Promise<void> | void;
|
|
569
587
|
}
|
|
570
588
|
|
|
571
|
-
declare type FileRendererImplementation = (input:
|
|
589
|
+
declare type FileRendererImplementation = (input: WorkbenchPanelRenderInput & {
|
|
572
590
|
fileRendererId: string;
|
|
573
591
|
}) => unknown;
|
|
574
592
|
|
|
@@ -599,28 +617,177 @@ declare interface HistoryController {
|
|
|
599
617
|
goPrevious(): HistoryEntry | undefined;
|
|
600
618
|
recentlyClosed(): readonly HistoryEntry[];
|
|
601
619
|
reopenLastClosed(): HistoryEntry | undefined;
|
|
620
|
+
setPersistenceScope(scope: string | undefined): void;
|
|
621
|
+
getPersistenceScope(): string | undefined;
|
|
622
|
+
restore(): HistoryEntry | undefined;
|
|
623
|
+
flush(): void;
|
|
602
624
|
clear(): void;
|
|
603
625
|
}
|
|
604
626
|
|
|
605
|
-
declare
|
|
606
|
-
entryId: string;
|
|
607
|
-
recordedAt: number;
|
|
608
|
-
kind: "resource" | "widget" | "mode";
|
|
609
|
-
modeId?: string;
|
|
610
|
-
resource?: ResourceRef;
|
|
611
|
-
widgetId?: string;
|
|
612
|
-
contributionId?: string;
|
|
613
|
-
title?: string;
|
|
614
|
-
}
|
|
627
|
+
declare type HistoryEntry = WorkbenchNavigationEntry;
|
|
615
628
|
|
|
616
629
|
declare interface HistoryStoreState {
|
|
617
|
-
entries: readonly
|
|
630
|
+
entries: readonly WorkbenchNavigationEntry[];
|
|
618
631
|
cursor: number;
|
|
619
|
-
recentlyClosed: readonly
|
|
632
|
+
recentlyClosed: readonly WorkbenchNavigationEntry[];
|
|
633
|
+
hydrating: boolean;
|
|
620
634
|
}
|
|
621
635
|
|
|
622
636
|
export declare const isSettingsScopeVisible: (scope: SettingsScope | undefined, hasProjectScope: boolean) => boolean;
|
|
623
637
|
|
|
638
|
+
declare interface KanbanRendererContribution<TRow extends KanbanRendererRow = KanbanRendererRow> {
|
|
639
|
+
id: string;
|
|
640
|
+
title: string;
|
|
641
|
+
resourceKind?: string;
|
|
642
|
+
/**
|
|
643
|
+
* Declarative attribute schema. The renderer dispatches filter / group /
|
|
644
|
+
* sort / display / inline-edit behavior on each descriptor's `type.kind`.
|
|
645
|
+
*
|
|
646
|
+
* Pass an `AttributesSource` ({ subscribe, getSnapshot }) instead of a
|
|
647
|
+
* static array to let the contribution mutate its schema at runtime —
|
|
648
|
+
* `WorkbenchKanbanView` subscribes so additions / removals / kind changes
|
|
649
|
+
* propagate live without re-registering the renderer.
|
|
650
|
+
*/
|
|
651
|
+
attributes: AttributeDescriptor[] | AttributesSource;
|
|
652
|
+
/** Per-board-column overrides (color, drag/create rules, custom actions). */
|
|
653
|
+
getBoardColumnConfig?: (groupKey: string) => BoardColumnConfig;
|
|
654
|
+
hideToolbar?: boolean;
|
|
655
|
+
emptyTitle?: string;
|
|
656
|
+
emptyDescription?: string;
|
|
657
|
+
/** Initial settings/filters applied when the kanban renderer mounts. */
|
|
658
|
+
defaultSettings?: Partial<KanbanRendererSettings>;
|
|
659
|
+
defaultFilters?: KanbanRendererFilterState;
|
|
660
|
+
defaultViews?: KanbanRendererSavedView[];
|
|
661
|
+
defaultActiveViewId?: string;
|
|
662
|
+
/**
|
|
663
|
+
* Data source. Receives the current display state so backends can paginate
|
|
664
|
+
* / filter / sort. The renderer re-applies filter / sort / group locally,
|
|
665
|
+
* so this can return unfiltered rows in simple cases.
|
|
666
|
+
*/
|
|
667
|
+
executeQuery(state: KanbanRendererQueryState): Promise<TRow[]> | TRow[];
|
|
668
|
+
subscribe?: (listener: () => void) => Disposable_2 | (() => void);
|
|
669
|
+
/** Row interactions surfaced by the renderer (mirrored from <KanbanRenderer>). */
|
|
670
|
+
onRowClick?: (row: TRow) => void;
|
|
671
|
+
/** Per-row right-click context menu actions (mirrored from <KanbanRenderer>). */
|
|
672
|
+
getRowContextMenuActions?: (row: TRow) => ResourceContextAction[];
|
|
673
|
+
/**
|
|
674
|
+
* Fires for inline attribute edits AND for cross-column drag-to-reorder on
|
|
675
|
+
* the board (the renderer passes the grouping attribute id + the target
|
|
676
|
+
* column value).
|
|
677
|
+
*/
|
|
678
|
+
onAttributeChange?: (rowId: string, attributeId: string, value: unknown) => Promise<void> | void;
|
|
679
|
+
/** Manual within-column reorder (only fires when ordering is manual). */
|
|
680
|
+
onReorder?: (rowId: string, beforeRowId?: string) => Promise<void> | void;
|
|
681
|
+
createRow?: KanbanRendererCreateRowConfig;
|
|
682
|
+
onCreateRow?: (submission: KanbanRendererCreateSubmission) => Promise<void> | void;
|
|
683
|
+
onColumnAction?: (columnId: string, actionId: string) => Promise<void> | void;
|
|
684
|
+
}
|
|
685
|
+
|
|
686
|
+
declare interface KanbanRendererCreateField {
|
|
687
|
+
id: string;
|
|
688
|
+
label: string;
|
|
689
|
+
description?: string;
|
|
690
|
+
placeholder?: string;
|
|
691
|
+
type: KanbanRendererCreateFieldType;
|
|
692
|
+
required?: boolean;
|
|
693
|
+
defaultValue?: unknown;
|
|
694
|
+
options?: EnumOption[];
|
|
695
|
+
/** `files` fields only. */
|
|
696
|
+
multiple?: boolean;
|
|
697
|
+
accept?: string;
|
|
698
|
+
}
|
|
699
|
+
|
|
700
|
+
declare type KanbanRendererCreateFieldType = "text" | "longtext" | "markdown" | "number" | "boolean" | "select" | "multi-select" | "files";
|
|
701
|
+
|
|
702
|
+
/** Chrome copy is supplied by the caller so the dialog ships no strings of its own. */
|
|
703
|
+
declare interface KanbanRendererCreateLabels {
|
|
704
|
+
cancel: string;
|
|
705
|
+
properties: string;
|
|
706
|
+
submitError: string;
|
|
707
|
+
removeFile: string;
|
|
708
|
+
}
|
|
709
|
+
|
|
710
|
+
declare interface KanbanRendererCreateRowConfig {
|
|
711
|
+
title: string;
|
|
712
|
+
submitLabel: string;
|
|
713
|
+
fields: KanbanRendererCreateField[];
|
|
714
|
+
labels: KanbanRendererCreateLabels;
|
|
715
|
+
}
|
|
716
|
+
|
|
717
|
+
declare interface KanbanRendererCreateSubmission {
|
|
718
|
+
columnId: string;
|
|
719
|
+
columnAttributeId?: string;
|
|
720
|
+
/** Declared field values, excluding `files` fields — those arrive as `files`. */
|
|
721
|
+
values: Record<string, unknown>;
|
|
722
|
+
/** Every editable attribute the user set, keyed by attribute id. */
|
|
723
|
+
attributeValues: Record<string, unknown>;
|
|
724
|
+
files: File[];
|
|
725
|
+
}
|
|
726
|
+
|
|
727
|
+
declare type KanbanRendererFilterState = Record<string, string[]>;
|
|
728
|
+
|
|
729
|
+
declare type KanbanRendererImplementation = (input: WorkbenchPanelRenderInput & {
|
|
730
|
+
kanbanRendererId: string;
|
|
731
|
+
}) => unknown;
|
|
732
|
+
|
|
733
|
+
declare interface KanbanRendererOrdering {
|
|
734
|
+
attributeId: string | typeof MANUAL_ORDERING;
|
|
735
|
+
direction: SortDirection;
|
|
736
|
+
}
|
|
737
|
+
|
|
738
|
+
declare interface KanbanRendererQueryState {
|
|
739
|
+
settings: KanbanRendererSettings;
|
|
740
|
+
filters: KanbanRendererFilterState;
|
|
741
|
+
}
|
|
742
|
+
|
|
743
|
+
declare interface KanbanRendererRefreshEvent {
|
|
744
|
+
kanbanRendererId: string;
|
|
745
|
+
}
|
|
746
|
+
|
|
747
|
+
declare type KanbanRendererRefreshListener = (event: KanbanRendererRefreshEvent) => void;
|
|
748
|
+
|
|
749
|
+
declare interface KanbanRendererRegistry {
|
|
750
|
+
dataStore: WorkbenchStore<KanbanRendererStoreState>;
|
|
751
|
+
registerKanbanRenderer<TRow extends KanbanRendererRow = KanbanRendererRow>(contribution: KanbanRendererContribution<TRow>, metadata?: ContributionMetadata): Disposable_2;
|
|
752
|
+
setKanbanRendererImplementation(impl: KanbanRendererImplementation): void;
|
|
753
|
+
getKanbanRenderer(id: string): RegisteredKanbanRendererContribution | undefined;
|
|
754
|
+
listKanbanRenderers(): RegisteredKanbanRendererContribution[];
|
|
755
|
+
refreshKanbanRenderer(id: string): void;
|
|
756
|
+
onDidRefreshKanbanRenderer(listener: KanbanRendererRefreshListener): Disposable_2;
|
|
757
|
+
}
|
|
758
|
+
|
|
759
|
+
declare interface KanbanRendererRow {
|
|
760
|
+
id: string;
|
|
761
|
+
title: string;
|
|
762
|
+
/**
|
|
763
|
+
* Optional navigation handle. When set, the renderer's default click handler
|
|
764
|
+
* routes through the contribution's onRowClick (which typically opens the
|
|
765
|
+
* resource via the workbench).
|
|
766
|
+
*/
|
|
767
|
+
resource?: unknown;
|
|
768
|
+
attributes: Record<string, unknown>;
|
|
769
|
+
}
|
|
770
|
+
|
|
771
|
+
declare interface KanbanRendererSavedView {
|
|
772
|
+
id: string;
|
|
773
|
+
title: string;
|
|
774
|
+
settings: KanbanRendererSettings;
|
|
775
|
+
filters: KanbanRendererFilterState;
|
|
776
|
+
isDefault?: boolean;
|
|
777
|
+
}
|
|
778
|
+
|
|
779
|
+
declare interface KanbanRendererSettings {
|
|
780
|
+
viewMode: ViewMode;
|
|
781
|
+
columnGrouping: string | typeof NO_GROUPING;
|
|
782
|
+
rowGrouping: string | typeof NO_GROUPING;
|
|
783
|
+
ordering: KanbanRendererOrdering;
|
|
784
|
+
displayProperties: string[];
|
|
785
|
+
}
|
|
786
|
+
|
|
787
|
+
declare interface KanbanRendererStoreState {
|
|
788
|
+
renderers: Record<string, RegisteredKanbanRendererContribution>;
|
|
789
|
+
}
|
|
790
|
+
|
|
624
791
|
declare interface Keybinding {
|
|
625
792
|
commandId: string;
|
|
626
793
|
keybinding: KeybindingSequence;
|
|
@@ -646,33 +813,62 @@ declare interface LayoutModel {
|
|
|
646
813
|
registerPlaceholder(placeholder: PlaceholderContribution, metadata?: ContributionMetadata): {
|
|
647
814
|
dispose(): void;
|
|
648
815
|
};
|
|
816
|
+
registerPanel(panel: WorkbenchPanelContribution, metadata?: ContributionMetadata): {
|
|
817
|
+
dispose(): void;
|
|
818
|
+
};
|
|
649
819
|
registerWidget(widget: WidgetContribution, metadata?: ContributionMetadata): {
|
|
650
820
|
dispose(): void;
|
|
651
821
|
};
|
|
822
|
+
registerLocation(location: WorkbenchLocationContribution, metadata?: ContributionMetadata): {
|
|
823
|
+
dispose(): void;
|
|
824
|
+
};
|
|
825
|
+
registerSubPanel(subPanel: WorkbenchSubPanelContribution, metadata?: ContributionMetadata): {
|
|
826
|
+
dispose(): void;
|
|
827
|
+
};
|
|
828
|
+
registerPanelMenu(panelMenu: WorkbenchPanelMenuContribution, metadata?: ContributionMetadata): {
|
|
829
|
+
dispose(): void;
|
|
830
|
+
};
|
|
652
831
|
unregisterWidget(id: string, options?: {
|
|
653
832
|
removePlacements?: boolean;
|
|
654
833
|
persist?: boolean;
|
|
655
834
|
}): void;
|
|
656
|
-
getPlaceholder(
|
|
835
|
+
getPlaceholder(regionId: WorkbenchRegion_2): RegisteredPlaceholderContribution | undefined;
|
|
657
836
|
getWidget(id: string): RegisteredWidgetContribution | undefined;
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
837
|
+
getPanel(id: string): WorkbenchPanelContribution | undefined;
|
|
838
|
+
getRegionSize(regionId: WorkbenchRegion_2): WorkbenchRegionSize | undefined;
|
|
839
|
+
getRegionCollapsible(regionId: WorkbenchRegion_2): boolean;
|
|
840
|
+
getRegionHeaderBorderBottom(regionId: WorkbenchRegion_2): boolean;
|
|
841
|
+
setRegionVisible(regionId: WorkbenchRegion_2, visible: boolean): void;
|
|
842
|
+
setRegionSize(regionId: WorkbenchRegion_2, size: number): void;
|
|
663
843
|
listPlaceholders(): RegisteredPlaceholderContribution[];
|
|
664
844
|
listWidgets(): RegisteredWidgetContribution[];
|
|
845
|
+
listPanels(): WorkbenchPanelContribution[];
|
|
846
|
+
listPanelInstances(region?: WorkbenchRegion_2): WorkbenchPanelInstance[];
|
|
847
|
+
getActivePanel(region?: WorkbenchRegion_2): WorkbenchPanelInstance | undefined;
|
|
665
848
|
openWidget(id: string, input?: OpenWidgetInput): WorkbenchWidgetPlacement;
|
|
849
|
+
openPanel(id: string, input?: OpenWorkbenchPanelInput): WorkbenchPanelInstance;
|
|
850
|
+
updatePanel(instanceId: string, input: OpenWorkbenchPanelInput): WorkbenchPanelInstance;
|
|
851
|
+
reorderPanel(instanceId: string, position: WorkbenchTabPosition): void;
|
|
852
|
+
activatePanel(instanceId: string): WorkbenchPanelInstance;
|
|
853
|
+
closePanel(instanceId: string): WorkbenchPanelInstance | undefined;
|
|
666
854
|
updateWidgetPlacement(widgetId: string, input: OpenWidgetInput): WorkbenchWidgetPlacement;
|
|
855
|
+
reorderWidget(widgetId: string, position: WorkbenchTabPosition): void;
|
|
856
|
+
expirePreviewTabs(ownerResourceUri?: string): void;
|
|
667
857
|
activateWidget(widgetId: string): WorkbenchWidgetPlacement;
|
|
858
|
+
setRegionActiveWidget(regionId: WorkbenchRegion_2, widgetId: string | undefined): void;
|
|
668
859
|
closeWidget(widgetId: string): WorkbenchWidgetPlacement | undefined;
|
|
669
860
|
removeWidgetPlacement(widgetId: string): WorkbenchWidgetPlacement | undefined;
|
|
670
|
-
|
|
671
|
-
|
|
861
|
+
clearRegion(regionId: WorkbenchRegion_2): void;
|
|
862
|
+
resetRegions(): void;
|
|
672
863
|
getLayout(): WorkbenchLayout;
|
|
673
864
|
restoreLayout(layout: WorkbenchLayout): void;
|
|
674
|
-
setPersistenceScope(scope: LayoutScope | undefined
|
|
865
|
+
setPersistenceScope(scope: LayoutScope | undefined, input?: {
|
|
866
|
+
carryRegionState?: readonly WorkbenchRegion_2[];
|
|
867
|
+
}): void;
|
|
675
868
|
getPersistenceScope(): LayoutScope | undefined;
|
|
869
|
+
onWillChangePersistenceScope(listener: (scope: LayoutScope | undefined) => void): {
|
|
870
|
+
dispose(): void;
|
|
871
|
+
};
|
|
676
872
|
onDidChangePersistenceScope(listener: (scope: LayoutScope | undefined) => void): {
|
|
677
873
|
dispose(): void;
|
|
678
874
|
};
|
|
@@ -686,6 +882,7 @@ declare const MANUAL_ORDERING = "manual";
|
|
|
686
882
|
|
|
687
883
|
declare interface MenuItem {
|
|
688
884
|
commandId: string;
|
|
885
|
+
sourceCommandId?: string;
|
|
689
886
|
label?: string;
|
|
690
887
|
description?: string;
|
|
691
888
|
icon?: string;
|
|
@@ -750,7 +947,13 @@ declare interface NavigationTargetCompound {
|
|
|
750
947
|
targets: readonly NavigationTargetItem[];
|
|
751
948
|
}
|
|
752
949
|
|
|
753
|
-
declare type NavigationTargetItem = NavigationTargetResource |
|
|
950
|
+
declare type NavigationTargetItem = NavigationTargetResource | NavigationTargetPanel | NavigationTargetCommand;
|
|
951
|
+
|
|
952
|
+
declare interface NavigationTargetPanel {
|
|
953
|
+
kind: "panel";
|
|
954
|
+
panelId: string;
|
|
955
|
+
input?: OpenWorkbenchPanelInput;
|
|
956
|
+
}
|
|
754
957
|
|
|
755
958
|
declare interface NavigationTargetResource {
|
|
756
959
|
kind: "resource";
|
|
@@ -758,12 +961,6 @@ declare interface NavigationTargetResource {
|
|
|
758
961
|
input?: OpenResourceInput;
|
|
759
962
|
}
|
|
760
963
|
|
|
761
|
-
declare interface NavigationTargetView {
|
|
762
|
-
kind: "view";
|
|
763
|
-
widgetId: string;
|
|
764
|
-
input?: OpenWidgetInput;
|
|
765
|
-
}
|
|
766
|
-
|
|
767
964
|
declare const NO_GROUPING = "none";
|
|
768
965
|
|
|
769
966
|
export declare const normalizeWorkbenchKeybinding: (keybinding: KeybindingSequence) => KeybindingSequence;
|
|
@@ -784,20 +981,39 @@ declare interface OpenResourceInput {
|
|
|
784
981
|
declare interface OpenWidgetInput {
|
|
785
982
|
resource?: ResourceRef;
|
|
786
983
|
title?: string;
|
|
787
|
-
|
|
984
|
+
region?: WorkbenchRegion_2;
|
|
788
985
|
ownerId?: string;
|
|
789
986
|
source?: ContributionSource;
|
|
790
987
|
pinned?: boolean;
|
|
791
988
|
closable?: boolean;
|
|
792
989
|
mountStrategy?: WidgetMountStrategy;
|
|
793
990
|
hiddenByDefault?: boolean;
|
|
991
|
+
tabRetention?: WorkbenchTabRetention;
|
|
992
|
+
tabPosition?: WorkbenchTabPosition;
|
|
993
|
+
tab?: WorkbenchWidgetTab;
|
|
794
994
|
replaceActive?: boolean;
|
|
995
|
+
replaceWidgetId?: string;
|
|
996
|
+
}
|
|
997
|
+
|
|
998
|
+
declare interface OpenWorkbenchPanelInput {
|
|
999
|
+
resource?: ResourceRef;
|
|
1000
|
+
title?: string;
|
|
1001
|
+
region?: WorkbenchRegion_2;
|
|
1002
|
+
pinned?: boolean;
|
|
1003
|
+
mountStrategy?: WorkbenchPanelMountStrategy;
|
|
1004
|
+
hiddenByDefault?: boolean;
|
|
1005
|
+
tab?: WorkbenchPanelTab;
|
|
1006
|
+
strategy?: WorkbenchPanelOpenStrategy;
|
|
795
1007
|
}
|
|
796
1008
|
|
|
797
|
-
export declare const openWorkbenchTerminal: (ctx: WorkbenchCoreContributionContext, input?:
|
|
1009
|
+
export declare const openWorkbenchTerminal: (ctx: WorkbenchCoreContributionContext, input?: OpenWorkbenchTerminalOptions) => WorkbenchPanelInstance_2;
|
|
798
1010
|
|
|
799
1011
|
declare type OpenWorkbenchTerminalInput = NonNullable<Parameters<WorkbenchCoreContributionContext["layout"]["openWidget"]>[1]>;
|
|
800
1012
|
|
|
1013
|
+
declare type OpenWorkbenchTerminalOptions = OpenWorkbenchTerminalInput & {
|
|
1014
|
+
reveal?: boolean;
|
|
1015
|
+
};
|
|
1016
|
+
|
|
801
1017
|
declare type ParamValue = Parameters<NonNullable<ParamEditorProps["onChange"]>>[1];
|
|
802
1018
|
|
|
803
1019
|
export declare const paramValueToPreference: (schema: PreferencePropertySchema, value: ParamValue) => PreferenceValue;
|
|
@@ -805,10 +1021,10 @@ export declare const paramValueToPreference: (schema: PreferencePropertySchema,
|
|
|
805
1021
|
declare interface PlaceholderContribution {
|
|
806
1022
|
id: string;
|
|
807
1023
|
title: string;
|
|
808
|
-
|
|
1024
|
+
region: WorkbenchRegion_2;
|
|
809
1025
|
rendererId: string;
|
|
810
|
-
|
|
811
|
-
|
|
1026
|
+
regionSize?: WorkbenchRegionSize;
|
|
1027
|
+
regionCollapsible?: boolean;
|
|
812
1028
|
config?: unknown;
|
|
813
1029
|
priority?: number;
|
|
814
1030
|
}
|
|
@@ -870,12 +1086,15 @@ declare interface RegisteredContributionMetadata {
|
|
|
870
1086
|
declare interface RegisteredControlsRendererContribution extends ControlsRendererContribution, RegisteredContributionMetadata {
|
|
871
1087
|
}
|
|
872
1088
|
|
|
873
|
-
declare interface
|
|
1089
|
+
declare interface RegisteredDataTableRendererContribution extends DataTableRendererContribution, RegisteredContributionMetadata {
|
|
874
1090
|
}
|
|
875
1091
|
|
|
876
1092
|
declare interface RegisteredFileRendererContribution extends FileRendererContribution, RegisteredContributionMetadata {
|
|
877
1093
|
}
|
|
878
1094
|
|
|
1095
|
+
declare interface RegisteredKanbanRendererContribution<TRow extends KanbanRendererRow = KanbanRendererRow> extends KanbanRendererContribution<TRow>, RegisteredContributionMetadata {
|
|
1096
|
+
}
|
|
1097
|
+
|
|
879
1098
|
declare interface RegisteredKeepAliveHost {
|
|
880
1099
|
rendererId: string;
|
|
881
1100
|
host: HTMLElement;
|
|
@@ -911,8 +1130,10 @@ declare interface RegisteredTreeRendererContribution extends TreeRendererContrib
|
|
|
911
1130
|
}
|
|
912
1131
|
|
|
913
1132
|
declare type RegisteredWidgetContribution = Omit<WidgetContribution, "priority" | "singleton" | "reuse"> & {
|
|
1133
|
+
ownedPanelMenuIds?: readonly string[];
|
|
914
1134
|
singleton: boolean;
|
|
915
1135
|
reuse: WidgetReusePolicy;
|
|
1136
|
+
role: WorkbenchWidgetRole;
|
|
916
1137
|
} & RegisteredContributionMetadata;
|
|
917
1138
|
|
|
918
1139
|
declare interface RegisteredWorkbenchNotification extends RegisteredContributionMetadata {
|
|
@@ -926,7 +1147,9 @@ declare interface RegisteredWorkbenchNotification extends RegisteredContribution
|
|
|
926
1147
|
metadata?: Record<string, unknown>;
|
|
927
1148
|
}
|
|
928
1149
|
|
|
929
|
-
declare type
|
|
1150
|
+
declare type ResolvedResourceHierarchyProvider = Required<ResourceHierarchyProvider>;
|
|
1151
|
+
|
|
1152
|
+
declare type ResolvedResourcePresenter = Required<ResourcePresenter>;
|
|
930
1153
|
|
|
931
1154
|
declare interface ResourceBrowseEntry {
|
|
932
1155
|
resource: ResourceRef;
|
|
@@ -948,6 +1171,13 @@ declare interface ResourceContextAction {
|
|
|
948
1171
|
separatorBefore?: boolean;
|
|
949
1172
|
}
|
|
950
1173
|
|
|
1174
|
+
declare interface ResourceHierarchyProvider {
|
|
1175
|
+
id: string;
|
|
1176
|
+
priority?: number;
|
|
1177
|
+
canResolve(resource: ResourceRef): boolean;
|
|
1178
|
+
getParent(resource: ResourceRef): ResourceRef | undefined;
|
|
1179
|
+
}
|
|
1180
|
+
|
|
951
1181
|
declare interface ResourceKindContribution {
|
|
952
1182
|
kind: string;
|
|
953
1183
|
label: string;
|
|
@@ -968,11 +1198,11 @@ declare interface ResourceNavigator<TResult = unknown> {
|
|
|
968
1198
|
navigate(resource: ResourceRef): TResult | Promise<TResult>;
|
|
969
1199
|
}
|
|
970
1200
|
|
|
971
|
-
declare interface
|
|
1201
|
+
declare interface ResourcePresenter {
|
|
972
1202
|
id: string;
|
|
973
1203
|
priority?: number;
|
|
974
1204
|
canOpen(resource: ResourceRef): boolean;
|
|
975
|
-
open(resource: ResourceRef, input: OpenResourceInput):
|
|
1205
|
+
open(resource: ResourceRef, input: OpenResourceInput): WorkbenchPanelInstance | Promise<WorkbenchPanelInstance>;
|
|
976
1206
|
}
|
|
977
1207
|
|
|
978
1208
|
declare interface ResourceProvider {
|
|
@@ -1005,19 +1235,24 @@ declare interface ResourceRegistry {
|
|
|
1005
1235
|
getKind(kind: string): RegisteredResourceKind | undefined;
|
|
1006
1236
|
getSurface(resource: ResourceRef): ResourceSurface | undefined;
|
|
1007
1237
|
listKinds(): RegisteredResourceKind[];
|
|
1008
|
-
|
|
1009
|
-
|
|
1238
|
+
registerPresenter(presenter: ResourcePresenter): Disposable_2;
|
|
1239
|
+
listPresenters(): ResolvedResourcePresenter[];
|
|
1010
1240
|
registerProvider(provider: ResourceProvider): Disposable_2;
|
|
1011
1241
|
listProviders(): ResourceProvider[];
|
|
1012
1242
|
listResources(query: string): readonly ResourceBrowseEntry[];
|
|
1013
|
-
|
|
1243
|
+
registerHierarchyProvider(provider: ResourceHierarchyProvider): Disposable_2;
|
|
1244
|
+
listHierarchyProviders(): ResolvedResourceHierarchyProvider[];
|
|
1245
|
+
walkHierarchy(resource: ResourceRef | undefined): ResourceRef[];
|
|
1246
|
+
isOpeningResource(): boolean;
|
|
1247
|
+
openResource(resource: ResourceRef, input?: OpenResourceInput): Promise<WorkbenchPanelInstance>;
|
|
1014
1248
|
onDidOpenResource(listener: (resource: ResourceRef) => void): Disposable_2;
|
|
1015
1249
|
}
|
|
1016
1250
|
|
|
1017
1251
|
declare interface ResourceRegistryStoreState {
|
|
1018
1252
|
kinds: Record<string, RegisteredResourceKind>;
|
|
1019
|
-
|
|
1253
|
+
presenters: Record<string, ResolvedResourcePresenter>;
|
|
1020
1254
|
providers: Record<string, ResourceProvider>;
|
|
1255
|
+
hierarchyProviders: Record<string, ResolvedResourceHierarchyProvider>;
|
|
1021
1256
|
}
|
|
1022
1257
|
|
|
1023
1258
|
declare type ResourceSurface = "primary" | "secondary" | "attached";
|
|
@@ -1102,7 +1337,7 @@ declare interface SettingsRegistryStoreState {
|
|
|
1102
1337
|
/** Settings are stored either per-user (global) or per-project. Projectless surfaces show only global entries. */
|
|
1103
1338
|
declare type SettingsScope = "global" | "project";
|
|
1104
1339
|
|
|
1105
|
-
/** An ordered
|
|
1340
|
+
/** An ordered sidenav container. Headerless when `title` is omitted. */
|
|
1106
1341
|
declare interface SettingsSectionContribution {
|
|
1107
1342
|
id: string;
|
|
1108
1343
|
title?: string;
|
|
@@ -1210,6 +1445,8 @@ declare interface TreeNode {
|
|
|
1210
1445
|
hiddenByDefault?: boolean;
|
|
1211
1446
|
/** When true, the node (e.g. a header/footer row) opts in to the tree's hide/show customization menu. */
|
|
1212
1447
|
canHide?: boolean;
|
|
1448
|
+
/** When false, the node stays fixed within its Sidenav group. */
|
|
1449
|
+
canReorder?: boolean;
|
|
1213
1450
|
}
|
|
1214
1451
|
|
|
1215
1452
|
declare type TreeNodeRowVariant = "empty-state";
|
|
@@ -1227,7 +1464,7 @@ declare interface TreeRendererContribution {
|
|
|
1227
1464
|
getChildren(node: TreeNode, ctx: TreeContext): Promise<TreeNode[]> | TreeNode[];
|
|
1228
1465
|
}
|
|
1229
1466
|
|
|
1230
|
-
declare type TreeRendererImplementation = (input:
|
|
1467
|
+
declare type TreeRendererImplementation = (input: WorkbenchPanelRenderInput & {
|
|
1231
1468
|
treeId: string;
|
|
1232
1469
|
}) => unknown;
|
|
1233
1470
|
|
|
@@ -1285,9 +1522,13 @@ declare interface TreeViewSection {
|
|
|
1285
1522
|
hiddenByDefault?: boolean;
|
|
1286
1523
|
/** When true, the section (category) opts in to the tree's hide/show customization menu. */
|
|
1287
1524
|
canHide?: boolean;
|
|
1525
|
+
/** When false, the section stays fixed within the Sidenav main region. */
|
|
1526
|
+
canReorder?: boolean;
|
|
1288
1527
|
}
|
|
1289
1528
|
|
|
1290
|
-
export declare const useWorkbenchClaim: () =>
|
|
1529
|
+
export declare const useWorkbenchClaim: () => WorkbenchPanelRenderInput | undefined;
|
|
1530
|
+
|
|
1531
|
+
export declare const useWorkbenchResourceActionResolver: (workbench: WorkbenchCoreContributionContext) => (resource: ResourceRef) => ResourceContextAction_2[];
|
|
1291
1532
|
|
|
1292
1533
|
export declare const useWorkbenchStore: <TState, TSlice>(store: WorkbenchStore<TState>, selector: (state: TState) => TSlice) => TSlice;
|
|
1293
1534
|
|
|
@@ -1300,8 +1541,8 @@ export declare const useWorkbenchThemePreferences: (workbench: WorkbenchCore) =>
|
|
|
1300
1541
|
})[];
|
|
1301
1542
|
|
|
1302
1543
|
/**
|
|
1303
|
-
* Core-owned contracts for
|
|
1304
|
-
*
|
|
1544
|
+
* Core-owned contracts for kanban renderer contributions. @pstdio/ui's
|
|
1545
|
+
* KanbanRenderer props are structurally identical; the React layer bridges the
|
|
1305
1546
|
* two, so drift surfaces as a compile error there instead of coupling core's
|
|
1306
1547
|
* API shape to UI package ownership.
|
|
1307
1548
|
*/
|
|
@@ -1310,19 +1551,26 @@ declare type ViewMode = "board" | "list";
|
|
|
1310
1551
|
declare interface WidgetContribution {
|
|
1311
1552
|
id: string;
|
|
1312
1553
|
title: string;
|
|
1313
|
-
|
|
1314
|
-
|
|
1554
|
+
icon?: string;
|
|
1555
|
+
region: WorkbenchRegion_2;
|
|
1556
|
+
fallbackRegion?: WorkbenchRegion_2;
|
|
1315
1557
|
singleton?: boolean;
|
|
1316
1558
|
reuse?: WidgetReusePolicy;
|
|
1317
1559
|
mountStrategy?: WidgetMountStrategy;
|
|
1318
1560
|
closable?: boolean;
|
|
1319
1561
|
hiddenByDefault?: boolean;
|
|
1320
|
-
|
|
1321
|
-
|
|
1562
|
+
regionSize?: WorkbenchRegionSize;
|
|
1563
|
+
regionCollapsible?: boolean;
|
|
1322
1564
|
headerBorderBottom?: boolean;
|
|
1565
|
+
floatingPanels?: WorkbenchFloatingPanelVisibility;
|
|
1323
1566
|
resourceKinds?: string[];
|
|
1324
1567
|
priority?: number;
|
|
1325
1568
|
rendererId: string;
|
|
1569
|
+
openCommandId?: string;
|
|
1570
|
+
role?: WorkbenchWidgetRole;
|
|
1571
|
+
eligibleLocations?: WorkbenchLocationEligibility;
|
|
1572
|
+
panelMenuOwner?: WorkbenchPanelMenuOwner;
|
|
1573
|
+
tab?: WorkbenchWidgetTab;
|
|
1326
1574
|
config?: unknown;
|
|
1327
1575
|
canOpen?(resource: ResourceRef): boolean;
|
|
1328
1576
|
}
|
|
@@ -1349,43 +1597,7 @@ export declare const WORKBENCH_TERMINAL_OPEN_COMMAND_ID = "workbench.terminal.op
|
|
|
1349
1597
|
|
|
1350
1598
|
export declare const WORKBENCH_TERMINAL_WIDGET_ID = "workbench.terminal";
|
|
1351
1599
|
|
|
1352
|
-
export declare const
|
|
1353
|
-
|
|
1354
|
-
declare type WorkbenchArea_2 = (typeof workbenchAreas)[number];
|
|
1355
|
-
|
|
1356
|
-
declare interface WorkbenchAreaProps {
|
|
1357
|
-
workbench: WorkbenchCore;
|
|
1358
|
-
area: WorkbenchArea_2;
|
|
1359
|
-
title?: string;
|
|
1360
|
-
showHeader?: boolean;
|
|
1361
|
-
hideSingleTabHeader?: boolean;
|
|
1362
|
-
pointerEvents?: "auto" | "none";
|
|
1363
|
-
transparent?: boolean;
|
|
1364
|
-
}
|
|
1365
|
-
|
|
1366
|
-
declare const workbenchAreas: readonly ["nav", "activity", "left-header", "left", "main-header", "main-left", "main", "main-right", "secondary-header", "secondary", "status", "overlay", "floating-header", "floating"];
|
|
1367
|
-
|
|
1368
|
-
declare interface WorkbenchAreaSize {
|
|
1369
|
-
defaultPx?: number;
|
|
1370
|
-
minPx?: number;
|
|
1371
|
-
maxPx?: number;
|
|
1372
|
-
}
|
|
1373
|
-
|
|
1374
|
-
declare interface WorkbenchAreaState {
|
|
1375
|
-
id: WorkbenchArea_2;
|
|
1376
|
-
visible: boolean;
|
|
1377
|
-
size?: number;
|
|
1378
|
-
widgets: WorkbenchWidgetPlacement[];
|
|
1379
|
-
activeWidgetId?: string;
|
|
1380
|
-
}
|
|
1381
|
-
|
|
1382
|
-
export declare const WorkbenchAreaTabs: (props: WorkbenchAreaTabsProps) => JSX.Element | null;
|
|
1383
|
-
|
|
1384
|
-
declare interface WorkbenchAreaTabsProps {
|
|
1385
|
-
workbench: WorkbenchCore;
|
|
1386
|
-
area: WorkbenchArea_2;
|
|
1387
|
-
visibilityStorageKey?: string;
|
|
1388
|
-
}
|
|
1600
|
+
export declare const WorkbenchAttachedSidePanel: (props: WorkbenchSidePanelProps) => JSX.Element;
|
|
1389
1601
|
|
|
1390
1602
|
declare type WorkbenchBreadcrumbChangeListener = () => void;
|
|
1391
1603
|
|
|
@@ -1400,6 +1612,7 @@ declare interface WorkbenchBreadcrumbController {
|
|
|
1400
1612
|
declare interface WorkbenchBreadcrumbItem {
|
|
1401
1613
|
title: unknown;
|
|
1402
1614
|
icon?: string;
|
|
1615
|
+
indicator?: "session-status";
|
|
1403
1616
|
url?: string;
|
|
1404
1617
|
onClick?: () => void;
|
|
1405
1618
|
resource?: ResourceRef;
|
|
@@ -1415,10 +1628,18 @@ declare interface WorkbenchBreadcrumbViewProps {
|
|
|
1415
1628
|
workbench: WorkbenchCore;
|
|
1416
1629
|
}
|
|
1417
1630
|
|
|
1418
|
-
export declare const WorkbenchClaimContext: Context<
|
|
1631
|
+
export declare const WorkbenchClaimContext: Context<WorkbenchPanelRenderInput | undefined>;
|
|
1632
|
+
|
|
1633
|
+
declare interface WorkbenchClosedSubPanel {
|
|
1634
|
+
region: WorkbenchPanelRegion;
|
|
1635
|
+
reference: WorkbenchSubPanelRef;
|
|
1636
|
+
resource?: ResourceRef;
|
|
1637
|
+
title?: string;
|
|
1638
|
+
}
|
|
1419
1639
|
|
|
1420
1640
|
declare interface WorkbenchCommandExecutionContext {
|
|
1421
1641
|
resource?: ResourceRef;
|
|
1642
|
+
source?: "panel-add";
|
|
1422
1643
|
}
|
|
1423
1644
|
|
|
1424
1645
|
declare interface WorkbenchCommandExecutionError {
|
|
@@ -1484,6 +1705,7 @@ declare interface WorkbenchCommandParamsRequest {
|
|
|
1484
1705
|
}
|
|
1485
1706
|
|
|
1486
1707
|
declare interface WorkbenchCore extends WorkbenchCoreContributionContext {
|
|
1708
|
+
host: WorkbenchHost;
|
|
1487
1709
|
registerModule(module: WorkbenchModuleContribution): Disposable_2;
|
|
1488
1710
|
unregisterModule(moduleId: string): void;
|
|
1489
1711
|
}
|
|
@@ -1507,7 +1729,8 @@ declare interface WorkbenchCoreContributionContext {
|
|
|
1507
1729
|
renderers: WorkbenchRenderers;
|
|
1508
1730
|
resources: ResourceRegistry;
|
|
1509
1731
|
settings: SettingsRegistry;
|
|
1510
|
-
|
|
1732
|
+
shell: WorkbenchShellController;
|
|
1733
|
+
sidePanel: WorkbenchSidePanelController;
|
|
1511
1734
|
terminal: WorkbenchTerminalController;
|
|
1512
1735
|
themes: ThemeRegistry;
|
|
1513
1736
|
fileIconThemes: FileIconThemeRegistry;
|
|
@@ -1517,34 +1740,46 @@ declare interface WorkbenchCoreContributionContext {
|
|
|
1517
1740
|
onDidChangeActiveResource(listener: (resource: ResourceRef | undefined) => void): Disposable_2;
|
|
1518
1741
|
}
|
|
1519
1742
|
|
|
1743
|
+
export declare const WorkbenchDataTableView: (props: WorkbenchDataTableViewProps) => JSX.Element;
|
|
1744
|
+
|
|
1745
|
+
declare interface WorkbenchDataTableViewProps {
|
|
1746
|
+
workbench: WorkbenchCore;
|
|
1747
|
+
contribution: RegisteredDataTableRendererContribution;
|
|
1748
|
+
placement: WorkbenchPanelInstance;
|
|
1749
|
+
}
|
|
1750
|
+
|
|
1520
1751
|
declare interface WorkbenchFileIconThemeStoreState {
|
|
1521
1752
|
themes: readonly FileIconThemePreferenceOption[];
|
|
1522
1753
|
}
|
|
1523
1754
|
|
|
1524
|
-
declare type
|
|
1755
|
+
declare type WorkbenchFloatingPanelVisibility = "visible" | "hidden";
|
|
1525
1756
|
|
|
1526
|
-
declare const
|
|
1757
|
+
export declare const WorkbenchFloatingSidePanel: (props: WorkbenchSidePanelProps) => JSX.Element | null;
|
|
1527
1758
|
|
|
1528
|
-
declare type WorkbenchFocusChangeListener = (
|
|
1759
|
+
declare type WorkbenchFocusChangeListener = (region: WorkbenchFocusRegionId | undefined) => void;
|
|
1529
1760
|
|
|
1530
1761
|
declare interface WorkbenchFocusController {
|
|
1531
1762
|
store: WorkbenchStore<WorkbenchFocusState>;
|
|
1532
|
-
|
|
1763
|
+
setActiveRegion(region: WorkbenchFocusRegionId): void;
|
|
1533
1764
|
clearFocus(): void;
|
|
1534
|
-
|
|
1765
|
+
getActiveRegion(): WorkbenchFocusRegionId | undefined;
|
|
1535
1766
|
onDidChange(listener: WorkbenchFocusChangeListener): Disposable_2;
|
|
1536
1767
|
}
|
|
1537
1768
|
|
|
1538
1769
|
export declare const WorkbenchFocusRegion: (props: WorkbenchFocusRegionProps) => JSX.Element;
|
|
1539
1770
|
|
|
1771
|
+
declare type WorkbenchFocusRegionId = (typeof workbenchFocusRegions)[number];
|
|
1772
|
+
|
|
1540
1773
|
declare interface WorkbenchFocusRegionProps extends BoxProps {
|
|
1541
1774
|
workbench: WorkbenchCore;
|
|
1542
|
-
|
|
1775
|
+
region: WorkbenchFocusRegionId;
|
|
1543
1776
|
children: ReactNode;
|
|
1544
1777
|
}
|
|
1545
1778
|
|
|
1779
|
+
declare const workbenchFocusRegions: readonly ["activity", "sidenav", "main", "secondary", "side", "status"];
|
|
1780
|
+
|
|
1546
1781
|
declare interface WorkbenchFocusState {
|
|
1547
|
-
|
|
1782
|
+
activeRegion: WorkbenchFocusRegionId | undefined;
|
|
1548
1783
|
}
|
|
1549
1784
|
|
|
1550
1785
|
export declare const WorkbenchHeaderActions: (props: WorkbenchHeaderActionsProps) => JSX.Element | null;
|
|
@@ -1552,6 +1787,16 @@ export declare const WorkbenchHeaderActions: (props: WorkbenchHeaderActionsProps
|
|
|
1552
1787
|
declare interface WorkbenchHeaderActionsProps {
|
|
1553
1788
|
workbench: WorkbenchCore;
|
|
1554
1789
|
menuPath: MenuPath;
|
|
1790
|
+
controlSize?: "2xs" | "xs";
|
|
1791
|
+
}
|
|
1792
|
+
|
|
1793
|
+
declare interface WorkbenchHost {
|
|
1794
|
+
getSnapshot(): WorkbenchSnapshot;
|
|
1795
|
+
restoreSnapshot(snapshot: WorkbenchSnapshot): void;
|
|
1796
|
+
setPersistenceScope(scope: string | undefined, input?: {
|
|
1797
|
+
carryRegions?: readonly WorkbenchRegion_2[];
|
|
1798
|
+
}): void;
|
|
1799
|
+
getPersistenceScope(): string | undefined;
|
|
1555
1800
|
}
|
|
1556
1801
|
|
|
1557
1802
|
export declare interface WorkbenchHotkeyRegistration {
|
|
@@ -1590,8 +1835,10 @@ declare interface WorkbenchLastResourceController {
|
|
|
1590
1835
|
}
|
|
1591
1836
|
|
|
1592
1837
|
declare interface WorkbenchLayout {
|
|
1593
|
-
|
|
1838
|
+
regions: Record<WorkbenchRegion_2, WorkbenchRegionState>;
|
|
1839
|
+
locationSubPanelSelections?: Record<string, Partial<Record<WorkbenchPanelRegion, string>>>;
|
|
1594
1840
|
activeWidgetId?: string;
|
|
1841
|
+
activeLocationWidgetId?: string;
|
|
1595
1842
|
activeResourceUri?: string;
|
|
1596
1843
|
}
|
|
1597
1844
|
|
|
@@ -1600,7 +1847,25 @@ declare type WorkbenchLayoutModel = LayoutModel & MenuRegistry;
|
|
|
1600
1847
|
declare interface WorkbenchLayoutStoreState {
|
|
1601
1848
|
layout: WorkbenchLayout;
|
|
1602
1849
|
widgets: Record<string, RegisteredWidgetContribution>;
|
|
1603
|
-
placeholders: Partial<Record<
|
|
1850
|
+
placeholders: Partial<Record<WorkbenchRegion_2, RegisteredPlaceholderContribution>>;
|
|
1851
|
+
}
|
|
1852
|
+
|
|
1853
|
+
declare type WorkbenchLocationContribution = Omit<WidgetContribution, "role"> & WorkbenchPanelMenusContribution;
|
|
1854
|
+
|
|
1855
|
+
declare interface WorkbenchLocationEligibility {
|
|
1856
|
+
modeIds?: string[];
|
|
1857
|
+
resourceKinds?: string[];
|
|
1858
|
+
resourceIds?: string[];
|
|
1859
|
+
canOpen?(resource: ResourceRef): boolean;
|
|
1860
|
+
}
|
|
1861
|
+
|
|
1862
|
+
declare interface WorkbenchLocationRef {
|
|
1863
|
+
key: string;
|
|
1864
|
+
modeId?: string;
|
|
1865
|
+
resource?: ResourceRef;
|
|
1866
|
+
contributionId?: string;
|
|
1867
|
+
instanceKey?: string;
|
|
1868
|
+
title?: string;
|
|
1604
1869
|
}
|
|
1605
1870
|
|
|
1606
1871
|
export declare interface WorkbenchMenuItem {
|
|
@@ -1631,16 +1896,24 @@ declare type WorkbenchModeChangeListener = () => void;
|
|
|
1631
1896
|
declare interface WorkbenchModeContribution {
|
|
1632
1897
|
id: string;
|
|
1633
1898
|
label?: string;
|
|
1899
|
+
panels?: readonly WorkbenchPanelRegion[];
|
|
1634
1900
|
activate(ctx: WorkbenchModeActivationContext): WorkbenchModeActivationResult;
|
|
1901
|
+
seed?(ctx: WorkbenchModeActivationContext): void;
|
|
1902
|
+
enter?(ctx: WorkbenchModeActivationContext): WorkbenchModeActivationResult;
|
|
1635
1903
|
}
|
|
1636
1904
|
|
|
1637
1905
|
declare interface WorkbenchModeRegistry {
|
|
1638
1906
|
store: WorkbenchStore<WorkbenchModeStoreState>;
|
|
1907
|
+
dispose(): void;
|
|
1639
1908
|
registerMode(mode: WorkbenchModeContribution): Disposable_2;
|
|
1640
1909
|
getMode(id: string): WorkbenchModeContribution | undefined;
|
|
1641
1910
|
listModes(): WorkbenchModeContribution[];
|
|
1642
1911
|
getActiveModeId(): string | undefined;
|
|
1643
|
-
|
|
1912
|
+
isTransitioning(): boolean;
|
|
1913
|
+
setActiveMode(id: string | undefined, input?: {
|
|
1914
|
+
deferSeed?: boolean;
|
|
1915
|
+
}): void;
|
|
1916
|
+
seedActiveMode(): void;
|
|
1644
1917
|
onDidChangeActive(listener: WorkbenchModeChangeListener): Disposable_2;
|
|
1645
1918
|
}
|
|
1646
1919
|
|
|
@@ -1651,6 +1924,8 @@ declare interface WorkbenchModeStoreState {
|
|
|
1651
1924
|
|
|
1652
1925
|
declare type WorkbenchModuleActivationResult = Disposable_2 | readonly Disposable_2[] | undefined;
|
|
1653
1926
|
|
|
1927
|
+
declare type WorkbenchModuleContext = WorkbenchCoreContributionContext;
|
|
1928
|
+
|
|
1654
1929
|
declare interface WorkbenchModuleContribution {
|
|
1655
1930
|
id: string;
|
|
1656
1931
|
source?: ContributionSource;
|
|
@@ -1658,7 +1933,7 @@ declare interface WorkbenchModuleContribution {
|
|
|
1658
1933
|
activate(ctx: WorkbenchModuleContributionContext): WorkbenchModuleActivationResult;
|
|
1659
1934
|
}
|
|
1660
1935
|
|
|
1661
|
-
declare type WorkbenchModuleContributionContext =
|
|
1936
|
+
declare type WorkbenchModuleContributionContext = WorkbenchModuleContext;
|
|
1662
1937
|
|
|
1663
1938
|
export declare const WorkbenchModuleHost: (props: WorkbenchModuleHostProps) => null;
|
|
1664
1939
|
|
|
@@ -1671,6 +1946,20 @@ export declare interface WorkbenchModuleHostRegistration {
|
|
|
1671
1946
|
disposable: Disposable_2;
|
|
1672
1947
|
}
|
|
1673
1948
|
|
|
1949
|
+
declare interface WorkbenchNavigationEntry {
|
|
1950
|
+
entryId: string;
|
|
1951
|
+
recordedAt: number;
|
|
1952
|
+
location: WorkbenchLocationRef;
|
|
1953
|
+
selectedSubPanels: Partial<Record<WorkbenchPanelRegion, WorkbenchSubPanelRef>>;
|
|
1954
|
+
kind: "resource" | "widget" | "mode";
|
|
1955
|
+
modeId?: string;
|
|
1956
|
+
resource?: ResourceRef;
|
|
1957
|
+
widgetId?: string;
|
|
1958
|
+
contributionId?: string;
|
|
1959
|
+
title?: string;
|
|
1960
|
+
closedSubPanel?: WorkbenchClosedSubPanel;
|
|
1961
|
+
}
|
|
1962
|
+
|
|
1674
1963
|
declare interface WorkbenchNotification {
|
|
1675
1964
|
id?: string;
|
|
1676
1965
|
level: WorkbenchNotificationLevel;
|
|
@@ -1734,20 +2023,171 @@ export declare interface WorkbenchOverlayWidgetConfig {
|
|
|
1734
2023
|
closeTriggerTop?: string;
|
|
1735
2024
|
}
|
|
1736
2025
|
|
|
2026
|
+
declare interface WorkbenchPanelContribution {
|
|
2027
|
+
id: string;
|
|
2028
|
+
title: string;
|
|
2029
|
+
icon?: string;
|
|
2030
|
+
region: WorkbenchRegion_2;
|
|
2031
|
+
fallbackRegion?: WorkbenchRegion_2;
|
|
2032
|
+
rendererId: string;
|
|
2033
|
+
closable: boolean;
|
|
2034
|
+
singleton?: boolean;
|
|
2035
|
+
reuse?: WorkbenchPanelReusePolicy;
|
|
2036
|
+
mountStrategy?: WorkbenchPanelMountStrategy;
|
|
2037
|
+
hiddenByDefault?: boolean;
|
|
2038
|
+
regionSize?: WorkbenchRegionSize;
|
|
2039
|
+
regionCollapsible?: boolean;
|
|
2040
|
+
headerBorderBottom?: boolean;
|
|
2041
|
+
floatingPanels?: WorkbenchFloatingPanelVisibility;
|
|
2042
|
+
resourceKinds?: string[];
|
|
2043
|
+
eligibleLocations?: WorkbenchLocationEligibility;
|
|
2044
|
+
priority?: number;
|
|
2045
|
+
openCommandId?: string;
|
|
2046
|
+
tab?: WorkbenchPanelTab;
|
|
2047
|
+
config?: unknown;
|
|
2048
|
+
canOpen?(resource: ResourceRef): boolean;
|
|
2049
|
+
ownerId?: string;
|
|
2050
|
+
source?: ContributionSource;
|
|
2051
|
+
panelMenus?: readonly WorkbenchPanelMenuDefinition[];
|
|
2052
|
+
}
|
|
2053
|
+
|
|
2054
|
+
declare interface WorkbenchPanelInstance {
|
|
2055
|
+
instanceId: string;
|
|
2056
|
+
panelId: string;
|
|
2057
|
+
ownerId?: string;
|
|
2058
|
+
source?: ContributionSource;
|
|
2059
|
+
resource?: ResourceRef;
|
|
2060
|
+
resourceUri?: string;
|
|
2061
|
+
ownerResourceUri?: string;
|
|
2062
|
+
title?: string;
|
|
2063
|
+
pinned?: boolean;
|
|
2064
|
+
closable: boolean;
|
|
2065
|
+
mountStrategy?: WorkbenchPanelMountStrategy;
|
|
2066
|
+
hiddenByDefault?: boolean;
|
|
2067
|
+
tabRetention?: WorkbenchTabRetention;
|
|
2068
|
+
tab?: WorkbenchPanelTab;
|
|
2069
|
+
}
|
|
2070
|
+
|
|
2071
|
+
declare interface WorkbenchPanelInstance_2 {
|
|
2072
|
+
instanceId: string;
|
|
2073
|
+
panelId: string;
|
|
2074
|
+
ownerId?: string;
|
|
2075
|
+
source?: ContributionSource_2;
|
|
2076
|
+
resource?: ResourceRef_2;
|
|
2077
|
+
resourceUri?: string;
|
|
2078
|
+
ownerResourceUri?: string;
|
|
2079
|
+
title?: string;
|
|
2080
|
+
pinned?: boolean;
|
|
2081
|
+
closable: boolean;
|
|
2082
|
+
mountStrategy?: WorkbenchPanelMountStrategy_2;
|
|
2083
|
+
hiddenByDefault?: boolean;
|
|
2084
|
+
tabRetention?: WorkbenchTabRetention_2;
|
|
2085
|
+
tab?: WorkbenchPanelTab_2;
|
|
2086
|
+
}
|
|
2087
|
+
|
|
2088
|
+
declare type WorkbenchPanelMenuContribution = Omit<WidgetContribution, "region" | "fallbackRegion" | "role"> & {
|
|
2089
|
+
region: WorkbenchPanelMenuRegion;
|
|
2090
|
+
fallbackRegion?: WorkbenchPanelMenuRegion;
|
|
2091
|
+
};
|
|
2092
|
+
|
|
2093
|
+
declare interface WorkbenchPanelMenuDefinition {
|
|
2094
|
+
id: string;
|
|
2095
|
+
title: string;
|
|
2096
|
+
icon?: string;
|
|
2097
|
+
side: WorkbenchPanelMenuSide;
|
|
2098
|
+
singleton?: boolean;
|
|
2099
|
+
reuse?: WorkbenchPanelReusePolicy;
|
|
2100
|
+
mountStrategy?: WorkbenchPanelMountStrategy;
|
|
2101
|
+
hiddenByDefault?: boolean;
|
|
2102
|
+
regionSize?: WorkbenchRegionSize;
|
|
2103
|
+
regionCollapsible?: boolean;
|
|
2104
|
+
headerBorderBottom?: boolean;
|
|
2105
|
+
rendererId: string;
|
|
2106
|
+
priority?: number;
|
|
2107
|
+
config?: unknown;
|
|
2108
|
+
}
|
|
2109
|
+
|
|
2110
|
+
declare type WorkbenchPanelMenuOwner = {
|
|
2111
|
+
level: "panel";
|
|
2112
|
+
contributionId?: string;
|
|
2113
|
+
} | {
|
|
2114
|
+
level: "sub-panel";
|
|
2115
|
+
contributionId: string;
|
|
2116
|
+
};
|
|
2117
|
+
|
|
2118
|
+
declare type WorkbenchPanelMenuRegion = (typeof workbenchPanelMenuRegions)[WorkbenchPanelRegion][WorkbenchPanelMenuSide];
|
|
2119
|
+
|
|
2120
|
+
declare const workbenchPanelMenuRegions: {
|
|
2121
|
+
readonly main: {
|
|
2122
|
+
readonly left: "main-left-menu";
|
|
2123
|
+
readonly right: "main-right-menu";
|
|
2124
|
+
};
|
|
2125
|
+
readonly secondary: {
|
|
2126
|
+
readonly left: "secondary-left-menu";
|
|
2127
|
+
readonly right: "secondary-right-menu";
|
|
2128
|
+
};
|
|
2129
|
+
readonly side: {
|
|
2130
|
+
readonly left: "side-left-menu";
|
|
2131
|
+
readonly right: "side-right-menu";
|
|
2132
|
+
};
|
|
2133
|
+
};
|
|
2134
|
+
|
|
2135
|
+
declare interface WorkbenchPanelMenusContribution {
|
|
2136
|
+
panelMenus?: readonly WorkbenchPanelMenuDefinition[];
|
|
2137
|
+
}
|
|
2138
|
+
|
|
2139
|
+
declare type WorkbenchPanelMenuSide = "left" | "right";
|
|
2140
|
+
|
|
2141
|
+
declare type WorkbenchPanelMountStrategy = WidgetMountStrategy;
|
|
2142
|
+
|
|
2143
|
+
declare type WorkbenchPanelMountStrategy_2 = WidgetMountStrategy_2;
|
|
2144
|
+
|
|
2145
|
+
declare type WorkbenchPanelOpenStrategy = {
|
|
2146
|
+
kind: "activate-or-open";
|
|
2147
|
+
position?: WorkbenchTabPosition;
|
|
2148
|
+
} | {
|
|
2149
|
+
kind: "replace-active";
|
|
2150
|
+
} | {
|
|
2151
|
+
kind: "replace-panel";
|
|
2152
|
+
instanceId: string;
|
|
2153
|
+
} | {
|
|
2154
|
+
kind: "preview";
|
|
2155
|
+
position?: WorkbenchTabPosition;
|
|
2156
|
+
};
|
|
2157
|
+
|
|
2158
|
+
declare type WorkbenchPanelRegion = (typeof workbenchPanelRegions)[number];
|
|
2159
|
+
|
|
2160
|
+
declare const workbenchPanelRegions: readonly ["main", "secondary", "side"];
|
|
2161
|
+
|
|
2162
|
+
export declare interface WorkbenchPanelRenderInput {
|
|
2163
|
+
workbench: WorkbenchCore;
|
|
2164
|
+
panel: WorkbenchPanelContribution | PlaceholderContribution | RegisteredPlaceholderContribution;
|
|
2165
|
+
instance: WorkbenchPanelInstance;
|
|
2166
|
+
refresh: () => void;
|
|
2167
|
+
}
|
|
2168
|
+
|
|
2169
|
+
declare type WorkbenchPanelReusePolicy = WidgetReusePolicy;
|
|
2170
|
+
|
|
1737
2171
|
declare type WorkbenchPanelsChangeListener = (state: WorkbenchPanelsState) => void;
|
|
1738
2172
|
|
|
1739
2173
|
declare interface WorkbenchPanelsController {
|
|
1740
2174
|
store: WorkbenchStore<WorkbenchPanelsState>;
|
|
1741
|
-
isOpen(
|
|
1742
|
-
setOpen(
|
|
1743
|
-
toggle(
|
|
2175
|
+
isOpen(regionId: string): boolean;
|
|
2176
|
+
setOpen(regionId: string, open: boolean): void;
|
|
2177
|
+
toggle(regionId: string): void;
|
|
2178
|
+
setPersistenceScope(scope: string | undefined): void;
|
|
2179
|
+
getPersistenceScope(): string | undefined;
|
|
1744
2180
|
onDidChange(listener: WorkbenchPanelsChangeListener): Disposable_2;
|
|
1745
2181
|
}
|
|
1746
2182
|
|
|
1747
2183
|
declare interface WorkbenchPanelsState {
|
|
1748
|
-
|
|
2184
|
+
openByRegionId: Record<string, boolean>;
|
|
1749
2185
|
}
|
|
1750
2186
|
|
|
2187
|
+
declare type WorkbenchPanelTab = WorkbenchWidgetTab;
|
|
2188
|
+
|
|
2189
|
+
declare type WorkbenchPanelTab_2 = WorkbenchWidgetTab_2;
|
|
2190
|
+
|
|
1751
2191
|
export declare const WorkbenchPreferencesForm: (props: WorkbenchPreferencesFormProps) => JSX.Element;
|
|
1752
2192
|
|
|
1753
2193
|
export declare interface WorkbenchPreferencesFormProps {
|
|
@@ -1768,12 +2208,48 @@ declare interface WorkbenchProps {
|
|
|
1768
2208
|
renderParamField?: CommandParamFieldRenderer;
|
|
1769
2209
|
}
|
|
1770
2210
|
|
|
2211
|
+
export declare const WorkbenchRegion: (props: WorkbenchRegionProps) => JSX.Element | null;
|
|
2212
|
+
|
|
2213
|
+
declare type WorkbenchRegion_2 = (typeof workbenchRegions)[number];
|
|
2214
|
+
|
|
2215
|
+
declare interface WorkbenchRegionProps {
|
|
2216
|
+
workbench: WorkbenchCore;
|
|
2217
|
+
region: WorkbenchRegion_2;
|
|
2218
|
+
title?: string;
|
|
2219
|
+
pointerEvents?: "auto" | "none";
|
|
2220
|
+
transparent?: boolean;
|
|
2221
|
+
}
|
|
2222
|
+
|
|
2223
|
+
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"];
|
|
2224
|
+
|
|
2225
|
+
declare interface WorkbenchRegionSize {
|
|
2226
|
+
defaultPx?: number;
|
|
2227
|
+
minPx?: number;
|
|
2228
|
+
maxPx?: number;
|
|
2229
|
+
}
|
|
2230
|
+
|
|
2231
|
+
declare interface WorkbenchRegionState {
|
|
2232
|
+
id: WorkbenchRegion_2;
|
|
2233
|
+
visible: boolean;
|
|
2234
|
+
size?: number;
|
|
2235
|
+
widgets: WorkbenchWidgetPlacement[];
|
|
2236
|
+
activeWidgetId?: string;
|
|
2237
|
+
}
|
|
2238
|
+
|
|
2239
|
+
export declare const WorkbenchRegionTabs: (props: WorkbenchRegionTabsProps) => JSX.Element | null;
|
|
2240
|
+
|
|
2241
|
+
declare interface WorkbenchRegionTabsProps {
|
|
2242
|
+
workbench: WorkbenchCore;
|
|
2243
|
+
region: WorkbenchRegion_2;
|
|
2244
|
+
visibilityStorageKey?: string;
|
|
2245
|
+
}
|
|
2246
|
+
|
|
1771
2247
|
declare type WorkbenchRendererChangeListener = () => void;
|
|
1772
2248
|
|
|
1773
2249
|
export declare type WorkbenchRendererRegistration = {
|
|
1774
2250
|
id: string;
|
|
1775
2251
|
keepAlive?: false;
|
|
1776
|
-
render: (input:
|
|
2252
|
+
render: (input: WorkbenchPanelRenderInput) => unknown;
|
|
1777
2253
|
} | {
|
|
1778
2254
|
id: string;
|
|
1779
2255
|
keepAlive: true;
|
|
@@ -1786,50 +2262,68 @@ export declare interface WorkbenchRendererRegistry {
|
|
|
1786
2262
|
getRenderer(id: string): WorkbenchRendererRegistration | undefined;
|
|
1787
2263
|
listRenderers(): WorkbenchRendererRegistration[];
|
|
1788
2264
|
onDidChange(listener: WorkbenchRendererChangeListener): Disposable_2;
|
|
1789
|
-
claim(rendererId: string, slot: HTMLElement, input:
|
|
2265
|
+
claim(rendererId: string, slot: HTMLElement, input: WorkbenchPanelRenderInput): Disposable_2;
|
|
1790
2266
|
getHost(rendererId: string): HTMLElement | undefined;
|
|
1791
|
-
getClaim(rendererId: string):
|
|
2267
|
+
getClaim(rendererId: string): WorkbenchPanelRenderInput | undefined;
|
|
1792
2268
|
}
|
|
1793
2269
|
|
|
1794
|
-
declare type WorkbenchRenderers = WorkbenchRendererRegistry & TreeRendererRegistry &
|
|
2270
|
+
declare type WorkbenchRenderers = WorkbenchRendererRegistry & TreeRendererRegistry & KanbanRendererRegistry & DataTableRendererRegistry & FileRendererRegistry & ControlsRendererRegistry;
|
|
1795
2271
|
|
|
1796
2272
|
declare interface WorkbenchRendererStoreState {
|
|
1797
2273
|
renderers: Record<string, WorkbenchRendererRegistration>;
|
|
1798
2274
|
hosts: Record<string, RegisteredKeepAliveHost>;
|
|
1799
|
-
claims: Record<string,
|
|
2275
|
+
claims: Record<string, WorkbenchPanelRenderInput>;
|
|
2276
|
+
}
|
|
2277
|
+
|
|
2278
|
+
export declare interface WorkbenchSettingsModuleOptions {
|
|
2279
|
+
/** Maps a preference scope (e.g. "project") to its scope id; project entries hide until this resolves. */
|
|
2280
|
+
resolveScopeId?: (scope: PreferenceScope) => string | undefined;
|
|
2281
|
+
/** Heading shown at the top of the settings overlay. */
|
|
2282
|
+
title?: string;
|
|
1800
2283
|
}
|
|
1801
2284
|
|
|
1802
|
-
|
|
2285
|
+
declare interface WorkbenchShellController {
|
|
2286
|
+
getRegionState(region: WorkbenchRegion_2): WorkbenchShellRegionState;
|
|
2287
|
+
setRegionOpen(region: WorkbenchShellOpenRegion, open: boolean): void;
|
|
2288
|
+
setRegionSize(region: WorkbenchRegion_2, size: number): void;
|
|
2289
|
+
getSidePanelPresentation(): WorkbenchSidePanelPresentation;
|
|
2290
|
+
setSidePanelPresentation(presentation: WorkbenchSidePanelPresentation): void;
|
|
2291
|
+
onDidChange(listener: () => void): Disposable_2;
|
|
2292
|
+
}
|
|
1803
2293
|
|
|
1804
|
-
|
|
2294
|
+
declare type WorkbenchShellOpenRegion = "sidenav" | "secondary" | WorkbenchPanelMenuRegion;
|
|
1805
2295
|
|
|
1806
|
-
declare
|
|
2296
|
+
declare interface WorkbenchShellRegionState {
|
|
2297
|
+
open: boolean;
|
|
2298
|
+
size?: number;
|
|
2299
|
+
}
|
|
2300
|
+
|
|
2301
|
+
declare type WorkbenchSidePanelChangeListener = (mode: WorkbenchSidePanelMode) => void;
|
|
1807
2302
|
|
|
1808
|
-
declare interface
|
|
1809
|
-
store: WorkbenchStore<
|
|
1810
|
-
getMode():
|
|
1811
|
-
setMode(mode:
|
|
1812
|
-
onDidChange(listener:
|
|
2303
|
+
declare interface WorkbenchSidePanelController {
|
|
2304
|
+
store: WorkbenchStore<WorkbenchSidePanelState>;
|
|
2305
|
+
getMode(): WorkbenchSidePanelMode;
|
|
2306
|
+
setMode(mode: WorkbenchSidePanelMode): void;
|
|
2307
|
+
onDidChange(listener: WorkbenchSidePanelChangeListener): Disposable_2;
|
|
1813
2308
|
}
|
|
1814
2309
|
|
|
1815
|
-
declare type
|
|
2310
|
+
declare type WorkbenchSidePanelMode = "floating" | "closed" | "attached";
|
|
2311
|
+
|
|
2312
|
+
declare type WorkbenchSidePanelPresentation = WorkbenchSidePanelMode;
|
|
1816
2313
|
|
|
1817
|
-
declare interface
|
|
2314
|
+
declare interface WorkbenchSidePanelProps {
|
|
1818
2315
|
workbench: WorkbenchCore;
|
|
1819
2316
|
contentSlotRef: (node: HTMLDivElement | null) => void;
|
|
1820
2317
|
bottomOffset?: string;
|
|
1821
2318
|
header?: ReactNode;
|
|
1822
2319
|
}
|
|
1823
2320
|
|
|
1824
|
-
declare interface
|
|
1825
|
-
mode:
|
|
2321
|
+
declare interface WorkbenchSidePanelState {
|
|
2322
|
+
mode: WorkbenchSidePanelMode;
|
|
1826
2323
|
}
|
|
1827
2324
|
|
|
1828
|
-
|
|
1829
|
-
|
|
1830
|
-
resolveScopeId?: (scope: PreferenceScope) => string | undefined;
|
|
1831
|
-
/** Heading shown at the top of the settings overlay. */
|
|
1832
|
-
title?: string;
|
|
2325
|
+
declare interface WorkbenchSnapshot {
|
|
2326
|
+
layout: WorkbenchLayout;
|
|
1833
2327
|
}
|
|
1834
2328
|
|
|
1835
2329
|
declare interface WorkbenchStore<TState> {
|
|
@@ -1848,6 +2342,27 @@ declare type WorkbenchStoreSelector<TState, TValue> = (state: TState) => TValue;
|
|
|
1848
2342
|
|
|
1849
2343
|
declare type WorkbenchStoreSelectorListener<TValue> = (value: TValue, previousValue: TValue) => void;
|
|
1850
2344
|
|
|
2345
|
+
declare type WorkbenchSubPanelContribution = Omit<WidgetContribution, "region" | "fallbackRegion" | "role"> & {
|
|
2346
|
+
region: WorkbenchPanelRegion;
|
|
2347
|
+
fallbackRegion?: WorkbenchPanelRegion;
|
|
2348
|
+
} & WorkbenchPanelMenusContribution;
|
|
2349
|
+
|
|
2350
|
+
declare interface WorkbenchSubPanelRef {
|
|
2351
|
+
contributionId: string;
|
|
2352
|
+
resourceUri?: string;
|
|
2353
|
+
instanceKey?: string;
|
|
2354
|
+
}
|
|
2355
|
+
|
|
2356
|
+
declare type WorkbenchTabPosition = "start" | "end" | {
|
|
2357
|
+
beforeWidgetId: string;
|
|
2358
|
+
} | {
|
|
2359
|
+
afterWidgetId: string;
|
|
2360
|
+
};
|
|
2361
|
+
|
|
2362
|
+
declare type WorkbenchTabRetention = "preview" | "persistent";
|
|
2363
|
+
|
|
2364
|
+
declare type WorkbenchTabRetention_2 = "preview" | "persistent";
|
|
2365
|
+
|
|
1851
2366
|
declare interface WorkbenchTerminalController {
|
|
1852
2367
|
store: WorkbenchStore<WorkbenchTerminalState>;
|
|
1853
2368
|
/** True once the host injected a session opener. */
|
|
@@ -1882,14 +2397,15 @@ declare interface WorkbenchTerminalController {
|
|
|
1882
2397
|
|
|
1883
2398
|
/**
|
|
1884
2399
|
* Body of the host-owned terminal panel. Chrome (tab, title, close action,
|
|
1885
|
-
* resize) comes from the workbench `secondary`
|
|
1886
|
-
* the terminal bound to the workbench terminal controller.
|
|
1887
|
-
*
|
|
2400
|
+
* resize) comes from the workbench `secondary` region; this component only mounts
|
|
2401
|
+
* the terminal bound to the workbench terminal controller. Collapsing the panel
|
|
2402
|
+
* keeps the terminal mounted. Closing its tab unmounts the terminal and kills
|
|
2403
|
+
* its session (close = kill).
|
|
1888
2404
|
*/
|
|
1889
2405
|
export declare const WorkbenchTerminalPanel: (props: WorkbenchTerminalPanelProps) => JSX.Element;
|
|
1890
2406
|
|
|
1891
2407
|
declare interface WorkbenchTerminalPanelProps {
|
|
1892
|
-
placement:
|
|
2408
|
+
placement: WorkbenchPanelInstance;
|
|
1893
2409
|
workbench: WorkbenchCore;
|
|
1894
2410
|
}
|
|
1895
2411
|
|
|
@@ -1972,6 +2488,7 @@ declare interface WorkbenchTreeViewProps {
|
|
|
1972
2488
|
viewId?: string;
|
|
1973
2489
|
renderParamField?: CommandParamFieldRenderer;
|
|
1974
2490
|
onOpenResourceError?: (error: unknown) => void;
|
|
2491
|
+
onSidenavContextActionsChange?: (actions: ResourceContextAction_2[]) => void;
|
|
1975
2492
|
}
|
|
1976
2493
|
|
|
1977
2494
|
export declare const WorkbenchWidgetHost: (props: WorkbenchWidgetHostProps) => JSX.Element;
|
|
@@ -1989,32 +2506,29 @@ declare interface WorkbenchWidgetPlacement {
|
|
|
1989
2506
|
source?: ContributionSource;
|
|
1990
2507
|
resource?: ResourceRef;
|
|
1991
2508
|
resourceUri?: string;
|
|
2509
|
+
ownerResourceUri?: string;
|
|
1992
2510
|
title?: string;
|
|
1993
2511
|
pinned?: boolean;
|
|
1994
2512
|
closable?: boolean;
|
|
1995
2513
|
mountStrategy?: WidgetMountStrategy;
|
|
1996
2514
|
hiddenByDefault?: boolean;
|
|
2515
|
+
tabRetention?: WorkbenchTabRetention;
|
|
2516
|
+
tab?: WorkbenchWidgetTab;
|
|
2517
|
+
role?: WorkbenchWidgetRole;
|
|
1997
2518
|
}
|
|
1998
2519
|
|
|
1999
|
-
declare
|
|
2000
|
-
|
|
2001
|
-
|
|
2002
|
-
|
|
2003
|
-
|
|
2004
|
-
|
|
2005
|
-
resourceUri?: string;
|
|
2006
|
-
title?: string;
|
|
2007
|
-
pinned?: boolean;
|
|
2008
|
-
closable?: boolean;
|
|
2009
|
-
mountStrategy?: WidgetMountStrategy_2;
|
|
2010
|
-
hiddenByDefault?: boolean;
|
|
2520
|
+
declare type WorkbenchWidgetRole = "content" | "location" | "sub-panel" | "panel-menu";
|
|
2521
|
+
|
|
2522
|
+
declare interface WorkbenchWidgetTab {
|
|
2523
|
+
contentRendererId?: string;
|
|
2524
|
+
/** Custom actions shown when the user activates an already-active tab. */
|
|
2525
|
+
customMenuRendererId?: string;
|
|
2011
2526
|
}
|
|
2012
2527
|
|
|
2013
|
-
|
|
2014
|
-
|
|
2015
|
-
|
|
2016
|
-
|
|
2017
|
-
refresh: () => void;
|
|
2528
|
+
declare interface WorkbenchWidgetTab_2 {
|
|
2529
|
+
contentRendererId?: string;
|
|
2530
|
+
/** Custom actions shown when the user activates an already-active tab. */
|
|
2531
|
+
customMenuRendererId?: string;
|
|
2018
2532
|
}
|
|
2019
2533
|
|
|
2020
2534
|
export { }
|