Collection of useful action options for Stimulus.js controllers. See this article to learn how custom action options in Stimulus work.
Sponsored By Rails Designer
Want to make JavaScript your second-favorite language? 👉 JavaScript for Rails Developers
npm
npm install stimulus-fxyarn
yarn add stimulus-fximportmap-rails
./bin/importmap pin stimulus-fx// Import all custom actions
import { registerActionOptions } from "stimulus-fx";
registerActionOptions(application);
// Or only import specific custom actions
import { whenOutside } from "stimulus-fx/actions";
application.registerActionOption("whenOutside", whenOutside);
// Or like this
import { whenOutside } from "stimulus-fx/actions/whenOutside";
application.registerActionOption("whenOutside", whenOutside);In your HTML:
<div data-controller="dropdown">
<button data-action="dropdown#show:stop">Show</button>
<ul data-dropdown-target="menu" data-action="click@window->dropdown#hide:whenOutside">
</ul>
</div>- throttled (use
data-throttled-wait='2000'to specify the interval) - withConfirm
- withKey (use
data-key='meta'to specifiy the key, ordata-key='ctrl,shift'for multiple keys) - withMetaKey; deprecated use
withKeyinstead - whenOutside
Stimulus FX offers an experimental enhanced debugging feature that goes beyond Stimulus' standard debug = true option. Not only does it show the same details as the default debug option, but it also displays your controller's targets and values.
Here's how to set it up:
// app/javascript/controllers/application.js
+import { enableDebug } from "stimulus-fx"
-const application = Application.start()
+const application = enableDebug(Application.start())You can enable debugging for specific controllers:
export default class extends Controller {
+ static debug = true
+
}For the best experience, it's recommended to turn off Stimulus' default debug feature when using this enhanced version.
Because I always forget how to do this and don't feel like pulling a third-party dependency for releasing.
npm version patch # or minor, or major
npm publish
git push
git push --tagsstimulus-fx is released under the MIT License.
