Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Ux Driver Laravel Package

pentiminax/ux-driver

A lightweight Laravel package that brings a driver-based approach to UX features, letting you define and swap user-experience behaviors through clean, configurable drivers. Integrates with Blade and Laravel's service container to keep interface logic organized, reusable, and easy to test.

View on GitHub
Deep Wiki
Context7

UX Driver is a Symfony bundle integrating the Driver.js library in Symfony applications.

Frequently asked questions about Ux Driver
Is pentiminax/ux-driver a Laravel package?
No. pentiminax/ux-driver is a Symfony UX bundle that integrates the Driver.js library using Twig Components and StimulusBundle, even though some descriptions frame it as a Laravel package. Its rendering layer does not use Blade or Laravel's service container.
Can I use pentiminax/ux-driver in a Laravel application?
Only partially. The Model, Html, and Enum classes could be reused as a standalone serialization layer for Driver.js options, but the Twig Components and StimulusBundle wiring do not port to Laravel. A real Laravel adoption means rewriting the rendering layer with Blade and your own JavaScript, which is much larger than a simple composer require.
How do I install pentiminax/ux-driver?
Install it with Composer, register the bundle in your Symfony application, and make sure the Stimulus controllers are available through AssetMapper or Webpack Encore. You also need driver.js 1.8 or newer on the front end. The package requires PHP 8.2+, Symfony 7 or 8, StimulusBundle 2 or 3, TwigComponent 2 or 3, and Twig 3.8+.
What features does ux-driver provide for product tours and hints?
It wraps Driver.js to provide product tours, hints and beacons, and popovers through a PHP builder API and Twig Components. You define options with the Model classes and render them in Twig, and the bundle handles serializing the configuration for the JavaScript runtime.
What are the breaking changes in pentiminax/ux-driver 0.2.0?
Version 0.2.0 removes several helper methods on the Twig Step and Hint components, including titleHtml(), descriptionHtml(), sideValue(), and alignValue(). Model\Hint::$element is now nullable and getElement() returns ?string, so code that assumed a non-null string needs a guard. The serialized tour payload also omits animate, smoothScroll, and allowClose unless explicitly set, and the beacon error message text changed.
Will upgrading to ux-driver 0.2.0 break my custom Twig templates?
Only if you forked or overrode the shipped component templates and called the removed helper methods such as titleHtml() or sideValue(). The bundled templates do not call them, so the default path is safe, but custom templates will hit a Twig RuntimeError at render time. Search your overrides for those method names before upgrading.
What is the PHP and JavaScript contract test in ux-driver?
It is a CI test that parses assets/src/ and fails when the PHP declarations and the JavaScript Stimulus controllers drift apart. That enforces the integration seam automatically instead of relying on convention. The tradeoff is that a benign refactor of the asset directory layout can turn the test red for non-behavioral reasons.
Is pentiminax/ux-driver stable enough for production?
It is still a 0.x package, and version 0.2.0 is explicitly a consolidation release rather than a stability milestone. The architecture is sound, but you should pin versions and review upgrade notes for breaking changes, especially around removed component helpers and payload serialization. Moderate technical risk is concentrated in those behavior changes.
What should Laravel developers use instead of ux-driver for Driver.js tours?
Most Laravel teams should use Driver.js directly and build a small Blade partial or Livewire component around it, since the library itself is framework-agnostic. You can borrow the serialization ideas from ux-driver's Model and Html classes as a reference implementation. There is no drop-in Laravel port in this package.
Do ux-driver snapshot tests and fixtures break after 0.2.0?
Snapshot and fixture JSON tests may fail because the payload now omits animate, smoothScroll, and allowClose unless they are explicitly set. Runtime behavior is unchanged since those values match Driver.js defaults. Update your fixtures and any JavaScript that reads the config blob when you upgrade.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
shitoudev/permissionmanager
johannesclimacus/laravel-tui
hocvt/seotools
vitalybaev/sypexgeo
amphibee/themosis-ignition
gito-me/fast-excel
frankyso/laravel-ipaymu
geolize-studio/laravel-chile
boomerangui/chat
jinas/dhivatar
store-doc/laravel-storage-driver
plus-it/laravel-translation-manager
diephp/perhaps
diephp/telegraph
osmaviation/spreadsheet
microsoft/fluentui-system-icons
mmccook/php-json-canonicalization-scheme
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console