Skip to main content

PaneResizer

A draggable handle between two panes that allows the user to resize them.

The PaneResizer component is used to create a draggable handle between two panes that allows the user to resize them.

Usage

		<script lang="ts">
	import { PaneGroup, Pane, PaneResizer } from "svelte-pane";
</script>
 
<PaneGroup direction="horizontal">
	<Pane defaultSize={50}>Pane 1</Pane>
	<PaneResizer />
	<Pane defaultSize={50}>Pane 2</Pane>
</PaneGroup>
	

Props

Here are the props available for the PaneResizer component:

		export type PaneResizerProps = {
	/**
	 * Whether the resize handle is disabled.
	 *
	 * @defaultValue `false`
	 */
	disabled?: boolean;
 
	/**
	 * A callback that is called when the resize handle's dragging state changes.
	 */
	onDraggingChange?: (isDragging: boolean) => void;
 
	/**
	 * The tabIndex of the resize handle.
	 */
	tabIndex?: number;
 
	/**
	 * The underlying DOM element of the resize handle. You can `bind` to this
	 * prop to get a reference to the element.
	 */
	el?: HTMLElement | null;
} & HTMLAttributes<HTMLDivElement>;
	

Data Attributes

The following data attributes are available for the PaneResizer component:

		export type PaneResizerAttributes = {
	/** The direction of the pane group the handle belongs to. */
	"data-direction": "horizontal" | "vertical";
	/** The ID of the pane group the handle belongs to. */
	"data-pane-group-id": string;
	/** Whether the resize handle is active or not. */
	"data-active"?: "pointer" | "keyboard";
	/** Whether the resize handle is enabled or not. */
	"data-enabled"?: boolean;
	/** The ID of the resize handle. */
	"data-pane-resizer-id": string;
	/** Present on all resizer elements */
	"data-pane-resizer": "";
};