What's new in v7
Dockview 7.0 realigns the package names so the ecosystem is consistent
(dockview for JavaScript, dockview-<framework> for each framework) and ships a
new accessibility pack covering keyboard
navigation and screen-reader announcements.
This page covers the headline additions. For the upgrade steps and the breaking changes, see Migrating to v7.
Highlights
Package realignment
dockview is now the framework-agnostic JavaScript package (a re-export of
dockview-core), and the React bindings moved to dockview-react. Every
framework package (dockview-react / -vue / -angular) consumes dockview.
React users must switch their imports — see
Migrating to v7.
Keyboard navigation & announcements
A new keyboardNavigation
option enables a rebindable keymap for moving around the dock — tab switching,
F6 group cycling, and jumping to the tab strip — alongside focus management
(focus restore on close, floating-group focus containment). Layout changes can
also be narrated to screen readers via a built-in live region, with hooks
(announcements,
getAnnouncement, announcer) and an i18n messages catalog.
Per-target drop overlays
The new dropOverlayModel callback shapes the
drag-and-drop overlay per target (size, activation threshold, small-element
boundaries), replacing the removed static rootOverlayModel.
Popout lifecycle events
onDidAddPopoutGroup and onDidRemovePopoutGroup fire as popout windows open
and close (or dock back), and getPopouts() enumerates the open popout windows.
See Events and Popout Groups.
Floating groups & popout windows as nested layouts
Floating groups and popout windows now host their own nested grid, so a single floating window or popout can hold a full splitview layout of groups rather than a single group. See Floating Groups and Popout Groups.
Layout-mutation transaction events
onWillMutateLayout / onDidMutateLayout bracket structural changes
(add / remove / move / float / popout / maximize / load / clear) as a single
transaction, each tagged with a 'user' or 'api' origin. See
Events.
Active-panel origin
onDidActivePanelChange now reports whether the active panel changed from a user
gesture or an API call via event.origin. This is a
breaking payload change.
Breaking changes
v7's breaking changes are covered in full, with codemods, in Migrating to v7:
- Package realignment — React bindings moved from
dockviewtodockview-react;dockviewis now JavaScript core. rootOverlayModelremoved — usedropOverlayModel/dndEdgesinstead.onDidActivePanelChangepayload — now emits{ panel, origin }instead of the panel directly.dockview-coreno longer bundles every feature — usedockview(or a framework package).- API naming cleanups — a few public types/events were renamed for
consistency (e.g.
onUnhandledDragOverEvent→onUnhandledDragOver,PaneviewDropEvent→PaneviewDidDropEvent) and some dead/deprecated members were removed. See Migrating to v7 for the full table.