Step Positioning
Laravel Driver.js provides convenient methods to control where the popover appears relative to the highlighted element and how it aligns on that side.
Side Positioning
Set the side where the popover appears relative to the highlighted element. Available options: "top", "right", "bottom", "left", "over".
Method Signature
php
$step->side(string $side);Shortcut Methods
Instead of calling side('top'), you can use these convenient shortcut methods:
php
$step->top(); // Position popover on top of the element
$step->right(); // Position popover on the right
$step->bottom(); // Position popover on the bottom
$step->left(); // Position popover on the left
$step->over(); // Center on screen, detaching the step from its elementExample
php
use RealRashid\LaravelDriverJs\Facades\DriverJs;
DriverJs::addStep('#nav')
->title('Navigation')
->description('Use these links to navigate.')
->right()
->alignStart();Alignment
Set the alignment of the popover on the chosen side. Available options: "start", "center", "end".
Method Signature
php
$step->align(string $align);Shortcut Methods
php
$step->alignStart(); // Align to the start
$step->alignCenter(); // Align to the center
$step->alignEnd(); // Align to the endExample
php
DriverJs::addStep('#sidebar')
->title('Sidebar')
->description('Your tools and shortcuts.')
->side('right')
->align('start');Combined Example
php
DriverJs::tour('onboarding')
->step('#header', 'Header', 'The main header', ['side' => 'bottom', 'align' => 'center'])
->step('#nav', 'Nav', 'Navigation links', ['side' => 'right', 'align' => 'start'])
->step('#sidebar', 'Sidebar', 'Tools area', ['side' => 'left', 'align' => 'end'])
->render();Details
- The
over()side positions the popover in the center of the screen with no arrow pointing to any element, which is useful for modal-style popovers. Note thatside: "over"is not a native Driver.js option — Driver.js only acceptstop,right,bottomandleft. Centering is triggered by a step having no element, soover()clears the step's element and the package omits the unsupportedsidevalue from the output. - The default side is determined automatically by Driver.js based on available viewport space — it picks whichever side gives the popover the most room. There is no fixed default.
- The default alignment is
"start"as per Driver.js defaults.
That's it! You're now equipped to position popovers precisely using Laravel Driver.js.