@tutti-os/workbench-surface 0.0.18 → 0.0.20

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.
@@ -122,6 +122,15 @@ var workbenchHostEn = {
122
122
  minimize: "Minimize"
123
123
  },
124
124
  closeWindow: "Close {{title}}",
125
+ dockContextMenu: {
126
+ fullscreen: "Full Screen",
127
+ hide: "Minimize",
128
+ keepInDock: "Keep in Dock",
129
+ open: "Open",
130
+ quit: "Quit",
131
+ removeFromDock: "Remove from Dock",
132
+ showAllWindows: "Show All Similar Windows"
133
+ },
125
134
  dockLabel: "Workbench dock",
126
135
  launch: "Open {{title}}",
127
136
  minimizedWindows: "Minimized windows",
@@ -142,6 +151,15 @@ var workbenchHostZhCN = {
142
151
  minimize: "\u6700\u5C0F\u5316"
143
152
  },
144
153
  closeWindow: "\u5173\u95ED {{title}}",
154
+ dockContextMenu: {
155
+ fullscreen: "\u5168\u5C4F",
156
+ hide: "\u6700\u5C0F\u5316",
157
+ keepInDock: "\u5728\u7A0B\u5E8F\u575E\u4E2D\u4FDD\u7559",
158
+ open: "\u6253\u5F00",
159
+ quit: "\u9000\u51FA",
160
+ removeFromDock: "\u4ECE\u7A0B\u5E8F\u575E\u4E2D\u79FB\u9664",
161
+ showAllWindows: "\u663E\u793A\u6240\u6709\u540C\u7C7B\u7A97\u53E3"
162
+ },
145
163
  dockLabel: "\u5DE5\u4F5C\u53F0\u7A0B\u5E8F\u575E",
146
164
  launch: "\u6253\u5F00 {{title}}",
147
165
  minimizedWindows: "\u5DF2\u6700\u5C0F\u5316\u7A97\u53E3",
@@ -189,4 +207,4 @@ export {
189
207
  workbenchHostI18nResources,
190
208
  createWorkbenchHostI18nRuntime
191
209
  };
