A light-weight, no-dependency, vanilla JavaScript engine to drive the user's focus across the page
onPopoverRender
configurationgetActiveElement
returning old value in popover hooksallowKeyboardControl
config not honoreddisableActiveInteraction
config to disable interaction with the active element.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:
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!
https://github.com/kamranahmedse/driver.js/issues/150 Fix touch issue
Fixes https://github.com/kamranahmedse/driver.js/issues/150 – Error when hiding on an element without popover
https://github.com/kamranahmedse/driver.js/issues/134 Adds close button on the single highlight
Patch to expose the driver.refresh()
method in the build