Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

flyonui

themeselection16.7kMIT2.4.1TypeScript support: included

The easiest, free and open-source Tailwind CSS component library with semantic classes.

flyonui, flyon, html, design-system, css, components, ui-library, javascript, typescript, framework, tailwind, tailwindcss, theming, postcss, ui, design, tailwind examples, tailwind components, tailwind components library, tailwind elements, tailwind library, tailwind sections, tailwind css, tailwind react, tailwind vue, tailwind plugin, tailwind component, tailwind next, tailwind nuxt, tailwind svelte, tailwind css plugin, tailwind astro, tailwind laravel, tailwind rails, react, css, ui, vue, component, framework, nextjs, front-end, laravel, theme, nuxt, svelte, astro, component library, css library

readme

flyonui logo

FlyonUI is the easiest, free and open-source Tailwind CSS component library with semantic classes. 🚀

Total Downloads on NPM Latest Version MIT License Twitter Follow

themeselection logo

Created by ThemeSelection, with a commitment to empowering the open-source community.


Table of Contents 📋


Overview 🌏

FlyonUI is designed to combine the best of both worlds: the aesthetic appeal of semantic classes and the powerful functionality of JS plugins.

Under the hood, it uses the strengths of:

  • Tailwind CSS A utility-first CSS framework that helps you build beautiful websites with ease.
  • daisyUI adds component semantic class names to Tailwind CSS so you can make beautiful websites faster, easier and Maintainable.
  • Preline JavaScript headless & fully unstyled Tailwind plugins for accessible, responsive UI. Enhance experiences with animations, transitions, and more.

Why should I use FlyonUI? 💡

Using Tailwind CSS alone may lead to cluttered HTML with numerous utility classes, which can be a nightmare to maintain.

Apart from that Tailwind CSS or daisyUI doesn’t provide any interactive headless JavaScript components like accordion, overlay, dropdowns, etc…

This is where FlyonUI shines.✨

FlyonUI Tailwind CSS Components Library brings together the beauty of semantic classes and the interactive headless JavaScript plugins, offering you a powerful toolkit to build stunning, interactive user interfaces with ease.

  • Beautiful and Semantic Styling: Utilize comprehensive CSS components with semantic class names for a clean and readable codebase.
  • Interactive and Dynamic Features: Incorporate Headless JavaScript plugins for ex: Accordion, Dropdown, Overlay etc… to add interactivity and dynamic behavior to your UI components.
  • Efficiency and Productivity: Enjoy a faster and more efficient development process by combining the strengths of semantic classes and JS plugins.
  • Maintainable and Scalable: Keep your projects maintainable and scalable with a consistent coding approach and powerful JS plugins.

Features ✨

  1. 800+ Free Components Examples: Hundreds of component examples for all your WebApp needs that meet accessibility criteria.
  2. Universal Framework Compatibility: Fully compatible wherever Tailwind CSS is in action, from React to Vue and beyond.
  3. Unlimited Themes: Customize your app’s look and feel with FlyonUI’s theming capabilities. Refer to the theme section for more details.
  4. Unstyled & Accessible Plugins: Seamlessly add unstyled, accessible plugins for functionality without sacrificing design.
  5. Responsive & RTL support : Built with responsiveness in mind, ensuring your app looks great on all devices with RTL language support.
  6. Free Forever: Completely free forever, open-source, and built for the community.

Documentation 📚

For comprehensive documentation, please visit flyonui.com.

Framework guides 🛠️

HTML React Nextjs Vue Nuxtjs
Html logo React logo Nextjs logo Vue logo Nuxtjs logo
Angular Svelte Remix Astro Qwik
Angular logo Svelte logo Remix logo Astro logo Qwik logo
SolidJS Django Flask Laravel 11ty
Django logo Django logo Flask logo Laravel logo 11ty logo

Getting Started 🏁

FlyonUI can be easily integrated into any existing Tailwind CSS project.

Installation via NPM

To use FlyonUI, ensure that you have Node.js and Tailwind CSS installed.

  1. Install FlyonUI as a dependency:

    npm install flyonui
  2. Include FlyonUI as a plugin in your app.css file:

    `css @import "tailwindcss"; @plugin "flyonui"; @import "./node_modules/flyonui/variants.css"; // Require only if you want to use FlyonUI JS component

@source "./node_modules/flyonui/dist/index.js"; // Require only if you want to use FlyonUI JS component


   This ensures that FlyonUI's styling is applied correctly throughout your project.

   If you want to include specific js component:

   ```css
   @source "./node_modules/flyonui/dist/accordion.js";
  1. For enabling interactive components such as accordion, dropdown, modal etc... , include FlyonUI's JavaScript in your HTML file, just before the closing </body> tag:

    <script src="../node_modules/flyonui/flyonui.js"></script>

    For a single component, use the specific path:

    <script src="../node_modules/flyonui/dist/accordion.js"></script>

