Skip to content

HySplitterHandle

Usage examples on this page are written for Lit / plain HTML (<hy-splitter-handle>). The same component ships as HySplitterHandle in @whitespaceux/harmony-react (native React 19), with typed wrappers for Angular, Solid, Svelte, and Vue. The API reference below applies to all frameworks.

An interactive separator handle within an hy-splitter group. Implements the WAI-ARIA separator role with keyboard support. Provides a draggable divider between adjacent panels.

This component is not designed to be used standalone - it must be placed between hy-splitter-panel elements inside an hy-splitter.

Examples

Basic handle

html
<hy-splitter-handle></hy-splitter-handle>

With accessible label

html
<hy-splitter-handle label="Resize sidebar"></hy-splitter-handle>

With custom grip icon

html
<hy-splitter-handle>
  <hy-icon name="grip-vertical"></hy-icon>
</hy-splitter-handle>

API

Properties

PropertyAttributeTypeDefaultDescription
disableddisabledbooleanfalseWhether this handle is disabled (non-interactive).
labellabelstring''Accessible label for the separator (used as aria-label).
orientationorientation'horizontal' | 'vertical''horizontal'Orientation (set by parent splitter).
draggingdraggingbooleanfalseWhether the handle is currently being dragged (set by parent splitter).
groupDisabledgroup-disabledbooleanfalseWhether the parent group is disabled (set by parent splitter).
valueNowvalue-nownumber0Current value for aria-valuenow.
valueMinvalue-minnumber0Minimum value for aria-valuemin.
valueMaxvalue-maxnumber100Maximum value for aria-valuemax.

Slots

SlotDescription
defaultOptional custom grip icon

CSS Parts

PartDescription
handleThe separator container
handle-barThe visible bar element

CSS Custom Properties

PropertyDescription
--hy-splitter-handle-sizeVisible bar thickness (default: --hy-ornament-tick)
--hy-splitter-handle-hit-areaInvisible drag area (default: --hy-ornament-handle, 44px on touch)
--hy-splitter-handle-colorBar color at rest
--hy-splitter-handle-color-hoverBar color on hover
--hy-splitter-handle-color-pressedBar color while dragging (CSS :active, transient)
--hy-splitter-handle-radiusBar border radius
--hy-splitter-handle-hover-durationTransition duration for hover and focus state feedback
--hy-splitter-handle-hover-easingTransition easing for hover and focus state feedback

Built with Lit. Documented with VitePress.