A powerful, flexible dock manager component for laying out, docking, undocking, pinning, and floating panes of content.

Element
igc-dockmanager
Slots
paneHeaderCloseButton — Custom close button for pane headers
tabHeaderCloseButton — Custom close button for tab headers
closeButton — Alias for pane/tab close button
moreTabsButton — Slot for the "more tabs" button
maximizeButton — Slot for maximize buttons
minimizeButton — Slot for minimize buttons
pinButton — Slot for pin buttons
unpinButton — Slot for unpin buttons
moreOptionsButton — Slot for more-options buttons on tab headers
splitterHandle- Slot for custom splitter handl — litterHandle- Slot for custom splitter handle

IgcDockManagerComponent

new IgcDockManagerComponent(): IgcDockManagerComponent

Returns IgcDockManagerComponent

Determines the active content pane.

activePane: IgcContentPane

Whether floating panes can be resized.

allowFloatingPanesResize: boolean

Whether docking inside a pane is allowed.

allowInnerDock: boolean

Whether maximize action button is displayed for the panes.

allowMaximize: boolean

Determines whether docking into the root-level pane is allowed.

When set to true (default), panes can be docked directly into the root container. This is done by creating a new root pane and repositioning the existing root pane as a sibling to the newly docked content pane.

allowRootDock: boolean

Whether docking over splitter is allowed

allowSplitterDock: boolean

Configuration for edge auto-scrolling behavior during drag & resize operations.

  • edgeThreshold: Distance in pixels from the container's edge that triggers scrolling.
  • scrollSpeed: Number of pixels to scroll per interval (affects scroll rate).
autoScrollConfig: IgcScrollConfig

Which panes get affected by close operations.

closeBehavior: IgcPaneActionBehavior

Whether pane dragging stops when any of the pane's sides goes outside the DockManager’s bounds.

containedInBoundaries: boolean

Metadata for rendering the context menu associated with a pane.

contextMenuMeta: IgcContextMenuMetadata

Position to open the context menu.

contextMenuPosition: IgcContextMenuPosition

Disables all keyboard navigation within the dock manager.

disableKeyboardNavigation: boolean

Determines the pane that is currently dragged.

draggedPane: IgcContentPane | IgcSplitPane | IgcTabGroupPane

Optional draggedPaneElement

Section titled "draggedPaneElement"
draggedPaneElement: HTMLElement

The drop position (pane) when docking.

dropPosition: IgcDockManagerPoint

The bounding rectangle of the drop shadow shown during docking.

dropShadowRect: DOMRect

Contains metadata about the currently targeted drop pane during drag.

dropTargetPaneInfo: IgcDropTargetPaneInfo

Enables changing the mouse cursor when hovering over a tab or pane header.

When set to true, the cursor changes from the default to pointer, indicating that the header can be dragged (e.g., to dock or float the pane).

enableDragCursor: boolean

Tracks z-index values for floating panes to manage stacking order.

floatingPaneZIndicesMap: Map<IgcSplitPane, number>

Contains metadata about the currently targeted drop pane during drag.

flyoutPane: IgcContentPane

Indicates whether a custom maximize button is defined via a slot.

hasCustomMaximizeButton: boolean

Indicates whether a custom minimize button is defined via a slot.

hasCustomMinimizeButton: boolean

The pane that is currently being hovered during a drag operation.

hoveredPane: IgcContentPane

The layout configuration of the Dock Manager.

layout: IgcDockManagerLayout

Determines the pane that is currently maximized.

maximizedPane: IgcContentPane | IgcSplitPane | IgcTabGroupPane

Metadata for the pane-navigator overlay.

navigationPaneMeta: IgcPaneNavigatorMetadata

Determines whether docking indicators are displayed while docking

proximityDock: boolean

Optional resourceStrings

Section titled "resourceStrings"

The resource strings of the dock manager.

resourceStrings: IgcDockManagerResourceStrings

Which header icons are shown on hover.

showHeaderIconOnHover: "none" | "closeOnly" | "moreOptionsOnly" | "all"

Determines when to display the pane headers - always or on hover of the pane.

showPaneHeaders: "always" | "onHoverOnly"

A map of content template references by ID, used for slotting custom pane content.

templates: Map<string, any>

Determines which panes are affected by particular pane action such as closing or unpinning.

unpinBehavior: IgcPaneActionBehavior

Specifies which docking orientations should apply the FixedSize sizing mode when panes are dynamically created via docking.

Possible values:

  • "none": Do not apply FixedSize on docking (default behavior).
  • "vertical": Apply FixedSize only when panes are docked vertically.
  • "horizontal": Apply FixedSize only when panes are docked horizontally.
  • "both": Apply FixedSize for both vertical and horizontal orientation.

