8.0.0
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.
Breaking
- 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).
Non-breaking
- 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