RTL (Right-to-Left) Language Support

FlyonUI components offer native RTL support. Simply add the dir="rtl" attribute to your HTML element to enable this feature.

Star History 🌟

Star History Chart

Available Components 🧩

FlyonUI provides a robust library of UI components built with Tailwind CSS utility classes, enabling fast and efficient web development. Our library includes 80+ components, from basic elements like buttons and cards to more complex third-party integrations.

Explore all components

Component Examples

Accordion Alert Apex Charts
Tailwind CSS Accordion Tailwind CSS Alert Tailwind CSS Apex Charts
Button Card Checkbox
Tailwind CSS Button Tailwind CSS Card Tailwind CSS Checkbox
Dropdown Input Modal
Tailwind CSS Dropdown Tailwind CSS Input Tailwind CSS Modal
Navbar Tabs & Pills Tooltip
Tailwind CSS Navbar Tailwind CSS Tabs & Pills Tailwind CSS Tooltip

Explore all components

Community 🤝

Join the FlyonUI community to discuss the library, ask questions, and share your experiences:

Contributing 📝

Fix a bug, or add a new feature. You can make a pull request and see your code in the next version of FlyonUI.

Before adding a pull request, please see the contributing guidelines.

Credits 🤘

We are grateful for the contributions of the open-source community, particularly:

These projects form the backbone of FlyonUI, allowing us to build a powerful and user-friendly UI kit.

License ©

  • Copyright © ThemeSelection
  • Licensed under MIT
  • FlyonUI is open-source software licensed under the MIT License.You can use our free items for personal as well as commercial purposes.

changelog

Changelog

All notable changes to this project will be documented in this file.

[2.4.1] - [26-September-2025]

