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

Cascader Laravel Package

vlados/cascader

A cascading dropdown for Laravel Livewire and Alpine.js, inspired by Ant Design's Cascader. It renders a two-column desktop dropdown with search and a mobile bottom sheet, supports light and dark mode, two-level option arrays, and standard wire:model binding.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Build vs. buy for a single UI primitive. A cascading/column dropdown with search, responsive mobile behavior, and dark mode is a well-bounded problem. This package converts what is typically 2–5 engineering days (plus QA on touch devices and keyboard nav) into a composer require plus a small Alpine registration step. Use it to keep a sprint focused on domain logic rather than component polish.
  • Roadmap triage for taxonomy-shaped features. It directly unblocks any feature whose data model is a hierarchy: product categories, geo (country → region → city), org units / cost centers, permission trees, shipping zones, SKU taxonomies. If a backlog item says "user picks a category," this is a candidate shortcut.
  • Admin and internal-tooling bets first. The strongest fit is back-office screens where UX consistency matters but brand differentiation does not. That is where a low-adoption dependency carries the least product risk and the fastest payback.
  • Scoping inputs for design. The package already commits to a desktop two-column pattern and a sub-640px bottom sheet with step navigation — that is a UX decision you can adopt wholesale instead of re-litigating in design review. It also sets a floor on stack assumptions (TALL: Livewire + Alpine + Tailwind), which is a planning constraint worth surfacing early.
  • Vendor-risk register entries. Zero stars and zero dependents is a signal, not a disqualifier: it means no community validation, no third-party bug surface, and no crowd-sourced answers. Treat it as a code snippet you happen to install, and decide consciously whether that is acceptable for the surface area in question.

When to Consider This Package

Adopt when most of these are true:

  • The stack is already Laravel 11–13, Livewire 3/4, Alpine 3, and Tailwind — no new framework is being introduced for a dropdown.
  • The data is genuinely hierarchical and deep enough (2–4 levels) that a flat <select> or a filtered autocomplete is worse.
  • The team can absorb the setup steps: publishing the script, registering the Alpine component before Alpine.start(), and extending the Tailwind content globs to cover the package views. Small, but it is real integration surface and a common source of "styles missing in prod" bugs.
  • Timeline pressure outweighs the cost of ownership, and you are willing to pin the version and fork if needed.

Look elsewhere — or build in-house — when:

  • You are on Laravel 10 or below, or on an Inertia/React/Vue front end; the Alpine dependency makes this a non-starter.
  • The component is customer-facing and brand-critical, where its default look and mobile sheet behavior would need heavy theming anyway — at that point a fork is the honest plan, not the fallback.
  • Accessibility is contractual (public sector, enterprise procurement). Cascader patterns are hard for keyboard and screen-reader users; with no evidence of an a11y test suite, budget an audit before committing.
  • You need active upstream support, SLAs, or a maintainer who will take a patch. Single-maintainer, zero-star projects do not offer that. Verify the license before shipping commercially.

How to Pitch It (Stakeholders)

To executives: This is a small, free, open-source UI component that removes a recurring piece of bespoke front-end work from our roadmap. It gives us a category/geo selector that works properly on desktop and mobile, includes instant search for long lists, and supports light and dark themes without design effort. The realistic win is days of engineering time per feature that needs hierarchical selection, plus a more consistent experience across our admin surfaces. The realistic risk is that it is a young, single-maintainer project with effectively no adoption — so we adopt it deliberately, pin the version, and keep an exit path. That is a cheap, contained bet, not a platform commitment.

To engineering: Treat this as vendored source, not an infrastructure dependency. Pin the version in composer.json, publish the views and scripts so styling and behavior are ours to change, and add one integration test plus a manual keyboard/screen-reader pass. If the component becomes load-bearing, fork it into our namespace and own it — the surface area is small enough that this is a day of work, not a quarter.

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.
gmostafa/php-graphql-client
xeviant/paystack
snowsoft/faker
meditationsteps/blogetc
animalyoung/laravel-influxdb
onix-solutions/sms-telera
lonely-lights/prosetta
oxygen/data
oxygen/core
jengo/base
xiloryx/log-collector
a21ns1g4ts/filament-stripe
la-php/laravel-admin
artisan-build/community-prompts
vleroy/smart
ayles-software/laravel-australian-public-holidays
cboxdk/laravel-id-spatie
cboxdk/laravel-id-billing
cboxdk/laravel-id-billing-bridge
simple-as-fuck/php-performance-log