The missing stimulus helpers for laravel blade! This package contains a bunch of helpers that pair nicely with hotwired/stimulus-laravel
package.
Inspired by Symfony UX Stimulus.
composer require flixtechs-labs/stimulus-extra
The are 3 main helpers
stimulus_controller(string $controller, array $values)
to add a controllerstimulus_action(string $controller, string $method, ?string $event)
to specifiy the actionstimulus_target(string $controller, string $target)
to specifiy the target
<div {{ stimulus_controller('say-hello') }}>
<input type="text" {{ stimulus_target('say-hello', 'name') }}>
<button {{ stimulus_action('say-hello', 'greet') }}>
Greet
</button>
<div {{ stimulus_target('say-hello', 'output') }}></div>
</div>
The stimulus_controller('say-hello')
renders a data-controller="say-hello"
attribute.
Whenever this element appears on the page, Stimulus will automatically look for and initialize a controller called say-hello-controller.js
.
Create that in your resources/js/controllers/
directory:
// resources/js/controllers/say_hello_controller.js
import { Controller } from '@hotwired/stimulus';
export default class extends Controller {
static targets = ['name', 'output']
greet() {
this.outputTarget.textContent = `Hello, ${this.nameTarget.value}!`
}
}
You can pass values to your Stimulus Controller and they will be JSON serialized automatically
<div {{ stimulus_controller('cart',['data' => $chartData]) }}>
</div>
composer test