A splitter component that provides a resizable split-pane layout, dividing the view into two panels - start and end - separated by a draggable bar.

Panels can be resized by dragging the bar, using keyboard shortcuts, or collapsed/expanded using the built-in collapse buttons or the programmatic toggle() API. Nested splitters are supported for more complex layouts.

Slots
start — Content projected into the start (left/top) panel.
end — Content projected into the end (right/bottom) panel.
CSS Parts
splitter-bar — The resizable bar element between the two panels.
drag-handle — The drag handle icon/element on the splitter bar.
start-pane — The container for the start panel content.
end-pane — The container for the end panel content.
start-collapse-btn — The button to collapse the start panel.
end-collapse-btn — The button to collapse the end panel.
start-expand-btn — The button to expand the start panel when collapsed.
end-expand-btn — The button to expand the end panel when collapsed.

Whether collapsing either pane is disabled. When true, this also hides the expand/collapse buttons on the splitter bar.

disableCollapse: boolean

Whether resizing the panes by dragging the splitter bar or using keyboard shortcuts is disabled. When true, this also hides the drag handle on the splitter bar.

disableResize: boolean

Whether the end pane is currently collapsed. Set this property to collapse or expand the pane programmatically.

endCollapsed: boolean

The maximum size of the end pane.

Accepts a CSS length with an explicit unit, e.g. 500px or 80%, or a unitless 0. Setting auto, any other unitless or unparsable value, a negative value, or a percentage above 100 removes the constraint.

endMaxSize: string | undefined

The minimum size of the end pane.

Accepts a CSS length with an explicit unit, e.g. 100px or 20%, or a unitless 0. Setting auto, any other unitless or unparsable value, a negative value, or a percentage above 100 removes the constraint.

endMinSize: string | undefined

The size of the end pane.

Accepts a CSS length with an explicit unit, e.g. 200px or 50%, or a unitless 0. Setting auto, any other unitless or unparsable value, a negative value, or a percentage above 100 falls back to automatic sizing.

endSize: string | undefined

Whether the expand/collapse buttons on the splitter bar are hidden.

Note that the buttons will also be hidden if disable-collapse is true or if a pane is currently collapsed.

hideCollapseButtons: boolean

Whether the drag handle on the splitter bar is hidden.

Note that the drag handle will also be hidden if disable-resize is true.

hideDragHandle: boolean

The orientation of the splitter, which determines the direction of resizing and collapsing.

Changing the orientation after the initial render clears the pane sizes and their min/max constraints, along with the corresponding attributes - a size authored for one axis rarely makes sense on the other.

orientation: SplitterOrientation

Whether the start pane is currently collapsed. Set this property to collapse or expand the pane programmatically.

startCollapsed: boolean

The maximum size of the start pane.

Accepts a CSS length with an explicit unit, e.g. 500px or 80%, or a unitless 0. Setting auto, any other unitless or unparsable value, a negative value, or a percentage above 100 removes the constraint.

startMaxSize: string | undefined

The minimum size of the start pane.

Accepts a CSS length with an explicit unit, e.g. 100px or 20%, or a unitless 0. Setting auto, any other unitless or unparsable value, a negative value, or a percentage above 100 removes the constraint.

startMinSize: string | undefined

The size of the start pane.

Accepts a CSS length with an explicit unit, e.g. 200px or 50%, or a unitless 0. Setting auto, any other unitless or unparsable value, a negative value, or a percentage above 100 falls back to automatic sizing.

startSize: string | undefined

Invoked when the component is removed from the document's DOM.

This callback is the main signal to the element that it may no longer be used. disconnectedCallback() should ensure that nothing is holding a reference to the element (such as event listeners added to nodes external to the element), so that it is free to be garbage collected.

``

An element may be re-connected after being disconnected.

disconnectedCallback(): void

Returns void

Toggles the collapsed state of the specified pane.

Does not emit igcLayoutChanged - that event reports user-driven changes, and a programmatic call is already known to the caller.

toggle(position: PanePosition): void

Parameters

  • position: PanePosition

Returns void

Emitted after a user

onLayoutChanged(args: CustomEvent<IgrSplitterLayoutChangedEventArgs>): void

Parameters

Returns void

Emitted once when a resize operation completes.

onResizeEnd(args: CustomEvent<IgrSplitterResizeEventArgs>): void

Parameters

Returns void

Emitted once when a resize operation begins (pointer drag or keyboard).

onResizeStart(args: CustomEvent<IgrSplitterResizeEventArgs>): void

Parameters

Returns void

Emitted continuously while a pane is being resized.

onResizing(args: CustomEvent<IgrSplitterResizeEventArgs>): void

Parameters

Returns void