Full height sliding pane
npm install react-sliding-panePane that slides out of the window side. Like panes from Google Tag Manager.
Features:
- Animated open-close
- Smooth animation based on CSS translate
- Outside click or left top arrow click to close
- Efficient: pane content is not rendered when pane is closed
- Based on react-modal
- Close on escape support
- Typescript support
- Runtime props validation in dev via "prop-types"
- React Strict mode covered
- Small — 8 Kb gzip (react-sliding-pane + react-modal as dependency)
See changelog.



Thanks BrowserStack for support!
- Example
- When to use (UX)
- How to use
- Properties
- How to develop
I've found sliding pane very helpful in situations when normal modal window (or just popup) is not enough: long list with pagination, multi-step form or nested popups.
Install module and peer dependencies:
npm i --save react react-dom react-sliding-pane
``js
import React, { Component, useState } from "react";
import { render } from "react-dom";
import SlidingPane from "react-sliding-pane";
import "react-sliding-pane/dist/react-sliding-pane.css";
const App = () => {
const [state, setState] = useState({
isPaneOpen: false,
isPaneOpenLeft: false,
});
return (

render(
`
| Prop | Required | Default | Description |
| ---------------- | :------: | ------: | -----------------------------------------: |
| isOpen | ✅ | | Is pane open |
| title | | | Title in header |
| subtitle | | | Subtitle in header |
| from | | "right" | Direction from pane will appear |
| children | | | Content of pane |
| className | | | CSS class name. See react-modal |
| overlayClassName | | | CSS class name of overlay. See react-modal |
| width | | | CSS string for width pane. |
| closeIcon | | | Custom close icon |
| shouldCloseOnEsc | | | Enable pane close on ESC |
| hideHeader | | | Hide pane header |
| onRequestClose | ✅ | | Called on close icon press |
| onAfterOpen | | | Called after open |
``
npm run docs
open docs/example.html