Introduction
Installation
Find out how to install Stimulus Tailwind Component to your project and use the most out of it!
Setup
Run the below to install dependencies and stimulus-tailwind-components to your project.
Installing dependencies
Be sure to add @hotwired/stimulus and tailwindcss to your dependencies to start before installing stimulus-tailwind-components
yarn add @hotwired/stimulus@latest tailwindcss@latest
or
npm install @hotwired/stimulus@latest tailwindcss@latest
or
pnpm add @hotwired/stimulus@latest tailwindcss@latest
Tailwindcss is not a hard dependecy but is the recommeneded styling library.
Adding to Project
yarn add stimulus-tailwind-components@latest
or
npm install stimulus-tailwind-components@latest
or
pnpm add stimulus-tailwind-components@latest
Basic Usage
Prerequisite
You'll want to initialize StimulusJS and then you can import all the Tailwind components.
Common JS projects
// ../application.js
import { Application } from "@hotwired/stimulus"
// Import and register all Tailwind Components
import { Modal, Notification, Switch, Theme } from "stimulus-tailwind-components"
const application = Application.start()
application.register("notification", Notification)
application.register("theme", Theme)
application.register("switch", Switch)
application.register("modal", Modal)
Jekyll projects
This project would be you downloading the minified js file that outputs for usage
<!-- ./_layouts/default.html -->
<head>
<script>
window.esmsInitOptions = { enable: ["css-modules", "json-modules"] }
</script>
<script async src="https://unpkg.com/es-module-shims/dist/es-module-shims.js"></script>
<script type="importmap">
{
"imports": {
"@hotwired/stimulus": "https://unpkg.com/@hotwired/stimulus/dist/stimulus.js",
"stimulus-tailwind-components": "https://unpkg.com/stimulus-tailwind-components/dist/stimulus-tailwind-components.min.js"
}
}
</script>
<script type="module">
import { Application } from "@hotwired/stimulus"
import { Modal, Notification, Switch, Theme } from "stimulus-tailwind-components"
;(() => {
const application = Application.start()
application.register("theme", Theme)
application.register("notification", Notification)
application.register("switch", Switch)
application.register("modal", Modal)
})()
</script>
</head>
Rails Application (v7+)
// ./app/javascript/controllers/application.js
import { Application } from "@hotwired/stimulus"
// Import and register all Tailwind Components
import { Modal, Notification, Switch, Theme } from "stimulus-tailwind-components"
const application = Application.start()
application.register("notification", Notification)
application.register("theme", Theme)
application.register("switch", Switch)
application.register("modal", Modal)
// Configure Stimulus development experience
application.debug = false
window.Stimulus = application
export { application }