Skip to content

chore(deps): bump react-resizable-panels from 4.12.4 to 4.18.1 - #890

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/npm_and_yarn/react-resizable-panels-4.18.1
Open

dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/npm_and_yarn/react-resizable-panels-4.18.1

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Nov 8, 2026

Copy link
Copy Markdown
Contributor

Bumps react-resizable-panels from 4.12.4 to 4.18.1.

Release notes

Sourced from react-resizable-panels's releases.

4.18.1

  • Fix the free space in a Workspace tabset's tab list (returned by useTabListFreeSpace and getTabListFreeSpace, reported to subscribeToTabListFreeSpace listeners, and set as the --tab-list-free-space custom property) not changing once the tab list is squeezed to 0px, e.g. beside a toolbar that doesn't shrink. It now keeps going down as the header's content overflows the header, and is updated when the header or its toolbar changes size.
  • Fix Workspace interactions in right-to-left layouts (e.g. within dir="rtl"): dragging a tab within its tab list inserts it where it's dropped, arrow keys move focus to the tab on that side (ArrowLeft moves to the next tab), and dropping a tab or tabset onto the left or right edge of a tabset puts it on that side of the screen. The left and right regions passed to moveTab and moveTabset are sides of the screen too. A tab list's data-overflow-start and data-overflow-end attributes are also set correctly while it's scrolled. - #791

4.18.0

  • Add the normalizeWorkspaceModel function, which checks and tidies a model the same way the defaultModel prop does (e.g. removing empty tabsets and fixing selections), and returns null if the value isn't a model (e.g. corrupt saved data). Its mapTab option replaces each saved tab with the app's current version (or removes it, by returning null), so layouts saved by older versions of an app can be restored.
  • Add the free space in each tabset's tab list (the space its tabs don't use; negative once they overflow), e.g. for a toolbar that moves items into an overflow menu when the header runs out of room. It's returned by the new useTabListFreeSpace hook and getTabListFreeSpace imperative method, reported to listeners added with the new subscribeToTabListFreeSpace method (e.g. from a toolbar rendered outside of the Workspace), and set as the tab list's --tab-list-free-space custom property. All of them are updated before the browser paints.
  • Fix Workspace tabsets being shown at their collapsed sizes with their content still rendered (and reported as expanded by useParentTabsetState) when the model's sizes don't fit the tabsets' minimum sizes, e.g. a model saved in a wider window, a workspace that's made narrower, or expandTabset shrinking a sibling below its minimum. Tabsets are now shown within their minimum and maximum sizes (rather than collapsed, when there's room), and tabsets that still have to be collapsed to fit are shown (and reported) as collapsed; the new isCollapsedToFit value (returned by useParentTabsetState) tells them apart from tabsets collapsed in the model (e.g. to hide an "expand" button, since they can't be expanded until they fit). The model isn't changed, so the tabsets are shown as the model has them again once they fit.
  • Add maxWidth and maxHeight to Workspace tabsets (and updateTabset), which limit how large a tabset's content area can be resized (e.g. a sidebar that can only grow so wide). Like minimum sizes, they must use absolute units. A maximum only applies if something else can take up the rest of its split (e.g. another tabset without a maximum); otherwise it's ignored, with a warning in development.
  • The default Workspace tabset drag preview now shows the number of other tabs being dragged after the selected tab's title (e.g. "One (+2)"). Tabsets with one tab, and workspaces with a renderDragPreview or renderTabsetDragPreview prop, show the same preview as before. - #789

