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

Wire Content Modal Laravel Package

linuxstreet/wire-content-modal

View on GitHub
Deep Wiki
Context7

Content/View modal for Laravel with Livewire

Latest Stable Version License Total Downloads

Installation

Requires:

Via Composer:

composer require linuxstreet/wire-content-modal

Modify your tailwind.config.js file, so it includes this package when building assets.

export default {
    content: [
        ...
        './vendor/linuxstreet/wire-content-modal/resources/views/**/*.blade.php',
    ],

Usage

In web development, often we need to overlay a smaller window, or modal, on top of the main page to display additional information or allow user interaction. This modal can be populated with content from different sources, such as a Livewire component or a Blade view.

Place component on the web page

<livewire:content-modal/>

Modal is listening for 'modal-show' and 'modal-hide' browser events.

AlpineJS @click example:

<button x-data @click.throttle="$dispatch('modal-show', [=PARAMS])">Show</button>

Params:

Mandatory:

  • component: [string] - Name of the Livewire component to be loaded
  • OR
  • view: [string] - Name of the Blade view to be loaded

NOTE: If neither component or view is provided, Exception will be thrown.

Optional:

  • spinnerClass: [string] - Pass additional CSS classes to the loading spinner (default: '')
  • params: [array] - Pass additional params to Component/View (default: [])

Examples:

Provide either 'component' or 'view' options like this:

{ component: 'livewire_component' }
or
{ view: 'blade_view' }

Examples with HTML button element using AlpineJS:

<button x-data @click.throttle="$dispatch('modal-show', [{ component: 'my-component' }] )">Show</button>
<button x-data @click.throttle="$dispatch('modal-show', [{ view: 'my-view' }] )">Show</button>

Change log

Please see the changelog for more information on what has changed recently.

Layout Customisation

This package uses TailwindCSS classes. If you want to customize the layout for different CSS framework use:

php artisan vendor:publish --provider="Linuxstreet\WireContentModal\WireContentModalServiceProvider"

Testing

./vendor/bin/pest

Contributing

Please see contributing.md for details.

Security

If you discover any security related issues, please email author email instead of using the issue tracker.

Credits

  • Igor Jovanovic

License

Please see the license file for more information.

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.
elmogy/larafast
xeviant/laravel-paystack
gorilladash/laravel-website-sdk
martialbe/flysystem-oss
chondal/3312client
jeroen-g/flickr
opscale-co/nova-genbi
itsjustvita/laravel-retention
tequilarapido/trackit
gregsphotography/site-builder-filament
cabaoctavio/laravel-query-log
gregsphotography/site-builder-components
io-digital/clickatell
snowsoft/laravel-admin
oxygen/auth
relicsoftware/barakah-payment-gateway
tobya/work-with-composer
equipc/laravel-email-validator
equipc/laravel-email-database-log
adedsec/nova-translated-labels