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
CustomEventobjects instead of a custom event system, and the event listener signature has changed (#239).
- The focus trap now accounts for Shadow DOM (by @mxmason in #397 and #459, solving #322).
- The focus trap now accounts for
- The focus trap no longer considers children of disabled
fieldsetelements 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).
distfolder 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.
- 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