This setting affects only dynamically created panes via user docking actions. It does not apply to programmatically created panes or layout restorations.

useFixedSizeOnDock: "horizontal" | "vertical" | "none" | "both"
styles: CSSResult[]

The tagName read-only property of the Element interface returns the tag name of the element on which it's called.

MDN Reference

tagName: "igc-dockmanager" = "igc-dockmanager"
isValidDrop: boolean

Gets the direction of the Dock Manager.

get direction(): string

Returns string

Inherited from: IgcDockManagerComponent_base

addEventListener(type: K, listener: object, options: boolean | AddEventListenerOptions): void

Parameters

  • type: K
  • listener: object
  • options: boolean | AddEventListenerOptions

Returns void

Inherited from: IgcDockManagerComponent_base

createAndDispatchEvent(type: K, detail: D, options: CustomEventInit<D>): CustomEvent<D>

Parameters

  • type: K
  • detail: D
  • options: CustomEventInit<D>

Returns CustomEvent<D>

dropPane(): Promise<boolean>

Returns Promise<boolean>

Inherited from: IgcDockManagerComponent_base

emitEvent(type: K, eventInitDict: CustomEventInit<D>): boolean

Parameters

  • type: K
  • eventInitDict: CustomEventInit<D>

Returns boolean

focusPane(contentId: string): Promise<void>

Parameters

  • contentId: string

Returns Promise<void>

Emitted when an unpinned pane's flyout state changes (opens or closes).

This event fires when:

  • An unpinned pane is clicked and its flyout opens to display content
  • An unpinned pane's flyout closes (user clicks elsewhere, switches to another unpinned pane, etc.)
  • Switching between unpinned panes (fires twice: close event for old pane, open event for new pane)

This event does NOT fire when:

  • A pane is pinned or unpinned using the pin button (use panePinnedToggle for that)
  • A pane is initially unpinned (only subsequent flyout open/close actions)

Use this event to show/hide auxiliary UI, update summary views, or respond to unpinned pane visibility changes.

paneFlyoutToggle(args: IgcPaneFlyoutEventArgs): CustomEvent<IgcPaneFlyoutEventArgs>

Parameters

  • args: IgcPaneFlyoutEventArgs

Returns CustomEvent<IgcPaneFlyoutEventArgs>

Example

dockManager.addEventListener('paneFlyoutToggle', (event) => {
  const { pane, isOpen } = event.detail;
  if (isOpen) {
    // Unpinned pane opened - show related UI
    summaryPanel.style.display = 'none';
  } else {
    // Unpinned pane closed - hide related UI
    summaryPanel.style.display = 'block';
  }
});

Inherited from: IgcDockManagerComponent_base

removeEventListener(type: K, listener: object, options: boolean | EventListenerOptions): void

Parameters

  • type: K
  • listener: object
  • options: boolean | EventListenerOptions

Returns void

removePane(pane: IgcDockManagerPane): Promise<void>

Parameters

Returns Promise<void>

register(): void

Returns void

activePaneChanged: CustomEvent<IgcActivePaneEventArgs>
floatingPaneResizeEnd: CustomEvent<IgcFloatingPaneResizeEventArgs>
floatingPaneResizeMove: CustomEvent<IgcFloatingPaneResizeMoveEventArgs>
floatingPaneResizeStart: CustomEvent<IgcFloatingPaneResizeEventArgs>
layoutChange: CustomEvent<IgcLayoutChangeEventArgs>
paneClose: CustomEvent<IgcPaneCloseEventArgs>
paneDragEnd: CustomEvent<IgcPaneDragEndEventArgs>
paneDragOver: CustomEvent<IgcPaneDragOverEventArgs>
paneDragStart: CustomEvent<IgcPaneDragStartEventArgs>
paneFlyoutToggle: CustomEvent<IgcPaneFlyoutEventArgs>
paneHeaderConnected: CustomEvent<IgcPaneHeaderConnectionEventArgs>
paneHeaderDisconnected: CustomEvent<IgcPaneHeaderConnectionEventArgs>
panePinnedToggle: CustomEvent<IgcPanePinnedEventArgs>
paneScroll: CustomEvent<IgcPaneScrollEventArgs>
splitterResizeEnd: CustomEvent<IgcSplitterResizeEventArgs>
splitterResizeStart: CustomEvent<IgcSplitterResizeEventArgs>
tabHeaderConnected: CustomEvent<IgcTabHeaderConnectionEventArgs>
tabHeaderDisconnected: CustomEvent<IgcTabHeaderConnectionEventArgs>