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

Livewire Select Laravel Package

asantibanez/livewire-select

Livewire Select is a Laravel Livewire component for building dependent, searchable select dropdowns. Chain selects to Eloquent models, dynamically filter options, and handle large datasets—ideal for country/city, category/subcategory, and other cascading form fields.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Feature scoping for form-heavy workflows. Cascading and server-backed dropdowns (country → region → city, account → contact → opportunity, category → subcategory) are a recurring cost in admin panels, onboarding, checkout, and CRM-style record pickers. This package turns that from a bespoke frontend task into a near-configuration task, which changes how you estimate those epics.
  • Build vs. buy for a narrow, low-differentiation UI primitive. The alternative is hand-rolling dependent selects in Alpine + Livewire, which reliably hides 3–5 days of edge cases per implementation (loading states, debounce, stale-request races, reset-on-parent-change). Buying here is defensible precisely because the component is not a differentiator.
  • Consistency lever across the product. One component means one interaction pattern for dynamic selects. That is a UX and QA cost reduction, not just a dev one — fewer unique select behaviors to test and document.
  • Roadmap acceleration for "searchable/large option set" requests. When sales asks for a searchable picker over thousands of records (customers, SKUs, locations), this is a credible same-sprint answer instead of a "next quarter" answer.
  • Ecosystem fit signal. Laravel + Livewire shops get a same-stack dependency with no JS build or API contract to maintain; that lowers the integration tax that usually kills small UI buys.
  • No longer a blocker to framework upgrades. With v2.3.0 declaring Livewire 3 and Laravel 11/12 support, this component stops being a reason to defer a Livewire or Laravel modernization. That is a planning win independent of the feature itself — a UI dependency that lags the framework becomes a scheduling constraint on the upgrade epic.

When to Consider This Package

Adopt when most of the following hold:

  • Your stack is Laravel 11/12 + Livewire 3. The compatibility question that previously required a spike is now answered by the release notes — but verify the declared floor against your pinned minor versions, especially if you are mid-upgrade.
  • Your select use cases are server-driven and dependent — options that must be filtered by another field or fetched per-tenant/permission — rather than static lists you can hardcode in Blade.
  • Option sets are moderate (hundreds to low thousands), not tens of thousands requiring virtualization.
  • You want the selection state to live in PHP, so validation and downstream business rules stay in one place.
  • You can tolerate a single-maintainer, few-hundred-star dependency in a non-critical UI layer.

Look elsewhere when:

  • You already run a design system with an accessible combobox (Tom Select, Choices.js, Headless UI, Filament's own fields). Adding a second select idiom is a net UX loss.
  • Accessibility is a hard requirement with an audit attached — you must validate keyboard navigation, ARIA, and screen-reader behavior yourself; do not assume parity with a mature combobox. Note that a framework-compatibility release tells you nothing about the accessibility surface, so this check remains unchanged.
  • You need multi-select with tags, virtualized long lists, or optimistic/offline behavior — outside this component's scope.
  • You are not on Livewire, or you are migrating toward an SPA/API-first frontend; this becomes dead weight.
  • You are still on Laravel 10 / Livewire 2. v2.3.0 raises the framework floor, so check whether your pinned environment is now outside the supported matrix — this release is a benefit for current-stack teams and a sequencing risk for lagging ones. Do not let a UI component dictate your upgrade calendar in either direction.
  • Procurement or support expectations are high. MIT removes license friction but not bus-factor risk. The 0 dependents signal means little public production validation — treat it as unproven at scale and require a trial before wider rollout.

Mitigation if you adopt: wrap it behind your own internal Blade component so swapping the underlying implementation later is a one-file change, and pin the version.

How to Pitch It (Stakeholders)

To executives: This is a small, free (MIT), same-stack component that removes repeat engineering work from every form we build with dependent dropdowns. It compresses scoping on several roadmap items — onboarding, admin configuration, and record pickers — without adding a vendor, a contract, or a new frontend stack. The latest release also keeps it aligned with our current Laravel and Livewire versions, so it will not become a drag on our platform upgrades. Risk is bounded: it sits in the UI layer, is easily replaceable, and we will contain it behind an internal wrapper so it never becomes load-bearing architecture.

To engineering: A Livewire-native select that keeps option loading and dependent-field logic server-side, so we stop reimplementing debounce, loading states, and parent-change resets in Alpine for each feature. v2.3.0 resolves the previously open question by declaring Livewire 3 and Laravel 11/12 support, which removes the biggest unknown from the trial — but confirm it against our exact pinned versions before rollout, and note the flip side: if any team is still on Livewire 2 or Laravel 10, this release may leave them unsupported. Adopt behind a thin internal wrapper and a pinned version, and still check keyboard/ARIA behavior against our accessibility bar — a compatibility release says nothing about that. It is actively released but maintained by one person with limited public downstream usage, so we isolate it rather than spread it.

Recommendation: Approve a time-boxed trial on one form. The framework-compatibility risk is now largely retired; the remaining gate is the accessibility check and wrapper ergonomics. Do not adopt it as a standard until a second team has used it in production.

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.
ably/pubsub-server
mstfkhazaal/defender
mfonte/base62x
karnoweb/metapilot
tobya/bcsapiwrapper
swalker2/cpanel
vish4395/laravel-translation-manager
morningtrain/economic
teksite/systeminfo-laravel
atomcms/voting
run6/weather
siokas/laravelembeddirectives
adamlien/pkuuids
gilsonsouza/lara-doc-generator
manelgavalda/enrollment_mobile
unabomber/timezone
delatbabel/contacts
astritzeqiri/g-recaptcha
kevinongko/laravel-genode
developeruz/laravel-analytics