192
- //# sourceMappingURL=chunk-64XVF4I6.js.map
210
+ //# sourceMappingURL=chunk-B5MSA47V.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/react/workbenchWindowI18n.ts","../src/mission-control/workbenchMissionControlI18n.ts","../src/host/workbenchHostI18n.ts"],"sourcesContent":["import {\n createScopedLocaleObjectsI18nModuleManifest,\n createI18nRuntime,\n createScopedI18nRuntime,\n type I18nDictionary,\n type I18nRuntime\n} from \"@tutti-os/ui-i18n-runtime\";\n\ntype WorkbenchWindowChromeI18nLocale = \"en\" | \"zh-CN\";\nexport const workbenchWindowChromeI18nNamespace = \"workbenchWindowChrome\";\nexport const tuttiI18nModule = createScopedLocaleObjectsI18nModuleManifest({\n localeObjectByLocale: {\n en: \"workbenchWindowChromeEn\",\n \"zh-CN\": \"workbenchWindowChromeZhCN\"\n },\n name: \"workbench-window-chrome\",\n namespace: \"workbenchWindowChrome\",\n sourceRoot: \"packages/workbench/surface/src\"\n});\n\nconst workbenchWindowChromeEn = {\n enterFullscreen: \"Full Screen\",\n exitFullscreen: \"Exit Full Screen\"\n} as const satisfies I18nDictionary;\n\nconst workbenchWindowChromeZhCN = {\n enterFullscreen: \"全屏\",\n exitFullscreen: \"取消全屏\"\n} as const satisfies I18nDictionary;\n\nexport type WorkbenchWindowChromeI18nKey = keyof typeof workbenchWindowChromeEn;\n\nexport type WorkbenchWindowChromeI18nRuntime =\n I18nRuntime<WorkbenchWindowChromeI18nKey>;\n\nconst workbenchWindowChromeDefaults: Record<\n WorkbenchWindowChromeI18nLocale,\n I18nDictionary\n> = {\n en: workbenchWindowChromeEn,\n \"zh-CN\": workbenchWindowChromeZhCN\n};\n\nexport const workbenchWindowChromeI18nResources: Record<\n WorkbenchWindowChromeI18nLocale,\n I18nDictionary\n> = {\n en: {\n [workbenchWindowChromeI18nNamespace]: workbenchWindowChromeDefaults.en\n },\n \"zh-CN\": {\n [workbenchWindowChromeI18nNamespace]: workbenchWindowChromeDefaults[\"zh-CN\"]\n }\n};\n\nconst defaultWorkbenchWindowChromeI18n = createI18nRuntime({\n dictionaries: [workbenchWindowChromeI18nResources.en]\n});\n\nexport function createWorkbenchWindowChromeI18nRuntime(\n runtime: I18nRuntime<string> | undefined\n): WorkbenchWindowChromeI18nRuntime {\n return createScopedI18nRuntime<WorkbenchWindowChromeI18nKey>(\n runtime ?? defaultWorkbenchWindowChromeI18n,\n workbenchWindowChromeI18nNamespace\n );\n}\n","import {\n createScopedLocaleObjectsI18nModuleManifest,\n createI18nRuntime,\n createScopedI18nRuntime,\n type I18nDictionary,\n type I18nRuntime\n} from \"@tutti-os/ui-i18n-runtime\";\n\ntype WorkbenchMissionControlI18nLocale = \"en\" | \"zh-CN\";\n\nexport const workbenchMissionControlI18nNamespace = \"workbenchMissionControl\";\n\nexport const tuttiI18nModule = createScopedLocaleObjectsI18nModuleManifest({\n localeObjectByLocale: {\n en: \"workbenchMissionControlEn\",\n \"zh-CN\": \"workbenchMissionControlZhCN\"\n },\n name: \"workbench-mission-control\",\n namespace: \"workbenchMissionControl\",\n sourceRoot: \"packages/workbench/surface/src\"\n});\n\nconst workbenchMissionControlEn = {\n layoutSelectionHint: \"Select multiple windows to arrange\",\n noAvailableLayout: \"No layout fits the selected windows\",\n presets: {\n balanced: \"Balanced layout\",\n column: \"Vertical equal layout\",\n row: \"Horizontal equal layout\"\n }\n} as const satisfies I18nDictionary;\n\nconst workbenchMissionControlZhCN = {\n layoutSelectionHint: \"请选择多个你要整理布局的窗口\",\n noAvailableLayout: \"当前没有可用布局\",\n presets: {\n balanced: \"智能均衡布局\",\n column: \"垂直等分布局\",\n row: \"水平等分布局\"\n }\n} as const satisfies I18nDictionary;\n\nexport type WorkbenchMissionControlI18nKey =\n | \"layoutSelectionHint\"\n | \"noAvailableLayout\"\n | \"presets.balanced\"\n | \"presets.column\"\n | \"presets.row\";\n\nexport type WorkbenchMissionControlI18nRuntime =\n I18nRuntime<WorkbenchMissionControlI18nKey>;\n\nconst workbenchMissionControlDefaults: Record<\n WorkbenchMissionControlI18nLocale,\n I18nDictionary\n> = {\n en: workbenchMissionControlEn,\n \"zh-CN\": workbenchMissionControlZhCN\n};\n\nexport const workbenchMissionControlI18nResources: Record<\n WorkbenchMissionControlI18nLocale,\n I18nDictionary\n> = {\n en: {\n [workbenchMissionControlI18nNamespace]: workbenchMissionControlDefaults.en\n },\n \"zh-CN\": {\n [workbenchMissionControlI18nNamespace]:\n workbenchMissionControlDefaults[\"zh-CN\"]\n }\n};\n\nconst defaultWorkbenchMissionControlI18n = createI18nRuntime({\n dictionaries: [workbenchMissionControlI18nResources.en]\n});\n\nexport function createWorkbenchMissionControlI18nRuntime(\n runtime: I18nRuntime<string> | undefined\n): WorkbenchMissionControlI18nRuntime {\n return createScopedI18nRuntime<WorkbenchMissionControlI18nKey>(\n runtime ?? defaultWorkbenchMissionControlI18n,\n workbenchMissionControlI18nNamespace\n );\n}\n","import {\n createScopedLocaleObjectsI18nModuleManifest,\n createI18nRuntime,\n createScopedI18nRuntime,\n type I18nDictionary,\n type I18nRuntime\n} from \"@tutti-os/ui-i18n-runtime\";\n\ntype WorkbenchHostI18nLocale = \"en\" | \"zh-CN\";\nexport const workbenchHostI18nNamespace = \"workbenchHost\";\nexport const tuttiI18nModule = createScopedLocaleObjectsI18nModuleManifest({\n localeObjectByLocale: {\n en: \"workbenchHostEn\",\n \"zh-CN\": \"workbenchHostZhCN\"\n },\n name: \"workbench-host\",\n namespace: \"workbenchHost\",\n sourceRoot: \"packages/workbench/surface/src\"\n});\n\nconst workbenchHostEn = {\n actions: {\n close: \"Close\",\n minimize: \"Minimize\"\n },\n closeWindow: \"Close {{title}}\",\n dockContextMenu: {\n fullscreen: \"Full Screen\",\n hide: \"Minimize\",\n keepInDock: \"Keep in Dock\",\n open: \"Open\",\n quit: \"Quit\",\n removeFromDock: \"Remove from Dock\",\n showAllWindows: \"Show All Similar Windows\"\n },\n dockLabel: \"Workbench dock\",\n launch: \"Open {{title}}\",\n minimizedWindows: \"Minimized windows\",\n newWindow: \"New window\",\n scrollDockDown: \"Scroll dock down\",\n scrollDockLeft: \"Scroll dock left\",\n scrollDockRight: \"Scroll dock right\",\n scrollDockUp: \"Scroll dock up\",\n windowStatus: {\n active: \"Active\",\n minimized: \"Minimized\",\n open: \"Open\"\n }\n} as const satisfies I18nDictionary;\n\nconst workbenchHostZhCN = {\n actions: {\n close: \"关闭\",\n minimize: \"最小化\"\n },\n closeWindow: \"关闭 {{title}}\",\n dockContextMenu: {\n fullscreen: \"全屏\",\n hide: \"最小化\",\n keepInDock: \"在程序坞中保留\",\n open: \"打开\",\n quit: \"退出\",\n removeFromDock: \"从程序坞中移除\",\n showAllWindows: \"显示所有同类窗口\"\n },\n dockLabel: \"工作台程序坞\",\n launch: \"打开 {{title}}\",\n minimizedWindows: \"已最小化窗口\",\n newWindow: \"新建窗口\",\n scrollDockDown: \"向下滚动程序坞\",\n scrollDockLeft: \"向左滚动程序坞\",\n scrollDockRight: \"向右滚动程序坞\",\n scrollDockUp: \"向上滚动程序坞\",\n windowStatus: {\n active: \"当前窗口\",\n minimized: \"已最小化\",\n open: \"已打开\"\n }\n} as const satisfies I18nDictionary;\n\nexport type WorkbenchHostI18nKey =\n | \"actions.close\"\n | \"actions.minimize\"\n | \"closeWindow\"\n | \"dockContextMenu.fullscreen\"\n | \"dockContextMenu.hide\"\n | \"dockContextMenu.keepInDock\"\n | \"dockContextMenu.open\"\n | \"dockContextMenu.quit\"\n | \"dockContextMenu.removeFromDock\"\n | \"dockContextMenu.showAllWindows\"\n | \"dockLabel\"\n | \"launch\"\n | \"minimizedWindows\"\n | \"newWindow\"\n | \"scrollDockDown\"\n | \"scrollDockLeft\"\n | \"scrollDockRight\"\n | \"scrollDockUp\"\n | \"windowStatus.active\"\n | \"windowStatus.minimized\"\n | \"windowStatus.open\";\n\nexport type WorkbenchHostI18nRuntime = I18nRuntime<WorkbenchHostI18nKey>;\n\nconst workbenchHostDefaults: Record<WorkbenchHostI18nLocale, I18nDictionary> = {\n en: workbenchHostEn,\n \"zh-CN\": workbenchHostZhCN\n};\n\nexport const workbenchHostI18nResources = {\n en: {\n [workbenchHostI18nNamespace]: workbenchHostDefaults.en\n },\n \"zh-CN\": {\n [workbenchHostI18nNamespace]: workbenchHostDefaults[\"zh-CN\"]\n }\n} as const satisfies Record<WorkbenchHostI18nLocale, I18nDictionary>;\n\nconst defaultWorkbenchHostI18n = createI18nRuntime({\n dictionaries: [workbenchHostI18nResources.en]\n});\n\nexport function createWorkbenchHostI18nRuntime(\n runtime: I18nRuntime<string> | undefined\n): WorkbenchHostI18nRuntime {\n return createScopedI18nRuntime<WorkbenchHostI18nKey>(\n runtime ?? defaultWorkbenchHostI18n,\n workbenchHostI18nNamespace\n );\n}\n"],"mappings":"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","names":["createScopedLocaleObjectsI18nModuleManifest","createI18nRuntime","createScopedI18nRuntime","tuttiI18nModule","createScopedLocaleObjectsI18nModuleManifest","createI18nRuntime","createScopedI18nRuntime","tuttiI18nModule"]}
@@ -1,4 +1,4 @@
1
- export { W as WorkbenchHostI18nKey, a as WorkbenchHostI18nRuntime, b as WorkbenchWindowChromeI18nKey, c as WorkbenchWindowChromeI18nRuntime, d as createWorkbenchHostI18nRuntime, e as createWorkbenchWindowChromeI18nRuntime, w as workbenchHostI18nNamespace, f as workbenchHostI18nResources, g as workbenchWindowChromeI18nNamespace, h as workbenchWindowChromeI18nResources } from '../workbenchHostI18n-5xMPPBkf.js';
1
+ export { W as WorkbenchHostI18nKey, a as WorkbenchHostI18nRuntime, b as WorkbenchWindowChromeI18nKey, c as WorkbenchWindowChromeI18nRuntime, d as createWorkbenchHostI18nRuntime, e as createWorkbenchWindowChromeI18nRuntime, w as workbenchHostI18nNamespace, f as workbenchHostI18nResources, g as workbenchWindowChromeI18nNamespace, h as workbenchWindowChromeI18nResources } from '../workbenchHostI18n-YFXDkIA1.js';
2
2
  import { I18nRuntime, I18nDictionary } from '@tutti-os/ui-i18n-runtime';