4.17.0

  • Add dragging whole tabsets within a Workspace. A tabset is dragged by the empty space in its header, or by a TabsetDragHandle (or any element with a data-tabset-drag-handle attribute) when it has one. Dropping a tabset onto the edge of another tabset moves it there; dropping it onto another tabset's center or tab list moves its tabs into that tabset. Tabsets with the keepWhenEmpty flag can only be moved, not merged. Tabsets can't be dragged when they have the new disableDrag flag or contain a tab that does. - #785
    • The new moveTabset imperative method, renderTabsetDragPreview prop, and isDragDisabled value (returned by useParentTabsetState) support tabset dragging. A tabset being dragged has a data-tabset-dragging attribute, and the drag preview has a data-drag-type attribute ("tab" or "tabset").
    • disableDrop is called for each tab in a dragged tabset, with the target each tab would be dropped at, so existing restrictions apply to tabset drags too. The new tabset argument is set while a whole tabset is dragged.
  • Add collapsible tabsets to Workspace. A tabset with the new collapsible flag can be collapsed to just its header (e.g. a bottom panel, or a sidebar that collapses to a vertical strip of tabs), by dragging a separator past its minimum size (like a collapsible Panel) or with the new collapseTabset and expandTabset methods; clicking a tab in a collapsed tabset expands it. Whether a tabset is collapsed is saved in the model (collapsed), and its size is the size it expands to. - #787
    • useParentTabset returns collapse, expand, and isCollapsed functions, and useParentTabsetState returns isCollapsed and isCollapsible values (e.g. for a collapse button in a tabset's toolbar). Elements within a collapsed tabset have a data-tabset-collapsed attribute.
    • onModelChanged reports the new "collapse" and "expand" reasons.
  • Add the Workspace tabRemovalSelectionBehavior prop, which chooses the tab that's selected when the selected tab is closed (or dragged to another tabset): the tab after it ("adjacent", the default), or the tabset's most recently selected tab ("recent", like an IDE's editor groups). In "recent" mode, each tabset's recently selected tabs are saved in the model (TabsetNode.recentTabIds). - #786

[!WARNING] The tab argument passed to disableDrop may now be undefined, when a tabset without tabs (one with the keepWhenEmpty flag) is dragged. Functions that read tab (e.g. tab.data) should check for this first.

4.16.1

  • Add a split entry to the Workspace classNames and styles props, for each split's Group (which now also has data-split and data-split-id attributes). Its CSS gap adds space between tabsets, and counts toward their minimum sizes like separators do. - #783
  • Fix dragging a Workspace separator ending after moving a few pixels (most often when resizing tabsets stacked vertically, or tabsets with tabs on the left or right). The size of each tabset's header, which counts toward its minimum size, could change by a pixel as the tabset was resized, because it was measured as the difference of two rounded sizes; that re-registered the tabset's panel, which interrupted the drag. It is now measured from exact sizes. - #782
  • Fix Workspace tabsets and splits rendering their model node ids as element ids, which could match other elements on the page (e.g. a tabset with the id "root" matched an application's <div id="root">, and its styles) or the elements of another workspace with the same model. Their elements' ids are now unique within the page. - #784
  • Fix pressing a tab at the edge of a tabset, in a Workspace without separators, both resizing the tabset and dragging the tab. Resizing takes priority, as it does for other elements at the edges of panels. - #784

4.16.0

  • Add Workspace component, for layouts of tabsets that users can rearrange by dragging tabs: between tabsets, within a tabset's list of tabs, or onto the edge of a tabset to split it. Tabsets can also be resized and maximized. The layout is described by a serializable model, and tab content is not remounted when a tab is moved. - #780
    • Tabsets can be customized with the renderTab, renderTabsetToolbar, and renderEmptyTabset props (and the TabCloseButton component), and styled with the classNames and styles props.
    • Workspaces are uncontrolled (like Group); the useWorkspaceRef and useWorkspaceCallbackRef hooks return its imperative API.
    • Content within a workspace can use the useParentWorkspace, useParentTabset, useParentTabsetState, useParentTab, and useParentTabState hooks.
    • The content of tabs that aren't selected can stay mounted (default), be unmounted, or be rendered within a hidden React <Activity> (hiddenTabBehavior), and selected tabs' content can opt into server rendering (serverRenderTabContent).
    • Supports mouse, touch, and keyboard interaction.
  • Fix separators (and grid gridlines) moving farther or less far than the pointer when an ancestor has CSS zoom or a scale transform (e.g. twice as far within zoom: 2). Pointer movements are now converted from screen pixels to layout pixels before resizing. - #780
  • Fix separators staying in their "hover" state when the pointer moves onto an iframe within a Group rendered into another window (e.g. a popup). The iframe check no longer uses instanceof HTMLIFrameElement, which is false for iframes from another window. - #778
  • Fix the separator resize preview (resizePreviewMode="separator") missing the separator's styles when its element was created by another window's document (e.g. by a popup's opener). - #781

4.15.3

  • Fix unused components not being removed by some bundlers (e.g. esbuild), so an application that only imports Group no longer includes Grid. Components now set their displayName within a pure-annotated expression, and package.json declares "sideEffects": false. - #779

4.15.2

  • Fix vh, vw, and em panel sizes (e.g. defaultSize="25vw") being resolved against the global window instead of the panel's own window, so a Group rendered into another window (e.g. a window.open popout via a portal, or an iframe) was sized against the opener's viewport. - #777

4.15.1

  • Declare @types/react as an optional peer dependency. Under strict package linkers (e.g. pnpm with a global virtual store, Yarn PnP, or Bun isolated installs), TypeScript could fail to resolve it from this package, silently typing props built on React types as any. - #776

4.15.0

... (truncated)

Changelog

Sourced from react-resizable-panels's changelog.

4.18.1

  • Fix the free space in a Workspace tab list not going down once the tab list is squeezed to 0px.
  • Fix Workspace interactions in right-to-left layouts (dragging tabs within tab lists, arrow keys, and the left and right drop regions). - #791

4.18.0

  • Add normalizeWorkspaceModel, which checks and tidies a saved model (returning null if it isn't valid); its mapTab option updates saved tabs.
  • Add the free space in each Workspace tab list (e.g. for an overflow menu): the useTabListFreeSpace hook, the getTabListFreeSpace and subscribeToTabListFreeSpace methods, and the --tab-list-free-space custom property.
  • Add maxWidth and maxHeight to Workspace tabsets.
  • Fix Workspace tabsets that don't fit their minimum sizes being shown collapsed with their content still rendered. They're now collapsed to fit (see useParentTabsetState().isCollapsedToFit) without changing the model.
  • The default tabset drag preview shows how many other tabs are being dragged (e.g. "One (+2)"). - #789

4.17.0

  • Add dragging whole tabsets within a Workspace, by the empty space in their headers or by a TabsetDragHandle. Also adds the moveTabset method, the renderTabsetDragPreview prop, and a disableDrag flag for tabsets. - #785
  • Add collapsible Workspace tabsets (the collapsible flag), collapsed by dragging a separator or with the collapseTabset and expandTabset methods. - #787
  • Add the Workspace tabRemovalSelectionBehavior prop, which selects the adjacent tab (default) or the most recently selected one ("recent") when the selected tab is removed. - #786

[!WARNING] The tab argument passed to disableDrop may now be undefined (when an empty tabset with the keepWhenEmpty flag is dragged).

4.16.1

  • Add a split entry to the Workspace classNames and styles props; its CSS gap adds space between tabsets. - #783
  • Fix dragging a Workspace separator ending after a few pixels. - #782
  • Fix Workspace tabset and split element ids colliding with other elements on the page. - #784
  • Fix pressing a tab at the edge of a tabset (in a Workspace without separators) both resizing the tabset and dragging the tab. - #784

4.16.0

  • Add Workspace component, for layouts of tabsets that users can rearrange by dragging tabs. The layout is described by a serializable model, and tab content isn't remounted when a tab is moved. - #780
  • Fix separators moving farther (or less far) than the pointer within CSS zoom or scale transforms. - #780
  • Fix separators staying in their "hover" state over iframes in popup windows. - #778
  • Fix the resizePreviewMode="separator" preview missing the separator's styles in popup windows. - #781

4.15.3

  • Fix unused components not being removed by some bundlers (e.g. esbuild), so an application that only imports Group no longer includes Grid. Components now set their displayName within a pure-annotated expression, and package.json declares "sideEffects": false. - #779

4.15.2

  • Fix vh, vw, and em panel sizes (e.g. defaultSize="25vw") being resolved against the global window instead of the panel's own window, so a Group rendered into another window (e.g. a window.open popout via a portal, or an iframe) was sized against the opener's viewport. - #777

4.15.1

  • Declare @types/react as an optional peer dependency. Under strict package linkers (e.g. pnpm with a global virtual store, Yarn PnP, or Bun isolated installs), TypeScript could fail to resolve it from this package, silently typing props built on React types as any. - #776

4.15.0

... (truncated)

Commits

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [react-resizable-panels](https://github.com/bvaughn/react-resizable-panels) from 4.12.4 to 4.18.1.
- [Release notes](https://github.com/bvaughn/react-resizable-panels/releases)
- [Changelog](https://github.com/bvaughn/react-resizable-panels/blob/main/CHANGELOG.md)
- [Commits](bvaughn/react-resizable-panels@4.12.4...4.18.1)

---
updated-dependencies:
- dependency-name: react-resizable-panels
  dependency-version: 4.18.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Nov 8, 2026 •

Copy link
Copy Markdown

Deploying simple-module-python with  Cloudflare Pages  Cloudflare Pages

Latest commit: 71e6a0f
Status: ✅  Deploy successful!
Preview URL: https://2523c74d.simple-module-python.pages.dev
Branch Preview URL: https://dependabot-npm-and-yarn-reac-0j9u.simple-module-python.pages.dev

View logs

@dependabot dependabot Bot added dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code labels Nov 8, 2026

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants