Loading...
Loading...
Use when building with FlyonUI — Tailwind CSS component library with CSS classes and optional JS plugins. Covers CSS component classes, JS plugin system (accordion, carousel, collapse, combobox, datatable, dropdown, select, tabs, tooltip, etc.), theming, installation, class reference, and plugin initialization via MCP tools.
npx skill4agent add peixotorms/odinlayer-skills flyonuifrontend-componentsflyonuinpm install flyonui@import "tailwindcss";
@plugin "flyonui";// tailwind.config.js
module.exports = {
plugins: [require("flyonui")],
}<!-- Include FlyonUI JS for interactive components -->
<script src="./node_modules/flyonui/flyonui.js"></script>import "flyonui/accordion";
import "flyonui/dropdown";
import "flyonui/tabs";# See all CSS components and JS plugins
list_components(framework: "flyonui")
# CSS components only
list_components(framework: "flyonui", category: "css")
# JS plugins only
list_components(framework: "flyonui", category: "plugins")# Get CSS source for a component
get_component(framework: "flyonui", category: "css", component_type: "all", variant: "button")
get_component(framework: "flyonui", category: "css", component_type: "all", variant: "card")
get_component(framework: "flyonui", category: "css", component_type: "all", variant: "modal")# Get plugin implementation
get_component(framework: "flyonui", category: "plugins", component_type: "accordion", variant: "index")
get_component(framework: "flyonui", category: "plugins", component_type: "dropdown", variant: "index")
# Get plugin types
get_component(framework: "flyonui", category: "plugins", component_type: "accordion", variant: "types")
# Get plugin variant CSS
get_component(framework: "flyonui", category: "plugins", component_type: "dropdown", variant: "variants")search_components(query: "accordion", framework: "flyonui")
search_components(query: "select", framework: "flyonui")| Component | Base Class | Color Example | Size Example |
|---|---|---|---|
| Button | | | |
| Card | | — | — |
| Badge | | | |
| Alert | | | — |
| Input | | — | |
| Select | | — | |
| Checkbox | | | |
| Radio | | | |
| Toggle | | | |
| Table | | — | — |
| Tab | | — | — |
| Menu | | — | — |
| Modal | | — | — |
| Navbar | | — | — |
| Drawer | | — | — |
| Dropdown | | — | — |
| Tooltip | | — | — |
| Progress | | | — |
| Loading | | — | — |
| Divider | | — | — |
| Breadcrumbs | | — | — |
| Pagination | — | — | — |
| Avatar | | — | — |
| Indicator | | — | — |
| Mask | | — | — |
| Stack | | — | — |
| Stat | | — | — |
| Skeleton | | — | — |
| Timeline | | — | — |
| Kbd | | — | — |
| Link | | | — |
| Label | | — | — |
| Collapse | | — | — |
| Carousel | | — | — |
| Diff | | — | — |
| Filter | | — | — |
| Footer | | — | — |
| Color | Usage |
|---|---|
| Primary brand actions |
| Secondary actions |
| Highlights and accents |
| Default/neutral elements |
| Informational states |
| Success states |
| Warning states |
| Error/danger states |
| Size | Modifier |
|---|---|
| Extra small | |
| Small | |
| Medium (default) | |
| Large | |
| Extra large | |
| Plugin | Purpose |
|---|---|
| Expandable/collapsible sections |
| Image/content slider |
| Single collapsible element |
| Searchable select with filtering |
| Copy to clipboard functionality |
| Interactive data tables |
| Dropdown menus |
| File upload with drag-and-drop |
| Number input with increment/decrement |
| Modal/overlay management |
| PIN/OTP input fields |
| Range slider with labels |
| Remove/dismiss elements |
| Scroll-based navigation highlighting |
| Enhanced select dropdowns |
| Multi-step wizard |
| Password strength indicator |
| Tab navigation |
| Counter toggle |
| Show/hide password |
| Interactive tooltips |
| Hierarchical tree navigation |
<!-- Accordion -->
<div class="accordion" id="my-accordion">
<div class="accordion-item active">
<button class="accordion-toggle">Section 1</button>
<div class="accordion-content">
<p>Content 1</p>
</div>
</div>
<div class="accordion-item">
<button class="accordion-toggle">Section 2</button>
<div class="accordion-content">
<p>Content 2</p>
</div>
</div>
</div><!-- Tabs -->
<div class="tabs" data-tabs>
<button class="tab tab-active" data-tab="#tab1">Tab 1</button>
<button class="tab" data-tab="#tab2">Tab 2</button>
</div>
<div id="tab1">Content 1</div>
<div id="tab2" class="hidden">Content 2</div><!-- Dropdown -->
<div class="dropdown" data-dropdown>
<button class="btn dropdown-toggle">Dropdown</button>
<ul class="dropdown-menu">
<li><a class="dropdown-item">Item 1</a></li>
<li><a class="dropdown-item">Item 2</a></li>
</ul>
</div>index.tstypes.tsinterfaces.tsvariants.cssget_component(framework: "flyonui", category: "plugins", component_type: "accordion", variant: "index")data-theme<html data-theme="light">
<html data-theme="dark">[data-theme="custom"] {
--color-primary: oklch(65% 0.25 260);
--color-secondary: oklch(70% 0.2 180);
/* ... other color variables */
}data-themedark:| Feature | FlyonUI | DaisyUI |
|---|---|---|
| CSS Components | 49 | 65+ |
| JS Plugins | 24 interactive plugins | None (CSS only) |
| Class naming | Same convention | Base convention |
| Theming | data-theme + CSS vars | data-theme + CSS vars |
| Interactive components | Built-in JS plugins | Requires external JS |
| File upload | Built-in plugin | Not included |
| Data tables | Built-in plugin | Not included |
| Tree view | Built-in plugin | Not included |
| Combobox | Built-in plugin | Not included |
<div class="card">
<div class="card-body">
<h5 class="card-title">Card Title</h5>
<p>Card content goes here.</p>
<div class="card-actions justify-end">
<button class="btn btn-primary">Action</button>
</div>
</div>
</div><div class="form-control">
<label class="label">
<span class="label-text">Email</span>
</label>
<input type="email" class="input" placeholder="email@example.com" />
</div><button class="btn" data-overlay="#my-modal">Open Modal</button>
<div id="my-modal" class="modal overlay hidden">
<div class="modal-box">
<h3 class="text-lg font-bold">Modal Title</h3>
<p>Modal content</p>
<div class="modal-action">
<button class="btn" data-overlay-close="#my-modal">Close</button>
</div>
</div>
</div>| Step | Action |
|---|---|
| 1. Identify component | What UI element is needed? |
| 2. Check CSS component | |
| 3. Check JS plugin | Does it need interactivity? Check |
| 4. Get plugin source | |
| 5. Apply classes | Use base class + modifiers |
| 6. Add data attributes | For JS plugin initialization |
| 7. Theme | Set |