Skip to content


Choose a tag to compare
@KittyGiraudel KittyGiraudel released this 22 Jul 08:52
· 117 commits to main since this release

What’s Changed

This version focuses on source code optimization by leveraging TypeScript, ES6 and DOM APIs. Besides the events signature having changed, version 8 should be mostly backward-compatible provided you do not rely on internal properties and do not need Internet Explorer support. If you do, stick to v7.

Read the migration guide.


  • The library now longer supports Internet Explorer (by @mxmason in #382).
  • Pseudo-private properties prefixed with an underscore (e.g. _id) are no longer prefixed, and marked as private in TypeScript instead (by @mxmason in #379).
  • All events now go through cancellable DOM CustomEvent objects instead of a custom event system, and the event listener signature has changed (#239).

Potentially breaking

  • The focus trap now accounts for Shadow DOM (by @mxmason in #397 and #459, solving #322).
  • The focus trap now accounts for summary elements (f600fb0).
  • The focus trap no longer considers children of disabled fieldset elements as focusable (#462).
  • The focus trap no longer considers elements within disabled, inert and hidden parents as focusable (#464).


  • The code has been rewritten in TypeScript (by @mxmason in #379 and #380).
  • The code now leverages ES6 syntax such as classes, optional chaining operator and arrow functions (by @mxmason in #375 and #376).
  • The dist folder is no longer part of the repository, only the source files remain (by @mxmason in #374).
  • Click events are now listened to at the document level (by @mxmason in #387, solving #367).
  • The focus-trap event listener is now bound on the dialog container instead of the body element (by @mxmason in #380).
  • The auto-instantiation of dialogs has been simplified but remains functionally unchanged (by @mxmason in #380).
  • A lot of development dependencies have been updated.

New Contributors

  • Huge thanks to @mxmason for their extensive contributions with version 8, from the TypeScript rewrite to the Shadow DOM support.
  • Special thanks to Alice Boxhall for her kind help with the Shadow DOM implementation.

Full Changelog: 7.5.3...8.0.0