Added

  • Dropdown: --mega-menu:{boolean} ensures the Mega Menu remains fully visible on small screens without getting clipped.
  • Advanced Select: Added support for Option disabled state [FeatureReq #117].
  • Tooltip: Reintroduced --interaction for Popover interaction [Issue #117].

Fixes and Improvements

  • Dropdown:
    • Fixed issue where the input element in the dropdown couldn't receive focus or allow typing. [Issue #118]
    • Resolved placement issue. [Issue #114]
    • Fixed non-functioning OnEnter behavior.
  • Overlay: Fixed issue with data-overlay-keyboard="false". [Issue #116]
  • Combo Box: Fixed keyboard interaction for Arrow, Home, and End keys.

[2.4.0] - [06-August-2025]

Added

Sidebar : Collapsible sidebar

Sidebar : collapsible with mini sidebar

Dropdown : Scope Window

Updated

Fixes and Improvements

  • Themes: Refined --color-neutral in the Corporate theme for better consistency.
  • Improvements: Introduced a centralized Accessibility Management system with full keyboard navigation and interaction support across all UI components.
  • Popover: Removed the --interaction class option and focus example.
  • Menu: Fixed hover issue with dropdown-active when used in menus.

[2.3.1] - [17-July-2025]

Updated

  • Modal & Drawer: Adjusted shadow color for improved visual consistency.

[2.3.0] - [15-July-2025]

Added

  • AI and MCP Setup:

    • Included guidelines for setting up the Context7 MCP server for FlyonUI. For details, refer to the AI and MCP Setup documentation.
    • Integrated the Copy Prompt functionality into the documentation to streamline the process of copying code snippets, enabling faster implementation with AI Editor.
  • New Themes:

    • Claude
    • Pastel
    • Perplexity
    • Spotify
    • Vs Code
  • Skeleton Component: Introduced a new skeleton-striped variant.

Updated

  • Updated: Preline V3.0.1
  • Switch: Border-radius now uses var(--radius-selector) for enhanced consistency.
  • Radial Progress: Circular background color has been refined.
  • gradient-bg: Added a configurable gradient angle variable.

Fixes and Improvements

  • Class Specificity: Addressed specificity conflicts in Avatar, Breadcrumb, Drawer, Pin Input, and Stat components.
  • Avatar: CSS now supports usage with <span> elements for button integrations.
  • Modals: Resolved animation delay issue when closing modals.
  • Indicator: Corrected typo error in class naming.
  • Dropdown: Removed unnecessary hover effect from active states.
  • Menu: Improved compatibility between menu styles and accordion behavior.

[2.2.0] - [21-May-2025]

Updated

Fixes and Improvements

  • Themes: Updated the radius-selector variable for the Valorant theme and --color-accent variable in Black theme.
  • Switch: Updated default switch color.
  • FlatPickr: Fixed styling for the range date picker.
  • Form Element: Adjusted the opacity of disabled states to 50%.
  • Badge: Fine-tuned horizontal padding across all badge sizes.
  • Select: Added hover state for better interactivity.
  • Accordion: Reduced shadow depth to sm for a cleaner look.
  • Carousel: Updated navigation button styles for improved usability.
  • Footer: Resolved specificity issue with the footer-title class.
  • Fixed: Keep selected value when building options of HSSelect PR #93
  • Updated the package.json configuration by setting "type" to "module".
  • Renamed the files from "webpack.config.js" to "webpack.config.cjs", "webpack.config.mjs.js" to "webpack.config.mjs.cjs", and "dts-config.js" to "dts-config.cjs" to accommodate "type": "module".

[2.1.0] - [07-April-2025]

New Theme

  • Ghibli

New Framework Guide

  • Added framework guide for 11ty

Fixes and Improvements

  • Fixed: Floating textarea placeholder and label positioning issue when using both trailing and leading icons. PR #83
  • Improves neutral-content color in light theme and neutral color in luxury theme.

[2.0.1] - [31-March-2025]

New in Components

  • Card: Introduced card-alert class to style alert messages inside a card with rounded corners.

Updated

  • Framework Guides: The framework integration documentation has been updated for all frameworks.

Fixes and Improvements

  • Dropdown:

    • Removed unused label class.
  • Tabs:

    • Resolved the tab-lifted warning during the build process.

[2.0.0] - [24-March-2025]

For a detailed overview of the changes, please refer to the Upgrade Guide. link

New DaisyUI Components

New Themes

  • Black
  • Mintlify
  • Shadcn
  • Slack
  • Valorant

New in Components

  • Accordion:

    • Added new option [--keep-one-open:*].
    • Added new new events on:beforeOpen and on:beforeClose.
  • Advance Select:

    • Added new option :minSearchLength and example for it.
  • Alert:

  • Apex Chart:

  • Badge:

    • Dashed Badge
    • New badge sizes: badge-md (default) and badge-xl for more badge variety.
    • Added variable structure, creating custom badge became easy.
  • Button:

    • New button sizes: btn-md (default) and btn-xl for more button variety.
    • Added variable structure, creating custom button became easy.
  • Card:

    • New card-border style that adapts the border width from the theme.
    • New card sizes: card-xs, card-sm, card-md (default), card-lg and card-xl.
  • Checkbox:

    • New checkbox sizes: checkbox-md (default) and checkbox-xl
    • Improved the checkmark icon and its animation.
  • Dropdown:

    • Added new options [--scope:*], [--has-autofocus:*] and [--gpu-acceleration:*].
  • File Input:

    • New file input sizes: file-input-md (default) and file-input-xl
    • Adjusted padding and font size for a more polished look.
  • Input:

    • New input sizes: input-md (default) and input-xl
    • Added helper-text for additional guidance on inputs.
  • Loading:

    • New loading sizes: loading-md (default) and loading-xl.
  • Menu:

    • New menu sizes: menu-md (default) and menu-xl.
  • Modal:

    • Added modal-dialog-md as a default modal size.
    • Added new options [--auto-close-equality-type:*] and [--has-dynamic-z-index:*].
  • Pin Input:

    • New pin input sizes: pin-input-xs , pin-input-md (default) and pin-input-xl.
  • Progress:

    • Added progress-horizontal for direction.
  • Radio:

    • New radio sizes: radio-md (default) and radio-xl.
  • Range:

    • Added range-xl class for range size.
  • Select:

    • Select Group
    • New select sizes: select-md (default) and select-xl for more select variety.
    • Added new options data-tabs and :eventType.
  • Stack:

    • Added support for stack directions stack-start and stack-end.
  • Stat:

    • Added stats-border for bordered variant of stat and stats-horizontal or default direction.
  • Switch:

    • New switch sizes: switch-md (default) and switch-xl.
  • Table:

    • Added table-xl class for table size.
  • Tabs:

    • New tabs sizes: tab-md (default) and tab-xl.
  • Textarea:

    • Textarea Group
    • New textarea sizes: textarea-xs , textarea-sm , textarea-md (default), textarea-lg and textarea-xl for more textarea variety.

Added

  • Introduce new gradient-bg class for gradient background with semantic class support like gradient-bg-primary etc.
  • Use tailwindcss-intersect plugin for scroll-triggered animations.

Breaking Changes

  • The installation steps for third-party components have been updated.

  • Avatar:

    • Rename placeholder with avatar-placeholder , online-top with avatar-online-top, online-bottom with avatar-online-bottom, away-top with avatar-away-top, away-bottom with avatar-away-bottom, busy-top with avatar-busy-top, busy-bottom with avatar-busy-bottom, offline-top with avatar-offline-top, offline-bottom with avatar-offline-bottom
  • Dropdown:

    • Renamed active to dropdown-active and disabled to dropdown-disabled of dropdown items to maintain the class consitency.
  • Input:

    • Removed input-group. Grouping can now be achieved by wrapping inputs with the input class. (Structure affected components: Input Number and Toggle Password)
  • Input Number:

    • Structure impacted due to the removal of the input-group.
  • Menu:

    • Renamed disabled class to menu-disabled, active class to menu-active and focus class to menu-focus.
  • Phone:

    • Renamed camera class to mockup-phone-camera and display class to mockup-phone-display.
    • Removed the use of artboard in phone components.
  • Range:

    • Rename variable name to --range-color from --range-shdw.
  • Stack:

    • Instead of setting the width and height of the stack items, use width and height for the stack itself.
  • Table:

    • Renamed hover class to row-hover and active class to row-active.
  • Toggle Password:

    • Structure impacted due to the removal of the input-group.

Removed

  • The classes vertical-scrollbar, horizontal-scrollbar, and rounded-scrollbar has been removed.

  • Alert:

    • Removed alert-neutral color.
  • Artboard:

    • Removed all artboard-* and phone-* classes. These classes only set the width and height of the div, and now we recommend using Tailwind CSS w-* and h-* classes for better control and flexibility.
  • Badge:

    • Removed badge-neutral color.
  • Button:

    • Removed btn-neutral color.
  • Card:

    • Removed card-compact instead use card-sm or any other card sizes.
  • Drawer:

    • Removed drawer-close class.
  • Dropdown:

    • Removed [--skidding:*] option.
  • Input:

    • Removed input-group, input-group-filled, input-group-text, input-floating-label, input-filled-label, input-filled-focused, label-text-alt and input-filled variant.
  • Progress:

    • Removed progress-neutral color.
  • Radio:

    • The radio-inset-{size} and radio-inset-{semantic-color} classes have been removed. Now, radio-inset is used as a style class instead of a component class.
  • Select:

    • Removed select-filled variant.
  • Textarea:

    • Removed textarea-filled variant.
  • Timeline:

    • Removed timeline-trimmed class.

Updated

  • Updated: Tailwind V4.0.0

  • Updated: DaisyUI V5.0.0

  • Updated: Preline V3.0.0

  • Updated how to use semantic colors in JS files from 'oklch(var(--bc) / 0.4)' to 'color-mix(in oklab, var(--color-base-content) 40%, transparent)'.

  • Alert:

    • The neutral alert is now the default.
  • Badge:

    • The neutral badge is now the default.
    • Adjusted the badge sizes based on a new scale for better visual consistency.
  • Button:

    • The neutral button is now the default.
    • Button sizes have been adjusted to fit the new design scale.
  • Checkbox:

    • Adjusted the size scale to better align with other components.
  • Dropdown:

    • Floating UI has now completely replaced Popper.js across all plugins.
  • File input:

    • Adjusted padding and font size for a more polished look.
  • Input:

    • Updated input-floating structure.
    • Adjusted size scale for better uniformity across components.
  • Keyboard:

    • Adjusted kbd height for all sizes.
  • Link:

    • Update font-weight:500 as default.
  • Modal:

    • Updated backdrop color to base-300/60.
  • Radio:

    • Adjusted the size scale to better align with other components.
  • Range:

    • Adjusted the size scale to better align with other components.
  • Select:

    • Updated select-floating structure.
    • Adjusted size scale for better uniformity across components.
  • Sidebar:

    • The structure for collapsible menu/sidebar has been updated.
  • Textarea:

    • Updated textarea-floating structure.
    • Adjusted size scale for better uniformity across components.
  • Tooltip/Popover:

    • Floating UI has now completely replaced Popper.js across all plugins.

Fixes and Improvements

  • Advance Select:

    • Fixed advanced-select search bar background not correct with themes. #Issues/57
  • Diff:

    • Fixed Firefox lag issue.
  • Drawer:

    • Fixed edge cuts off in the narrow devices. #Issues/38
  • Input:

    • Fixed floating input label width problem. #Issues/56
  • Loading:

    • Fixed a bug where Safari sometimes froze the animation.
  • Menu:

    • Fixed Menu title will have an active effect by click when it is not plain text. #Issues/54
  • Table:

    • Fixed table border bottom issue with single row. #Issues/60