Robust resize handles / splitters for your HTML5 apps and websites
HTML TypeScript JavaScript
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
lib Use LF for line endings Apr 11, 2016
.gitignore Use LF for line endings Apr 11, 2016
LICENSE.txt Use LF for line endings Apr 11, 2016


Robust, no-frills, stylable resize handles / splitters for HTML5 apps.

How to install

npm install resize-handle


Check out the live demo and its source code.

You'll need to setup a display: flex; box-sizing: border-box; container with two div children. Make the main pane flex: 1; flex-basis: 0; and give it a min-width. Make sure to set the sidebar's width and min-width (or height, if vertical).

Include lib/ResizeHandle.js in your project and create the handle by calling new ResizeHandle(document.getElementById("#sidebar"), "right"). You can pass { collapsable: true } as a third argument to enable double-click-to-collapse.

The object returned by the ResizeHandle constructor emits dragStart, drag and dragEnd events.

See index.d.ts for the full API.

Building from source

  • Make sure you have a recent version of Node.js installed.
  • Clone the repository from and run npm install once
  • Run npm run build to build once or npm run watch to start a watcher that will rebuild when changes are detecting