NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
npm · #4805 most downloaded on npm
A component that is resizable with handles.
Last release 3 months ago
18 Jun 2026
Release timing varies
gaps range from 4 weeks to 2.8 years
Most releases are documented
notes for 36 of the last 60 stable releases
2 versions withdrawn
withdrawn after publishing
12 years old
64 releases · first in 2014
Fix (types): make 's default-backed props optional in the TypeScript definitions. Props now extends Partial , so consumers no longer have to pass prop
<ResizableBox>'s default-backed props optional in the
TypeScript definitions. Props now extends Partial<DefaultProps>, so
consumers no longer have to pass props that already have defaults. Types
only; runtime behavior is unchanged.
(#264)Locked aspect ratio drags now track the cursor via orthogonal projection onto the w = ratio·h line instead of snapping to whichever axis had the large
w = ratio·h line instead of snapping to whichever axis had the
larger delta. Closes #222.examples/example.js after the 4.0.0 TS
conversion). Affects the GitHub Pages demo / yarn dev only; the
published package was unaffected. (#261)One column per quarter.
This release converts the library from Flow to TypeScript and ships bundled type declarations. The runtime API and on-screen behavior are unchanged. T
This release converts the library from Flow to TypeScript and ships bundled type declarations. The runtime API and on-screen behavior are unchanged. The major version bump is to flag two things consumers may need to act on.
Breaking — types delivery
The library is now authored in TypeScript. Bundled type declarations ship
in build/*.d.ts and are resolved via the "types" field in
package.json. No @types/react-resizable install is needed; if you have
one installed, remove it — TypeScript prefers the bundled types and the
DefinitelyTyped package is no longer required.
The *.js.flow shims previously emitted by build.sh have been removed.
Flow is no longer supported.
Flow users who still need types can copy the last Flow-annotated source
from the 3.2.0 tag:
react-grid-layout/react-resizable@db2e37e/lib
(lib/Resizable.js,
lib/ResizableBox.js,
lib/propTypes.js,
lib/utils.js).
These files were the input to the published .js.flow artifacts in
react-resizable@3.2.0 on npm; you can vendor them as a local Flow shim.
They will not be updated, and any fix landing on master after 4.0.0
will not be backported into a Flow form.
Internal
lib/ and __tests__/ from Flow to TypeScript
(*.ts/*.tsx). Public runtime API unchanged.@babel/preset-flow with @babel/preset-typescript;
drop flow-bin, flow-typed/, .flowconfig.tsconfig.json (typecheck), tsconfig.build.json
(declaration emit), tsconfig.test.json.build.sh now runs babel for the JS transform and
tsc --emitDeclarationOnly for the .d.ts files.@typescript-eslint/parser.yarn lint, yarn typecheck, yarn test, and a
build-artifact smoke test on every push and PR.Resizable, ResizableBox).🐛 Bugfix: Prevent resize drift caused by stale props between renders. The component now accumulates deltas from lastSize rather than this.props.width/
lastSize rather than
this.props.width/height, and dimensionsChanged is compared against
that same base so zero-delta callbacks are still suppressed correctly.
#255^9.x. ESLint 10 removes scopeManager.addGlobals,
which @babel/eslint-parser 7.x still calls; the parser fix is only
available in unreleased v8 RCs that require an unreleased Babel core v8.✏ Chore: Add files whitelist to package.json to reduce package size and exclude unnecessary files.
files whitelist to package.json to reduce package size and exclude unnecessary files.🐛 Bugfix: Fix SSR crash where Element is not defined in Node.js environments. #251
Element is not defined in Node.js environments. #251🐛 Bugfix: Fix crash when Resizable child has a single child element (was not iterable). #219
🐛 Bugfix: Fix onResizeStop reporting stale size data due to React's batched state updates. The callback now uses the stored size from the last onResiz
onResizeStop reporting stale size data due to React's batched state updates. The callback now uses the stored size from the last onResize call. #250react-draggable to ^4.5.0.react-test-renderer to ^18.🐛 Bugfix: Make width and height conditionally required if an axis is set. See #196
width and height conditionally required if an axis is set. See #196onResize callback arity.🐛 Bugfix: Fix incorrect fix for handleAxis on DOM elements. #175
handleAxis on DOM elements. #175🐛 Bugfix: Remove unknown prop handleAxis making it to DOM elements, causing a warning in dev.
handleAxis making it to DOM elements, causing a warning in dev.lockAspectRatio logic to be more accurate and shorter.✏ Chore: Add documentation for resize handles and fix a mistake where the handleAxis prop was not being passed to custom components.
handleAxis prop was not being passed to custom components.
✏ Chore: Reduce package size through .npmignore.
.npmignore.🐛 Bugfix: Fixed handling of the nodeRef that needs to be passed to to avoid use of ReactDOM. This means that vanilla usage of react-resizable no longe
nodeRef that needs to be passed to <DraggableCore> to avoid use of ReactDOM. This means that vanilla usage of react-resizable no longer requires ReactDOM. No code changes are needed in the usual case, except:
>= 16.3 is required due to use of React.createRef(), andhandle prop now sends a ReactRef<HTMLElement> as its second argument and expects it to be used on your returned component.
ref, you will receive the following error: "<DraggableCore> not mounted on DragStart!" This is due to the ref being present but not attached to any node.Nothing published for this version
✏ Chore: Added React 17 to peerDependencies.
React-Resizable 2.0.0 was published due to a breaking change in props handling. This change ended up actually completely breaking certain workflows, f…
props handling. This change ended up actually completely breaking certain workflows, for the dubious benefit of making the code slightly simpler to add to. The breaking change has been reverted, 2.0.0 is now deprecated, and we will continue on the 1.x branch. Future breaking changes to react-resizable will upgrade the major version to 3.<ResizableBox> now takes a style prop which will be applied on the wrapping <div>. width and height in this prop are ignored.handle from div children in Resizable React.cloneElement. #124> Note: 1.10.0 was a mis-publish.
✏ Chore: Remove deprecated React 16.9 lifecycle methods (componentWillReceiveProps)
lockAspectRatio=true #106componentWillReceiveProps)<Draggable>. This has not been needed for quite some time, fixes some bugs and improves performance.➕ Feature: Added support for custom resize handles #79
✏ Chore: Support for React 16 (no changes required, updated peerDependencies)
peerDependencies)✏ Chore: Minor Flow & dependency updates.
🐛 Bugfix: React deprecation warnings from import *
import *
import *
✏ Chore: Pkg: Add react-draggable@3.0.0 to version range.
react-draggable@3.0.0 to version range.
@2 and @3 versions.🐛 Bugfix: Some flow types were improperly specified.
⚠ Deprecation: React.PropTypes now deprecated in React 15.5, moved to prop-types package
React.PropTypes now deprecated in React 15.5, moved to prop-types packagestage-1 and transform-flow-comments, bring in only selected plugins, makes for leaner dev/build.➕ Feature: Allow restricting by axis. (#40, thanks @dnissley-al)
🐛 Bugfix: Persist SyntheticEvents when needed (#45, #46)
<ResizableBox> (#44, thanks @JoaoMosmann)✏ Chore: Removed unused ref from .
<Resizable>.- 🐛 Bugfix: Fix bad publish
Bugfix: Don't pass onResize in .
onResize in <ResizableBox>.Bugfix: Don't pass unknown props to underlying DOM element. Fixes React 15.2.0 warnings.
Bugfix: Resizable handle should have a key when injected. Fixes React warnings on custom components.
key when injected. Fixes React warnings on custom components.Update to React-Draggable v2, which changed callback data structure.
Enhancement: Add Flow comments.
Bugfix: Prevent width and height from leaking to the underlying DOM element and being written.
width and height from leaking to the underlying DOM element and being written.- Allow React v15 in peerdeps.
Switch to ES2015 Loose Mode to fix IE9/10 issues.
Changes before 1.3.0 were not logged. Please see the git commit history.
Changes before 1.3.0 were not logged. Please see the git commit history.
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →