amjadiqbal/laravel-driver-js
A Laravel wrapper for Driver.js that adds guided product tours and onboarding highlights to your Blade views. Define tour steps in PHP, publish the config, and highlight page elements with simple helpers—no custom JavaScript required.
StartsTours trait. It fits Laravel applications that already use Blade plus Alpine or Livewire for interactive UI. It is not a general PHP package and provides little value outside Laravel.@driverJsAssets, define tours, and wire triggers through data attributes, Alpine, or Livewire.assets.cdn = false escape hatch, but CDN availability and CSP configuration remain operational risks. The Livewire wire:navigate support and CSP nonce handling are positive signals, but they need verification in the actual application shell.window.functionName references validated and sanitized?defaults and CDN settings under assets in config/driver-js.php. Replace removed PHP builder calls (drive(), destroy(), moveNext(), movePrevious()) with JavaScript control via LaravelDriverJs.active(). Replace deprecated addStep(), defineSteps(), opacity(), and onHighlighting() with step(), steps(), overlayOpacity(), and on('onHighlightStarted', ...).Driver::tour(), once(), or manual().data-driver-start, Alpine $dispatch, or Livewire dispatch.wire:navigate, CSP, localStorage once behavior, and fallback when assets fail.wire:navigate: listeners or tour state may duplicate or fail to reinitialize after navigation.localStorage once semantics: returning visitors will not see a tour again unless the key is changed; this is a product behavior risk, not just a technical one.LaravelDriverJs.active(), CSP, Livewire navigation, and custom asset bundling—requires frontend JavaScript familiarity. QA should include cross-browser checks, keyboard/accessibility review, and a deliberate test of the asset-failure fallback. A pilot on a low-risk onboarding tour is the right first step.How can I help you explore Laravel packages today?