laravelcm/livewire-slide-overs
Livewire slide-over drawer panel for Laravel. Open slide-overs via events, stack multiple child components, and preserve state—modal-like behavior inspired by wire-elements/modal, but as a drawer. Supports PHP 8.3+, Laravel 11/12, Livewire 3.4/4.
dispatch, listen) for cross-component communication, improving decoupling.@livewire('slide-over-panel') + component extension). No database or complex dependencies.include_css: true), adding minor setup overhead.max-w-[800px]). Projects without JIT may need pre-safelisted classes.sessionStorage for caching panel attributes. Potential issues with cross-tab synchronization or privacy compliance (e.g., GDPR).panelAttributes suffice, or are overrides needed?role="dialog", aria-modal)? Will screen readers handle stacked panels correctly?$slideOver.open()). Conflicts unlikely if Alpine is already in use.livewire-slide-overs.php artisan vendor:publish --tag=livewire-slide-over-config) to customize defaults (e.g., position, max width).include_css.composer require laravelcm/livewire-slide-overs
@livewire('slide-over-panel') to the root layout.SlideOverComponent (e.g., ShoppingCart).resizePanel()).panelMaxWidth()) for project-specific behavior. Avoid forking unless critical fixes are needed.Livewire.log() to inspect panel events (e.g., openPanel, closePanel).$slideOver helper failures).sessionStorage for cached panel attributes if instant open fails.sessionStorage or hard-refresh if panels behave erratically.wire:ignore or Alpine’s x-data to isolate panel-specific JS.resizePanel() calls if needed.sessionStorage size for memory impact (unlikely for typical use).| Failure Scenario | Impact | Mitigation |
|---|---|---|
| JavaScript fails (e.g., Alpine) | Panels unresponsive | Fallback to standard Livewire round-trip. |
| Tailwind classes missing | Broken styling | Enable include_css or safelist classes. |
sessionStorage quota exceeded |
Instant open fails | Clear cache or reduce panel attribute size. |
| Z-index conflicts in stacked panels | Overlapping UI | Customize panelAttributes with higher z-index. |
| Livewire event listener leaks | Memory leaks | Clean up listeners in cleanup() method. |
Modal with SlideOverComponent").$slideOver.open()) vs. traditional dispatch.How can I help you explore Laravel packages today?