mrshanebarron/drawer
Drawer is a Laravel/PHP package that simplifies adding slide-out drawer panels to your application. Use it to create off-canvas navigation, filters, or settings with minimal setup, keeping your UI clean and your implementation lightweight. It is intended for Laravel projects that want a simple, reus...
Adopt when:
^1.0), and wrapped behind a single internal Blade component so the vendor API never leaks into feature code.config:clear in CI, config:cache in deploy.Look elsewhere when:
aria-modal, escape-to-close, and scroll-lock behavior are not documented — assume you must verify and likely supplement them yourself.To executives: This is a small, low-cost dependency that removes a repeated piece of UI work — slide-out panels for navigation, filters, and carts — from our backlog. It keeps our stack server-rendered instead of adding a JavaScript framework, which protects page performance and avoids a new frontend build pipeline. The trade-off is dependency risk: the project has a single maintainer, no meaningful adoption signal, and its last release silently changed a configuration filename in a patch version. That is acceptable only because we will contain it — pinned version, wrapped behind our own component, limited to internal and admin surfaces. Expected cost: roughly half a day to integrate and verify, one to two hours per future upgrade. Recommendation: pilot on one admin surface, do not standardize until it has survived an upgrade cycle.
To engineering: Treat this as a thin Blade primitive, not a platform. Publish the config first and read it end to end — as of 1.0.1 the file is sb--prefixed, so any pre-existing config is orphaned and the package will silently fall back to defaults. Check config('sb-*') in tinker before writing feature code; a filename/key-namespace typo returns null with no error. Pin to ^1.0, add a config assertion to the boot test suite, ensure config:clear runs in CI and config:cache runs in deploy after the file exists. Wrap the package in one internal Blade component so a swap is a one-file change, and assume we own the accessibility work — verify focus trap, escape handling, and scroll lock ourselves rather than trusting the docs.
How can I help you explore Laravel packages today?