TL;DR visit the new version at driverjs.com
Driver.js rendering engine has been rewritten from the ground up using TypeScript. It uses a different approach for highlighting elements; instead of playing with the z-index and opening up a pandora box of stacking context issues, it now draws an SVG over the page and cuts out the portion above the highlighted element which means that it can now handle any type of UI. Here are some of the key highlights:
- Rewritten in TypeScript.
- Popover is much more intelligent in its placement
- Supports async steps to allow more dynamic and interactive guides
- Support for non-element steps (i.e. where you just want to show a popup on screen)
- Ask for confirmation before exit
- Support for scrollable elements
- Allows showing progress during product tours
- More customizable than ever with more hooks
- Improved documentation with code samples for usage
- Popover hooks allow you to have more control over the popover rendering
- We have a brand new documentation website driverjs.com
Driver.js continues to be light-weight — the gzipped size is 5kb while the alternative libraries start at 12kb gzipped size.
This release will close most of the open-issues and will allow us to expand on the features. Thanks to everyone for their feedback, bug reports, pull requests. Special thanks to @josias-r and his work on boarding.js that inspired the algorithmic rewrite 🙏
Please do reach out if you have any feedback!