https://github.com/Sub-Xaero/stimulus-library
A set of useful pre-built and configurable StimulusJS controllers for various common scenarios
https://github.com/Sub-Xaero/stimulus-library
component-library stimulus stimulus-js stimulusjs
Last synced: 2 months ago
JSON representation
A set of useful pre-built and configurable StimulusJS controllers for various common scenarios
- Host: GitHub
- URL: https://github.com/Sub-Xaero/stimulus-library
- Owner: Sub-Xaero
- License: mit
- Created: 2021-01-16T02:38:56.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2025-04-30T18:06:50.000Z (3 months ago)
- Last Synced: 2025-04-30T18:55:08.458Z (3 months ago)
- Topics: component-library, stimulus, stimulus-js, stimulusjs
- Language: TypeScript
- Homepage: https://sub-xaero.github.io/stimulus-library/#/
- Size: 15.4 MB
- Stars: 169
- Watchers: 2
- Forks: 17
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Security: SECURITY.md
Awesome Lists containing this project
- awesome-hotwire - stimulus-library - A curated collection of Stimulus controllers. (**Awesome Hotwire** [](https://github.com/sindresorhus/awesome) / Stimulus)
- awesome-hotwire - stimulus-library - A curated collection of Stimulus controllers. (**Awesome Hotwire** [](https://github.com/sindresorhus/awesome) / Stimulus)
README
# Stimulus-Library
[Documentation](https://sub-xaero.github.io/stimulus-library/) | [Full List of Controllers](https://sub-xaero.github.io/stimulus-library/)
---


---## Installation
To get started, you'll need to add the `stimulus-library` package to your project.
To do so, either add `stimulus-library` to your package.json manually
```json
{
"dependencies": {
"stimulus-library": "latest"
}
}
```or run
`npm install --save stimulus-library` or `yarn add stimulus-library`Then, to get started, import and register the controllers you want to use.
*Please Note* as below, that when registering the name for the controller, you should use `kebab-case` and omit the `-controller` suffix.
```js
import { Application } from "@hotwired/stimulus";
import { AutoSubmitFormController } from "stimulus-library";const application = Application.start();
application.register("auto-submit-form", AutoSubmitFormController);
```## Tree-shaking
If you use the ESM builds of the library, this library fully supports tree-shaking,
only the controllers you directly import will be bundled with your application.