
Security News
The Hidden Blast Radius of the Axios Compromise
The Axios compromise shows how time-dependent dependency resolution makes exposure harder to detect and contain.
react-resizable-element
Advanced tools

The above demo is hosted through example directory on github pages.
yarn add react-resizable-element # or npm i --save react-resizable-element
import { Resizable } from 'react-resizable-element';
const App = () => {
return (
<Resizable direction="right">
<div>Resizable Content</div>
</Resizable>
);
};
import { useResizable } from 'react-resizable-element';
const App = () => {
const { container, handle } = useResizable({ direction: 'right' });
return (
<div className="container" ref={container}>
<span className="handle" ref={handle} />
<div>Resizable Content</div>
</div>
);
};
Resizable| Prop | Type | Default | Description |
|---|---|---|---|
| classes | { root: string; handle: string } | {} | CSS class applied to root and handle elements |
| className | string | CSS class applied to root element | |
| direction | 'top' | 'bottom' | 'right' | 'left' | Direction of resize | |
| minSize | number | 0 | Minimum threshold in pixels |
| maxSize | number | 10000 | Maximum threshold in pixels |
| resizable | boolean | true | Enable/disable resizing of elements |
| style | React.CSSProperties | {} | style applied to root element |
useResizable| Name | Type | Default | Description |
|---|---|---|---|
| direction | 'top' | 'bottom' | 'right' | 'left' | Direction of resize | |
| minSize | number | 0 | Minimum threshold in pixels |
| maxSize | number | 10000 | Maximum threshold in pixels |
| Name | Type | Description |
|---|---|---|
| container | MutableRefObject | Pass it to resizable container element |
| handle | MutableRefObject | Pass it to handle element to add onPointerDown event for resizing |
| isResizing | boolean | Flag for determining if container is being resized |
react-resizable-element ensures that your app has:
no unnecessary code imported:
The package is tree shakeable which means if you are importing useResizable hook only, it'll make sure unused Resizable component won't be bundled in your application.
no unnecessary re-renders:
Core of the package works without any re-renders even when you use useResizable. But if you have any use-case where you have to use isResizing flag then you will get 2 re-renders on demand, i.e. when user start and stop resizing.
without any code changes from you.
TSDX has been used to scaffold this package inside /src, and also sets up a Parcel-based playground for it inside /example.
The recommended workflow is to run TSDX in one terminal:
yarn start # or npm start
This builds to /dist and runs the project in watch mode so any edits you save inside src causes a rebuild to /dist.
Then run the example inside another:
cd example
yarn # or npm i to install dependencies
yarn start # or npm start
The default example imports and live reloads whatever is in /dist, so if you are seeing an out of date component, make sure TSDX is running in watch mode like we recommend above. No symlinking required, we use Parcel's aliasing.
To do a one-off build, use npm run build or yarn build.
Code quality is set up for you with prettier, husky, and lint-staged. Adjust the respective fields in package.json accordingly.
Jest tests are set up to run with yarn test or npm test.
Calculates the real cost of your library using size-limit with npm run size and visulize it with npm run analyze.
TSDX uses Rollup as a bundler and generates multiple rollup configs for various module formats and build settings.
FAQs
Adds ability to resize width/height of an element.
We found that react-resizable-element demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
The Axios compromise shows how time-dependent dependency resolution makes exposure harder to detect and contain.

Research
A supply chain attack on Axios introduced a malicious dependency, plain-crypto-js@4.2.1, published minutes earlier and absent from the project’s GitHub releases.

Research
Malicious versions of the Telnyx Python SDK on PyPI delivered credential-stealing malware via a multi-stage supply chain attack.