Components
Wirechat registers Livewire components for panel pages, embedded widgets, modals, drawers, settings screens, group tools, and content surfaces.
Wirechat exposes public Livewire component identifiers for applications that replace registered components with custom classes. For the full embedded chat surface, see Standalone Widget.
When To Replace A Component
Publish and customize views when you only need markup changes. Replace a component class when your application needs behavior changes, additional actions, or custom state that belongs in Livewire code.
Most applications should start with Wirechat panel routes or the main wirechat widget. Lower-level components expect Wirechat state such as a panel, conversation, invite, or drawer context, and are usually opened by Wirechat actions.
Primary Components
| Livewire identifier | Class | Package | Common parameters |
|---|---|---|---|
wirechat |
Wirechat\Wirechat\Livewire\Widgets\Wirechat |
Free | Optional panel, heading, chatsClass, chatClass |
wirechat.chats |
Wirechat\Wirechat\Livewire\Chats\Chats |
Free | Optional panel, widget, heading, createChatAction, chatsSearch, redirectToHomeAction |
wirechat.chat |
Wirechat\Wirechat\Livewire\Chat\Chat |
Free | conversation, optional panel, widget |
wirechat.tray |
Wirechat\Wirechat\Livewire\Widgets\Tray |
Pro | Optional panel, limit, class, launcherClass, heading |
wirechat.pages.index |
Wirechat\Wirechat\Livewire\Pages\Chats |
Free | Used by Wirechat panel routes |
wirechat.pages.view |
Wirechat\Wirechat\Livewire\Pages\Chat |
Free | Used by Wirechat panel routes with a conversation |
For layout examples, see Standalone Widget and Tray Widget.
Modal And Drawer Shells
These components host other Wirechat components. They are normally rendered by Wirechat assets and actions, not mounted repeatedly by your application.
| Livewire identifier | Class | Package | Purpose |
|---|---|---|---|
wirechat.modal |
Wirechat\Wirechat\Livewire\Modals\Modal |
Free | Hosts modal components opened with Wirechat modal actions |
wirechat.chats.drawer |
Wirechat\Wirechat\Livewire\Chats\ChatsDrawer |
Free | Hosts nested drawers opened from the chats list |
wirechat.chat.drawer |
Wirechat\Wirechat\Livewire\Chat\Drawer |
Free | Hosts nested drawers opened from an active chat |
Chats List Components
| Livewire identifier | Class | Package | Purpose |
|---|---|---|---|
wirechat.chats.requests |
Wirechat\Wirechat\Livewire\Chats\Requests |
Free | Incoming and outgoing message requests |
wirechat.chats.settings |
Wirechat\Wirechat\Livewire\Chats\Settings\Index |
Free | Settings index |
wirechat.chats.settings.notifications |
Wirechat\Wirechat\Livewire\Chats\Settings\Notifications |
Free | Notification settings |
wirechat.chats.settings.security-privacy |
Wirechat\Wirechat\Livewire\Chats\Settings\SecurityPrivacy |
Pro | Security and privacy settings |
wirechat.new.chat |
Wirechat\Wirechat\Livewire\New\Chat |
Free | New private chat modal |
wirechat.new.group |
Wirechat\Wirechat\Livewire\New\Group |
Free | New group modal |
Chat Info And Content
| Livewire identifier | Class | Package | Common parameters |
|---|---|---|---|
wirechat.chat.info |
Wirechat\Wirechat\Livewire\Chat\Info |
Free | conversation, optional panel, widget |
wirechat.chat.group.info |
Wirechat\Wirechat\Livewire\Chat\Group\Info |
Free | conversation, optional panel, widget |
wirechat.chat.content.preview |
Wirechat\Wirechat\Livewire\Chat\Content\Preview |
Pro | conversation, optional panel, widget, type |
wirechat.chat.content.viewer |
Wirechat\Wirechat\Livewire\Chat\Content\Viewer |
Pro | conversation, optional panel, widget, type |
The content preview and viewer power the Pro Content Viewer feature.
Group Members And Permissions
| Livewire identifier | Class | Package | Common parameters |
|---|---|---|---|
wirechat.chat.group.members.list |
Wirechat\Wirechat\Livewire\Chat\Group\Members\Members |
Free | conversation, optional panel, widget |
wirechat.chat.group.members.add |
Wirechat\Wirechat\Livewire\Chat\Group\Members\AddMembers |
Free | conversation, optional panel, widget |
wirechat.chat.group.members.past |
Wirechat\Wirechat\Livewire\Chat\Group\Members\PastMembers |
Free | conversation, optional panel, widget |
wirechat.chat.group.members.banned |
Wirechat\Wirechat\Livewire\Chat\Group\Members\Banned |
Free | conversation, optional panel, widget |
wirechat.chat.group.permissions |
Wirechat\Wirechat\Livewire\Chat\Group\Permissions |
Free | conversation, optional panel, widget |
Group Invite Links And Join Requests
| Livewire identifier | Class | Package | Common parameters |
|---|---|---|---|
wirechat.chat.group.links.links |
Wirechat\Wirechat\Livewire\Chat\Group\Links\Links |
Free | conversation, optional panel, widget |
wirechat.chat.group.links.list |
Wirechat\Wirechat\Livewire\Chat\Group\Links\ListLinks |
Free | conversation |
wirechat.chat.group.links.create |
Wirechat\Wirechat\Livewire\Chat\Group\Links\Create |
Free | conversation, optional panel, widget |
wirechat.chat.group.links.show |
Wirechat\Wirechat\Livewire\Chat\Group\Links\Show |
Free | conversation, invite, optional panel, widget |
wirechat.chat.group.links.send |
Wirechat\Wirechat\Livewire\Chat\Group\Links\Send |
Free | conversation, invite, optional panel, widget |
wirechat.chat.group.join.lobby |
Wirechat\Wirechat\Livewire\Chat\Group\Join\Lobby |
Free | Invite token context |
wirechat.chat.group.join.requests |
Wirechat\Wirechat\Livewire\Chat\Group\Join\Requests |
Free | conversation, optional panel, widget |
Legacy Aliases
Wirechat still registers older group component aliases for existing integrations. Use the newer identifiers for new code.
| Legacy identifier | Current identifier |
|---|---|
wirechat.chat.group.add-members |
wirechat.chat.group.members.add |
wirechat.chat.group.members |
wirechat.chat.group.members.list |
wirechat.chat.group.past-members |
wirechat.chat.group.members.past |
wirechat.chat.group.banned-members |
wirechat.chat.group.members.banned |
wirechat.chat.group.link.list |
wirechat.chat.group.links.links |
wirechat.chat.group.link.create |
wirechat.chat.group.links.create |
wirechat.chat.group.link.show |
wirechat.chat.group.links.show |
wirechat.chat.group.link.send |
wirechat.chat.group.links.send |
wirechat.chat.group.invite-link |
wirechat.chat.group.links.links |
wirechat.chat.group.create-invite-link |
wirechat.chat.group.links.create |
wirechat.chat.group.invite-link-details |
wirechat.chat.group.links.show |
wirechat.chat.group.send-invite-link |
wirechat.chat.group.links.send |
Replace A Component
Register your custom class under the same Livewire identifier after Wirechat has booted.
Create A Custom Class
Extend the package component that matches the Livewire identifier you are replacing:
namespace App\Livewire\Wirechat;
use Wirechat\Wirechat\Livewire\Chats\Chats as BaseChats;
class Chats extends BaseChats
{
// Add application-specific behavior here.
}
Register The Component
Register the class in AppServiceProvider or another provider loaded by your application:
use App\Livewire\Wirechat\Chats;
use Livewire\Livewire;
public function boot(): void
{
Livewire::component('wirechat.chats', Chats::class);
}
Update Published Views When Needed
If the behavior also needs new controls or markup, publish Wirechat views and update the matching Blade file under resources/views/vendor/wirechat/.
php artisan vendor:publish --tag=wirechat-views
Keep the Livewire identifier the same so existing Wirechat routes, widgets, and actions continue to resolve the component.