Download the PHP package spatie/laravel-support-bubble without Composer
On this page you can find all versions of the php package spatie/laravel-support-bubble. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download spatie/laravel-support-bubble
More information about spatie/laravel-support-bubble
Files in spatie/laravel-support-bubble
Package laravel-support-bubble
Short Description A non-intrusive support chat bubble that can be displayed on any page
License MIT
Homepage https://github.com/spatie/laravel-support-bubble
Informations about the package laravel-support-bubble
A non-intrusive support bubble that can be displayed on any page
Using this package you can quickly add a chat bubble that opens a support form on any page. It comes with batteries included:
- TailwindCSS styling out of the box
- Won't ask user information if there's a logged in user
- Includes some meta data like URL and IP address
- Easily extendable using custom views, language files and event listeners
- Honeypot included and set-up to keep spammers at bay
You can see it in action below, on Flare and Oh Dear!
Support us
We invest a lot of resources into creating best in class open source packages. You can support us by buying one of our paid products.
We highly appreciate you sending us a postcard from your hometown, mentioning which of our package(s) you are using. You'll find our address on our contact page. We publish all received postcards on our virtual postcard wall.
Are you a visual learner?
In this stream on YouTube, you'll see how to install that package, and how it works under the hood.
Installation
You can install the package via composer:
Include TailwindCSS
The views included in this package all use TailwindCSS classes. We've stuck to the default Tailwind config classes. If you're not already using TailwindCSS, you can easily include it from their CDN:
If you use Tailwind Just-in-Time Mode you should add these additional lines into your tailwind.config.js
file:
This way Tailwind JIT will build your styles including those properties used for the support bubble.
Add the component to your view
After installing the package, you need to add this Blade component in your relevant view files:
If you want it to show up on all pages you can add it to your layout.blade.php
file.
Next, you need to register the support form's route. Add the following macro in your routes/api.php
file:
This will register a route at /support-bubble
⚠️ This package is not using CSRF tokens so make sure you add the route macro to your apps API routes or add an exclusion in the VerifyCsrfToken
middleware.
In Laravel 11 this is done in bootstrap/app.php
:
Configure message destination
Finally, you need to decide where you want to send the support bubble's submission to.
Out of the box, the package can mail the submissions to a given email address. To go this route, publish the config file and enter the email in mail_to
.
Alternately, you can register an event listener to listen for the Spatie\SupportBubble\Events\SupportBubbleSubmittedEvent
event and handle it yourself. This event has submitted form values as public properties.
The config file can be published with:
These are the default contents of the published config file:
Customization options
The support bubble should look pretty good out of the box. However, we've documented a couple ways to customize labels, text, views and functionality.
Customizing form fields
It is currently not possible to add new fields to the support bubble's form. You can however disable any fields you do not like in the config file.
Customizing text / localisation
If you're just looking to customize the field labels, intro text or success text (after the form submitted), you can publish the package's language files:
These published files can be found and changed in resources/lang/vendor/laravel-support-bubble/en/
.
Customizing styles
You can customize the TailwindCSS classes used for the bubble pop-up, input fields and submit button by changing the support-bubble.class
config keys. This is the ideal place to change the bubble's default purple color or use your own .input
or .button
classes.
If you're looking to change any more advanced styles, keep reading to learn how to publish and customize the Blade views used in the support bubble component.
Customizing views
You can publish and change all views (including the JavaScript code) in this package:
These published views can be found and changed in resources/views/vendor/laravel-support-bubble/
.
Please keep in mind that it's not possible (or at least pretty difficult and convoluted) to add new fields to the support bubble.
Customizing support form destination
If you don't want to send the support messages to the mail_to
email configured in the config file, you can define your own event listener and listen for the Spatie\SupportBubble\Events\SupportBubbleSubmittedEvent
. The event contains all data submitted in the support form and can be used to, for example, make an API request to Freshdesk.
Customizing behaviour after submitting (advanced)
If you really want to, you can send the submitted form data to your own endpoint. The support form uses the route configured in the support-bubble.form_action_route
config key. You can override this route by removing the Route::supportBubble()
macro from your routes file and setting the form_action_route
to any other route name in your application.
The incoming request on this route will be a \Spatie\SupportBubble\Http\Requests\SupportBubbleRequest
.
Testing
Changelog
Please see CHANGELOG for more information on what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Security Vulnerabilities
Please review our security policy on how to report security vulnerabilities.
Credits
- Alex Vanderbist
- Freek Van der Herten
- Ruben Van Assche
- All Contributors
Alternatives
If you need more options for your support bubble, consider using one of these:
License
The MIT License (MIT). Please see License File for more information.
All versions of laravel-support-bubble with dependencies
illuminate/contracts Version ^8.56|^9.0|^10.0|^11.0
spatie/laravel-honeypot Version ^4.0
spatie/laravel-package-tools Version ^1.9