sailui
v0.7.0
Published
Basic UI components for Tailwind CSS.
Downloads
53
Maintainers
Readme
Sail UI
A collection of basic UI components built on Tailwind CSS.
Demo.
Who's this for?
Serial Users
If you're already using Tailwind and you find yourself repeatedly creating a few common component classes for every project, Sail UI is for you.
This package helps you with a few basic components, so that you can start building your prototype / draft / MVP before you get down to polishing your fully custom design.
Use .btn
, .card
and other classes you're familiar with to get you started and customize them later when you need to.
Newcomers
If you're moving away from another framework to Tailwind and you're afraid of taking the leap because you don't want to build all of those lovely components from scratch yourself, Sail UI will help you with the transition.
Installation
npm install sailui
Add sailui
to your tailwind.config.js
file:
module.exports = {
// ...
plugins: [require("sailui")],
};
Compatibility
| Tailwind CSS | Sail UI | | ------- | ------- | | v1.9.0 | v0.4.0 | | v2.0.0 | v0.5.0 | | v3.0.0 | v0.7.0 |
Usage
Start using Sail UI component classes just like how you're used to.
<a href="/" class="btn"></a>
Customizing the primary color
Simply add a theme.colors.primary
key to your tailwind.config.js
and Sail UI will use it as the default color
for all available components:
module.exports = {
// ...
theme: {
extend: {
colors: {
primary: "#ff6394",
},
},
},
};
What's Included
Basic Components
These components are included:
Buttons
<button class="btn">Sign Up</button>
<button class="btn btn-outline">Find Out More</button>
Cards
<div class="card">Lorem ipsum dolor sit amet...</div>
Alerts
<div class="alert">
<strong>Normal stuff!</strong> zero concerns.
</div>
<div class="alert alert-blue">
<strong>All is clear!</strong> So far so good.
</div>
<div class="alert alert-green">
<strong>Fantastic!</strong> You did it.
</div>
<div class="alert alert-yellow">
<strong>Watch out!</strong> Things are going down south.
</div>
<div class="alert alert-red">
<strong>Too late!</strong> It's hit the fan.
</div>
Badges
<span class="badge">Default</span>
<span class="badge badge-light">Light</span>
<span class="badge badge-blue">Blue</span>
<span class="badge badge-green">Green</span>
<span class="badge badge-yellow">Yellow</span>
<span class="badge badge-red">Red</span>
Links
<span>This is a <a href="#" class="link">link</a></span>.
Forms
Sail UI uses the forms
plugin from Tailwind Labs
to reset form styles.
On top of the provided reset, these classes add an additional layer of styling to form elements:
Form Input
<label class="block">
<span class="text-gray-700">Name</span>
<input type="text" class="form-input mt-1 block w-full" />
</label>
Form Select
<label class="block">
<span class="text-gray-700">Pet of Choice</span>
<select class="form-select mt-1 block w-full">
<option>Cat</option>
<option>Catty</option>
<option>Kitty</option>
<option>Kat</option>
</select>
</label>
Form Radio
<div class="mt-4">
<span class="text-gray-700">Age Group</span>
<div class="mt-2">
<label class="inline-flex items-center">
<input type="radio" class="form-radio" name="age-group" value="cat" />
<span class="ml-2">Cat</span>
</label>
<label class="inline-flex items-center ml-6">
<input type="radio" class="form-radio" name="age-group" value="kitty" />
<span class="ml-2">Kitty</span>
</label>
</div>
</div>
Form Checkbox
<div class="flex mt-6">
<label class="flex items-center">
<input type="checkbox" class="form-checkbox" />
<span class="ml-2">I agree to your <span class="underline">terms</span></span>.
</label>
</div>
Form Textarea
<label class="block mt-6">
<span class="text-gray-700">Notes</span>
<textarea class="form-textarea mt-1 block w-full" rows="3" placeholder="Write something..."></textarea>
</label>
Container
The mx-auto
style is automatically applied to center the default .container
that comes out of the box with Tailwind.
Excluding components
Simply pass an object with an array exclude
in it to the registering of the plugin in your tailwind.config.js
:
module.exports = {
// ...
plugins: [
require("sailui")({exclude: ['btn', 'alert']})
],
};
List of all components that can be excluded:
alert
badge
btn
card
container
link
form
- excludescheckbox
,input
,radio
,select
,textarea
and@tailwindcss/forms
Typography
Sensible default styles are applied to headings, paragraphs, and other elements of typography. These are the covered elements:
- h1
- h2
- h3
- h4
- h5
- h6
- p
License
The MIT License (MIT). Please see License File for more information.