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 Async Select Laravel Package

drpshtiwan/livewire-async-select

A lightweight async select component for Laravel Livewire and Alpine.js, offering a modern Select2 alternative with dynamic option loading, debounced search, multi-select chips, Tailwind styling, custom slots, and full wire:model binding.

View on GitHub
Deep Wiki
Context7
3.3.0
  • Support Laravel 13
3.2.0

[3.2.0]

Added

  • Added support for Bootstrap 4 theme
3.1.0
  • fixed Undefined variable: slots
3.0.0

[3.0.0]

Fixed

  • Livewire v4 slot rendering regression that caused blank option rows and fragment markers to appear in dropdown options.
  • Custom slot rendering compatibility across Tailwind and Bootstrap views for both local and remote options.
  • Selection validation to reject unknown values in local mode when tags are disabled.
  • Grouped option normalization for container-style input (label + options).
  • Key merge behavior in selection checks by preserving option keys (array_replace instead of array_merge).

Changed

  • Option normalization now preserves extra option fields (for example role, sku) so custom slots can access full option payload data.
  • Added backward-compatible callable slot support while keeping Livewire named-slot support.

Added

  • New feature tests for custom slots with local and remote data:
    • tests/Feature/CustomSlotsTest.php
  • Additional selection and grouping coverage in:
    • tests/Feature/AsyncSelectTest.php

Documentation

  • Updated slot usage examples and troubleshooting guidance for Livewire 3.3+/4.x.
  • Corrected API docs defaults and behavior notes (max-selections, grouped options format, slot syntax).
  • Updated docs in:
    • README.md
    • docs-src/guide/api.md
    • docs-src/guide/custom-slots.md
    • docs-src/guide/troubleshooting.md
2.0.0
  • Introducing authentication for internal and external endpoints.
  • Separate bootstrap and tailwind view file
  • rewrite the necessary styles
1.1.0

Version 1.1.0

✨ New Features

Selected Labels Without API Requests

Display selected labels immediately using value-labels - no API calls needed!

<livewire:async-select
    wire:model="categoryId"
    endpoint="/api/categories"
    :value-labels="[3 => 'Web Development']"
/>

Suffix Button with Modal Support

Suffix button now automatically closes dropdown when clicked - perfect for opening modals.

<livewire:async-select
    :suffix-button="true"
    suffix-button-action="showAddMediaModal"
/>

Automatic wire:model Default Values

No need to pass :value attribute - component automatically uses wire:model property value.

// Component
public $userId = 5;
<!-- No :value needed -->
<livewire:async-select wire:model="userId" :options="$users" />

🔧 Improvements

  • Zero API requests with value-labels
  • Better modal UX with suffix button
  • Simplified default value handling
  • Updated documentation

⚠️ Breaking Changes

None. Fully backward compatible.

1.0.0
  • Initialize
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.
andydefer/laravel-notification
adachsoft/cli-process-tester
jhaskell13/laraflow
sebastienheyd/boilerplate-media-manager
ccast/tagixo-primix
pretendtrue/laravel-builder
sawmainek/laravel-scout-tntsearch-driver
tomshaw/laravel-calendar-table
dibakar/laravel-ownership
steadrun/laravel-monitor
labyrinthe/connect-laravel
elmogy/layan
drewdan/sentinel-client
dskripchenko/laravel-llm
fatryst/nuonuo
stevenay/myanfont
gmostafa/php-graphql-client
xeviant/paystack
snowsoft/faker
meditationsteps/blogetc