3
3
 
4
4
  type WorkbenchMissionControlI18nLocale = "en" | "zh-CN";
@@ -8,7 +8,7 @@ import {
8
8
  workbenchMissionControlI18nResources,
9
9
  workbenchWindowChromeI18nNamespace,
10
10
  workbenchWindowChromeI18nResources
11
- } from "../chunk-64XVF4I6.js";
11
+ } from "../chunk-B5MSA47V.js";
12
12
  export {
13
13
  createWorkbenchHostI18nRuntime,
14
14
  createWorkbenchMissionControlI18nRuntime,
package/dist/index.d.ts CHANGED
@@ -2,8 +2,8 @@ import { WorkbenchFrame as WorkbenchFrame$1, WorkbenchSnapshotDisplayModeV1, Wor
2
2
  import * as react_jsx_runtime from 'react/jsx-runtime';
3
3
  import { HTMLAttributes, ReactNode } from 'react';
4
4
  import { I18nRuntime } from '@tutti-os/ui-i18n-runtime';
5
- import { c as WorkbenchWindowChromeI18nRuntime } from './workbenchHostI18n-5xMPPBkf.js';
6
- export { b as WorkbenchWindowChromeI18nKey, d as createWorkbenchHostI18nRuntime, e as createWorkbenchWindowChromeI18nRuntime, f as workbenchHostI18nResources, g as workbenchWindowChromeI18nNamespace, h as workbenchWindowChromeI18nResources } from './workbenchHostI18n-5xMPPBkf.js';
5
+ import { c as WorkbenchWindowChromeI18nRuntime } from './workbenchHostI18n-YFXDkIA1.js';
6
+ export { b as WorkbenchWindowChromeI18nKey, d as createWorkbenchHostI18nRuntime, e as createWorkbenchWindowChromeI18nRuntime, f as workbenchHostI18nResources, g as workbenchWindowChromeI18nNamespace, h as workbenchWindowChromeI18nResources } from './workbenchHostI18n-YFXDkIA1.js';
7
7
 
8
8
  interface WorkbenchSize {
9
9
  width: number;
@@ -209,6 +209,7 @@ interface WorkbenchSurfacePresentation {
209
209
  frameByNodeId: ReadonlyMap<string, WorkbenchFrame>;
210
210
  interaction?: WorkbenchSurfacePresentationInteraction | null;
211
211
  mode: "mission-control";
212
+ visibleNodeIds: ReadonlySet<string>;
212
213
  }
213
214
  interface WorkbenchSurfacePresentationInteraction {
214
215
  mode: "activate" | "layout";
@@ -453,6 +454,12 @@ interface WorkbenchHostDockEntryAction {
453
454
  label: string;
454
455
  pendingLabel?: string;
455
456
  }
457
+ interface WorkbenchHostDockEntryRetentionAction {
458
+ actionId: string;
459
+ disabled?: boolean;
460
+ pendingLabel?: string;
461
+ retained: boolean;
462
+ }
456
463
  type WorkbenchHostDockEntryDiagnostics = Record<string, unknown>;
457
464
  interface WorkbenchHostDockPopupItemInput {
458
465
  externalNodeState?: unknown;
@@ -496,6 +503,7 @@ interface WorkbenchHostDockEntry {
496
503
  id: string;
497
504
  label: string;
498
505
  diagnostics?: WorkbenchHostDockEntryDiagnostics;
506
+ dockRetention?: WorkbenchHostDockEntryRetentionAction;
499
507
  instanceMode?: WorkbenchHostNodeInstanceStrategy["mode"];
500
508
  launchBehavior?: WorkbenchHostDockEntryLaunchBehavior;
501
509
  launchPayload?: unknown;
@@ -510,7 +518,7 @@ interface WorkbenchHostDockEntry {
510
518
  typeId: string;
511
519
  visibility?: WorkbenchHostDockEntryVisibility;
512
520
  }
513
- type WorkbenchHostDockEntryDynamicState = Partial<Pick<WorkbenchHostDockEntry, "attentionToken" | "badge" | "diagnostics" | "hoverActions" | "launchBehavior" | "order" | "state" | "visibility">>;
521
+ type WorkbenchHostDockEntryDynamicState = Partial<Pick<WorkbenchHostDockEntry, "attentionToken" | "badge" | "diagnostics" | "dockRetention" | "hoverActions" | "launchBehavior" | "order" | "state" | "visibility">>;
514
522
  interface WorkbenchHostDockEntryStateSource {
515
523
  getEntryState(entryId: string): WorkbenchHostDockEntryDynamicState | null | undefined;
516
524
  subscribe(listener: () => void): () => void;
@@ -657,8 +665,13 @@ interface WorkbenchHostChromeRenderContext {
657
665
  }
658
666
  interface WorkbenchHostMissionControlProps {
659
667
  mode: WorkbenchMissionControlMode | null;
668
+ nodeIds?: readonly string[];
660
669
  onRequestClose: () => void;
661
670
  }
671
+ interface WorkbenchHostMissionControlOpenRequest {
672
+ nodeIds?: readonly string[];
673
+ trigger?: "dock-context-menu";
674
+ }
662
675
  interface WorkbenchHostClosePreparationContext {
663
676
  host: WorkbenchHostHandle;
664
677
  workspaceId: string;
@@ -700,6 +713,7 @@ interface WorkbenchHostProps {
700
713
  }) => Promise<void> | void;
701
714
  onLaunchRequest?: (request: WorkbenchHostLaunchRequest) => Promise<WorkbenchHostLaunchResult | null | void> | WorkbenchHostLaunchResult | null | void;
702
715
  onMissionControlAdapterReady?: (adapter: WorkbenchMissionControlAdapter<WorkbenchHostNodeData> | null) => void;
716
+ onMissionControlRequestOpen?: (mode: WorkbenchMissionControlMode, request?: WorkbenchHostMissionControlOpenRequest) => void;
703
717
  onNodeCloseRequest?: (request: WorkbenchHostNodeCloseRequest) => Promise<WorkbenchHostNodeCloseDecision | void> | WorkbenchHostNodeCloseDecision | void;
704
718
  onHandleReady?: (handle: WorkbenchHostHandle | null) => void;
705
719
  projectedNodes?: readonly WorkbenchHostProjectedNode[];
@@ -711,7 +725,7 @@ interface WorkbenchHostProps {
711
725
  workspaceId: string;
712
726
  }
713
727
 
714
- declare function WorkbenchHost({ captureNodePreviewImage, className, contributions, debugDiagnostics, dockPreviewCache, dockPlacement, dockEntries, dockStateSource, externalStateSource, i18n, layoutConstraints, missionControl, minimizeAnimation, nodes, onDockEntryAction, onDockEntryClick, onHandleReady, onLaunchRequest, onMissionControlAdapterReady, onNodeCloseRequest, projectedNodes, renderBottomChrome, renderTopChrome, snapshotRepository, shortcutsEnabled, wallpaper, workspaceId }: WorkbenchHostProps): react_jsx_runtime.JSX.Element;
728
+ declare function WorkbenchHost({ captureNodePreviewImage, className, contributions, debugDiagnostics, dockPreviewCache, dockPlacement, dockEntries, dockStateSource, externalStateSource, i18n, layoutConstraints, missionControl, minimizeAnimation, nodes, onDockEntryAction, onDockEntryClick, onHandleReady, onLaunchRequest, onMissionControlAdapterReady, onMissionControlRequestOpen, onNodeCloseRequest, projectedNodes, renderBottomChrome, renderTopChrome, snapshotRepository, shortcutsEnabled, wallpaper, workspaceId }: WorkbenchHostProps): react_jsx_runtime.JSX.Element;
715
729
 
716
730
  declare function resolveWorkbenchHostPrepareClose(contributions: readonly WorkbenchContribution[]): WorkbenchHostClosePreparer | undefined;
717
731