kamranahmedse/driver.js
 Watch   
 Star   
 Fork   
7 days ago
driver.js

1.9.0

Added

  • closeBtnLabel (driver and step level) to set the close button's aria-label, for translated tours. Defaults to Close. (#623)
  • overlayClickBehavior: "none" to ignore overlay clicks while Escape and the close button still close the tour. (#435)

Changed

  • Keyboard control follows the popover buttons: arrow keys do nothing when their button is hidden or disabled, and Escape does nothing when the close button is disabled. (#589)
  • The current popover is hidden while waitForElement waits for the next step's element, so a stale step no longer stays on screen. (#578)
  • Only one instance is on screen at a time. Starting a tour or highlight closes any other active instance; it gets onDeselected and onDestroyed but not onDestroyStarted.

Fixed

  • destroy() on an instance that is not active is now a no-op instead of tearing down another instance's tour. (#504)
  • The highlighted element's own aria-controls, aria-expanded and aria-haspopup are restored when the highlight moves on or the tour ends, instead of being removed. (#495)
  • No more small white square between steps without an element. (#549)
  • onDeselected now fires when moving between two steps on the same element, or between two steps without an element.
  • The driver-level disableButtons now applies to tour steps. It used to be ignored during a tour. A step's own disableButtons still replaces it.
2026-07-18 06:09:36
driver.js

1.8.0

Added

  • Hints: pulsing beacons that open a popover on click; overlay optional, the page stays interactive. driver.js/hints, ~5KB gzip. Guide. (#363)
  • advanceOnClick (driver and step level) to advance the tour by clicking the highlighted element itself. (#606)
  • waitForElement (driver and step level) to wait up to N ms for a step's element before treating it as missing. (#606)
  • sideEffects field in package.json for better tree-shaking.

Changed

  • Popover internals shared between tours and hints; tour behaviour verified unchanged against 1.7.0.
  • Build migrated from vite to tsdown; artifact names, exports map and CDN globals unchanged, sizes within ±2%.

Fixed

  • skipMissingElement: the last reachable step now shows Done and runs onDoneClick; step queries like isLastStep() account for skips. (#616)
2026-07-14 07:11:59
driver.js

1.7.0

Added

  • skipMissingElement option to skip a step whose target element is missing (#489, #395)
  • index on the options passed to every hook (#490)
  • --driver-popover-font-family CSS variable to set the popover font (#607)

Changed

  • The popover title and description now render in the default font stack. Set --driver-popover-font-family to use your own.

Fixed

  • Icon fonts placed inside a step description are no longer overridden (#510, #512)
  • Each driver() call keeps its own config, steps and state, (#571)
  • Popover no longer jumps when its content has images that load after render.
2026-06-26 00:41:04
driver.js

1.6.0

Added

  • animationDuration config to control how long the highlight transition takes. (#104)
  • allowScroll config to lock body scroll while a tour is active.
  • onDoneClick hook, fired when the done button on the final step is clicked. (#500)
  • data property on a step for passing arbitrary data, accessible from hooks for custom per-step logic. (#539)

Changed

Fixed

  • Document event listener leak in onDriverClick that left handlers attached after the tour was destroyed. (#452)
  • Dropped the CSS :has() selector for broader browser compatibility. (#586)
  • Positioned highlighted elements and their children (e.g. dropdown menus) no longer get clipped. (#454, #563)
  • removeChild DOMException when re-rendering a popover whose wrapper was already detached from the DOM. (#572)
  • Close button on a single-element highlight() popover did nothing when clicked. It now closes the popover by default, respecting allowClose and any custom onCloseClick. (#444)
2026-06-24 04:54:00
driver.js

1.5.0

  • [x] Add done-btn class to next button (closes #610)
  • [x] Pass final state to onDestroyed hook (closes #553)
  • [x] Keep tour open on arrow-left at step 1 (closes #564)
  • [x] Remove button text-shadow ghost text (closes #605)
  • [x] Fire onNextClick on overlay nextStep (closes #576)
  • [x] Add getNextStep to the driver API (closes #420)
  • [x] Remove unicode characters from buttons
2025-11-19 06:21:52
driver.js
2025-05-13 16:38:12
driver.js

1.3.6

Thank you @jarikmarwede @SliverYuki and @ervan23 for the contributions 🙏

2025-02-02 23:53:50
driver.js

1.3.4

2025-02-02 12:24:29
driver.js

1.3.2

2023-11-11 02:12:28
driver.js

1.3.1