{"id":13415404,"url":"https://github.com/stimulus-use/stimulus-use","last_synced_at":"2025-05-12T13:17:45.501Z","repository":{"id":38250278,"uuid":"264849287","full_name":"stimulus-use/stimulus-use","owner":"stimulus-use","description":"A collection of composable behaviors for your Stimulus Controllers","archived":false,"fork":false,"pushed_at":"2025-03-14T21:24:27.000Z","size":4717,"stargazers_count":1616,"open_issues_count":37,"forks_count":70,"subscribers_count":14,"default_branch":"main","last_synced_at":"2025-05-12T13:17:26.307Z","etag":null,"topics":["hotwire","stimulus","stimulus-controller","stimulus-use","stimulusjs","turbo","typescript"],"latest_commit_sha":null,"homepage":"https://stimulus-use.github.io/stimulus-use","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/stimulus-use.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2020-05-18T06:34:53.000Z","updated_at":"2025-05-12T10:40:40.000Z","dependencies_parsed_at":"2022-08-09T01:31:31.464Z","dependency_job_id":"38a5d1aa-48f7-473e-83ed-54f1ca55d5ab","html_url":"https://github.com/stimulus-use/stimulus-use","commit_stats":{"total_commits":454,"total_committers":34,"mean_commits":"13.352941176470589","dds":0.5066079295154184,"last_synced_commit":"53c1588236acc6edcb670a2c2805e0e06aac69d1"},"previous_names":[],"tags_count":60,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stimulus-use%2Fstimulus-use","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stimulus-use%2Fstimulus-use/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stimulus-use%2Fstimulus-use/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stimulus-use%2Fstimulus-use/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/stimulus-use","download_url":"https://codeload.github.com/stimulus-use/stimulus-use/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253745196,"owners_count":21957319,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["hotwire","stimulus","stimulus-controller","stimulus-use","stimulusjs","turbo","typescript"],"created_at":"2024-07-30T21:00:48.274Z","updated_at":"2025-05-12T13:17:45.464Z","avatar_url":"https://github.com/stimulus-use.png","language":"JavaScript","funding_links":[],"categories":["JavaScript","Packages","**Awesome Hotwire** [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome)"],"sub_categories":["Stimulus"],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"docs/assets/stimulus-use-logo.png\" width=\"500\" srcset=\"docs/assets/stimulus-use-logo@2x.png 2x, docs/assets/stimulus-use-logo@3x.png 3x\" /\u003e\n\u003c/p\u003e\n\n\u003cdiv align=\"center\"\u003e\n\n  **A collection of composable behaviors for your Stimulus Controllers**\n\n  [![npm version](https://badgen.net/npm/v/stimulus-use)](https://npmjs.com/package/stimulus-use)\n  [![minified + gzip size](https://badgen.net/bundlephobia/minzip/stimulus-use)](https://bundlephobia.com/result?p=stimulus-use)\n  ![types included](https://badgen.net/npm/types/tslib)\n  ![license](https://badgen.net/npm/license/stimulus-use)\n  ![Sauce test status](./docs/assets/example-buildstatus-badge.png)\n\n\u003c/div\u003e\n\u003cbr /\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"./docs/assets/stimulus-use example.png\" alt=\"Stimulus Use Example\"\u003e\n\u003c/p\u003e\n\n\u003cbr /\u003e\n\n- **New lifecycle behaviors**: adds new standard behaviors to your Stimulus controllers.\n- **Composable**: compose at will different behaviors in a single controller with mixins.\n- **Modular**: built as ES6 modules, just import what you need and tree shaking will remove the rest.\n- **Typescript**: Types available, better autocompletion.\n- **Small**: ~7k gzip + tree shaking 🌳🌳🌳\n\n## Getting Started\n\n### Stimulus 3\n\nIf you want to use `stimulus-use` with Stimulus 3 you can use the version `0.50.0+`. This and all future versions are designed to work with the `@hotwired/stimulus` npm package. \n\n**Note:** If other packages still depend on the `stimulus` npm package you can safely keep that in your `package.json`, this won't break the `stimulus-use` compability.\n\n#### Using npm\n```bash\nnpm i stimulus-use @hotwired/stimulus\n```\n\n#### Using yarn\n```bash\nyarn add stimulus-use @hotwired/stimulus\n```\n\n### Stimulus 2 and below\n\nIf you want to use `stimulus-use` with Stimulus 2 (or below) you can use version `0.41.0`. This version is designed to work with the `stimulus` npm package.\n\n#### Using npm\n```bash\nnpm i stimulus-use@0.41.0 stimulus@2.0.0\n```\n\n#### Using yarn\n```bash\nyarn add stimulus-use@0.41.0 stimulus@2.0.0\n```\n\n\n## Documentation\n\nWe got you covered 👉 [stimulus-use.github.io/stimulus-use](https://stimulus-use.github.io/stimulus-use/#/)\n\n## Mixins\n\n### Observers\n\n  This set of mixins is built around the [`Observer APIs`](https://developer.mozilla.org/en-US/docs/Web/API) and custom events to enhance your controllers with new behaviors.\n\n  | Mixin | Description | NEW Callbacks |\n  |-----------------------|-------------|---------------------|\n  |[`useClickOutside`](./docs/use-click-outside.md)|Tracks the clicks outside of the element and adds a new lifecycle callback **clickOutside**.|`clickOutside`|\n  |[`useHotkeys`](./docs/use-hotkeys.md)|Registers hotkeys using the [hotkeys-js](https://wangchujiang.com/hotkeys-js/) library and binds them to handler methods||\n  |[`useHover`](./docs/use-hover.md)|Tracks the user's mouse movements over an element and adds **mouseEnter** and **mouseLeave** callbacks to your controller.|`mouseEnter` `mouseLeave`|\n  |[`useIdle`](./docs/use-idle.md)| Tracks if the user is idle on your page and adds **away** and **back** callbacks to your controller.|`away`\u003c/br\u003e `back`|\n  |[`useIntersection`](./docs/use-intersection.md) | Tracks the element's intersection and adds **appear**, **disappear** callbacks to your controller.|`appear`\u003c/br\u003e `disappear`|\n  |[`useMatchMedia`](./docs/use-match-media.md) | Tracks if the window matches a media query string.| `is[Name]`, `not[Name]` and `[name]Changed`|\n  |[`useMutation`](./docs/use-mutation.md) | Tracks mutations on an element, its attributes and/or subtree. Adds a **mutate** callback to your controller.|`mutate`|\n  |[`useResize`](./docs/use-resize.md)|Tracks the element's size and adds a new lifecycle callback **resize**.|`resize`|\n  |[`useTargetMutation`](./docs/use-target-mutation.md) | Tracks when targets are added or removed from the controller's scope, or their contents changed. Adds **[target]TargetAdded** , **[target]TargetRemoved** and **[target]TargetChanged** callback to your controller for each specified target.| `[target]TargetAdded` `[target]TargetRemoved` `[target]TargetChanged`|\n  |[`useVisibility`](./docs/use-visibility.md) \u003c/br\u003e| Tracks the page visibility and adds **visible**, **invisible** callbacks to your controller.|`visible`\u003c/br\u003e `invisible`|\n  |[`useWindowFocus`](./docs/use-window-focus.md) \u003c/br\u003e| Tracks the window focus and adds **focus**, **unfocus** callbacks to your controller.|`focus`\u003c/br\u003e `unfocus`|\n  |[`useWindowResize`](./docs/use-window-resize.md)| Tracks the size of the `window` object and adds a new lifecycle callback **windowResize**.|`windowResize`|\n\n### Optimization\n\n  A set of mixin to optimize performances.\n\n  | Mixin| Description |\n  |------|-------------|\n  |[`useDebounce`](./docs/use-debounce.md)|Adds the ability to specify an array \"debounces\" of functions to   debounce.|\n  |[`useMemo`](./docs/use-memo.md)|Memoize expensive getters by mixing in `useMemo` and adding a static   `memos` array.|\n  |[`useThrottle`](./docs/use-throttle.md)|Adds the ability to specify an array \"throttles\" of functions to throttle.|\n\n### Animation\n\n  A set of mixin and controllers to build animations.\n\n  | Mixin| Description |\n  |------|-------------|\n  |[`useTransition`](./docs/use-transition.md)|Mixin or controller to apply classes to various stages of an element's transition.|\n\n### Application\n  | Mixin | Description |\n  |------|-------------|\n  |[`useApplication, ApplicationController`](./docs/application-controller.md)| supercharged controller for your application.|\n  |[`useDispatch`](./docs/use-dispatch.md)|Adds a dispatch helper function to emit custom events. Useful to communicate between different controllers.|\n  |[`useMeta`](./docs/use-meta.md)|Adds getters to easily access \u003chead\u003e meta values.|\n\n## Extend or compose\n\nStimulus-use can be used in two ways:  **composing* with mixins* or **extending built-in controllers**\n\n**Composing with mixins**\n\nThis is the prefered approach as it bring the most flexibility. Simply import a mixin and apply it in the `connect` or `initialize` to adds new behaviors to you controller. You can combine several mixins within the same controller.\n\n```js\nimport { Controller } from '@hotwired/stimulus'\nimport { useIntersection, useResize } from 'stimulus-use'\n\nexport default class extends Controller {\n  connect() {\n    useIntersection(this)\n    useResize(this)\n  }\n\n  appear(entry) {\n    // triggered when the element appears within the viewport\n  }\n\n  resize({ height, width }) {\n    // trigered when the element is resized\n  }\n}\n```\n\n**Extending built-in controllers**\n\nYou can create your Stimulus controller from a pre-built Stimulus-use controller which offers the new behavior you're looking for.\nThis method works perfectly when you only need a single behavior for your controller.\n\n```js\nimport { IntersectionController } from 'stimulus-use'\n\nexport default class extends IntersectionController {\n  appear(entry) {\n    // triggered when the element appears within the viewport\n  }\n}\n```\n\n## Development\n\n- Fork the project locally\n- `yarn install`\n- `yarn start` - to run the local dev server with examples\n- `yarn test` - to run the unit tests\n- `yarn lint` - to run the linter with ESLint\n- `yarn format` - to format changes with Prettier\n- `yarn build` - to bundle the app into static files for production\n\n\n## Contributors ✨\n\nMade with :heart: by [@adrienpoly](https://twitter.com/adrienpoly), [@marcoroth](https://twitter.com/marcoroth_) and all these wonderful contributors ([emoji key](https://github.com/kentcdodds/all-contributors#emoji-key)):\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --\u003e\n\u003c!-- prettier-ignore-start --\u003e\n\u003c!-- markdownlint-disable --\u003e\n\u003ctable\u003e\n  \u003ctbody\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://marcoroth.dev\"\u003e\u003cimg src=\"https://avatars2.githubusercontent.com/u/6411752?v=4?s=80\" width=\"80px;\" alt=\"Marco Roth\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eMarco Roth\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#infra-marcoroth\" title=\"Infrastructure (Hosting, Build-Tools, etc)\"\u003e🚇\u003c/a\u003e \u003ca href=\"https://github.com/stimulus-use/stimulus-use/commits?author=marcoroth\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/stimulus-use/stimulus-use/pulls?q=is%3Apr+reviewed-by%3Amarcoroth\" title=\"Reviewed Pull Requests\"\u003e👀\u003c/a\u003e \u003ca href=\"https://github.com/stimulus-use/stimulus-use/issues?q=author%3Amarcoroth\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"http://philippdaun.net\"\u003e\u003cimg src=\"https://avatars3.githubusercontent.com/u/22225348?v=4?s=80\" width=\"80px;\" alt=\"Philipp Daun\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003ePhilipp Daun\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/stimulus-use/stimulus-use/issues?q=author%3Adaun\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"http://code.digimonkey.com\"\u003e\u003cimg src=\"https://avatars0.githubusercontent.com/u/74207?v=4?s=80\" width=\"80px;\" alt=\"M. E. Patterson\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eM. E. Patterson\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/stimulus-use/stimulus-use/issues?q=author%3Amepatterson\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://www.argpar.se\"\u003e\u003cimg src=\"https://avatars3.githubusercontent.com/u/2124818?v=4?s=80\" width=\"80px;\" alt=\"Jonathan Sundqvist\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eJonathan Sundqvist\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/stimulus-use/stimulus-use/commits?author=jonathan-s\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"http://www.rodloboz.com\"\u003e\u003cimg src=\"https://avatars3.githubusercontent.com/u/23458442?v=4?s=80\" width=\"80px;\" alt=\"Rui Freitas\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eRui Freitas\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/stimulus-use/stimulus-use/commits?author=rodloboz\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://koudetat.co\"\u003e\u003cimg src=\"https://avatars0.githubusercontent.com/u/7533706?v=4?s=80\" width=\"80px;\" alt=\"Nicolas Filzi\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eNicolas Filzi\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/stimulus-use/stimulus-use/commits?author=nfilzi\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/bdarcet\"\u003e\u003cimg src=\"https://avatars1.githubusercontent.com/u/9220278?v=4?s=80\" width=\"80px;\" alt=\"Benjamin Darcet\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eBenjamin Darcet\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/stimulus-use/stimulus-use/commits?author=bdarcet\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/juancarlosasensio\"\u003e\u003cimg src=\"https://avatars3.githubusercontent.com/u/37816105?v=4?s=80\" width=\"80px;\" alt=\"juancarlosasensio\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003ejuancarlosasensio\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/stimulus-use/stimulus-use/commits?author=juancarlosasensio\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://lidqqq.dev/\"\u003e\u003cimg src=\"https://avatars3.githubusercontent.com/u/39523918?v=4?s=80\" width=\"80px;\" alt=\"lidqqq\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003elidqqq\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#infra-lidqqq\" title=\"Infrastructure (Hosting, Build-Tools, etc)\"\u003e🚇\u003c/a\u003e \u003ca href=\"https://github.com/stimulus-use/stimulus-use/issues?q=author%3Alidqqq\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"http://www.julianrubisch.at\"\u003e\u003cimg src=\"https://avatars0.githubusercontent.com/u/4352208?v=4?s=80\" width=\"80px;\" alt=\"Julian Rubisch\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eJulian Rubisch\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/stimulus-use/stimulus-use/commits?author=julianrubisch\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/stimulus-use/stimulus-use/pulls?q=is%3Apr+reviewed-by%3Ajulianrubisch\" title=\"Reviewed Pull Requests\"\u003e👀\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/chalkygames123\"\u003e\u003cimg src=\"https://avatars1.githubusercontent.com/u/5608239?v=4?s=80\" width=\"80px;\" alt=\"Takuya Fukuju\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eTakuya Fukuju\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/stimulus-use/stimulus-use/commits?author=chalkygames123\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/jcoyne\"\u003e\u003cimg src=\"https://avatars2.githubusercontent.com/u/92044?v=4?s=80\" width=\"80px;\" alt=\"Justin Coyne\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eJustin Coyne\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/stimulus-use/stimulus-use/commits?author=jcoyne\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"http://www.asgerbehnckejacobsen.dk\"\u003e\u003cimg src=\"https://avatars3.githubusercontent.com/u/1920077?v=4?s=80\" width=\"80px;\" alt=\"Asger Behncke Jacobsen\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eAsger Behncke Jacobsen\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/stimulus-use/stimulus-use/commits?author=asgerb\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/dancallaghan\"\u003e\u003cimg src=\"https://avatars1.githubusercontent.com/u/1025380?v=4?s=80\" width=\"80px;\" alt=\"Dan Callaghan\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eDan Callaghan\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/stimulus-use/stimulus-use/commits?author=dancallaghan\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://Konnor.site\"\u003e\u003cimg src=\"https://avatars2.githubusercontent.com/u/26425882?v=4?s=80\" width=\"80px;\" alt=\"Konnor Rogers\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eKonnor Rogers\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/stimulus-use/stimulus-use/issues?q=author%3AParamagicDev\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e \u003ca href=\"https://github.com/stimulus-use/stimulus-use/commits?author=ParamagicDev\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://francisco.io/\"\u003e\u003cimg src=\"https://avatars2.githubusercontent.com/u/2801252?v=4?s=80\" width=\"80px;\" alt=\"Francisco Presencia\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eFrancisco Presencia\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/stimulus-use/stimulus-use/commits?author=franciscop\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/tsmd\"\u003e\u003cimg src=\"https://avatars3.githubusercontent.com/u/490085?v=4?s=80\" width=\"80px;\" alt=\"Takayuki Shimada\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eTakayuki Shimada\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/stimulus-use/stimulus-use/issues?q=author%3Atsmd\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/Sub-Xaero\"\u003e\u003cimg src=\"https://avatars0.githubusercontent.com/u/9960703?v=4?s=80\" width=\"80px;\" alt=\"Dylan Clarke\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eDylan Clarke\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/stimulus-use/stimulus-use/commits?author=Sub-Xaero\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/stimulus-use/stimulus-use/commits?author=Sub-Xaero\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://www.howtoruby.com\"\u003e\u003cimg src=\"https://avatars0.githubusercontent.com/u/1651750?v=4?s=80\" width=\"80px;\" alt=\"Martin Tomov\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eMartin Tomov\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/stimulus-use/stimulus-use/commits?author=mtomov\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://symfonycasts.com\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/121003?v=4?s=80\" width=\"80px;\" alt=\"Ryan Weaver\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eRyan Weaver\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/stimulus-use/stimulus-use/commits?author=weaverryan\" title=\"Documentation\"\u003e📖\u003c/a\u003e \u003ca href=\"https://github.com/stimulus-use/stimulus-use/issues?q=author%3Aweaverryan\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/Intrepidd\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/803765?v=4?s=80\" width=\"80px;\" alt=\"Adrien S\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eAdrien S\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/stimulus-use/stimulus-use/issues?q=author%3AIntrepidd\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/FlxAlbroscheit\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/2439195?v=4?s=80\" width=\"80px;\" alt=\"Felix Albroscheit\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eFelix Albroscheit\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/stimulus-use/stimulus-use/issues?q=author%3AFlxAlbroscheit\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://guillaumebriday.fr\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/8252238?v=4?s=80\" width=\"80px;\" alt=\"Guillaume Briday\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eGuillaume Briday\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/stimulus-use/stimulus-use/commits?author=guillaumebriday\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/craisp\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/16748711?v=4?s=80\" width=\"80px;\" alt=\"craisp\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003ecraisp\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/stimulus-use/stimulus-use/issues?q=author%3Acraisp\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e \u003ca href=\"https://github.com/stimulus-use/stimulus-use/commits?author=craisp\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/gahia\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/8942202?v=4?s=80\" width=\"80px;\" alt=\"Gabriel\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eGabriel\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/stimulus-use/stimulus-use/issues?q=author%3Agahia\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e \u003ca href=\"https://github.com/stimulus-use/stimulus-use/commits?author=gahia\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/floodfx\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/35109?v=4?s=80\" width=\"80px;\" alt=\"Donnie Flood\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eDonnie Flood\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/stimulus-use/stimulus-use/commits?author=floodfx\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"http://ocarreterom.github.io\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/11599942?v=4?s=80\" width=\"80px;\" alt=\"Óscar Carretero\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eÓscar Carretero\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/stimulus-use/stimulus-use/pulls?q=is%3Apr+reviewed-by%3Aocarreterom\" title=\"Reviewed Pull Requests\"\u003e👀\u003c/a\u003e \u003ca href=\"https://github.com/stimulus-use/stimulus-use/issues?q=author%3Aocarreterom\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://bandism.net/\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/22633385?v=4?s=80\" width=\"80px;\" alt=\"Ikko Ashimine\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eIkko Ashimine\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/stimulus-use/stimulus-use/commits?author=eltociear\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://michaeljcoyne.me\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/82063?v=4?s=80\" width=\"80px;\" alt=\"Michael Coyne\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eMichael Coyne\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/stimulus-use/stimulus-use/issues?q=author%3Amjc-gh\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"http://oll.ie\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/342090?v=4?s=80\" width=\"80px;\" alt=\"Ollie Harridge\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eOllie Harridge\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/stimulus-use/stimulus-use/commits?author=ollietb\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/leon-vogt\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/17851143?v=4?s=80\" width=\"80px;\" alt=\"Leon Vogt\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eLeon Vogt\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#infra-leon-vogt\" title=\"Infrastructure (Hosting, Build-Tools, etc)\"\u003e🚇\u003c/a\u003e \u003ca href=\"https://github.com/stimulus-use/stimulus-use/commits?author=leon-vogt\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/tkoenig\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/63860?v=4?s=80\" width=\"80px;\" alt=\"Thomas König\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eThomas König\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/stimulus-use/stimulus-use/commits?author=tkoenig\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/sc0ttman\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/272701?v=4?s=80\" width=\"80px;\" alt=\"Scott\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eScott\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/stimulus-use/stimulus-use/issues?q=author%3Asc0ttman\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/daniel-rikowski\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/1169363?v=4?s=80\" width=\"80px;\" alt=\"Daniel Rikowski\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eDaniel Rikowski\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/stimulus-use/stimulus-use/issues?q=author%3Adaniel-rikowski\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"http://twitter.com/marckohlbrugge\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/93276?v=4?s=80\" width=\"80px;\" alt=\"Marc Köhlbrugge\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eMarc Köhlbrugge\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#ideas-marckohlbrugge\" title=\"Ideas, Planning, \u0026 Feedback\"\u003e🤔\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/leonvogt\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/17851143?v=4?s=80\" width=\"80px;\" alt=\"Leon Vogt\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eLeon Vogt\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/stimulus-use/stimulus-use/commits?author=leonvogt\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/TedTran2019\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/53202666?v=4?s=80\" width=\"80px;\" alt=\"Ted H. Tran\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eTed H. Tran\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/stimulus-use/stimulus-use/commits?author=TedTran2019\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://talesfroma.dev\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/5331654?v=4?s=80\" width=\"80px;\" alt=\"Romain Monteil\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eRomain Monteil\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/stimulus-use/stimulus-use/commits?author=ker0x\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://adamyonk.com\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/33258?v=4?s=80\" width=\"80px;\" alt=\"Adam Jahnke\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eAdam Jahnke\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/stimulus-use/stimulus-use/commits?author=adamyonk\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://kerricklong.com/\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/552093?v=4?s=80\" width=\"80px;\" alt=\"Kerrick Long\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eKerrick Long\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/stimulus-use/stimulus-use/commits?author=Kerrick\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\n\u003c!-- markdownlint-restore --\u003e\n\u003c!-- prettier-ignore-end --\u003e\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:END --\u003e\n\nThis project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!\n\n\n## Acknowledgments\n\nContinuous integration and cross browser testing is generously provided Sauce Labs.\n\n[![Testing Powered By SauceLabs](https://opensource.saucelabs.com/images/opensauce/powered-by-saucelabs-badge-white.png?sanitize=true \"Testing Powered By SauceLabs\")](https://saucelabs.com)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstimulus-use%2Fstimulus-use","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstimulus-use%2Fstimulus-use","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstimulus-use%2Fstimulus-use/lists"}