@tutti-os/workbench-surface 0.0.201 → 0.0.203

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
@@ -300,11 +300,18 @@ interface WorkbenchWindowActionContext<TData = unknown> {
300
300
  }
301
301
  type WorkbenchWindowChromeMode = "system" | "custom-header";
302
302
  type WorkbenchFullscreenHeaderMode = "persistent";
303
+ interface WorkbenchWindowHeaderPresentation {
304
+ border?: "none";
305
+ heightPx?: number;
306
+ layout?: "overlay";
307
+ overflow?: "visible";
308
+ }
303
309
  interface WorkbenchResolveWindowChromeModeContext<TData = unknown> {
304
310
  node: WorkbenchNode<TData>;
305
311
  controller: WorkbenchController<TData>;
306
312
  }
307
313
  type WorkbenchResolveWindowChromeMode<TData = unknown> = (context: WorkbenchResolveWindowChromeModeContext<TData>) => WorkbenchWindowChromeMode;
314
+ type WorkbenchResolveWindowHeaderPresentation<TData = unknown> = (context: WorkbenchResolveWindowChromeModeContext<TData>) => WorkbenchWindowHeaderPresentation | undefined;
308
315
  type WorkbenchWindowSurfaceLayer = "default" | "dialog-popover";
309
316
  interface WorkbenchResolveWindowSurfaceLayerContext<TData = unknown> {
310
317
  node: WorkbenchNode<TData>;
@@ -388,6 +395,7 @@ interface WorkbenchSurfaceProps<TData = unknown> {
388
395
  renderWindowHeader?: WorkbenchRenderWindowHeader<TData>;
389
396
  shouldKeepMinimizedNodeMounted?: WorkbenchKeepMinimizedNodeMounted<TData>;
390
397
  resolveFullscreenHeaderMode?: WorkbenchResolveFullscreenHeaderMode<TData>;
398
+ resolveWindowHeaderPresentation?: WorkbenchResolveWindowHeaderPresentation<TData>;
391
399
  resolveWindowSurfaceLayer?: WorkbenchResolveWindowSurfaceLayer<TData>;
392
400
  resolveWindowZIndex?: WorkbenchResolveWindowZIndex<TData>;
393
401
  resolveDockAnchorKey?: (node: WorkbenchNode<TData>) => string;
@@ -410,7 +418,7 @@ interface WorkbenchSurfaceWallpaper {
410
418
  position?: string;
411
419
  url: string;
412
420
  }
413
- declare function WorkbenchSurface<TData>({ captureNodePreviewImage, className, controller, debugDiagnostics, dockPreviewCache, dockPlacement, interactive, layoutConstraints, missionControlPhase, minimizeAnimation, presentation, renderBackdrop, renderBottomChrome, renderDock, renderNode, renderNodeGeniePreview, renderOverlay, renderTopChrome, renderWindowActions, renderWindowHeader, shouldKeepMinimizedNodeMounted, resolveFullscreenHeaderMode, resolveWindowSurfaceLayer, resolveWindowZIndex, resolveDockAnchorKey, resolveDockPreviewCacheKey, shortcutsEnabled, shouldCaptureNodePreviewImage, wallpaper, windowManagement, windowChromeMode, windowChromeI18n }: WorkbenchSurfaceProps<TData>): react_jsx_runtime.JSX.Element;
421
+ declare function WorkbenchSurface<TData>({ captureNodePreviewImage, className, controller, debugDiagnostics, dockPreviewCache, dockPlacement, interactive, layoutConstraints, missionControlPhase, minimizeAnimation, presentation, renderBackdrop, renderBottomChrome, renderDock, renderNode, renderNodeGeniePreview, renderOverlay, renderTopChrome, renderWindowActions, renderWindowHeader, shouldKeepMinimizedNodeMounted, resolveFullscreenHeaderMode, resolveWindowHeaderPresentation, resolveWindowSurfaceLayer, resolveWindowZIndex, resolveDockAnchorKey, resolveDockPreviewCacheKey, shortcutsEnabled, shouldCaptureNodePreviewImage, wallpaper, windowManagement, windowChromeMode, windowChromeI18n }: WorkbenchSurfaceProps<TData>): react_jsx_runtime.JSX.Element;
414
422
 
415
423
  interface WorkbenchHostActivation<TPayload = unknown> {
416
424
  payload?: TPayload;
@@ -656,6 +664,7 @@ interface WorkbenchHostNodeWindowCapabilities {
656
664
  defaultOpen?: boolean;
657
665
  fullscreenHeaderMode?: "persistent";
658
666
  fullscreenable?: boolean;
667
+ header?: WorkbenchWindowHeaderPresentation;
659
668
  keepMountedWhenMinimized?: boolean | ((node: WorkbenchNode<WorkbenchHostNodeData>) => boolean);
660
669
  minimizable?: boolean;
661
670
  minimizedDock?: WorkbenchHostNodeMinimizedDockCapability;
@@ -971,4 +980,4 @@ interface CreateMultiInstanceDockEntryOptionsInput {
971
980
  declare function createMultiInstanceDockEntryOptions(launchPayload?: unknown, input?: CreateMultiInstanceDockEntryOptionsInput): Pick<WorkbenchHostDockEntry, "allowNewWindowInDockPopup" | "instanceMode" | "launchBehavior" | "launchPayload" | "newWindowLaunchPayload">;
972
981
  declare function resolveWorkbenchDockCountBadge(activeNodeCount: number): WorkbenchHostDockEntry["badge"];
973
982
 
974
- export { type CreateWorkbenchNodeInput, type CreateWorkbenchSnapshotFromStateOptions, type ResolvedWorkbenchHostDockEntry, type WorkbenchContribution, type WorkbenchController, type WorkbenchDebugDiagnostics, type WorkbenchDisplayMode, WorkbenchDockComponentPreviewFrame, type WorkbenchDockComponentPreviewFrameProps, type WorkbenchDockContext, type WorkbenchDockPlacement, type WorkbenchDockPreviewCache, type WorkbenchDockPreviewCacheKey, type WorkbenchDockPreviewCacheKeyResolver, type WorkbenchDockPreviewContent, type WorkbenchFrame, type WorkbenchFullscreenHeaderMode, WorkbenchHost, type WorkbenchHostActivation, type WorkbenchHostActivationTarget, type WorkbenchHostChromeRenderContext, type WorkbenchHostCloseDialogRequest, type WorkbenchHostCloseDialogScope, type WorkbenchHostCloseDialogVariant, type WorkbenchHostCloseEffect, type WorkbenchHostClosePreparationContext, type WorkbenchHostClosePreparer, type WorkbenchHostDockClickResolution, type WorkbenchHostDockEntry, type WorkbenchHostDockEntryAction, type WorkbenchHostDockEntryBadge, type WorkbenchHostDockEntryDynamicState, type WorkbenchHostDockEntryLaunchBehavior, type WorkbenchHostDockEntryPresentationOverride, type WorkbenchHostDockEntryPresentationOverrides, type WorkbenchHostDockEntryState, type WorkbenchHostDockEntryStateKind, type WorkbenchHostDockEntryStateSource, type WorkbenchHostDockEntryVisibility, type WorkbenchHostDockNodeState, type WorkbenchHostDockPopupItemDescriptor, type WorkbenchHostDockPopupItemInput, type WorkbenchHostExternalStateLookupInput, type WorkbenchHostExternalStateSource, type WorkbenchHostHandle, type WorkbenchHostLaunchFramePolicy, type WorkbenchHostLaunchInput, type WorkbenchHostLaunchReason, type WorkbenchHostLaunchRequest, type WorkbenchHostLaunchResult, type WorkbenchHostMissionControlMode, type WorkbenchHostMissionControlProps, type WorkbenchHostMultiInstanceStrategy, type WorkbenchHostNodeBodyContext, type WorkbenchHostNodeCloseDecision, type WorkbenchHostNodeCloseRequest, type WorkbenchHostNodeData, type WorkbenchHostNodeDefinition, type WorkbenchHostNodeHeaderContext, type WorkbenchHostNodeHeaderFrameRenderKey, type WorkbenchHostNodeHeaderWindowActions, type WorkbenchHostNodeIdentityInput, type WorkbenchHostNodeInstanceStrategy, type WorkbenchHostNodeMinimizedDockCapability, type WorkbenchHostNodeWindowCapabilities, type WorkbenchHostProjectedNode, type WorkbenchHostProjectedNodeSubject, type WorkbenchHostProps, type WorkbenchHostSingleInstanceStrategy, type WorkbenchHostSnapshotRepository, type WorkbenchHostWindowCloseEffectContext, type WorkbenchLayoutConstraints, type WorkbenchLayoutConstraintsInput, type WorkbenchLayoutPreset, type WorkbenchMissionControlAdapter, type WorkbenchMissionControlMode, type WorkbenchMissionControlSnapshot, type WorkbenchNode, type WorkbenchNodeRenderFrame, type WorkbenchNodeSizeConstraints, type WorkbenchQuickLayoutTarget, type WorkbenchRenderNode, type WorkbenchRenderNodeContext, type WorkbenchRenderWindowActions, type WorkbenchRenderWindowHeader, type WorkbenchResolveFullscreenHeaderMode, type WorkbenchResolveWindowChromeMode, type WorkbenchResolveWindowChromeModeContext, type WorkbenchSafeArea, type WorkbenchSize, type WorkbenchState, WorkbenchSurface, type WorkbenchSurfacePresentation, type WorkbenchSurfaceProps, type WorkbenchSurfaceWallpaper, type WorkbenchSurfaceWallpaperFit, type WorkbenchWindowActionContext, WorkbenchWindowChromeI18nRuntime, type WorkbenchWindowChromeMode, type WorkbenchWindowHeaderContext, type WorkbenchWindowManagementConfig, canCreateNewWindow, canCreateNewWindowInDockPopup, createDockNewWindowLaunchPayload, createMultiInstanceDockEntryOptions, createWorkbenchController, createWorkbenchHostLaunchedNodeId, createWorkbenchHostProjectedNodeId, createWorkbenchNode, createWorkbenchNodeFromSnapshot, createWorkbenchSnapshotFromState, createWorkbenchStateFromSnapshot, getWorkbenchLayoutFrame, isEditableShortcutTarget, matchWorkbenchDockEntryNode, resolveWorkbenchDockCountBadge, resolveWorkbenchDockEntries, resolveWorkbenchDockEntryClick, resolveWorkbenchHostPrepareClose, selectFocusedWorkbenchNode, useWorkbenchSelector, workbenchFocusInputActivationType };
983
+ export { type CreateWorkbenchNodeInput, type CreateWorkbenchSnapshotFromStateOptions, type ResolvedWorkbenchHostDockEntry, type WorkbenchContribution, type WorkbenchController, type WorkbenchDebugDiagnostics, type WorkbenchDisplayMode, WorkbenchDockComponentPreviewFrame, type WorkbenchDockComponentPreviewFrameProps, type WorkbenchDockContext, type WorkbenchDockPlacement, type WorkbenchDockPreviewCache, type WorkbenchDockPreviewCacheKey, type WorkbenchDockPreviewCacheKeyResolver, type WorkbenchDockPreviewContent, type WorkbenchFrame, type WorkbenchFullscreenHeaderMode, WorkbenchHost, type WorkbenchHostActivation, type WorkbenchHostActivationTarget, type WorkbenchHostChromeRenderContext, type WorkbenchHostCloseDialogRequest, type WorkbenchHostCloseDialogScope, type WorkbenchHostCloseDialogVariant, type WorkbenchHostCloseEffect, type WorkbenchHostClosePreparationContext, type WorkbenchHostClosePreparer, type WorkbenchHostDockClickResolution, type WorkbenchHostDockEntry, type WorkbenchHostDockEntryAction, type WorkbenchHostDockEntryBadge, type WorkbenchHostDockEntryDynamicState, type WorkbenchHostDockEntryLaunchBehavior, type WorkbenchHostDockEntryPresentationOverride, type WorkbenchHostDockEntryPresentationOverrides, type WorkbenchHostDockEntryState, type WorkbenchHostDockEntryStateKind, type WorkbenchHostDockEntryStateSource, type WorkbenchHostDockEntryVisibility, type WorkbenchHostDockNodeState, type WorkbenchHostDockPopupItemDescriptor, type WorkbenchHostDockPopupItemInput, type WorkbenchHostExternalStateLookupInput, type WorkbenchHostExternalStateSource, type WorkbenchHostHandle, type WorkbenchHostLaunchFramePolicy, type WorkbenchHostLaunchInput, type WorkbenchHostLaunchReason, type WorkbenchHostLaunchRequest, type WorkbenchHostLaunchResult, type WorkbenchHostMissionControlMode, type WorkbenchHostMissionControlProps, type WorkbenchHostMultiInstanceStrategy, type WorkbenchHostNodeBodyContext, type WorkbenchHostNodeCloseDecision, type WorkbenchHostNodeCloseRequest, type WorkbenchHostNodeData, type WorkbenchHostNodeDefinition, type WorkbenchHostNodeHeaderContext, type WorkbenchHostNodeHeaderFrameRenderKey, type WorkbenchHostNodeHeaderWindowActions, type WorkbenchHostNodeIdentityInput, type WorkbenchHostNodeInstanceStrategy, type WorkbenchHostNodeMinimizedDockCapability, type WorkbenchHostNodeWindowCapabilities, type WorkbenchHostProjectedNode, type WorkbenchHostProjectedNodeSubject, type WorkbenchHostProps, type WorkbenchHostSingleInstanceStrategy, type WorkbenchHostSnapshotRepository, type WorkbenchHostWindowCloseEffectContext, type WorkbenchLayoutConstraints, type WorkbenchLayoutConstraintsInput, type WorkbenchLayoutPreset, type WorkbenchMissionControlAdapter, type WorkbenchMissionControlMode, type WorkbenchMissionControlSnapshot, type WorkbenchNode, type WorkbenchNodeRenderFrame, type WorkbenchNodeSizeConstraints, type WorkbenchQuickLayoutTarget, type WorkbenchRenderNode, type WorkbenchRenderNodeContext, type WorkbenchRenderWindowActions, type WorkbenchRenderWindowHeader, type WorkbenchResolveFullscreenHeaderMode, type WorkbenchResolveWindowChromeMode, type WorkbenchResolveWindowChromeModeContext, type WorkbenchResolveWindowHeaderPresentation, type WorkbenchSafeArea, type WorkbenchSize, type WorkbenchState, WorkbenchSurface, type WorkbenchSurfacePresentation, type WorkbenchSurfaceProps, type WorkbenchSurfaceWallpaper, type WorkbenchSurfaceWallpaperFit, type WorkbenchWindowActionContext, WorkbenchWindowChromeI18nRuntime, type WorkbenchWindowChromeMode, type WorkbenchWindowHeaderContext, type WorkbenchWindowHeaderPresentation, type WorkbenchWindowManagementConfig, canCreateNewWindow, canCreateNewWindowInDockPopup, createDockNewWindowLaunchPayload, createMultiInstanceDockEntryOptions, createWorkbenchController, createWorkbenchHostLaunchedNodeId, createWorkbenchHostProjectedNodeId, createWorkbenchNode, createWorkbenchNodeFromSnapshot, createWorkbenchSnapshotFromState, createWorkbenchStateFromSnapshot, getWorkbenchLayoutFrame, isEditableShortcutTarget, matchWorkbenchDockEntryNode, resolveWorkbenchDockCountBadge, resolveWorkbenchDockEntries, resolveWorkbenchDockEntryClick, resolveWorkbenchHostPrepareClose, selectFocusedWorkbenchNode, useWorkbenchSelector, workbenchFocusInputActivationType };
package/dist/index.js CHANGED
@@ -2931,6 +2931,7 @@ function WorkbenchWindowFrame({
2931
2931
  renderHeader,
2932
2932
  resolveWindowZIndex,
2933
2933
  windowChromeMode = "system",
2934
+ windowHeaderPresentation,
2934
2935
  windowChromeI18n
2935
2936
  }) {
2936
2937
  const controller = useWorkbenchController();
@@ -3024,6 +3025,7 @@ function WorkbenchWindowFrame({
3024
3025
  renderRevision: headerRenderRevision,
3025
3026
  windowChromeMode
3026
3027
  });
3028
+ const windowHeaderHeightPx = typeof windowHeaderPresentation?.heightPx === "number" && Number.isFinite(windowHeaderPresentation.heightPx) && windowHeaderPresentation.heightPx > 0 ? windowHeaderPresentation.heightPx : null;
3027
3029
  const shouldRenderCustomHeader = resolvedHeader.windowChromeMode === "custom-header";
3028
3030
  const resolvedFullscreenHeaderMode = "persistent";
3029
3031
  const presentationMode = presentation?.mode ?? null;
@@ -3081,9 +3083,15 @@ function WorkbenchWindowFrame({
3081
3083
  "data-display-mode": node.displayMode,
3082
3084
  "data-fullscreen-header-mode": resolvedFullscreenHeaderMode,
3083
3085
  "data-window-chrome-mode": resolvedHeader.windowChromeMode,
3086
+ "data-window-header-border": windowHeaderPresentation?.border,
3087
+ "data-window-header-layout": windowHeaderPresentation?.layout,
3088
+ "data-window-header-overflow": windowHeaderPresentation?.overflow,
3084
3089
  "data-workbench-window-capture": "true",
3085
3090
  "data-window-drag-state": isDragging ? "dragging" : "idle",
3086
3091
  "data-window-resize-state": isResizing ? "resizing" : "idle",
3092
+ style: windowHeaderHeightPx !== null ? {
3093
+ "--workbench-header-height": `${windowHeaderHeightPx}px`
3094
+ } : void 0,
3087
3095
  children: [
3088
3096
  /* @__PURE__ */ jsx7(
3089
3097
  "div",
@@ -3184,6 +3192,7 @@ function WorkbenchNodeLayer({
3184
3192
  renderWindowActions,
3185
3193
  renderWindowHeader,
3186
3194
  resolveFullscreenHeaderMode,
3195
+ resolveWindowHeaderPresentation,
3187
3196
  resolveWindowSurfaceLayer,
3188
3197
  resolveWindowZIndex,
3189
3198
  windowChromeMode,
@@ -3234,6 +3243,7 @@ function WorkbenchNodeLayer({
3234
3243
  renderNode,
3235
3244
  renderWindowActions,
3236
3245
  renderWindowHeader,
3246
+ resolveWindowHeaderPresentation,
3237
3247
  resolveWindowZIndex,
3238
3248
  windowChromeI18n,
3239
3249
  windowChromeMode
@@ -3254,6 +3264,7 @@ function WorkbenchNodeLayer({
3254
3264
  renderNode,
3255
3265
  renderWindowActions,
3256
3266
  renderWindowHeader,
3267
+ resolveWindowHeaderPresentation,
3257
3268
  resolveWindowZIndex,
3258
3269
  snapPreviewRect,
3259
3270
  windowChromeI18n,
@@ -3275,6 +3286,7 @@ function WorkbenchNodeLayerGroup({
3275
3286
  renderNode,
3276
3287
  renderWindowActions,
3277
3288
  renderWindowHeader,
3289
+ resolveWindowHeaderPresentation,
3278
3290
  resolveWindowZIndex,
3279
3291
  snapPreviewRect,
3280
3292
  windowChromeI18n,
@@ -3316,6 +3328,7 @@ function WorkbenchNodeLayerGroup({
3316
3328
  renderNode,
3317
3329
  renderWindowActions,
3318
3330
  renderWindowHeader,
3331
+ resolveWindowHeaderPresentation,
3319
3332
  resolveWindowZIndex,
3320
3333
  windowChromeI18n,
3321
3334
  windowChromeMode
@@ -3336,6 +3349,7 @@ function WorkbenchNodeLayerItem({
3336
3349
  renderNode,
3337
3350
  renderWindowActions,
3338
3351
  renderWindowHeader,
3352
+ resolveWindowHeaderPresentation,
3339
3353
  resolveWindowZIndex,
3340
3354
  windowChromeI18n,
3341
3355
  windowChromeMode
@@ -3375,6 +3389,10 @@ function WorkbenchNodeLayerItem({
3375
3389
  }),
3376
3390
  renderActions: renderWindowActions,
3377
3391
  renderHeader: renderWindowHeader,
3392
+ windowHeaderPresentation: resolveWindowHeaderPresentation?.({
3393
+ controller,
3394
+ node
3395
+ }),
3378
3396
  windowChromeI18n,
3379
3397
  windowChromeMode: resolveWorkbenchWindowChromeMode({
3380
3398
  controller,
@@ -5531,6 +5549,7 @@ function WorkbenchSurface({
5531
5549
  renderWindowHeader,
5532
5550
  shouldKeepMinimizedNodeMounted,
5533
5551
  resolveFullscreenHeaderMode,
5552
+ resolveWindowHeaderPresentation,
5534
5553
  resolveWindowSurfaceLayer,
5535
5554
  resolveWindowZIndex,
5536
5555
  resolveDockAnchorKey,
@@ -5566,6 +5585,7 @@ function WorkbenchSurface({
5566
5585
  renderWindowHeader,
5567
5586
  shouldKeepMinimizedNodeMounted,
5568
5587
  resolveFullscreenHeaderMode,
5588
+ resolveWindowHeaderPresentation,
5569
5589
  resolveWindowSurfaceLayer,
5570
5590
  resolveWindowZIndex,
5571
5591
  resolveDockAnchorKey,
@@ -5601,6 +5621,7 @@ function WorkbenchSurfaceInner({
5601
5621
  renderWindowHeader,
5602
5622
  shouldKeepMinimizedNodeMounted,
5603
5623
  resolveFullscreenHeaderMode,
5624
+ resolveWindowHeaderPresentation,
5604
5625
  resolveWindowSurfaceLayer,
5605
5626
  resolveWindowZIndex,
5606
5627
  resolveDockAnchorKey,
@@ -5680,6 +5701,7 @@ function WorkbenchSurfaceInner({
5680
5701
  renderWindowHeader,
5681
5702
  shouldKeepMinimizedNodeMounted,
5682
5703
  resolveFullscreenHeaderMode,
5704
+ resolveWindowHeaderPresentation,
5683
5705
  resolveWindowSurfaceLayer,
5684
5706
  resolveWindowZIndex,
5685
5707
  windowChromeMode,
@@ -8453,6 +8475,7 @@ function isPointNearDockViewport({
8453
8475
  return clientX >= viewportRect.left - horizontalPadding && clientX <= viewportRect.right + horizontalPadding && clientY >= viewportRect.top - verticalPadding && clientY <= viewportRect.bottom + verticalPadding;
8454
8476
  }
8455
8477
  function useDockMagnification({
8478
+ dockPlateRef,
8456
8479
  dockPlacement,
8457
8480
  dockRootRef,
8458
8481
  dockViewportRef,
@@ -8486,12 +8509,14 @@ function useDockMagnification({
8486
8509
  }
8487
8510
  magnifyActiveRef.current = active;
8488
8511
  if (active) {
8512
+ dockPlateRef.current?.setAttribute("data-dock-pointer-active", "true");
8489
8513
  dockRootRef.current?.setAttribute("data-dock-pointer-active", "true");
8490
8514
  } else {
8515
+ dockPlateRef.current?.removeAttribute("data-dock-pointer-active");
8491
8516
  dockRootRef.current?.removeAttribute("data-dock-pointer-active");
8492
8517
  }
8493
8518
  },
8494
- [dockRootRef]
8519
+ [dockPlateRef, dockRootRef]
8495
8520
  );
8496
8521
  const stopAnimation = useCallback10(() => {
8497
8522
  if (animationFrameRef.current !== null) {
@@ -10518,6 +10543,7 @@ function WorkbenchHostDock({
10518
10543
  () => new Set(context.minimizedNodes.map((node) => node.id)),
10519
10544
  [context.minimizedNodes]
10520
10545
  );
10546
+ const dockPlateRef = useRef9(null);
10521
10547
  const dockMeasureRef = useRef9(null);
10522
10548
  const dockItemsRef = useRef9(null);
10523
10549
  const hoverPanelRef = useRef9(null);
@@ -10755,6 +10781,7 @@ function WorkbenchHostDock({
10755
10781
  pauseMagnification: pauseDockMagnification,
10756
10782
  resetMagnification: resetDockMagnification
10757
10783
  } = useDockMagnification({
10784
+ dockPlateRef,
10758
10785
  dockPlacement,
10759
10786
  dockRootRef: dockMeasureRef,
10760
10787
  dockViewportRef: dockItemsRef,
@@ -11526,7 +11553,9 @@ function WorkbenchHostDock({
11526
11553
  /* @__PURE__ */ jsx12(
11527
11554
  "div",
11528
11555
  {
11556
+ ref: dockPlateRef,
11529
11557
  className: "desktop-dock-plate",
11558
+ "data-dock-placement": dockPlacement,
11530
11559
  style: dockFrameSize === null ? void 0 : {
11531
11560
  "--desktop-dock-frame-size": `${dockFrameSize}px`
11532
11561
  },
@@ -13864,6 +13893,10 @@ function useWorkbenchHostSurfaceRenderers(input) {
13864
13893
  ({ node }) => input.nodeDefinitionByType.get(node.data.typeId)?.window?.fullscreenHeaderMode,
13865
13894
  [input.nodeDefinitionByType]
13866
13895
  );
13896
+ const resolveWindowHeaderPresentation = useCallback13(
13897
+ ({ node }) => input.nodeDefinitionByType.get(node.data.typeId)?.window?.header,
13898
+ [input.nodeDefinitionByType]
13899
+ );
13867
13900
  return {
13868
13901
  captureNodePreviewImage,
13869
13902
  renderBottomChrome,
@@ -13878,6 +13911,7 @@ function useWorkbenchHostSurfaceRenderers(input) {
13878
13911
  resolveDockAnchorKey,
13879
13912
  resolveDockPreviewCacheKey: resolveDockPreviewCacheKey2,
13880
13913
  resolveFullscreenHeaderMode,
13914
+ resolveWindowHeaderPresentation,
13881
13915
  resolveWindowSurfaceLayer,
13882
13916
  resolveWindowZIndex,
13883
13917
  windowChromeMode
@@ -14311,6 +14345,7 @@ function WorkbenchHost({
14311
14345
  shouldKeepMinimizedNodeMounted: surfaceRenderers.shouldKeepMinimizedNodeMounted,
14312
14346
  resolveDockPreviewCacheKey: surfaceRenderers.resolveDockPreviewCacheKey,
14313
14347
  resolveFullscreenHeaderMode: surfaceRenderers.resolveFullscreenHeaderMode,
14348
+ resolveWindowHeaderPresentation: surfaceRenderers.resolveWindowHeaderPresentation,
14314
14349
  resolveWindowSurfaceLayer: surfaceRenderers.resolveWindowSurfaceLayer,
14315
14350
  resolveWindowZIndex: surfaceRenderers.resolveWindowZIndex,
14316
14351
  resolveDockAnchorKey: surfaceRenderers.resolveDockAnchorKey,