# https://hextaui.com llms-full.txt
## Fast Website Development
[Build websites 10x faster with HextaUI Blocks —Learn more](https://pro.hextaui.com/blocks)
Build 10x faster with HextaUI Blocks —Learn more
# Build stunning websites effortlessly
Modern, responsive, and customizable UI components. Copy, adapt, and personalize them.
[Get Started \- It's free](https://www.hextaui.com/docs/ui/getting-started/introduction) [Github-231](https://github.com/preetsuthar17/HextaUI)
Built with
0:00
0:00
Features
## Why use HextaUI?
50+ components ready to copy and paste into your project.
### Customizable
Modify components with props and Tailwind classes.
### Ready to Use
Production-ready components out of the box.
### Copy & Paste
Copy code directly into your project.
### Open Source
Free to use and modify.
### Fast Development
Build UIs faster with pre-built components.
### Accessible
Components work for everyone.
Copy components, customize them, and ship your product faster.
Components
## 50+ components ready to use
Copy and paste components built with Radix UI, Tailwind CSS, and TypeScript.
### Buttons
PrimaryOutlineGhostDestructive
### Form Controls
Accept terms
Notifications
### Progress & Sliders
Progress: 65%
Slider
### Badges & Toggles
DefaultSecondaryOutlineError
### Avatar & Loading

HX
### Layout
Card Content
This is a card component
Separator above
[View all components](https://www.hextaui.com/docs/ui/foundation/components)
All components are accessible, customizable, and production-ready.
Pro Blocks
## Ready-made blocks for faster development
Professional blocks and templates to build modern web applications in minutes.
Pro
Authentication
### Login & Signup
Complete auth flows with social login, password reset, and validation.
Pro
Dashboard
### Analytics Dashboard
Modern dashboard with charts, metrics, and real-time data visualization.
Pro
E-commerce
### Product Cards
Beautiful product showcases with cart, wishlist, and quick view features.
Pro
Landing Page
### Hero Sections
Conversion-optimized hero sections with CTAs and social proof.
Pro
Forms
### Contact Forms
Multi-step forms with validation, file uploads, and success states.
Pro
Navigation
### Sidebars & Menus
Responsive navigation with collapsible menus and user profiles.
### Schedule Time
Start Time
9:00 AM
End Time
5:00 PM
Quick Duration
30m1h2h4h8h1 day2 days1 week
Duration
8h
From9:00 AMto5:00 PM
CancelApply
### Select Time Range
Start Time
9:00 AM
End Time
5:00 PM
Quick Duration
30m1h2h4h8h1 day2 days1 week
Duration
8h
From9:00 AMto5:00 PM
CancelApply
### Current Selection
Start: 09:00End: 17:00Duration: 8h 0m
### Precise Time Selection
Start Time
Select start time
End Time
Select end time
CancelApply

### HextaUI
5members
Invite Members
Can view
CancelSend Invite
Access
CP
Captain Pancakes
Owner
syrup.lover@breakfast.club
Owner
DL
Disco Llama
groovy.alpaca@dance.floor
Can edit
PP
Professor Pickles
sour.cucumber@university.edu
Can view
NN
Ninja Noodles
stealth.pasta@dojo.com
Can view
WW
Wizard Waffle
magical.breakfast@hogwarts.com
Can view
CancelDone
[View Pro Blocks](https://pro.hextaui.com/) [See Pricing](https://pro.hextaui.com/#pricing)
Skip the design phase and ship your product faster with production-ready blocks.
Contributors
## Our amazing contributors
Thanks to these wonderful people who have contributed to HextaUI.
[PR](https://github.com/preetsuthar17) [M7](https://github.com/m7ez1n) [NC](https://github.com/ncdai) [FU](https://github.com/fuma-nama)
Thank you for your contributions!
[View all contributors](https://github.com/preetsuthar17/HextaUI/contributors)
Want to contribute? Check out our [GitHub repository](https://github.com/preetsuthar17/HextaUI) to get started.
Wall of Love
## Loved by developers worldwide
See what developers and designers are saying about HextaUI.
[](https://x.com/Afnanksalal)
[Afnan K Salal](https://x.com/Afnanksalal)
[@Afnanksalal](https://x.com/Afnanksalal)
[Link to tweet](https://x.com/Afnanksalal/status/1920730864687763482)
Just tried out HextaUI by my good friend [@preetsuthar17](https://x.com/preetsuthar17).
Its just awesome! even without deep frontend experience, I was able to build something beautiful in no time.
Fast, intuitive, and seriously impressive work.
[](https://x.com/Mathias_Kandil)
[Mathias Kandil](https://x.com/Mathias_Kandil)
[@Mathias\_Kandil](https://x.com/Mathias_Kandil)
[Link to tweet](https://x.com/Mathias_Kandil/status/1923850294204522637)
So clean
[](https://x.com/AnshulSoni2010)
[Anshul Soni](https://x.com/AnshulSoni2010)
[@AnshulSoni2010](https://x.com/AnshulSoni2010)
[Link to tweet](https://x.com/AnshulSoni2010/status/1875895384226373680)
I love HextaUI 💖
[hextaui.com](https://hextaui.com/)
[](https://x.com/mtanmaym)
[Tanmay M 🚀](https://x.com/mtanmaym)
[@mtanmaym](https://x.com/mtanmaym)
[Link to tweet](https://x.com/mtanmaym/status/1782653978683072684)
Just check it out, It's awesome 🤩
Would love to see more components
[](https://x.com/CarpCarpingdiem)
[Carp-e Diem](https://x.com/CarpCarpingdiem)
[@CarpCarpingdiem](https://x.com/CarpCarpingdiem)
[Link to tweet](https://x.com/CarpCarpingdiem/status/1787091751997440143)
[@preetsuthar17](https://x.com/preetsuthar17) efforts with HextaUI is worth appreciation. Good going brother!!
[](https://x.com/Pingu2k4)
[Pingu](https://x.com/Pingu2k4)
[@Pingu2k4](https://x.com/Pingu2k4)
[Link to tweet](https://x.com/Pingu2k4/status/1782680701067776207)
A great start for some unique components. Congrats. :)
[](https://x.com/eter_inquirer)
[Abishek⚡](https://x.com/eter_inquirer)
[@eter\_inquirer](https://x.com/eter_inquirer)
[Link to tweet](https://x.com/eter_inquirer/status/1786800646433423488)
love this dude, I absolutely love the waterdrop effect ,3
[](https://x.com/MahdiEzz_code)
[Mahdi Ezzeddine](https://x.com/MahdiEzz_code)
[@MahdiEzz\_code](https://x.com/MahdiEzz_code)
[Link to tweet](https://x.com/MahdiEzz_code/status/1877006457331224849)
Well this is something I always wanted to do!
awesome!
[](https://x.com/EliRichmond33)
[Eli Richmond](https://x.com/EliRichmond33)
[@EliRichmond33](https://x.com/EliRichmond33)
[Link to tweet](https://x.com/EliRichmond33/status/1787135072392364394)
Oh wow this UI is really nice. It definitely made me want to check out the components.
Gonna keep my eye on you! This is great stuff!
[](https://x.com/Afnanksalal)
[Afnan K Salal](https://x.com/Afnanksalal)
[@Afnanksalal](https://x.com/Afnanksalal)
[Link to tweet](https://x.com/Afnanksalal/status/1920730864687763482)
Just tried out HextaUI by my good friend [@preetsuthar17](https://x.com/preetsuthar17).
Its just awesome! even without deep frontend experience, I was able to build something beautiful in no time.
Fast, intuitive, and seriously impressive work.
[](https://x.com/Mathias_Kandil)
[Mathias Kandil](https://x.com/Mathias_Kandil)
[@Mathias\_Kandil](https://x.com/Mathias_Kandil)
[Link to tweet](https://x.com/Mathias_Kandil/status/1923850294204522637)
So clean
[](https://x.com/AnshulSoni2010)
[Anshul Soni](https://x.com/AnshulSoni2010)
[@AnshulSoni2010](https://x.com/AnshulSoni2010)
[Link to tweet](https://x.com/AnshulSoni2010/status/1875895384226373680)
I love HextaUI 💖
[hextaui.com](https://hextaui.com/)
[](https://x.com/mtanmaym)
[Tanmay M 🚀](https://x.com/mtanmaym)
[@mtanmaym](https://x.com/mtanmaym)
[Link to tweet](https://x.com/mtanmaym/status/1782653978683072684)
Just check it out, It's awesome 🤩
Would love to see more components
[](https://x.com/CarpCarpingdiem)
[Carp-e Diem](https://x.com/CarpCarpingdiem)
[@CarpCarpingdiem](https://x.com/CarpCarpingdiem)
[Link to tweet](https://x.com/CarpCarpingdiem/status/1787091751997440143)
[@preetsuthar17](https://x.com/preetsuthar17) efforts with HextaUI is worth appreciation. Good going brother!!
[](https://x.com/Pingu2k4)
[Pingu](https://x.com/Pingu2k4)
[@Pingu2k4](https://x.com/Pingu2k4)
[Link to tweet](https://x.com/Pingu2k4/status/1782680701067776207)
A great start for some unique components. Congrats. :)
[](https://x.com/eter_inquirer)
[Abishek⚡](https://x.com/eter_inquirer)
[@eter\_inquirer](https://x.com/eter_inquirer)
[Link to tweet](https://x.com/eter_inquirer/status/1786800646433423488)
love this dude, I absolutely love the waterdrop effect ,3
[](https://x.com/MahdiEzz_code)
[Mahdi Ezzeddine](https://x.com/MahdiEzz_code)
[@MahdiEzz\_code](https://x.com/MahdiEzz_code)
[Link to tweet](https://x.com/MahdiEzz_code/status/1877006457331224849)
Well this is something I always wanted to do!
awesome!
[](https://x.com/EliRichmond33)
[Eli Richmond](https://x.com/EliRichmond33)
[@EliRichmond33](https://x.com/EliRichmond33)
[Link to tweet](https://x.com/EliRichmond33/status/1787135072392364394)
Oh wow this UI is really nice. It definitely made me want to check out the components.
Gonna keep my eye on you! This is great stuff!
[](https://x.com/Afnanksalal)
[Afnan K Salal](https://x.com/Afnanksalal)
[@Afnanksalal](https://x.com/Afnanksalal)
[Link to tweet](https://x.com/Afnanksalal/status/1920730864687763482)
Just tried out HextaUI by my good friend [@preetsuthar17](https://x.com/preetsuthar17).
Its just awesome! even without deep frontend experience, I was able to build something beautiful in no time.
Fast, intuitive, and seriously impressive work.
[](https://x.com/Mathias_Kandil)
[Mathias Kandil](https://x.com/Mathias_Kandil)
[@Mathias\_Kandil](https://x.com/Mathias_Kandil)
[Link to tweet](https://x.com/Mathias_Kandil/status/1923850294204522637)
So clean
[](https://x.com/AnshulSoni2010)
[Anshul Soni](https://x.com/AnshulSoni2010)
[@AnshulSoni2010](https://x.com/AnshulSoni2010)
[Link to tweet](https://x.com/AnshulSoni2010/status/1875895384226373680)
I love HextaUI 💖
[hextaui.com](https://hextaui.com/)
[](https://x.com/mtanmaym)
[Tanmay M 🚀](https://x.com/mtanmaym)
[@mtanmaym](https://x.com/mtanmaym)
[Link to tweet](https://x.com/mtanmaym/status/1782653978683072684)
Just check it out, It's awesome 🤩
Would love to see more components
[](https://x.com/CarpCarpingdiem)
[Carp-e Diem](https://x.com/CarpCarpingdiem)
[@CarpCarpingdiem](https://x.com/CarpCarpingdiem)
[Link to tweet](https://x.com/CarpCarpingdiem/status/1787091751997440143)
[@preetsuthar17](https://x.com/preetsuthar17) efforts with HextaUI is worth appreciation. Good going brother!!
[](https://x.com/Pingu2k4)
[Pingu](https://x.com/Pingu2k4)
[@Pingu2k4](https://x.com/Pingu2k4)
[Link to tweet](https://x.com/Pingu2k4/status/1782680701067776207)
A great start for some unique components. Congrats. :)
[](https://x.com/eter_inquirer)
[Abishek⚡](https://x.com/eter_inquirer)
[@eter\_inquirer](https://x.com/eter_inquirer)
[Link to tweet](https://x.com/eter_inquirer/status/1786800646433423488)
love this dude, I absolutely love the waterdrop effect ,3
[](https://x.com/MahdiEzz_code)
[Mahdi Ezzeddine](https://x.com/MahdiEzz_code)
[@MahdiEzz\_code](https://x.com/MahdiEzz_code)
[Link to tweet](https://x.com/MahdiEzz_code/status/1877006457331224849)
Well this is something I always wanted to do!
awesome!
[](https://x.com/EliRichmond33)
[Eli Richmond](https://x.com/EliRichmond33)
[@EliRichmond33](https://x.com/EliRichmond33)
[Link to tweet](https://x.com/EliRichmond33/status/1787135072392364394)
Oh wow this UI is really nice. It definitely made me want to check out the components.
Gonna keep my eye on you! This is great stuff!
[](https://x.com/Afnanksalal)
[Afnan K Salal](https://x.com/Afnanksalal)
[@Afnanksalal](https://x.com/Afnanksalal)
[Link to tweet](https://x.com/Afnanksalal/status/1920730864687763482)
Just tried out HextaUI by my good friend [@preetsuthar17](https://x.com/preetsuthar17).
Its just awesome! even without deep frontend experience, I was able to build something beautiful in no time.
Fast, intuitive, and seriously impressive work.
[](https://x.com/Mathias_Kandil)
[Mathias Kandil](https://x.com/Mathias_Kandil)
[@Mathias\_Kandil](https://x.com/Mathias_Kandil)
[Link to tweet](https://x.com/Mathias_Kandil/status/1923850294204522637)
So clean
[](https://x.com/AnshulSoni2010)
[Anshul Soni](https://x.com/AnshulSoni2010)
[@AnshulSoni2010](https://x.com/AnshulSoni2010)
[Link to tweet](https://x.com/AnshulSoni2010/status/1875895384226373680)
I love HextaUI 💖
[hextaui.com](https://hextaui.com/)
[](https://x.com/mtanmaym)
[Tanmay M 🚀](https://x.com/mtanmaym)
[@mtanmaym](https://x.com/mtanmaym)
[Link to tweet](https://x.com/mtanmaym/status/1782653978683072684)
Just check it out, It's awesome 🤩
Would love to see more components
[](https://x.com/CarpCarpingdiem)
[Carp-e Diem](https://x.com/CarpCarpingdiem)
[@CarpCarpingdiem](https://x.com/CarpCarpingdiem)
[Link to tweet](https://x.com/CarpCarpingdiem/status/1787091751997440143)
[@preetsuthar17](https://x.com/preetsuthar17) efforts with HextaUI is worth appreciation. Good going brother!!
[](https://x.com/Pingu2k4)
[Pingu](https://x.com/Pingu2k4)
[@Pingu2k4](https://x.com/Pingu2k4)
[Link to tweet](https://x.com/Pingu2k4/status/1782680701067776207)
A great start for some unique components. Congrats. :)
[](https://x.com/eter_inquirer)
[Abishek⚡](https://x.com/eter_inquirer)
[@eter\_inquirer](https://x.com/eter_inquirer)
[Link to tweet](https://x.com/eter_inquirer/status/1786800646433423488)
love this dude, I absolutely love the waterdrop effect ,3
[](https://x.com/MahdiEzz_code)
[Mahdi Ezzeddine](https://x.com/MahdiEzz_code)
[@MahdiEzz\_code](https://x.com/MahdiEzz_code)
[Link to tweet](https://x.com/MahdiEzz_code/status/1877006457331224849)
Well this is something I always wanted to do!
awesome!
[](https://x.com/EliRichmond33)
[Eli Richmond](https://x.com/EliRichmond33)
[@EliRichmond33](https://x.com/EliRichmond33)
[Link to tweet](https://x.com/EliRichmond33/status/1787135072392364394)
Oh wow this UI is really nice. It definitely made me want to check out the components.
Gonna keep my eye on you! This is great stuff!
[](https://x.com/Afnanksalal)
[Afnan K Salal](https://x.com/Afnanksalal)
[@Afnanksalal](https://x.com/Afnanksalal)
[Link to tweet](https://x.com/Afnanksalal/status/1920730864687763482)
Just tried out HextaUI by my good friend [@preetsuthar17](https://x.com/preetsuthar17).
Its just awesome! even without deep frontend experience, I was able to build something beautiful in no time.
Fast, intuitive, and seriously impressive work.
[](https://x.com/Mathias_Kandil)
[Mathias Kandil](https://x.com/Mathias_Kandil)
[@Mathias\_Kandil](https://x.com/Mathias_Kandil)
[Link to tweet](https://x.com/Mathias_Kandil/status/1923850294204522637)
So clean
[](https://x.com/AnshulSoni2010)
[Anshul Soni](https://x.com/AnshulSoni2010)
[@AnshulSoni2010](https://x.com/AnshulSoni2010)
[Link to tweet](https://x.com/AnshulSoni2010/status/1875895384226373680)
I love HextaUI 💖
[hextaui.com](https://hextaui.com/)
[](https://x.com/mtanmaym)
[Tanmay M 🚀](https://x.com/mtanmaym)
[@mtanmaym](https://x.com/mtanmaym)
[Link to tweet](https://x.com/mtanmaym/status/1782653978683072684)
Just check it out, It's awesome 🤩
Would love to see more components
[](https://x.com/CarpCarpingdiem)
[Carp-e Diem](https://x.com/CarpCarpingdiem)
[@CarpCarpingdiem](https://x.com/CarpCarpingdiem)
[Link to tweet](https://x.com/CarpCarpingdiem/status/1787091751997440143)
[@preetsuthar17](https://x.com/preetsuthar17) efforts with HextaUI is worth appreciation. Good going brother!!
[](https://x.com/Pingu2k4)
[Pingu](https://x.com/Pingu2k4)
[@Pingu2k4](https://x.com/Pingu2k4)
[Link to tweet](https://x.com/Pingu2k4/status/1782680701067776207)
A great start for some unique components. Congrats. :)
[](https://x.com/eter_inquirer)
[Abishek⚡](https://x.com/eter_inquirer)
[@eter\_inquirer](https://x.com/eter_inquirer)
[Link to tweet](https://x.com/eter_inquirer/status/1786800646433423488)
love this dude, I absolutely love the waterdrop effect ,3
[](https://x.com/MahdiEzz_code)
[Mahdi Ezzeddine](https://x.com/MahdiEzz_code)
[@MahdiEzz\_code](https://x.com/MahdiEzz_code)
[Link to tweet](https://x.com/MahdiEzz_code/status/1877006457331224849)
Well this is something I always wanted to do!
awesome!
[](https://x.com/EliRichmond33)
[Eli Richmond](https://x.com/EliRichmond33)
[@EliRichmond33](https://x.com/EliRichmond33)
[Link to tweet](https://x.com/EliRichmond33/status/1787135072392364394)
Oh wow this UI is really nice. It definitely made me want to check out the components.
Gonna keep my eye on you! This is great stuff!
[](https://x.com/Afnanksalal)
[Afnan K Salal](https://x.com/Afnanksalal)
[@Afnanksalal](https://x.com/Afnanksalal)
[Link to tweet](https://x.com/Afnanksalal/status/1920730864687763482)
Just tried out HextaUI by my good friend [@preetsuthar17](https://x.com/preetsuthar17).
Its just awesome! even without deep frontend experience, I was able to build something beautiful in no time.
Fast, intuitive, and seriously impressive work.
[](https://x.com/Mathias_Kandil)
[Mathias Kandil](https://x.com/Mathias_Kandil)
[@Mathias\_Kandil](https://x.com/Mathias_Kandil)
[Link to tweet](https://x.com/Mathias_Kandil/status/1923850294204522637)
So clean
[](https://x.com/AnshulSoni2010)
[Anshul Soni](https://x.com/AnshulSoni2010)
[@AnshulSoni2010](https://x.com/AnshulSoni2010)
[Link to tweet](https://x.com/AnshulSoni2010/status/1875895384226373680)
I love HextaUI 💖
[hextaui.com](https://hextaui.com/)
[](https://x.com/mtanmaym)
[Tanmay M 🚀](https://x.com/mtanmaym)
[@mtanmaym](https://x.com/mtanmaym)
[Link to tweet](https://x.com/mtanmaym/status/1782653978683072684)
Just check it out, It's awesome 🤩
Would love to see more components
[](https://x.com/CarpCarpingdiem)
[Carp-e Diem](https://x.com/CarpCarpingdiem)
[@CarpCarpingdiem](https://x.com/CarpCarpingdiem)
[Link to tweet](https://x.com/CarpCarpingdiem/status/1787091751997440143)
[@preetsuthar17](https://x.com/preetsuthar17) efforts with HextaUI is worth appreciation. Good going brother!!
[](https://x.com/Pingu2k4)
[Pingu](https://x.com/Pingu2k4)
[@Pingu2k4](https://x.com/Pingu2k4)
[Link to tweet](https://x.com/Pingu2k4/status/1782680701067776207)
A great start for some unique components. Congrats. :)
[](https://x.com/eter_inquirer)
[Abishek⚡](https://x.com/eter_inquirer)
[@eter\_inquirer](https://x.com/eter_inquirer)
[Link to tweet](https://x.com/eter_inquirer/status/1786800646433423488)
love this dude, I absolutely love the waterdrop effect ,3
[](https://x.com/MahdiEzz_code)
[Mahdi Ezzeddine](https://x.com/MahdiEzz_code)
[@MahdiEzz\_code](https://x.com/MahdiEzz_code)
[Link to tweet](https://x.com/MahdiEzz_code/status/1877006457331224849)
Well this is something I always wanted to do!
awesome!
[](https://x.com/EliRichmond33)
[Eli Richmond](https://x.com/EliRichmond33)
[@EliRichmond33](https://x.com/EliRichmond33)
[Link to tweet](https://x.com/EliRichmond33/status/1787135072392364394)
Oh wow this UI is really nice. It definitely made me want to check out the components.
Gonna keep my eye on you! This is great stuff!
[](https://x.com/Afnanksalal)
[Afnan K Salal](https://x.com/Afnanksalal)
[@Afnanksalal](https://x.com/Afnanksalal)
[Link to tweet](https://x.com/Afnanksalal/status/1920730864687763482)
Just tried out HextaUI by my good friend [@preetsuthar17](https://x.com/preetsuthar17).
Its just awesome! even without deep frontend experience, I was able to build something beautiful in no time.
Fast, intuitive, and seriously impressive work.
[](https://x.com/Mathias_Kandil)
[Mathias Kandil](https://x.com/Mathias_Kandil)
[@Mathias\_Kandil](https://x.com/Mathias_Kandil)
[Link to tweet](https://x.com/Mathias_Kandil/status/1923850294204522637)
So clean
[](https://x.com/AnshulSoni2010)
[Anshul Soni](https://x.com/AnshulSoni2010)
[@AnshulSoni2010](https://x.com/AnshulSoni2010)
[Link to tweet](https://x.com/AnshulSoni2010/status/1875895384226373680)
I love HextaUI 💖
[hextaui.com](https://hextaui.com/)
[](https://x.com/mtanmaym)
[Tanmay M 🚀](https://x.com/mtanmaym)
[@mtanmaym](https://x.com/mtanmaym)
[Link to tweet](https://x.com/mtanmaym/status/1782653978683072684)
Just check it out, It's awesome 🤩
Would love to see more components
[](https://x.com/CarpCarpingdiem)
[Carp-e Diem](https://x.com/CarpCarpingdiem)
[@CarpCarpingdiem](https://x.com/CarpCarpingdiem)
[Link to tweet](https://x.com/CarpCarpingdiem/status/1787091751997440143)
[@preetsuthar17](https://x.com/preetsuthar17) efforts with HextaUI is worth appreciation. Good going brother!!
[](https://x.com/Pingu2k4)
[Pingu](https://x.com/Pingu2k4)
[@Pingu2k4](https://x.com/Pingu2k4)
[Link to tweet](https://x.com/Pingu2k4/status/1782680701067776207)
A great start for some unique components. Congrats. :)
[](https://x.com/eter_inquirer)
[Abishek⚡](https://x.com/eter_inquirer)
[@eter\_inquirer](https://x.com/eter_inquirer)
[Link to tweet](https://x.com/eter_inquirer/status/1786800646433423488)
love this dude, I absolutely love the waterdrop effect ,3
[](https://x.com/MahdiEzz_code)
[Mahdi Ezzeddine](https://x.com/MahdiEzz_code)
[@MahdiEzz\_code](https://x.com/MahdiEzz_code)
[Link to tweet](https://x.com/MahdiEzz_code/status/1877006457331224849)
Well this is something I always wanted to do!
awesome!
[](https://x.com/EliRichmond33)
[Eli Richmond](https://x.com/EliRichmond33)
[@EliRichmond33](https://x.com/EliRichmond33)
[Link to tweet](https://x.com/EliRichmond33/status/1787135072392364394)
Oh wow this UI is really nice. It definitely made me want to check out the components.
Gonna keep my eye on you! This is great stuff!
[](https://x.com/Afnanksalal)
[Afnan K Salal](https://x.com/Afnanksalal)
[@Afnanksalal](https://x.com/Afnanksalal)
[Link to tweet](https://x.com/Afnanksalal/status/1920730864687763482)
Just tried out HextaUI by my good friend [@preetsuthar17](https://x.com/preetsuthar17).
Its just awesome! even without deep frontend experience, I was able to build something beautiful in no time.
Fast, intuitive, and seriously impressive work.
[](https://x.com/Mathias_Kandil)
[Mathias Kandil](https://x.com/Mathias_Kandil)
[@Mathias\_Kandil](https://x.com/Mathias_Kandil)
[Link to tweet](https://x.com/Mathias_Kandil/status/1923850294204522637)
So clean
[](https://x.com/AnshulSoni2010)
[Anshul Soni](https://x.com/AnshulSoni2010)
[@AnshulSoni2010](https://x.com/AnshulSoni2010)
[Link to tweet](https://x.com/AnshulSoni2010/status/1875895384226373680)
I love HextaUI 💖
[hextaui.com](https://hextaui.com/)
[](https://x.com/mtanmaym)
[Tanmay M 🚀](https://x.com/mtanmaym)
[@mtanmaym](https://x.com/mtanmaym)
[Link to tweet](https://x.com/mtanmaym/status/1782653978683072684)
Just check it out, It's awesome 🤩
Would love to see more components
[](https://x.com/CarpCarpingdiem)
[Carp-e Diem](https://x.com/CarpCarpingdiem)
[@CarpCarpingdiem](https://x.com/CarpCarpingdiem)
[Link to tweet](https://x.com/CarpCarpingdiem/status/1787091751997440143)
[@preetsuthar17](https://x.com/preetsuthar17) efforts with HextaUI is worth appreciation. Good going brother!!
[](https://x.com/Pingu2k4)
[Pingu](https://x.com/Pingu2k4)
[@Pingu2k4](https://x.com/Pingu2k4)
[Link to tweet](https://x.com/Pingu2k4/status/1782680701067776207)
A great start for some unique components. Congrats. :)
[](https://x.com/eter_inquirer)
[Abishek⚡](https://x.com/eter_inquirer)
[@eter\_inquirer](https://x.com/eter_inquirer)
[Link to tweet](https://x.com/eter_inquirer/status/1786800646433423488)
love this dude, I absolutely love the waterdrop effect ,3
[](https://x.com/MahdiEzz_code)
[Mahdi Ezzeddine](https://x.com/MahdiEzz_code)
[@MahdiEzz\_code](https://x.com/MahdiEzz_code)
[Link to tweet](https://x.com/MahdiEzz_code/status/1877006457331224849)
Well this is something I always wanted to do!
awesome!
[](https://x.com/EliRichmond33)
[Eli Richmond](https://x.com/EliRichmond33)
[@EliRichmond33](https://x.com/EliRichmond33)
[Link to tweet](https://x.com/EliRichmond33/status/1787135072392364394)
Oh wow this UI is really nice. It definitely made me want to check out the components.
Gonna keep my eye on you! This is great stuff!
[](https://x.com/BylkaYf)
[Bylka](https://x.com/BylkaYf)
[@BylkaYf](https://x.com/BylkaYf)
[Link to tweet](https://x.com/BylkaYf/status/1787163815987007863)
This UI lib is awesome 🔥.
It is one of the best libs i have saw in the field.
-Modern design.
-Full code ownership.
-Smooth & easy integration
Nice work [@preetsuthar17](https://x.com/preetsuthar17).✨
[](https://x.com/AlenVarazdinac)
[Alen Varaždinac](https://x.com/AlenVarazdinac)
[@AlenVarazdinac](https://x.com/AlenVarazdinac)
[Link to tweet](https://x.com/AlenVarazdinac/status/1785345519033684406)
That looks lovely, I love libraries that use tailwind.
[](https://x.com/buschbytes)
[Jonas Busch](https://x.com/buschbytes)
[@buschbytes](https://x.com/buschbytes)
[Link to tweet](https://x.com/buschbytes/status/1877385160850583852)
Just checked it out —awesome job, Preet! Congrats on the launch, and wishing you tons of success!
[](https://x.com/tim_is_coding)
[Timóteo \| discly....](https://x.com/tim_is_coding)
[@tim\_is\_coding](https://x.com/tim_is_coding)
[Link to tweet](https://x.com/tim_is_coding/status/1877370115185897503)
Woah! This look really good, nice!
[](https://x.com/ayushon_twt)
[call of duty enth...](https://x.com/ayushon_twt)
[@ayushon\_twt](https://x.com/ayushon_twt)
[Link to tweet](https://x.com/ayushon_twt/status/1877366719775129689)
Check it out guys, new ui in market 👀
[](https://x.com/doasfrancisco)
[Francisco](https://x.com/doasfrancisco)
[@doasfrancisco](https://x.com/doasfrancisco)
[Link to tweet](https://x.com/doasfrancisco/status/1877552363809948079)
hi! really cool product design
[](https://x.com/sorenblank)
[Soren](https://x.com/sorenblank)
[@sorenblank](https://x.com/sorenblank)
[Link to tweet](https://x.com/sorenblank/status/1785958241970913372)
So, my friend [@preetsuthar17](https://x.com/preetsuthar17) made a new Ui library called HextaUi. I don't know how he pulled that off but okay. Hats off.
You should give it a check: [ui.hextastudio.in](https://ui.hextastudio.in/)
[](https://x.com/aidevmatt)
[Matt](https://x.com/aidevmatt)
[@aidevmatt](https://x.com/aidevmatt)
[Link to tweet](https://x.com/aidevmatt/status/1788483420617588972)
Imagine a UI library that costs nothing but delivers everything. ❤️
That's HextaUI. Built by [@preetsuthar17](https://x.com/preetsuthar17) 🧑🎨
🧵Explore why it's perfect for your Next.js app. 👇
[#buildinpublic](https://x.com/hashtag/buildinpublic)
[](https://x.com/Soham_Asmi)
[🟢 gaurang.tsx](https://x.com/Soham_Asmi)
[@Soham\_Asmi](https://x.com/Soham_Asmi)
[Link to tweet](https://x.com/Soham_Asmi/status/1791555321871122586)
My dude [@preetsuthar17](https://x.com/preetsuthar17) keeps dropping gems. I hope you guys aren't sleeping on HextaUI.
[](https://x.com/BylkaYf)
[Bylka](https://x.com/BylkaYf)
[@BylkaYf](https://x.com/BylkaYf)
[Link to tweet](https://x.com/BylkaYf/status/1787163815987007863)
This UI lib is awesome 🔥.
It is one of the best libs i have saw in the field.
-Modern design.
-Full code ownership.
-Smooth & easy integration
Nice work [@preetsuthar17](https://x.com/preetsuthar17).✨
[](https://x.com/AlenVarazdinac)
[Alen Varaždinac](https://x.com/AlenVarazdinac)
[@AlenVarazdinac](https://x.com/AlenVarazdinac)
[Link to tweet](https://x.com/AlenVarazdinac/status/1785345519033684406)
That looks lovely, I love libraries that use tailwind.
[](https://x.com/buschbytes)
[Jonas Busch](https://x.com/buschbytes)
[@buschbytes](https://x.com/buschbytes)
[Link to tweet](https://x.com/buschbytes/status/1877385160850583852)
Just checked it out —awesome job, Preet! Congrats on the launch, and wishing you tons of success!
[](https://x.com/tim_is_coding)
[Timóteo \| discly....](https://x.com/tim_is_coding)
[@tim\_is\_coding](https://x.com/tim_is_coding)
[Link to tweet](https://x.com/tim_is_coding/status/1877370115185897503)
Woah! This look really good, nice!
[](https://x.com/ayushon_twt)
[call of duty enth...](https://x.com/ayushon_twt)
[@ayushon\_twt](https://x.com/ayushon_twt)
[Link to tweet](https://x.com/ayushon_twt/status/1877366719775129689)
Check it out guys, new ui in market 👀
[](https://x.com/doasfrancisco)
[Francisco](https://x.com/doasfrancisco)
[@doasfrancisco](https://x.com/doasfrancisco)
[Link to tweet](https://x.com/doasfrancisco/status/1877552363809948079)
hi! really cool product design
[](https://x.com/sorenblank)
[Soren](https://x.com/sorenblank)
[@sorenblank](https://x.com/sorenblank)
[Link to tweet](https://x.com/sorenblank/status/1785958241970913372)
So, my friend [@preetsuthar17](https://x.com/preetsuthar17) made a new Ui library called HextaUi. I don't know how he pulled that off but okay. Hats off.
You should give it a check: [ui.hextastudio.in](https://ui.hextastudio.in/)
[](https://x.com/aidevmatt)
[Matt](https://x.com/aidevmatt)
[@aidevmatt](https://x.com/aidevmatt)
[Link to tweet](https://x.com/aidevmatt/status/1788483420617588972)
Imagine a UI library that costs nothing but delivers everything. ❤️
That's HextaUI. Built by [@preetsuthar17](https://x.com/preetsuthar17) 🧑🎨
🧵Explore why it's perfect for your Next.js app. 👇
[#buildinpublic](https://x.com/hashtag/buildinpublic)
[](https://x.com/Soham_Asmi)
[🟢 gaurang.tsx](https://x.com/Soham_Asmi)
[@Soham\_Asmi](https://x.com/Soham_Asmi)
[Link to tweet](https://x.com/Soham_Asmi/status/1791555321871122586)
My dude [@preetsuthar17](https://x.com/preetsuthar17) keeps dropping gems. I hope you guys aren't sleeping on HextaUI.
[](https://x.com/BylkaYf)
[Bylka](https://x.com/BylkaYf)
[@BylkaYf](https://x.com/BylkaYf)
[Link to tweet](https://x.com/BylkaYf/status/1787163815987007863)
This UI lib is awesome 🔥.
It is one of the best libs i have saw in the field.
-Modern design.
-Full code ownership.
-Smooth & easy integration
Nice work [@preetsuthar17](https://x.com/preetsuthar17).✨
[](https://x.com/AlenVarazdinac)
[Alen Varaždinac](https://x.com/AlenVarazdinac)
[@AlenVarazdinac](https://x.com/AlenVarazdinac)
[Link to tweet](https://x.com/AlenVarazdinac/status/1785345519033684406)
That looks lovely, I love libraries that use tailwind.
[](https://x.com/buschbytes)
[Jonas Busch](https://x.com/buschbytes)
[@buschbytes](https://x.com/buschbytes)
[Link to tweet](https://x.com/buschbytes/status/1877385160850583852)
Just checked it out —awesome job, Preet! Congrats on the launch, and wishing you tons of success!
[](https://x.com/tim_is_coding)
[Timóteo \| discly....](https://x.com/tim_is_coding)
[@tim\_is\_coding](https://x.com/tim_is_coding)
[Link to tweet](https://x.com/tim_is_coding/status/1877370115185897503)
Woah! This look really good, nice!
[](https://x.com/ayushon_twt)
[call of duty enth...](https://x.com/ayushon_twt)
[@ayushon\_twt](https://x.com/ayushon_twt)
[Link to tweet](https://x.com/ayushon_twt/status/1877366719775129689)
Check it out guys, new ui in market 👀
[](https://x.com/doasfrancisco)
[Francisco](https://x.com/doasfrancisco)
[@doasfrancisco](https://x.com/doasfrancisco)
[Link to tweet](https://x.com/doasfrancisco/status/1877552363809948079)
hi! really cool product design
[](https://x.com/sorenblank)
[Soren](https://x.com/sorenblank)
[@sorenblank](https://x.com/sorenblank)
[Link to tweet](https://x.com/sorenblank/status/1785958241970913372)
So, my friend [@preetsuthar17](https://x.com/preetsuthar17) made a new Ui library called HextaUi. I don't know how he pulled that off but okay. Hats off.
You should give it a check: [ui.hextastudio.in](https://ui.hextastudio.in/)
[](https://x.com/aidevmatt)
[Matt](https://x.com/aidevmatt)
[@aidevmatt](https://x.com/aidevmatt)
[Link to tweet](https://x.com/aidevmatt/status/1788483420617588972)
Imagine a UI library that costs nothing but delivers everything. ❤️
That's HextaUI. Built by [@preetsuthar17](https://x.com/preetsuthar17) 🧑🎨
🧵Explore why it's perfect for your Next.js app. 👇
[#buildinpublic](https://x.com/hashtag/buildinpublic)
[](https://x.com/Soham_Asmi)
[🟢 gaurang.tsx](https://x.com/Soham_Asmi)
[@Soham\_Asmi](https://x.com/Soham_Asmi)
[Link to tweet](https://x.com/Soham_Asmi/status/1791555321871122586)
My dude [@preetsuthar17](https://x.com/preetsuthar17) keeps dropping gems. I hope you guys aren't sleeping on HextaUI.
[](https://x.com/BylkaYf)
[Bylka](https://x.com/BylkaYf)
[@BylkaYf](https://x.com/BylkaYf)
[Link to tweet](https://x.com/BylkaYf/status/1787163815987007863)
This UI lib is awesome 🔥.
It is one of the best libs i have saw in the field.
-Modern design.
-Full code ownership.
-Smooth & easy integration
Nice work [@preetsuthar17](https://x.com/preetsuthar17).✨
[](https://x.com/AlenVarazdinac)
[Alen Varaždinac](https://x.com/AlenVarazdinac)
[@AlenVarazdinac](https://x.com/AlenVarazdinac)
[Link to tweet](https://x.com/AlenVarazdinac/status/1785345519033684406)
That looks lovely, I love libraries that use tailwind.
[](https://x.com/buschbytes)
[Jonas Busch](https://x.com/buschbytes)
[@buschbytes](https://x.com/buschbytes)
[Link to tweet](https://x.com/buschbytes/status/1877385160850583852)
Just checked it out —awesome job, Preet! Congrats on the launch, and wishing you tons of success!
[](https://x.com/tim_is_coding)
[Timóteo \| discly....](https://x.com/tim_is_coding)
[@tim\_is\_coding](https://x.com/tim_is_coding)
[Link to tweet](https://x.com/tim_is_coding/status/1877370115185897503)
Woah! This look really good, nice!
[](https://x.com/ayushon_twt)
[call of duty enth...](https://x.com/ayushon_twt)
[@ayushon\_twt](https://x.com/ayushon_twt)
[Link to tweet](https://x.com/ayushon_twt/status/1877366719775129689)
Check it out guys, new ui in market 👀
[](https://x.com/doasfrancisco)
[Francisco](https://x.com/doasfrancisco)
[@doasfrancisco](https://x.com/doasfrancisco)
[Link to tweet](https://x.com/doasfrancisco/status/1877552363809948079)
hi! really cool product design
[](https://x.com/sorenblank)
[Soren](https://x.com/sorenblank)
[@sorenblank](https://x.com/sorenblank)
[Link to tweet](https://x.com/sorenblank/status/1785958241970913372)
So, my friend [@preetsuthar17](https://x.com/preetsuthar17) made a new Ui library called HextaUi. I don't know how he pulled that off but okay. Hats off.
You should give it a check: [ui.hextastudio.in](https://ui.hextastudio.in/)
[](https://x.com/aidevmatt)
[Matt](https://x.com/aidevmatt)
[@aidevmatt](https://x.com/aidevmatt)
[Link to tweet](https://x.com/aidevmatt/status/1788483420617588972)
Imagine a UI library that costs nothing but delivers everything. ❤️
That's HextaUI. Built by [@preetsuthar17](https://x.com/preetsuthar17) 🧑🎨
🧵Explore why it's perfect for your Next.js app. 👇
[#buildinpublic](https://x.com/hashtag/buildinpublic)
[](https://x.com/Soham_Asmi)
[🟢 gaurang.tsx](https://x.com/Soham_Asmi)
[@Soham\_Asmi](https://x.com/Soham_Asmi)
[Link to tweet](https://x.com/Soham_Asmi/status/1791555321871122586)
My dude [@preetsuthar17](https://x.com/preetsuthar17) keeps dropping gems. I hope you guys aren't sleeping on HextaUI.
[](https://x.com/BylkaYf)
[Bylka](https://x.com/BylkaYf)
[@BylkaYf](https://x.com/BylkaYf)
[Link to tweet](https://x.com/BylkaYf/status/1787163815987007863)
This UI lib is awesome 🔥.
It is one of the best libs i have saw in the field.
-Modern design.
-Full code ownership.
-Smooth & easy integration
Nice work [@preetsuthar17](https://x.com/preetsuthar17).✨
[](https://x.com/AlenVarazdinac)
[Alen Varaždinac](https://x.com/AlenVarazdinac)
[@AlenVarazdinac](https://x.com/AlenVarazdinac)
[Link to tweet](https://x.com/AlenVarazdinac/status/1785345519033684406)
That looks lovely, I love libraries that use tailwind.
[](https://x.com/buschbytes)
[Jonas Busch](https://x.com/buschbytes)
[@buschbytes](https://x.com/buschbytes)
[Link to tweet](https://x.com/buschbytes/status/1877385160850583852)
Just checked it out —awesome job, Preet! Congrats on the launch, and wishing you tons of success!
[](https://x.com/tim_is_coding)
[Timóteo \| discly....](https://x.com/tim_is_coding)
[@tim\_is\_coding](https://x.com/tim_is_coding)
[Link to tweet](https://x.com/tim_is_coding/status/1877370115185897503)
Woah! This look really good, nice!
[](https://x.com/ayushon_twt)
[call of duty enth...](https://x.com/ayushon_twt)
[@ayushon\_twt](https://x.com/ayushon_twt)
[Link to tweet](https://x.com/ayushon_twt/status/1877366719775129689)
Check it out guys, new ui in market 👀
[](https://x.com/doasfrancisco)
[Francisco](https://x.com/doasfrancisco)
[@doasfrancisco](https://x.com/doasfrancisco)
[Link to tweet](https://x.com/doasfrancisco/status/1877552363809948079)
hi! really cool product design
[](https://x.com/sorenblank)
[Soren](https://x.com/sorenblank)
[@sorenblank](https://x.com/sorenblank)
[Link to tweet](https://x.com/sorenblank/status/1785958241970913372)
So, my friend [@preetsuthar17](https://x.com/preetsuthar17) made a new Ui library called HextaUi. I don't know how he pulled that off but okay. Hats off.
You should give it a check: [ui.hextastudio.in](https://ui.hextastudio.in/)
[](https://x.com/aidevmatt)
[Matt](https://x.com/aidevmatt)
[@aidevmatt](https://x.com/aidevmatt)
[Link to tweet](https://x.com/aidevmatt/status/1788483420617588972)
Imagine a UI library that costs nothing but delivers everything. ❤️
That's HextaUI. Built by [@preetsuthar17](https://x.com/preetsuthar17) 🧑🎨
🧵Explore why it's perfect for your Next.js app. 👇
[#buildinpublic](https://x.com/hashtag/buildinpublic)
[](https://x.com/Soham_Asmi)
[🟢 gaurang.tsx](https://x.com/Soham_Asmi)
[@Soham\_Asmi](https://x.com/Soham_Asmi)
[Link to tweet](https://x.com/Soham_Asmi/status/1791555321871122586)
My dude [@preetsuthar17](https://x.com/preetsuthar17) keeps dropping gems. I hope you guys aren't sleeping on HextaUI.
[](https://x.com/BylkaYf)
[Bylka](https://x.com/BylkaYf)
[@BylkaYf](https://x.com/BylkaYf)
[Link to tweet](https://x.com/BylkaYf/status/1787163815987007863)
This UI lib is awesome 🔥.
It is one of the best libs i have saw in the field.
-Modern design.
-Full code ownership.
-Smooth & easy integration
Nice work [@preetsuthar17](https://x.com/preetsuthar17).✨
[](https://x.com/AlenVarazdinac)
[Alen Varaždinac](https://x.com/AlenVarazdinac)
[@AlenVarazdinac](https://x.com/AlenVarazdinac)
[Link to tweet](https://x.com/AlenVarazdinac/status/1785345519033684406)
That looks lovely, I love libraries that use tailwind.
[](https://x.com/buschbytes)
[Jonas Busch](https://x.com/buschbytes)
[@buschbytes](https://x.com/buschbytes)
[Link to tweet](https://x.com/buschbytes/status/1877385160850583852)
Just checked it out —awesome job, Preet! Congrats on the launch, and wishing you tons of success!
[](https://x.com/tim_is_coding)
[Timóteo \| discly....](https://x.com/tim_is_coding)
[@tim\_is\_coding](https://x.com/tim_is_coding)
[Link to tweet](https://x.com/tim_is_coding/status/1877370115185897503)
Woah! This look really good, nice!
[](https://x.com/ayushon_twt)
[call of duty enth...](https://x.com/ayushon_twt)
[@ayushon\_twt](https://x.com/ayushon_twt)
[Link to tweet](https://x.com/ayushon_twt/status/1877366719775129689)
Check it out guys, new ui in market 👀
[](https://x.com/doasfrancisco)
[Francisco](https://x.com/doasfrancisco)
[@doasfrancisco](https://x.com/doasfrancisco)
[Link to tweet](https://x.com/doasfrancisco/status/1877552363809948079)
hi! really cool product design
[](https://x.com/sorenblank)
[Soren](https://x.com/sorenblank)
[@sorenblank](https://x.com/sorenblank)
[Link to tweet](https://x.com/sorenblank/status/1785958241970913372)
So, my friend [@preetsuthar17](https://x.com/preetsuthar17) made a new Ui library called HextaUi. I don't know how he pulled that off but okay. Hats off.
You should give it a check: [ui.hextastudio.in](https://ui.hextastudio.in/)
[](https://x.com/aidevmatt)
[Matt](https://x.com/aidevmatt)
[@aidevmatt](https://x.com/aidevmatt)
[Link to tweet](https://x.com/aidevmatt/status/1788483420617588972)
Imagine a UI library that costs nothing but delivers everything. ❤️
That's HextaUI. Built by [@preetsuthar17](https://x.com/preetsuthar17) 🧑🎨
🧵Explore why it's perfect for your Next.js app. 👇
[#buildinpublic](https://x.com/hashtag/buildinpublic)
[](https://x.com/Soham_Asmi)
[🟢 gaurang.tsx](https://x.com/Soham_Asmi)
[@Soham\_Asmi](https://x.com/Soham_Asmi)
[Link to tweet](https://x.com/Soham_Asmi/status/1791555321871122586)
My dude [@preetsuthar17](https://x.com/preetsuthar17) keeps dropping gems. I hope you guys aren't sleeping on HextaUI.
[](https://x.com/BylkaYf)
[Bylka](https://x.com/BylkaYf)
[@BylkaYf](https://x.com/BylkaYf)
[Link to tweet](https://x.com/BylkaYf/status/1787163815987007863)
This UI lib is awesome 🔥.
It is one of the best libs i have saw in the field.
-Modern design.
-Full code ownership.
-Smooth & easy integration
Nice work [@preetsuthar17](https://x.com/preetsuthar17).✨
[](https://x.com/AlenVarazdinac)
[Alen Varaždinac](https://x.com/AlenVarazdinac)
[@AlenVarazdinac](https://x.com/AlenVarazdinac)
[Link to tweet](https://x.com/AlenVarazdinac/status/1785345519033684406)
That looks lovely, I love libraries that use tailwind.
[](https://x.com/buschbytes)
[Jonas Busch](https://x.com/buschbytes)
[@buschbytes](https://x.com/buschbytes)
[Link to tweet](https://x.com/buschbytes/status/1877385160850583852)
Just checked it out —awesome job, Preet! Congrats on the launch, and wishing you tons of success!
[](https://x.com/tim_is_coding)
[Timóteo \| discly....](https://x.com/tim_is_coding)
[@tim\_is\_coding](https://x.com/tim_is_coding)
[Link to tweet](https://x.com/tim_is_coding/status/1877370115185897503)
Woah! This look really good, nice!
[](https://x.com/ayushon_twt)
[call of duty enth...](https://x.com/ayushon_twt)
[@ayushon\_twt](https://x.com/ayushon_twt)
[Link to tweet](https://x.com/ayushon_twt/status/1877366719775129689)
Check it out guys, new ui in market 👀
[](https://x.com/doasfrancisco)
[Francisco](https://x.com/doasfrancisco)
[@doasfrancisco](https://x.com/doasfrancisco)
[Link to tweet](https://x.com/doasfrancisco/status/1877552363809948079)
hi! really cool product design
[](https://x.com/sorenblank)
[Soren](https://x.com/sorenblank)
[@sorenblank](https://x.com/sorenblank)
[Link to tweet](https://x.com/sorenblank/status/1785958241970913372)
So, my friend [@preetsuthar17](https://x.com/preetsuthar17) made a new Ui library called HextaUi. I don't know how he pulled that off but okay. Hats off.
You should give it a check: [ui.hextastudio.in](https://ui.hextastudio.in/)
[](https://x.com/aidevmatt)
[Matt](https://x.com/aidevmatt)
[@aidevmatt](https://x.com/aidevmatt)
[Link to tweet](https://x.com/aidevmatt/status/1788483420617588972)
Imagine a UI library that costs nothing but delivers everything. ❤️
That's HextaUI. Built by [@preetsuthar17](https://x.com/preetsuthar17) 🧑🎨
🧵Explore why it's perfect for your Next.js app. 👇
[#buildinpublic](https://x.com/hashtag/buildinpublic)
[](https://x.com/Soham_Asmi)
[🟢 gaurang.tsx](https://x.com/Soham_Asmi)
[@Soham\_Asmi](https://x.com/Soham_Asmi)
[Link to tweet](https://x.com/Soham_Asmi/status/1791555321871122586)
My dude [@preetsuthar17](https://x.com/preetsuthar17) keeps dropping gems. I hope you guys aren't sleeping on HextaUI.
[](https://x.com/BylkaYf)
[Bylka](https://x.com/BylkaYf)
[@BylkaYf](https://x.com/BylkaYf)
[Link to tweet](https://x.com/BylkaYf/status/1787163815987007863)
This UI lib is awesome 🔥.
It is one of the best libs i have saw in the field.
-Modern design.
-Full code ownership.
-Smooth & easy integration
Nice work [@preetsuthar17](https://x.com/preetsuthar17).✨
[](https://x.com/AlenVarazdinac)
[Alen Varaždinac](https://x.com/AlenVarazdinac)
[@AlenVarazdinac](https://x.com/AlenVarazdinac)
[Link to tweet](https://x.com/AlenVarazdinac/status/1785345519033684406)
That looks lovely, I love libraries that use tailwind.
[](https://x.com/buschbytes)
[Jonas Busch](https://x.com/buschbytes)
[@buschbytes](https://x.com/buschbytes)
[Link to tweet](https://x.com/buschbytes/status/1877385160850583852)
Just checked it out —awesome job, Preet! Congrats on the launch, and wishing you tons of success!
[](https://x.com/tim_is_coding)
[Timóteo \| discly....](https://x.com/tim_is_coding)
[@tim\_is\_coding](https://x.com/tim_is_coding)
[Link to tweet](https://x.com/tim_is_coding/status/1877370115185897503)
Woah! This look really good, nice!
[](https://x.com/ayushon_twt)
[call of duty enth...](https://x.com/ayushon_twt)
[@ayushon\_twt](https://x.com/ayushon_twt)
[Link to tweet](https://x.com/ayushon_twt/status/1877366719775129689)
Check it out guys, new ui in market 👀
[](https://x.com/doasfrancisco)
[Francisco](https://x.com/doasfrancisco)
[@doasfrancisco](https://x.com/doasfrancisco)
[Link to tweet](https://x.com/doasfrancisco/status/1877552363809948079)
hi! really cool product design
[](https://x.com/sorenblank)
[Soren](https://x.com/sorenblank)
[@sorenblank](https://x.com/sorenblank)
[Link to tweet](https://x.com/sorenblank/status/1785958241970913372)
So, my friend [@preetsuthar17](https://x.com/preetsuthar17) made a new Ui library called HextaUi. I don't know how he pulled that off but okay. Hats off.
You should give it a check: [ui.hextastudio.in](https://ui.hextastudio.in/)
[](https://x.com/aidevmatt)
[Matt](https://x.com/aidevmatt)
[@aidevmatt](https://x.com/aidevmatt)
[Link to tweet](https://x.com/aidevmatt/status/1788483420617588972)
Imagine a UI library that costs nothing but delivers everything. ❤️
That's HextaUI. Built by [@preetsuthar17](https://x.com/preetsuthar17) 🧑🎨
🧵Explore why it's perfect for your Next.js app. 👇
[#buildinpublic](https://x.com/hashtag/buildinpublic)
[](https://x.com/Soham_Asmi)
[🟢 gaurang.tsx](https://x.com/Soham_Asmi)
[@Soham\_Asmi](https://x.com/Soham_Asmi)
[Link to tweet](https://x.com/Soham_Asmi/status/1791555321871122586)
My dude [@preetsuthar17](https://x.com/preetsuthar17) keeps dropping gems. I hope you guys aren't sleeping on HextaUI.
[](https://x.com/pseudokid)
[raymel 🚀](https://x.com/pseudokid)
[@pseudokid](https://x.com/pseudokid)
[Link to tweet](https://x.com/pseudokid/status/1793606675745878490)
Hey Preet! Cool stuff on HextaUI 🔥
You're doing well with your account, keep it up with the cool demos!
[](https://x.com/hxutixnnn)
[Tien Nguyen](https://x.com/hxutixnnn)
[@hxutixnnn](https://x.com/hxutixnnn)
[Link to tweet](https://x.com/hxutixnnn/status/1794994587213451321)
This is sick! 🔥
Impressive project, Preet!
I will give hexta-ui a try on my next project for sure! 🫡
[](https://x.com/invisibili9935)
[Khalil Rouis](https://x.com/invisibili9935)
[@invisibili9935](https://x.com/invisibili9935)
[Link to tweet](https://x.com/invisibili9935/status/1787088566025122186)
That's such an amazing components library man! I see big potential keep grinding
[](https://x.com/the__gagan)
[Gagan Kumar](https://x.com/the__gagan)
[@the\_\_gagan](https://x.com/the__gagan)
[Link to tweet](https://x.com/the__gagan/status/1934623769710248082)
It's dam good.
Your browser does not support the video tag.
[](https://x.com/___ZCA)
[Zaire Allen](https://x.com/___ZCA)
[@\_\_\_ZCA](https://x.com/___ZCA)
[Link to tweet](https://x.com/___ZCA/status/1934692332819108113)
ahh shit, here we go again
love the components, can't wait to use
will be peeping this over the weekend!
[](https://x.com/mrterrycarson)
[Terry Carson](https://x.com/mrterrycarson)
[@mrterrycarson](https://x.com/mrterrycarson)
[Link to tweet](https://x.com/mrterrycarson/status/1934668017389969728)
Congrats on the launch! This sounds like a game-changer for developers. Excited to check it out!
[](https://x.com/jacrobsco)
[Jack Scott](https://x.com/jacrobsco)
[@jacrobsco](https://x.com/jacrobsco)
[Link to tweet](https://x.com/jacrobsco/status/1934869812376949168)
great work! i really appreciate the choice to write your components with custom code (rather than importing out of some random other library..)
[](https://x.com/pseudokid)
[raymel 🚀](https://x.com/pseudokid)
[@pseudokid](https://x.com/pseudokid)
[Link to tweet](https://x.com/pseudokid/status/1793606675745878490)
Hey Preet! Cool stuff on HextaUI 🔥
You're doing well with your account, keep it up with the cool demos!
[](https://x.com/hxutixnnn)
[Tien Nguyen](https://x.com/hxutixnnn)
[@hxutixnnn](https://x.com/hxutixnnn)
[Link to tweet](https://x.com/hxutixnnn/status/1794994587213451321)
This is sick! 🔥
Impressive project, Preet!
I will give hexta-ui a try on my next project for sure! 🫡
[](https://x.com/invisibili9935)
[Khalil Rouis](https://x.com/invisibili9935)
[@invisibili9935](https://x.com/invisibili9935)
[Link to tweet](https://x.com/invisibili9935/status/1787088566025122186)
That's such an amazing components library man! I see big potential keep grinding
[](https://x.com/the__gagan)
[Gagan Kumar](https://x.com/the__gagan)
[@the\_\_gagan](https://x.com/the__gagan)
[Link to tweet](https://x.com/the__gagan/status/1934623769710248082)
It's dam good.
Your browser does not support the video tag.
[](https://x.com/___ZCA)
[Zaire Allen](https://x.com/___ZCA)
[@\_\_\_ZCA](https://x.com/___ZCA)
[Link to tweet](https://x.com/___ZCA/status/1934692332819108113)
ahh shit, here we go again
love the components, can't wait to use
will be peeping this over the weekend!
[](https://x.com/mrterrycarson)
[Terry Carson](https://x.com/mrterrycarson)
[@mrterrycarson](https://x.com/mrterrycarson)
[Link to tweet](https://x.com/mrterrycarson/status/1934668017389969728)
Congrats on the launch! This sounds like a game-changer for developers. Excited to check it out!
[](https://x.com/jacrobsco)
[Jack Scott](https://x.com/jacrobsco)
[@jacrobsco](https://x.com/jacrobsco)
[Link to tweet](https://x.com/jacrobsco/status/1934869812376949168)
great work! i really appreciate the choice to write your components with custom code (rather than importing out of some random other library..)
[](https://x.com/pseudokid)
[raymel 🚀](https://x.com/pseudokid)
[@pseudokid](https://x.com/pseudokid)
[Link to tweet](https://x.com/pseudokid/status/1793606675745878490)
Hey Preet! Cool stuff on HextaUI 🔥
You're doing well with your account, keep it up with the cool demos!
[](https://x.com/hxutixnnn)
[Tien Nguyen](https://x.com/hxutixnnn)
[@hxutixnnn](https://x.com/hxutixnnn)
[Link to tweet](https://x.com/hxutixnnn/status/1794994587213451321)
This is sick! 🔥
Impressive project, Preet!
I will give hexta-ui a try on my next project for sure! 🫡
[](https://x.com/invisibili9935)
[Khalil Rouis](https://x.com/invisibili9935)
[@invisibili9935](https://x.com/invisibili9935)
[Link to tweet](https://x.com/invisibili9935/status/1787088566025122186)
That's such an amazing components library man! I see big potential keep grinding
[](https://x.com/the__gagan)
[Gagan Kumar](https://x.com/the__gagan)
[@the\_\_gagan](https://x.com/the__gagan)
[Link to tweet](https://x.com/the__gagan/status/1934623769710248082)
It's dam good.
Your browser does not support the video tag.
[](https://x.com/___ZCA)
[Zaire Allen](https://x.com/___ZCA)
[@\_\_\_ZCA](https://x.com/___ZCA)
[Link to tweet](https://x.com/___ZCA/status/1934692332819108113)
ahh shit, here we go again
love the components, can't wait to use
will be peeping this over the weekend!
[](https://x.com/mrterrycarson)
[Terry Carson](https://x.com/mrterrycarson)
[@mrterrycarson](https://x.com/mrterrycarson)
[Link to tweet](https://x.com/mrterrycarson/status/1934668017389969728)
Congrats on the launch! This sounds like a game-changer for developers. Excited to check it out!
[](https://x.com/jacrobsco)
[Jack Scott](https://x.com/jacrobsco)
[@jacrobsco](https://x.com/jacrobsco)
[Link to tweet](https://x.com/jacrobsco/status/1934869812376949168)
great work! i really appreciate the choice to write your components with custom code (rather than importing out of some random other library..)
[](https://x.com/pseudokid)
[raymel 🚀](https://x.com/pseudokid)
[@pseudokid](https://x.com/pseudokid)
[Link to tweet](https://x.com/pseudokid/status/1793606675745878490)
Hey Preet! Cool stuff on HextaUI 🔥
You're doing well with your account, keep it up with the cool demos!
[](https://x.com/hxutixnnn)
[Tien Nguyen](https://x.com/hxutixnnn)
[@hxutixnnn](https://x.com/hxutixnnn)
[Link to tweet](https://x.com/hxutixnnn/status/1794994587213451321)
This is sick! 🔥
Impressive project, Preet!
I will give hexta-ui a try on my next project for sure! 🫡
[](https://x.com/invisibili9935)
[Khalil Rouis](https://x.com/invisibili9935)
[@invisibili9935](https://x.com/invisibili9935)
[Link to tweet](https://x.com/invisibili9935/status/1787088566025122186)
That's such an amazing components library man! I see big potential keep grinding
[](https://x.com/the__gagan)
[Gagan Kumar](https://x.com/the__gagan)
[@the\_\_gagan](https://x.com/the__gagan)
[Link to tweet](https://x.com/the__gagan/status/1934623769710248082)
It's dam good.
Your browser does not support the video tag.
[](https://x.com/___ZCA)
[Zaire Allen](https://x.com/___ZCA)
[@\_\_\_ZCA](https://x.com/___ZCA)
[Link to tweet](https://x.com/___ZCA/status/1934692332819108113)
ahh shit, here we go again
love the components, can't wait to use
will be peeping this over the weekend!
[](https://x.com/mrterrycarson)
[Terry Carson](https://x.com/mrterrycarson)
[@mrterrycarson](https://x.com/mrterrycarson)
[Link to tweet](https://x.com/mrterrycarson/status/1934668017389969728)
Congrats on the launch! This sounds like a game-changer for developers. Excited to check it out!
[](https://x.com/jacrobsco)
[Jack Scott](https://x.com/jacrobsco)
[@jacrobsco](https://x.com/jacrobsco)
[Link to tweet](https://x.com/jacrobsco/status/1934869812376949168)
great work! i really appreciate the choice to write your components with custom code (rather than importing out of some random other library..)
[](https://x.com/pseudokid)
[raymel 🚀](https://x.com/pseudokid)
[@pseudokid](https://x.com/pseudokid)
[Link to tweet](https://x.com/pseudokid/status/1793606675745878490)
Hey Preet! Cool stuff on HextaUI 🔥
You're doing well with your account, keep it up with the cool demos!
[](https://x.com/hxutixnnn)
[Tien Nguyen](https://x.com/hxutixnnn)
[@hxutixnnn](https://x.com/hxutixnnn)
[Link to tweet](https://x.com/hxutixnnn/status/1794994587213451321)
This is sick! 🔥
Impressive project, Preet!
I will give hexta-ui a try on my next project for sure! 🫡
[](https://x.com/invisibili9935)
[Khalil Rouis](https://x.com/invisibili9935)
[@invisibili9935](https://x.com/invisibili9935)
[Link to tweet](https://x.com/invisibili9935/status/1787088566025122186)
That's such an amazing components library man! I see big potential keep grinding
[](https://x.com/the__gagan)
[Gagan Kumar](https://x.com/the__gagan)
[@the\_\_gagan](https://x.com/the__gagan)
[Link to tweet](https://x.com/the__gagan/status/1934623769710248082)
It's dam good.
Your browser does not support the video tag.
[](https://x.com/___ZCA)
[Zaire Allen](https://x.com/___ZCA)
[@\_\_\_ZCA](https://x.com/___ZCA)
[Link to tweet](https://x.com/___ZCA/status/1934692332819108113)
ahh shit, here we go again
love the components, can't wait to use
will be peeping this over the weekend!
[](https://x.com/mrterrycarson)
[Terry Carson](https://x.com/mrterrycarson)
[@mrterrycarson](https://x.com/mrterrycarson)
[Link to tweet](https://x.com/mrterrycarson/status/1934668017389969728)
Congrats on the launch! This sounds like a game-changer for developers. Excited to check it out!
[](https://x.com/jacrobsco)
[Jack Scott](https://x.com/jacrobsco)
[@jacrobsco](https://x.com/jacrobsco)
[Link to tweet](https://x.com/jacrobsco/status/1934869812376949168)
great work! i really appreciate the choice to write your components with custom code (rather than importing out of some random other library..)
[](https://x.com/pseudokid)
[raymel 🚀](https://x.com/pseudokid)
[@pseudokid](https://x.com/pseudokid)
[Link to tweet](https://x.com/pseudokid/status/1793606675745878490)
Hey Preet! Cool stuff on HextaUI 🔥
You're doing well with your account, keep it up with the cool demos!
[](https://x.com/hxutixnnn)
[Tien Nguyen](https://x.com/hxutixnnn)
[@hxutixnnn](https://x.com/hxutixnnn)
[Link to tweet](https://x.com/hxutixnnn/status/1794994587213451321)
This is sick! 🔥
Impressive project, Preet!
I will give hexta-ui a try on my next project for sure! 🫡
[](https://x.com/invisibili9935)
[Khalil Rouis](https://x.com/invisibili9935)
[@invisibili9935](https://x.com/invisibili9935)
[Link to tweet](https://x.com/invisibili9935/status/1787088566025122186)
That's such an amazing components library man! I see big potential keep grinding
[](https://x.com/the__gagan)
[Gagan Kumar](https://x.com/the__gagan)
[@the\_\_gagan](https://x.com/the__gagan)
[Link to tweet](https://x.com/the__gagan/status/1934623769710248082)
It's dam good.
Your browser does not support the video tag.
[](https://x.com/___ZCA)
[Zaire Allen](https://x.com/___ZCA)
[@\_\_\_ZCA](https://x.com/___ZCA)
[Link to tweet](https://x.com/___ZCA/status/1934692332819108113)
ahh shit, here we go again
love the components, can't wait to use
will be peeping this over the weekend!
[](https://x.com/mrterrycarson)
[Terry Carson](https://x.com/mrterrycarson)
[@mrterrycarson](https://x.com/mrterrycarson)
[Link to tweet](https://x.com/mrterrycarson/status/1934668017389969728)
Congrats on the launch! This sounds like a game-changer for developers. Excited to check it out!
[](https://x.com/jacrobsco)
[Jack Scott](https://x.com/jacrobsco)
[@jacrobsco](https://x.com/jacrobsco)
[Link to tweet](https://x.com/jacrobsco/status/1934869812376949168)
great work! i really appreciate the choice to write your components with custom code (rather than importing out of some random other library..)
[](https://x.com/pseudokid)
[raymel 🚀](https://x.com/pseudokid)
[@pseudokid](https://x.com/pseudokid)
[Link to tweet](https://x.com/pseudokid/status/1793606675745878490)
Hey Preet! Cool stuff on HextaUI 🔥
You're doing well with your account, keep it up with the cool demos!
[](https://x.com/hxutixnnn)
[Tien Nguyen](https://x.com/hxutixnnn)
[@hxutixnnn](https://x.com/hxutixnnn)
[Link to tweet](https://x.com/hxutixnnn/status/1794994587213451321)
This is sick! 🔥
Impressive project, Preet!
I will give hexta-ui a try on my next project for sure! 🫡
[](https://x.com/invisibili9935)
[Khalil Rouis](https://x.com/invisibili9935)
[@invisibili9935](https://x.com/invisibili9935)
[Link to tweet](https://x.com/invisibili9935/status/1787088566025122186)
That's such an amazing components library man! I see big potential keep grinding
[](https://x.com/the__gagan)
[Gagan Kumar](https://x.com/the__gagan)
[@the\_\_gagan](https://x.com/the__gagan)
[Link to tweet](https://x.com/the__gagan/status/1934623769710248082)
It's dam good.
Your browser does not support the video tag.
[](https://x.com/___ZCA)
[Zaire Allen](https://x.com/___ZCA)
[@\_\_\_ZCA](https://x.com/___ZCA)
[Link to tweet](https://x.com/___ZCA/status/1934692332819108113)
ahh shit, here we go again
love the components, can't wait to use
will be peeping this over the weekend!
[](https://x.com/mrterrycarson)
[Terry Carson](https://x.com/mrterrycarson)
[@mrterrycarson](https://x.com/mrterrycarson)
[Link to tweet](https://x.com/mrterrycarson/status/1934668017389969728)
Congrats on the launch! This sounds like a game-changer for developers. Excited to check it out!
[](https://x.com/jacrobsco)
[Jack Scott](https://x.com/jacrobsco)
[@jacrobsco](https://x.com/jacrobsco)
[Link to tweet](https://x.com/jacrobsco/status/1934869812376949168)
great work! i really appreciate the choice to write your components with custom code (rather than importing out of some random other library..)
[](https://x.com/pseudokid)
[raymel 🚀](https://x.com/pseudokid)
[@pseudokid](https://x.com/pseudokid)
[Link to tweet](https://x.com/pseudokid/status/1793606675745878490)
Hey Preet! Cool stuff on HextaUI 🔥
You're doing well with your account, keep it up with the cool demos!
[](https://x.com/hxutixnnn)
[Tien Nguyen](https://x.com/hxutixnnn)
[@hxutixnnn](https://x.com/hxutixnnn)
[Link to tweet](https://x.com/hxutixnnn/status/1794994587213451321)
This is sick! 🔥
Impressive project, Preet!
I will give hexta-ui a try on my next project for sure! 🫡
[](https://x.com/invisibili9935)
[Khalil Rouis](https://x.com/invisibili9935)
[@invisibili9935](https://x.com/invisibili9935)
[Link to tweet](https://x.com/invisibili9935/status/1787088566025122186)
That's such an amazing components library man! I see big potential keep grinding
[](https://x.com/the__gagan)
[Gagan Kumar](https://x.com/the__gagan)
[@the\_\_gagan](https://x.com/the__gagan)
[Link to tweet](https://x.com/the__gagan/status/1934623769710248082)
It's dam good.
Your browser does not support the video tag.
[](https://x.com/___ZCA)
[Zaire Allen](https://x.com/___ZCA)
[@\_\_\_ZCA](https://x.com/___ZCA)
[Link to tweet](https://x.com/___ZCA/status/1934692332819108113)
ahh shit, here we go again
love the components, can't wait to use
will be peeping this over the weekend!
[](https://x.com/mrterrycarson)
[Terry Carson](https://x.com/mrterrycarson)
[@mrterrycarson](https://x.com/mrterrycarson)
[Link to tweet](https://x.com/mrterrycarson/status/1934668017389969728)
Congrats on the launch! This sounds like a game-changer for developers. Excited to check it out!
[](https://x.com/jacrobsco)
[Jack Scott](https://x.com/jacrobsco)
[@jacrobsco](https://x.com/jacrobsco)
[Link to tweet](https://x.com/jacrobsco/status/1934869812376949168)
great work! i really appreciate the choice to write your components with custom code (rather than importing out of some random other library..)
Join thousands of developers who trust HextaUI for their projects.
Community
## Join our community
Connect with developers and get support.
[**Twitter** \\
\\
Stay updated with latest releases, updates and features.](https://twitter.com/preetsuthar17) [**GitHub** \\
\\
Report bugs, request features, and contribute to the project.](https://github.com/preetsuthar17/HextaUI) [**Discord** \\
\\
Join our community for support and discussions.](https://discord.gg/hG4dkbMcZf)
Get help, share feedback, and stay updated with the latest releases.

Psst, here! If you like my work, consider buying me a coffee. ☕
## Skeleton Component Guide
[Build websites 10x faster with HextaUI Blocks —Learn more](https://pro.hextaui.com/blocks)
UI/UI
# Skeleton
Display placeholder content while loading to improve perceived performance.
PreviewCode
### Text Lines
```
import { Skeleton, SkeletonText, SkeletonAvatar } from "@/components/ui/Skeleton";
);
});
CheckboxRoot.displayName = "Checkbox";
// Simple wrapper that maintains the same API
const Checkbox = React.forwardRef<
React.ElementRef,
CheckboxProps
>((props, ref) => );
Checkbox.displayName = "Checkbox";
export { Checkbox, checkboxVariants, type CheckboxProps };
```
npmpnpmyarnbun
```
npx hextaui@latest add checkbox
```
```
pnpm dlx hextaui@latest add checkbox
```
```
yarn dlx hextaui@latest add checkbox
```
```
bun x hextaui@latest add checkbox
```
## [Usage](https://www.hextaui.com/docs/ui/components/checkbox\#usage)
```
import { Checkbox } from "@/components/ui/Checkbox";
```
```
```
## [Examples](https://www.hextaui.com/docs/ui/components/checkbox\#examples)
### [Basic Usage](https://www.hextaui.com/docs/ui/components/checkbox\#basic-usage)
PreviewCode
Accept terms and conditions
Subscribe to newsletter
Enable notifications
Remember me
```
function CheckboxBasic() {
const [checked, setChecked] = useState(false);
return (
setChecked(!!checked)}
/>
);
}
```
### [Sizes](https://www.hextaui.com/docs/ui/components/checkbox\#sizes)
PreviewCode
Small checkbox
Default checkbox
Large checkbox
```
```
### [With Description](https://www.hextaui.com/docs/ui/components/checkbox\#with-description)
PreviewCode
Marketing emails
Receive emails about new products, features, and more.
Security emails
Receive emails about your account security.
Social emails
Receive emails for friend requests, follows, and more.
```
);
}
```
### [Form Integration](https://www.hextaui.com/docs/ui/components/checkbox\#form-integration)
PreviewCode
### Preferences
Email notifications
Receive email updates about your account
SMS notifications
Receive text message alerts
Marketing communications
Receive promotional emails and offers
### Privacy
Make profile public
Others can view your profile information
Show activity status
Others can see when you're online
```
```
## [Props](https://www.hextaui.com/docs/ui/components/checkbox\#props)
| Prop | Type | Default |
| --- | --- | --- |
| `className?` | `string` | `undefined` |
| `required?` | `boolean` | `false` |
| `value?` | `string` | `on` |
| `name?` | `string` | `undefined` |
| `disabled?` | `boolean` | `false` |
| `onCheckedChange?` | `(checked: boolean | "indeterminate") => void` | `undefined` |
| `checked?` | `boolean | "indeterminate"` | `undefined` |
| `error?` | `string` | `undefined` |
| `description?` | `string` | `undefined` |
| `label?` | `string` | `undefined` |
| `size?` | `"sm" | "default" | "lg"` | `"default"` |
| `variant?` | `"default" | "secondary" | "destructive" | "outline" | "ghost"` | `"default"` |
[Edit on GitHub](https://github.com/preetsuthar17/hextaui/blob/master/content/docs/ui/components/checkbox.mdx)
Last updated on 6/23/2025
[Card\\
\\
A flexible container component for displaying content in a card layout with header, content, and footer sections.](https://www.hextaui.com/docs/ui/components/card) [Chip\\
\\
A compact, interactive element for displaying status, categories, or filters with optional icons and dismissible functionality.](https://www.hextaui.com/docs/ui/components/chip)
### On this page
[Installation](https://www.hextaui.com/docs/ui/components/checkbox#installation) [Usage](https://www.hextaui.com/docs/ui/components/checkbox#usage) [Examples](https://www.hextaui.com/docs/ui/components/checkbox#examples) [Basic Usage](https://www.hextaui.com/docs/ui/components/checkbox#basic-usage) [Sizes](https://www.hextaui.com/docs/ui/components/checkbox#sizes) [With Description](https://www.hextaui.com/docs/ui/components/checkbox#with-description) [Indeterminate State](https://www.hextaui.com/docs/ui/components/checkbox#indeterminate-state) [With Error State](https://www.hextaui.com/docs/ui/components/checkbox#with-error-state) [Checkbox Group](https://www.hextaui.com/docs/ui/components/checkbox#checkbox-group) [Form Integration](https://www.hextaui.com/docs/ui/components/checkbox#form-integration) [Props](https://www.hextaui.com/docs/ui/components/checkbox#props)

Psst, here! If you like my work, consider buying me a coffee. ☕
## HextaUI Vite Installation
[Build websites 10x faster with HextaUI Blocks —Learn more](https://pro.hextaui.com/blocks)
# Vite
How to install and set up HextaUI in your Vite project.
### [Create a Vite project](https://www.hextaui.com/docs/ui/installation/vite\#create-a-vite-project)
Create a new React project using Vite, you can use the following command:
npmpnpmyarnbun
```
npm create vite@latest
```
```
pnpm create vite
```
```
yarn create vite
```
```
bunx create-vite
```
Follow the prompts to set up your project. Choose `React + Typescript` as the framework.
### [Install Tailwind CSS](https://www.hextaui.com/docs/ui/installation/vite\#install-tailwind-css)
npmpnpmyarnbun
```
npm install npm install tailwindcss @tailwindcss/vite
```
```
pnpm add yarn add tailwindcss @tailwindcss/vite
```
```
yarn add yarn add tailwindcss @tailwindcss/vite
```
```
bun add yarn add tailwindcss @tailwindcss/vite
```
and now you can replace everything inside `src/index.css` with the following:
src/index.css
```
@import "tailwindcss";
```
once done let's continue with editing `tsconfig.json` file
### [Edit tsconfig.json file](https://www.hextaui.com/docs/ui/installation/vite\#edit-tsconfigjson-file)
Vite's current version splits TypeScript configuration into three files, two requiring edits. Add `baseUrl` and `paths` to the `compilerOptions` section of `tsconfig.json` and `tsconfig.app.json`.
tsconfig.json
```
{
"files": [],
"references": [\
{\
"path": "./tsconfig.app.json"\
},\
{\
"path": "./tsconfig.node.json"\
}\
],
"compilerOptions": {
"baseUrl": ".",
"paths": {
"@/*": ["./src/*"]
}
}
}
```
### [Edit tsconfig.app.json](https://www.hextaui.com/docs/ui/installation/vite\#edit-tsconfigappjson)
Add this code to `tsconfig.app.json` to resolve paths for your IDE:
tsconfig.app.json
```
{
"compilerOptions": {
// ...
"baseUrl": ".",
"paths": {
"@/*": [\
"./src/*"\
]
}
// ...
}
}
```
### [Update vite.config.ts](https://www.hextaui.com/docs/ui/installation/vite\#update-viteconfigts)
Add this code to `vite.config.ts` to resolve paths without errors:
npmpnpmyarnbun
```
npm install -D @types/node
```
```
pnpm add -D @types/node
```
```
yarn add --dev @types/node
```
```
bun add --dev @types/node
```
vite.config.ts
```
import { defineConfig } from "vite";
import react from "@vitejs/plugin-react";
import tailwindcss from "@tailwindcss/vite";
import path from "path";
// https://vite.dev/config/
export default defineConfig({
plugins: [react(), tailwindcss()],
resolve: {
alias: {
"@": path.resolve(__dirname, "./src"),
},
},
});
```
### [Install HextaUI](https://www.hextaui.com/docs/ui/installation/vite\#install-hextaui)
To install HextaUI in your Next.js project, navigate to your project directory and run:
npmpnpmyarnbun
```
npm install hextaui@latest
```
```
pnpm add hextaui@latest
```
```
yarn add hextaui@latest
```
```
bun add hextaui@latest
```
Or you can directly use the `npx` command to run HextaUI without installing it globally:
### [Initialize HextaUI](https://www.hextaui.com/docs/ui/installation/vite\#initialize-hextaui)
Run the `init` command to initialize HextaUI in your project:
npmpnpmyarnbun
```
npx hextaui@latest init
```
```
pnpm dlx hextaui@latest init
```
```
yarn dlx hextaui@latest init
```
```
bun x hextaui@latest init
```
### [Add components](https://www.hextaui.com/docs/ui/installation/vite\#add-components)
You can now start using HextaUI components in your Next.js project.
npmpnpmyarnbun
```
npx hextaui@latest add button
```
```
pnpm dlx hextaui@latest add button
```
```
yarn dlx hextaui@latest add button
```
```
bun x hextaui@latest add button
```
This command will add `Button` component to your project. You can simply import the button component from `components/ui` in your project.
src/App.tsx
```
import { Button } from "@/components/ui/button";
function App() {
return (
);
}
export default App
```
[Edit on GitHub](https://github.com/preetsuthar17/hextaui/blob/master/content/docs/ui/installation/vite.mdx)
Last updated on 6/23/2025
### On this page
[Create a Vite project](https://www.hextaui.com/docs/ui/installation/vite#create-a-vite-project) [Install Tailwind CSS](https://www.hextaui.com/docs/ui/installation/vite#install-tailwind-css) [Edit tsconfig.json file](https://www.hextaui.com/docs/ui/installation/vite#edit-tsconfigjson-file) [Edit tsconfig.app.json](https://www.hextaui.com/docs/ui/installation/vite#edit-tsconfigappjson) [Update vite.config.ts](https://www.hextaui.com/docs/ui/installation/vite#update-viteconfigts) [Install HextaUI](https://www.hextaui.com/docs/ui/installation/vite#install-hextaui) [Initialize HextaUI](https://www.hextaui.com/docs/ui/installation/vite#initialize-hextaui) [Add components](https://www.hextaui.com/docs/ui/installation/vite#add-components)

Psst, here! If you like my work, consider buying me a coffee. ☕
## Video Player Component
[Build websites 10x faster with HextaUI Blocks —Learn more](https://pro.hextaui.com/blocks)
UI/UI
# Video Player
A modern, customizable video player component with full controls and keyboard shortcuts.
PreviewCode
0:00
0:00
```
```
## [Installation](https://www.hextaui.com/docs/ui/components/video-player\#installation)
ManualCLI
Install following dependencies:
npmpnpmyarnbun
```
npm install class-variance-authority lucide-react
```
```
pnpm add class-variance-authority lucide-react
```
```
yarn add class-variance-authority lucide-react
```
```
bun add class-variance-authority lucide-react
```
Copy and paste the following code into your project.
components/ui/video-player.tsx
```
"use client";
import * as React from "react";
import { cva, type VariantProps } from "class-variance-authority";
import { cn } from "@/lib/utils";
import {
Play,
Pause,
Volume2,
VolumeX,
Maximize,
Minimize,
SkipBack,
SkipForward,
Settings,
} from "lucide-react";
const videoPlayerVariants = cva(
"relative w-full bg-black rounded-[var(--card-radius)] overflow-hidden group",
{
variants: {
size: {
sm: "max-w-md",
default: "max-w-2xl",
lg: "max-w-4xl",
full: "w-full",
},
},
defaultVariants: {
size: "default",
},
},
);
export interface VideoPlayerProps
extends React.VideoHTMLAttributes,
VariantProps {
src: string;
poster?: string;
showControls?: boolean;
autoHide?: boolean;
className?: string;
}
const VideoPlayer = React.forwardRef(
(
{
className,
size,
src,
poster,
showControls = true,
autoHide = true,
...props
},
ref,
) => {
const [isPlaying, setIsPlaying] = React.useState(false);
const [currentTime, setCurrentTime] = React.useState(0);
const [duration, setDuration] = React.useState(0);
const [volume, setVolume] = React.useState(1);
const [isMuted, setIsMuted] = React.useState(false);
const [isFullscreen, setIsFullscreen] = React.useState(false);
const [showControlsState, setShowControlsState] = React.useState(true);
const videoRef = React.useRef(null);
const containerRef = React.useRef(null);
const hideControlsTimeoutRef = React.useRef(null);
React.useImperativeHandle(ref, () => videoRef.current!, []);
const formatTime = (time: number) => {
const hours = Math.floor(time / 3600);
const minutes = Math.floor((time % 3600) / 60);
const seconds = Math.floor(time % 60);
if (hours > 0) {
return `${hours}:${minutes.toString().padStart(2, "0")}:${seconds
.toString()
.padStart(2, "0")}`;
}
return `${minutes}:${seconds.toString().padStart(2, "0")}`;
};
const togglePlay = () => {
if (videoRef.current) {
if (isPlaying) {
videoRef.current.pause();
} else {
videoRef.current.play();
}
}
};
const toggleMute = () => {
if (videoRef.current) {
videoRef.current.muted = !isMuted;
setIsMuted(!isMuted);
}
};
const handleVolumeChange = (e: React.ChangeEvent) => {
const newVolume = parseFloat(e.target.value);
setVolume(newVolume);
if (videoRef.current) {
videoRef.current.volume = newVolume;
setIsMuted(newVolume === 0);
}
};
const handleSeek = (e: React.ChangeEvent) => {
const newTime = parseFloat(e.target.value);
setCurrentTime(newTime);
if (videoRef.current) {
videoRef.current.currentTime = newTime;
}
};
const toggleFullscreen = () => {
if (!document.fullscreenElement) {
containerRef.current?.requestFullscreen();
setIsFullscreen(true);
} else {
document.exitFullscreen();
setIsFullscreen(false);
}
};
const skip = (seconds: number) => {
if (videoRef.current) {
videoRef.current.currentTime = Math.max(
0,
Math.min(duration, currentTime + seconds),
);
}
};
const resetHideControlsTimeout = () => {
if (hideControlsTimeoutRef.current) {
clearTimeout(hideControlsTimeoutRef.current);
}
if (autoHide && isPlaying) {
hideControlsTimeoutRef.current = setTimeout(() => {
setShowControlsState(false);
}, 3000);
}
};
const handleMouseMove = () => {
setShowControlsState(true);
resetHideControlsTimeout();
};
React.useEffect(() => {
const video = videoRef.current;
if (!video) return;
const handleLoadedMetadata = () => {
setDuration(video.duration);
};
const handleTimeUpdate = () => {
setCurrentTime(video.currentTime);
};
const handlePlay = () => {
setIsPlaying(true);
resetHideControlsTimeout();
};
const handlePause = () => {
setIsPlaying(false);
setShowControlsState(true);
if (hideControlsTimeoutRef.current) {
clearTimeout(hideControlsTimeoutRef.current);
}
};
const handleVolumeChange = () => {
setVolume(video.volume);
setIsMuted(video.muted);
};
video.addEventListener("loadedmetadata", handleLoadedMetadata);
video.addEventListener("timeupdate", handleTimeUpdate);
video.addEventListener("play", handlePlay);
video.addEventListener("pause", handlePause);
video.addEventListener("volumechange", handleVolumeChange);
return () => {
video.removeEventListener("loadedmetadata", handleLoadedMetadata);
video.removeEventListener("timeupdate", handleTimeUpdate);
video.removeEventListener("play", handlePlay);
video.removeEventListener("pause", handlePause);
video.removeEventListener("volumechange", handleVolumeChange);
if (hideControlsTimeoutRef.current) {
clearTimeout(hideControlsTimeoutRef.current);
}
};
}, [autoHide, isPlaying]);
React.useEffect(() => {
const handleFullscreenChange = () => {
setIsFullscreen(!!document.fullscreenElement);
};
document.addEventListener("fullscreenchange", handleFullscreenChange);
return () => {
document.removeEventListener(
"fullscreenchange",
handleFullscreenChange,
);
};
}, []);
React.useEffect(() => {
const handleKeyDown = (e: KeyboardEvent) => {
if (!containerRef.current?.contains(document.activeElement)) return;
switch (e.key) {
case " ":
case "k":
e.preventDefault();
togglePlay();
break;
case "m":
e.preventDefault();
toggleMute();
break;
case "f":
e.preventDefault();
toggleFullscreen();
break;
case "ArrowLeft":
e.preventDefault();
skip(-10);
break;
case "ArrowRight":
e.preventDefault();
skip(10);
break;
case "ArrowUp":
e.preventDefault();
setVolume((prev) => Math.min(1, prev + 0.1));
break;
case "ArrowDown":
e.preventDefault();
setVolume((prev) => Math.max(0, prev - 0.1));
break;
}
};
document.addEventListener("keydown", handleKeyDown);
return () => document.removeEventListener("keydown", handleKeyDown);
}, [currentTime, duration]);
return (
autoHide && isPlaying && setShowControlsState(false)
}
tabIndex={0}
>
{" "}
{showControls && (
<>
{/* Play/Pause Overlay - Only visible when not playing or on hover */}
);
},
);
TagInput.displayName = "TagInput";
export { TagInput, tagInputVariants };
```
npmpnpmyarnbun
```
npx hextaui@latest add tag-input
```
```
pnpm dlx hextaui@latest add tag-input
```
```
yarn dlx hextaui@latest add tag-input
```
```
bun x hextaui@latest add tag-input
```
## [Usage](https://www.hextaui.com/docs/ui/components/tag-input\#usage)
```
import { TagInput } from "@/components/ui/tag-input";
```
```
const [tags, setTags] = useState([]);
```
## [Examples](https://www.hextaui.com/docs/ui/components/tag-input\#examples)
### [Default](https://www.hextaui.com/docs/ui/components/tag-input\#default)
PreviewCode
```
const [tags, setTags] = useState([]);
```
### [With Pre-filled Tags](https://www.hextaui.com/docs/ui/components/tag-input\#with-pre-filled-tags)
PreviewCode
JavaScript
React
TypeScript
```
const [tags, setTags] = useState([\
"JavaScript",\
"React",\
"TypeScript",\
"Next.js"\
]);
```
### [Variants](https://www.hextaui.com/docs/ui/components/tag-input\#variants)
PreviewCode
Default
React
Next.js
Error State
Invalid
Tags
```
// Default variant
// Error state
```
### [Sizes](https://www.hextaui.com/docs/ui/components/tag-input\#sizes)
PreviewCode
Small
Small
Tags
Default
Default
Size
Large
Large
Tags
Extra Large
XL
Tags
```
```
### [Tag Variants](https://www.hextaui.com/docs/ui/components/tag-input\#tag-variants)
PreviewCode
Default Tags
Primary
Important
Secondary Tags
Secondary
Normal
Outline Tags
Outline
Minimal
Destructive Tags
Error
Warning
```
```
### [With Max Tags](https://www.hextaui.com/docs/ui/components/tag-input\#with-max-tags)
PreviewCode
Max 3 tags
React
Next.js
```
```
### [With Clear All Button](https://www.hextaui.com/docs/ui/components/tag-input\#with-clear-all-button)
PreviewCode
Next.js
TypeScript
Tailwind
```
console.log("All tags cleared!")}
/>
```
### [Custom Separator](https://www.hextaui.com/docs/ui/components/tag-input\#custom-separator)
PreviewCode
Comma separated
Space or comma
```
// Comma separator
// Space or comma separator (regex)
```
### [With Event Handlers](https://www.hextaui.com/docs/ui/components/tag-input\#with-event-handlers)
PreviewCode
React
Next.js
```
{
console.log("Tag added:", tag);
// Custom logic when tag is added
}}
onTagRemove={(tag) => {
console.log("Tag removed:", tag);
// Custom logic when tag is removed
}}
onClearAll={() => {
console.log("All tags cleared!");
// Custom logic when all tags are cleared
}}
/>
```
### [Disabled State](https://www.hextaui.com/docs/ui/components/tag-input\#disabled-state)
PreviewCode
React
Next.js
```
```
## [Keyboard Navigation](https://www.hextaui.com/docs/ui/components/tag-input\#keyboard-navigation)
The TagInput component supports several keyboard shortcuts:
- `Enter` or `Tab`: Add the current input as a tag
- `Backspace`: When input is empty, remove the last tag
- `Click`: Focus the input field when clicking anywhere on the container
## [Props](https://www.hextaui.com/docs/ui/components/tag-input\#props)
| Prop | Type | Default |
| --- | --- | --- |
| `className?` | `string` | `undefined` |
| `error?` | `boolean` | `false` |
| `disabled?` | `boolean` | `false` |
| `onClearAll?` | `() => void` | `undefined` |
| `clearAllButton?` | `boolean` | `false` |
| `separator?` | `string | RegExp` | `/[\s,]+/` |
| `onTagRemove?` | `(tag: string) => void` | `undefined` |
| `onTagAdd?` | `(tag: string) => void` | `undefined` |
| `allowDuplicates?` | `boolean` | `false` |
| `tagSize?` | `"sm" | "default" | "lg"` | `"sm"` |
| `tagVariant?` | `"default" | "secondary" | "destructive" | "outline"` | `"secondary"` |
| `placeholder?` | `string` | `"Type and press Enter to add tags..."` |
| `maxTags?` | `number` | `undefined` |
| `size?` | `"sm" | "default" | "lg" | "xl"` | `"default"` |
| `variant?` | `"default" | "destructive"` | `"default"` |
| `onTagsChange?` | `(tags: string[]) => void` | `undefined` |
| `tags?` | `string[]` | `undefined` |
[Edit on GitHub](https://github.com/preetsuthar17/hextaui/blob/master/content/docs/ui/components/tag-input.mdx)
Last updated on
[Tabs\\
\\
A set of layered sections of content with smooth animations and modern styling.](https://www.hextaui.com/docs/ui/components/tabs) [Textarea\\
\\
Displays a multi-line text input field with enhanced features like clearable functionality, auto-resizing, and Zod validation support.](https://www.hextaui.com/docs/ui/components/textarea)
### On this page
[Installation](https://www.hextaui.com/docs/ui/components/tag-input#installation) [Usage](https://www.hextaui.com/docs/ui/components/tag-input#usage) [Examples](https://www.hextaui.com/docs/ui/components/tag-input#examples) [Default](https://www.hextaui.com/docs/ui/components/tag-input#default) [With Pre-filled Tags](https://www.hextaui.com/docs/ui/components/tag-input#with-pre-filled-tags) [Variants](https://www.hextaui.com/docs/ui/components/tag-input#variants) [Sizes](https://www.hextaui.com/docs/ui/components/tag-input#sizes) [Tag Variants](https://www.hextaui.com/docs/ui/components/tag-input#tag-variants) [With Max Tags](https://www.hextaui.com/docs/ui/components/tag-input#with-max-tags) [With Clear All Button](https://www.hextaui.com/docs/ui/components/tag-input#with-clear-all-button) [Custom Separator](https://www.hextaui.com/docs/ui/components/tag-input#custom-separator) [With Event Handlers](https://www.hextaui.com/docs/ui/components/tag-input#with-event-handlers) [Disabled State](https://www.hextaui.com/docs/ui/components/tag-input#disabled-state) [Keyboard Navigation](https://www.hextaui.com/docs/ui/components/tag-input#keyboard-navigation) [Props](https://www.hextaui.com/docs/ui/components/tag-input#props)

Psst, here! If you like my work, consider buying me a coffee. ☕
## HextaUI Installation Guide
[Build websites 10x faster with HextaUI Blocks —Learn more](https://pro.hextaui.com/blocks)
# Astro
How to install and set up HextaUI in your Astro project.
### [Create a Astro project](https://www.hextaui.com/docs/ui/installation/astro\#create-a-astro-project)
Create a new Astro project using the following command:
npmpnpmyarnbun
```
npx create-astro@latest astro-app --template with-tailwindcss --install --add react --git
```
```
pnpm dlx create-astro@latest astro-app --template with-tailwindcss --install --add react --git
```
```
yarn dlx create-astro@latest astro-app --template with-tailwindcss --install --add react --git
```
```
bun x create-astro@latest astro-app --template with-tailwindcss --install --add react --git
```
### [Edit tsconfig.json file](https://www.hextaui.com/docs/ui/installation/astro\#edit-tsconfigjson-file)
Add `baseUrl` and `paths` to the `compilerOptions` section of `tsconfig.json`.
tsconfig.json
```
{
"compilerOptions": {
// ...
"baseUrl": ".",
"paths": {
"@/*": [\
"./src/*"\
]
}
// ...
}
}
```
### [Install Tailwind CSS](https://www.hextaui.com/docs/ui/installation/astro\#install-tailwind-css)
npmpnpmyarnbun
```
npm install tailwindcss @tailwindcss/vite
```
```
pnpm add tailwindcss @tailwindcss/vite
```
```
yarn add tailwindcss @tailwindcss/vite
```
```
bun add tailwindcss @tailwindcss/vite
```
Now, Add the `@tailwindcss/vite` plugin to your Vite plugins in your Astro config file.
astro.config.mjs
```
// @ts-check
import { defineConfig } from "astro/config";
import tailwindcss from "@tailwindcss/vite";
// https://astro.build/config
export default defineConfig({
vite: {
plugins: [tailwindcss()],
},
});
```
now edit `global.css` to use Tailwind CSS styles.
src/global.css
```
@import 'tailwindcss';
```
### [Install HextaUI](https://www.hextaui.com/docs/ui/installation/astro\#install-hextaui)
To install HextaUI in your Next.js project, navigate to your project directory and run:
npmpnpmyarnbun
```
npm install hextaui@latest
```
```
pnpm add hextaui@latest
```
```
yarn add hextaui@latest
```
```
bun add hextaui@latest
```
Or you can directly use the `npx` command to run HextaUI without installing it globally:
### [Initialize HextaUI](https://www.hextaui.com/docs/ui/installation/astro\#initialize-hextaui)
Run the `init` command to initialize HextaUI in your project:
npmpnpmyarnbun
```
npx hextaui@latest init
```
```
pnpm dlx hextaui@latest init
```
```
yarn dlx hextaui@latest init
```
```
bun x hextaui@latest init
```
### [Add components](https://www.hextaui.com/docs/ui/installation/astro\#add-components)
You can now start using HextaUI components in your Next.js project.
npmpnpmyarnbun
```
npx hextaui@latest add button
```
```
pnpm dlx hextaui@latest add button
```
```
yarn dlx hextaui@latest add button
```
```
bun x hextaui@latest add button
```
This command will add `Button` component to your project. You can simply import the button component from `components/ui` in your project.
src/pages/index.astro
```
---
import { Button } from "@/components/ui/button"
import "../styles/global.css";
---
Astro + TailwindCSS
```
[Edit on GitHub](https://github.com/preetsuthar17/hextaui/blob/master/content/docs/ui/installation/astro.mdx)
Last updated on 6/23/2025
### On this page
[Create a Astro project](https://www.hextaui.com/docs/ui/installation/astro#create-a-astro-project) [Edit tsconfig.json file](https://www.hextaui.com/docs/ui/installation/astro#edit-tsconfigjson-file) [Install Tailwind CSS](https://www.hextaui.com/docs/ui/installation/astro#install-tailwind-css) [Install HextaUI](https://www.hextaui.com/docs/ui/installation/astro#install-hextaui) [Initialize HextaUI](https://www.hextaui.com/docs/ui/installation/astro#initialize-hextaui) [Add components](https://www.hextaui.com/docs/ui/installation/astro#add-components)

Psst, here! If you like my work, consider buying me a coffee. ☕
## HextaUI Theming Guide
[Build websites 10x faster with HextaUI Blocks —Learn more](https://pro.hextaui.com/blocks)
UI/Foundation
# Theming
How to customize the look and feel of HextaUI components using themes.
### [Font Family](https://www.hextaui.com/docs/ui/foundation/theming\#font-family)
HextaUI uses two primary font families for its components:
- **Geist**: A versatile sans-serif font for body text and UI elements.
- **JetBrains Mono**: A monospaced font for code blocks and technical content.
### [Variables](https://www.hextaui.com/docs/ui/foundation/theming\#variables)
app/globals.css
```
:root {
--hu-font-geist: var(--font-geist);
--hu-font-jetbrains: var(--font-jetbrains-mono);
--radius: 0.75rem;
--card-radius: 1rem;
--hu-background: 0, 0%, 100%;
--hu-foreground: 0, 0%, 14%;
--hu-card: 0, 0%, 99%;
--hu-card-foreground: 0, 0%, 14%;
--hu-primary: 0, 0%, 20%;
--hu-primary-foreground: 0, 0%, 98%;
--hu-secondary: 0, 0%, 97%;
--hu-secondary-foreground: 0, 0%, 20%;
--hu-muted: 0, 0%, 97%;
--hu-muted-foreground: 0, 0%, 56%;
--hu-accent: 0, 0%, 96%;
--hu-accent-foreground: 0, 0%, 20%;
--hu-destructive: 9, 96%, 47%;
--hu-destructive-foreground: 0, 0%, 98%;
--hu-border: 0, 0%, 92%;
--hu-input: 0, 0%, 100%;
--hu-ring: 0, 0%, 71%;
}
.dark {
--hu-background: 0, 0%, 7%;
--hu-foreground: 0, 0%, 100%;
--hu-card: 0, 0%, 9%;
--hu-card-foreground: 0, 0%, 100%;
--hu-primary: 0, 0%, 100%;
--hu-primary-foreground: 0, 0%, 20%;
--hu-secondary: 0, 0%, 15%;
--hu-secondary-foreground: 0, 0%, 100%;
--hu-muted: 0, 0%, 15%;
--hu-muted-foreground: 0, 0%, 71%;
--hu-accent: 0, 0%, 15%;
--hu-accent-foreground: 0, 0%, 100%;
--hu-destructive: 0, 84%, 50%;
--hu-destructive-foreground: 0, 0%, 98%;
--hu-border: 0, 0%, 100%, 10%;
--hu-input: 0, 0%, 100%, 5%;
--hu-ring: 0, 0%, 56%;
}
```
### [Customizing Colors](https://www.hextaui.com/docs/ui/foundation/theming\#customizing-colors)
You can customize the HextaUI color palette by overriding these CSS variables in your own stylesheet:
Custom theme example
```
:root {
/* Custom primary colors */
--hu-primary: 221, 83%, 53%;
--hu-primary-foreground: 0, 0%, 98%;
/* Custom destructive colors */
--hu-destructive: 0, 84%, 60%;
--hu-destructive-foreground: 0, 0%, 98%;
}
```
[Edit on GitHub](https://github.com/preetsuthar17/hextaui/blob/master/content/docs/ui/foundation/theming.mdx)
Last updated on 6/23/2025
[Colors\\
\\
Color palette that is used in every component of HextaUI consistently.](https://www.hextaui.com/docs/ui/foundation/colors) [Components\\
\\
All the components available in the Hexta UI library.](https://www.hextaui.com/docs/ui/foundation/components)
### On this page
[Font Family](https://www.hextaui.com/docs/ui/foundation/theming#font-family) [Variables](https://www.hextaui.com/docs/ui/foundation/theming#variables) [Customizing Colors](https://www.hextaui.com/docs/ui/foundation/theming#customizing-colors)

Psst, here! If you like my work, consider buying me a coffee. ☕
## HextaUI Base Components
[Build websites 10x faster with HextaUI Blocks —Learn more](https://pro.hextaui.com/blocks)
UI/Everything by HextaUI
# Base Components
A complete set of base components projects. Copy, adapt, and personalize them.
Skip months of design and development work. HextaUI provides a complete set of base components that you can copy, adapt, and personalize for your Next.js projects. These components are designed to be flexible, customizable, and easy to integrate into your applications.
## [What Are Base Components?](https://www.hextaui.com/docs/ui/everything-by-hextaui/base-components\#what-are-base-components)
Base components are the fundamental building blocks of your user interface. They include essential elements like buttons, inputs, modals, and more. HextaUI's base components are designed to be:
- **Modular**: Each component is self-contained, allowing you to use only what you need.
- **Customizable**: Easily change styles, colors, and behaviors to fit your design requirements.
- **Responsive**: Built with modern design principles, ensuring they look great on all devices.
- **Accessible**: Designed with accessibility in mind, following best practices to ensure all users can interact with your application.
## [Ready to Use](https://www.hextaui.com/docs/ui/everything-by-hextaui/base-components\#ready-to-use)
Each component in HextaUI comes with a live example and code snippet that you can copy directly into your project. This means you can get started quickly without having to build everything from scratch.
- Styling components - [Tailwind CSS](https://tailwindcss.com/)
- TypeScript support - [TypeScript](https://www.typescriptlang.org/)
- Built in accessibility features - [WAI-ARIA](https://www.w3.org/WAI/standards-guidelines/aria/)
- Responsive design - [CSS Media Queries](https://developer.mozilla.org/en-US/docs/Web/CSS/Media_Queries)
## [Next steps](https://www.hextaui.com/docs/ui/everything-by-hextaui/base-components\#next-steps)
Explore the base components available in HextaUI and see how they can fit into your Next.js projects. Each component is designed to be easy to use and customize, so you can focus on building your application without worrying about the underlying UI.
Start by checking out the [Avatar component](https://www.hextaui.com/docs/ui/avatar) or checkout entire list of [Components](https://www.hextaui.com/docs/components).
[Edit on GitHub](https://github.com/preetsuthar17/hextaui/blob/master/content/docs/ui/everything-by-hextaui/base-components.mdx)
Last updated on 6/23/2025
[RoadmapNew\\
\\
Previous Page](https://www.hextaui.com/docs/ui/getting-started/roadmap) [Colors\\
\\
Color palette that is used in every component of HextaUI consistently.](https://www.hextaui.com/docs/ui/foundation/colors)
### On this page
[What Are Base Components?](https://www.hextaui.com/docs/ui/everything-by-hextaui/base-components#what-are-base-components) [Ready to Use](https://www.hextaui.com/docs/ui/everything-by-hextaui/base-components#ready-to-use) [Next steps](https://www.hextaui.com/docs/ui/everything-by-hextaui/base-components#next-steps)

Psst, here! If you like my work, consider buying me a coffee. ☕
## HextaUI Navigation Menu
[Build websites 10x faster with HextaUI Blocks —Learn more](https://pro.hextaui.com/blocks)
UI/UI
# Navigation Menu
Navigation menus are used to display a list of links or actions, typically in a horizontal or vertical layout.
[Edit on GitHub](https://github.com/preetsuthar17/hextaui/blob/master/content/docs/ui/components/navigation-menu.mdx)
Last updated on
[Modal\\
\\
A simple and accessible modal dialog component with smooth animations.](https://www.hextaui.com/docs/ui/components/modal) [Pagination\\
\\
Navigation component for splitting content across multiple pages with previous/next controls and page numbers.](https://www.hextaui.com/docs/ui/components/pagination)

Psst, here! If you like my work, consider buying me a coffee. ☕
## Chip Component Overview
[Build websites 10x faster with HextaUI Blocks —Learn more](https://pro.hextaui.com/blocks)
UI/UI
# Chip
A compact, interactive element for displaying status, categories, or filters with optional icons and dismissible functionality.
PreviewCode
Default
Secondary
Outline
Ghost
Destructive
```
```
### [Sizes](https://www.hextaui.com/docs/ui/components/chip\#sizes)
PreviewCode
Small
Default
Large
```
SmallDefaultLarge
```
### [With Icons](https://www.hextaui.com/docs/ui/components/chip\#with-icons)
PreviewCode
Category
Member
Featured
Premium
Warning
```
import { Tag, User, Star, Shield, AlertTriangle } from "lucide-react";
Category
Member
Featured
Premium
Warning
```
### [Icon Positions](https://www.hextaui.com/docs/ui/components/chip\#icon-positions)
PreviewCode
Next
Continue
Email
Call
```
import { ArrowRight, Mail, Phone } from "lucide-react";
Next
Continue
Email
Call
```
### [Dismissible Chips](https://www.hextaui.com/docs/ui/components/chip\#dismissible-chips)
PreviewCode
Remove me
JavaScript
John Doe
Error
```
import { Tag, User } from "lucide-react";
alert("Chip dismissed!")}>
Remove me
alert("Tag removed!")}
>
JavaScript
alert("User removed!")}
>
John Doe
Error
```
### [Filter Tags](https://www.hextaui.com/docs/ui/components/chip\#filter-tags)
PreviewCode
#### Technologies
React
TypeScript
Next.js
Tailwind
#### Team Members
Alice
Bob
Charlie
```
import { Tag, User } from "lucide-react";
Technologies
ReactTypeScriptNext.jsTailwind
Team Members
AliceBobCharlie
```
### [Status Indicators](https://www.hextaui.com/docs/ui/components/chip\#status-indicators)
PreviewCode
Pending
In Progress
Completed
Failed
```
import { Clock, CheckCircle, Check, X } from "lucide-react";
PendingIn ProgressCompletedFailed
```
### [Contact Information](https://www.hextaui.com/docs/ui/components/chip\#contact-information)
PreviewCode
[john@example.com](mailto:john@example.com)
+1 (555) 123-4567
San Francisco, CA
[www.example.com](http://www.example.com/)
```
import { Mail, Phone, MapPin, Globe } from "lucide-react";
john@example.com
+1 (555) 123-4567
San Francisco, CA
www.example.com
```
### [Interactive Chips](https://www.hextaui.com/docs/ui/components/chip\#interactive-chips)
PreviewCode
Clickable
Like
Focusable
Add Filter
```
import { Heart, Plus } from "lucide-react";
```
### [Real-world Examples](https://www.hextaui.com/docs/ui/components/chip\#real-world-examples)
PreviewCode
#### Product Tags
New
Bestseller
Sale
Limited
#### Selected Filters
Price: $50-100
Brand: Nike
Color: Blue
Size: Medium
#### Event Attendees
Sarah Wilson
Mike Johnson
Anna Davis
+5 more
```
import { Award, Star, Tag, User } from "lucide-react";
Product Tags
NewBestsellerSaleLimited
Selected Filters
Price: $50-100Brand: NikeColor: BlueSize: Medium
Event Attendees
Sarah Wilson
Mike Johnson
Anna Davis
+5 more
```
## [Props](https://www.hextaui.com/docs/ui/components/chip\#props)
| Prop | Type | Default |
| --- | --- | --- |
| `children?` | `ReactNode` | `undefined` |
| `className?` | `string` | `undefined` |
| `onDismiss?` | `() => void` | `undefined` |
| `dismissible?` | `boolean` | `false` |
| `iconPosition?` | `"left" | "right"` | `"left"` |
| `icon?` | `LucideIcon` | `undefined` |
| `size?` | `"sm" | "default" | "lg"` | `"default"` |
| `variant?` | `"default" | "secondary" | "destructive" | "outline" | "ghost"` | `"default"` |
[Edit on GitHub](https://github.com/preetsuthar17/hextaui/blob/master/content/docs/ui/components/chip.mdx)
Last updated on 6/23/2025
[Checkbox\\
\\
A customizable checkbox component with smooth animations and multiple states.](https://www.hextaui.com/docs/ui/components/checkbox) [Color Picker\\
\\
A comprehensive color picker component for selecting colors with multiple input methods and presets.](https://www.hextaui.com/docs/ui/components/color-picker)
### On this page
[Installation](https://www.hextaui.com/docs/ui/components/chip#installation) [Usage](https://www.hextaui.com/docs/ui/components/chip#usage) [Examples](https://www.hextaui.com/docs/ui/components/chip#examples) [Variants](https://www.hextaui.com/docs/ui/components/chip#variants) [Sizes](https://www.hextaui.com/docs/ui/components/chip#sizes) [With Icons](https://www.hextaui.com/docs/ui/components/chip#with-icons) [Icon Positions](https://www.hextaui.com/docs/ui/components/chip#icon-positions) [Dismissible Chips](https://www.hextaui.com/docs/ui/components/chip#dismissible-chips) [Filter Tags](https://www.hextaui.com/docs/ui/components/chip#filter-tags) [Status Indicators](https://www.hextaui.com/docs/ui/components/chip#status-indicators) [Contact Information](https://www.hextaui.com/docs/ui/components/chip#contact-information) [Interactive Chips](https://www.hextaui.com/docs/ui/components/chip#interactive-chips) [Real-world Examples](https://www.hextaui.com/docs/ui/components/chip#real-world-examples) [Props](https://www.hextaui.com/docs/ui/components/chip#props)

Psst, here! If you like my work, consider buying me a coffee. ☕
## Hextaui UI Components
https://hextaui.com2025-06-25T07:13:44.524Zdaily0.7https://hextaui.com/docs/og-blocks/all-blocks2025-06-25T07:13:44.524Zdaily0.7https://hextaui.com/docs/og-blocks/animation/cursor2025-06-25T07:13:44.524Zdaily0.7https://hextaui.com/docs/og-blocks/animation/gradient-beam2025-06-25T07:13:44.524Zdaily0.7https://hextaui.com/docs/og-blocks/animation/infinite-text-marquee2025-06-25T07:13:44.524Zdaily0.7https://hextaui.com/docs/og-blocks/animation/particle2025-06-25T07:13:44.524Zdaily0.7https://hextaui.com/docs/og-blocks/animation/spotlight-card2025-06-25T07:13:44.524Zdaily0.7https://hextaui.com/docs/og-blocks/application/animated-dock2025-06-25T07:13:44.524Zdaily0.7https://hextaui.com/docs/og-blocks/application/expandable-tabs2025-06-25T07:13:44.524Zdaily0.7https://hextaui.com/docs/og-blocks/application/post-card2025-06-25T07:13:44.524Zdaily0.7https://hextaui.com/docs/og-blocks/text/animated-underline2025-06-25T07:13:44.524Zdaily0.7https://hextaui.com/docs/og-blocks/text/blurred-stagger2025-06-25T07:13:44.524Zdaily0.7https://hextaui.com/docs/og-blocks/text/shining-text2025-06-25T07:13:44.524Zdaily0.7https://hextaui.com/docs/og-blocks/text/typewriter2025-06-25T07:13:44.524Zdaily0.7https://hextaui.com/docs/ui/components/accordion2025-06-25T07:13:44.524Zdaily0.7https://hextaui.com/docs/ui/components/alert2025-06-25T07:13:44.524Zdaily0.7https://hextaui.com/docs/ui/components/avatar2025-06-25T07:13:44.524Zdaily0.7https://hextaui.com/docs/ui/components/badge2025-06-25T07:13:44.524Zdaily0.7https://hextaui.com/docs/ui/components/breadcrumb2025-06-25T07:13:44.524Zdaily0.7https://hextaui.com/docs/ui/components/button2025-06-25T07:13:44.524Zdaily0.7https://hextaui.com/docs/ui/components/calendar2025-06-25T07:13:44.524Zdaily0.7https://hextaui.com/docs/ui/components/card2025-06-25T07:13:44.524Zdaily0.7https://hextaui.com/docs/ui/components/checkbox2025-06-25T07:13:44.524Zdaily0.7https://hextaui.com/docs/ui/components/chip2025-06-25T07:13:44.524Zdaily0.7https://hextaui.com/docs/ui/components/color-picker2025-06-25T07:13:44.524Zdaily0.7https://hextaui.com/docs/ui/components/command-menu2025-06-25T07:13:44.524Zdaily0.7https://hextaui.com/docs/ui/components/date-picker2025-06-25T07:13:44.524Zdaily0.7https://hextaui.com/docs/ui/components/drawer2025-06-25T07:13:44.524Zdaily0.7https://hextaui.com/docs/ui/components/dropdown-menu2025-06-25T07:13:44.524Zdaily0.7https://hextaui.com/docs/ui/components/file-upload2025-06-25T07:13:44.524Zdaily0.7https://hextaui.com/docs/ui/components/input2025-06-25T07:13:44.524Zdaily0.7https://hextaui.com/docs/ui/components/input-otp2025-06-25T07:13:44.524Zdaily0.7https://hextaui.com/docs/ui/components/kbd2025-06-25T07:13:44.524Zdaily0.7https://hextaui.com/docs/ui/components/label2025-06-25T07:13:44.524Zdaily0.7https://hextaui.com/docs/ui/components/loader2025-06-25T07:13:44.524Zdaily0.7https://hextaui.com/docs/ui/components/marquee2025-06-25T07:13:44.524Zdaily0.7https://hextaui.com/docs/ui/components/menubar2025-06-25T07:13:44.524Zdaily0.7https://hextaui.com/docs/ui/components/modal2025-06-25T07:13:44.524Zdaily0.7https://hextaui.com/docs/ui/components/navigation-menu2025-06-25T07:13:44.524Zdaily0.7https://hextaui.com/docs/ui/components/pagination2025-06-25T07:13:44.524Zdaily0.7https://hextaui.com/docs/ui/components/progress2025-06-25T07:13:44.524Zdaily0.7https://hextaui.com/docs/ui/components/radio2025-06-25T07:13:44.524Zdaily0.7https://hextaui.com/docs/ui/components/resizable2025-06-25T07:13:44.524Zdaily0.7https://hextaui.com/docs/ui/components/scroll-area2025-06-25T07:13:44.524Zdaily0.7https://hextaui.com/docs/ui/components/select2025-06-25T07:13:44.524Zdaily0.7https://hextaui.com/docs/ui/components/separator2025-06-25T07:13:44.524Zdaily0.7https://hextaui.com/docs/ui/components/sidebar2025-06-25T07:13:44.524Zdaily0.7https://hextaui.com/docs/ui/components/skeleton2025-06-25T07:13:44.524Zdaily0.7https://hextaui.com/docs/ui/components/slider2025-06-25T07:13:44.525Zdaily0.7https://hextaui.com/docs/ui/components/switch2025-06-25T07:13:44.525Zdaily0.7https://hextaui.com/docs/ui/components/table2025-06-25T07:13:44.525Zdaily0.7https://hextaui.com/docs/ui/components/tabs2025-06-25T07:13:44.525Zdaily0.7https://hextaui.com/docs/ui/components/tag-input2025-06-25T07:13:44.525Zdaily0.7https://hextaui.com/docs/ui/components/textarea2025-06-25T07:13:44.525Zdaily0.7https://hextaui.com/docs/ui/components/toast2025-06-25T07:13:44.525Zdaily0.7https://hextaui.com/docs/ui/components/toggle2025-06-25T07:13:44.525Zdaily0.7https://hextaui.com/docs/ui/components/tooltip2025-06-25T07:13:44.525Zdaily0.7https://hextaui.com/docs/ui/components/tree2025-06-25T07:13:44.525Zdaily0.7https://hextaui.com/docs/ui/components/video-player2025-06-25T07:13:44.525Zdaily0.7https://hextaui.com/docs/ui/everything-by-hextaui/base-components2025-06-25T07:13:44.525Zdaily0.7https://hextaui.com/docs/ui/foundation/colors2025-06-25T07:13:44.525Zdaily0.7https://hextaui.com/docs/ui/foundation/components2025-06-25T07:13:44.525Zdaily0.7https://hextaui.com/docs/ui/foundation/theming2025-06-25T07:13:44.525Zdaily0.7https://hextaui.com/docs/ui/getting-started/changelog2025-06-25T07:13:44.525Zdaily0.7https://hextaui.com/docs/ui/getting-started/installation2025-06-25T07:13:44.525Zdaily0.7https://hextaui.com/docs/ui/getting-started/introduction2025-06-25T07:13:44.525Zdaily0.7https://hextaui.com/docs/ui/getting-started/roadmap2025-06-25T07:13:44.525Zdaily0.7https://hextaui.com/docs/ui/installation/astro2025-06-25T07:13:44.525Zdaily0.7https://hextaui.com/docs/ui/installation/nextjs2025-06-25T07:13:44.525Zdaily0.7https://hextaui.com/docs/ui/installation/vite2025-06-25T07:13:44.525Zdaily0.7
## Animated Underline Component
[Build websites 10x faster with HextaUI Blocks —Learn more](https://pro.hextaui.com/blocks)
Original Blocks/Text
# Animated Underline
A component that adds an animated underline effect to text.
PreviewCode
Hover me
```
```
## [Installation](https://www.hextaui.com/docs/og-blocks/text/animated-underline\#installation)
ManualCLI
Copy and paste the following code into your project.
components/ui/AnimatedUnderline.tsx
```
"use client";
export function AnimatedUnderline({ text = "Hover me" }: { text: string }) {
return (
{text}
);
}
```
npmpnpmyarnbun
```
npx shadcn@latest add "https://21st.dev/r/hextaui/animated-underline"
```
```
pnpm dlx shadcn@latest add "https://21st.dev/r/hextaui/animated-underline"
```
```
yarn dlx shadcn@latest add "https://21st.dev/r/hextaui/animated-underline"
```
```
bun x shadcn@latest add "https://21st.dev/r/hextaui/animated-underline"
```
## [Usage](https://www.hextaui.com/docs/og-blocks/text/animated-underline\#usage)
```
import { AnimatedUnderline } from "@/components/ui/AnimatedUnderline";
```
```
```
## [Props](https://www.hextaui.com/docs/og-blocks/text/animated-underline\#props)
| Prop | Type | Default |
| --- | --- | --- |
| `text?` | `string` | `Hover me` |
[Edit on GitHub](https://github.com/preetsuthar17/hextaui/blob/master/content/docs/og-blocks/text/animated-underline.mdx)
Last updated on 6/23/2025
[Post Card\\
\\
A card component for social media posts.](https://www.hextaui.com/docs/og-blocks/application/post-card) [Staggered Blur\\
\\
A staggered blur effect for text elements.](https://www.hextaui.com/docs/og-blocks/text/blurred-stagger)
### On this page
[Installation](https://www.hextaui.com/docs/og-blocks/text/animated-underline#installation) [Usage](https://www.hextaui.com/docs/og-blocks/text/animated-underline#usage) [Props](https://www.hextaui.com/docs/og-blocks/text/animated-underline#props)

Psst, here! If you like my work, consider buying me a coffee. ☕
## Animated Cursor Component
[Build websites 10x faster with HextaUI Blocks —Learn more](https://pro.hextaui.com/blocks)
Original Blocks/Animations
# Cursor
An animated cursor component that follow the mouse pointer with smooth animations.
PreviewCode
Ready to build something amazing?
Join thousands of developers who are already using HextaUI to create stunning websites with less effort. Start building today!
```
export const CursorDemo = () => {
return (
Ready to build something amazing?
Join thousands of developers who are already using HextaUI to create
stunning websites with less effort. Start building today!
preett
);
};
```
## [Installation](https://www.hextaui.com/docs/og-blocks/animation/cursor\#installation)
ManualCLI
Copy and paste the following code into your project.
components/ui/ShiningText.tsx
```
"use client";
import * as React from "react";
import {
motion,
useMotionValue,
useSpring,
AnimatePresence,
type HTMLMotionProps,
type SpringOptions,
} from "motion/react";
import { clsx, type ClassValue } from "clsx";
import { twMerge } from "tailwind-merge";
import { MousePointer2 } from "lucide-react";
function cx(...inputs: ClassValue[]) {
return twMerge(clsx(inputs));
}
export type MouseTrackerContextType = {
position: { x: number; y: number };
active: boolean;
wrapperRef: React.RefObject;
pointerRef: React.RefObject;
};
const MouseTrackerContext = React.createContext<
MouseTrackerContextType | undefined
>(undefined);
export const useMouseTracker = (): MouseTrackerContextType => {
const context = React.useContext(MouseTrackerContext);
if (!context) {
throw new Error("useMouseTracker must be used within MouseTrackerProvider");
}
return context;
};
export type MouseTrackerProviderProps = React.ComponentProps<"div"> & {
children: React.ReactNode;
};
function MouseTrackerProvider({
ref,
children,
...rest
}: MouseTrackerProviderProps) {
const [position, setPosition] = React.useState({ x: 0, y: 0 });
const [active, setActive] = React.useState(false);
const wrapperRef = React.useRef(null);
const pointerRef = React.useRef(null);
React.useImperativeHandle(ref, () => wrapperRef.current as HTMLDivElement);
React.useEffect(() => {
const wrapper = wrapperRef.current;
if (!wrapper) return;
const container = wrapper.parentElement;
if (!container) return;
if (getComputedStyle(container).position === "static") {
container.style.position = "relative";
}
const updatePosition = (e: MouseEvent) => {
const bounds = container.getBoundingClientRect();
setPosition({ x: e.clientX - bounds.left, y: e.clientY - bounds.top });
setActive(true);
};
const clearPosition = () => setActive(false);
container.addEventListener("mousemove", updatePosition);
container.addEventListener("mouseleave", clearPosition);
return () => {
container.removeEventListener("mousemove", updatePosition);
container.removeEventListener("mouseleave", clearPosition);
};
}, []);
return (
{children}
);
}
export type PointerProps = HTMLMotionProps<"div"> & {
children: React.ReactNode;
springConfig?: SpringOptions;
};
function Pointer({
ref,
className,
style,
children,
springConfig = { stiffness: 400, damping: 40, mass: 0.5 },
...rest
}: PointerProps) {
const { position, active, wrapperRef, pointerRef } = useMouseTracker();
React.useImperativeHandle(ref, () => pointerRef.current as HTMLDivElement);
const x = useMotionValue(0);
const y = useMotionValue(0);
const springX = useSpring(x, springConfig);
const springY = useSpring(y, springConfig);
React.useEffect(() => {
const container = wrapperRef.current?.parentElement;
if (container && active) container.style.cursor = "none";
return () => {
if (container) container.style.cursor = "default";
};
}, [active, wrapperRef]);
React.useEffect(() => {
x.set(position.x);
y.set(position.y);
}, [position, x, y]);
return (
{active && (
{children}
)}
);
}
export type Anchor =
| "top"
| "top-left"
| "top-right"
| "bottom"
| "bottom-left"
| "bottom-right"
| "left"
| "right"
| "center";
export type PointerFollowerProps = HTMLMotionProps<"div"> & {
align?: Anchor;
gap?: number;
transition?: SpringOptions;
springConfig?: SpringOptions;
children: React.ReactNode;
};
function PointerFollower({
ref,
align = "bottom-right",
gap = 20,
transition = { stiffness: 500, damping: 50, bounce: 0 },
springConfig = { stiffness: 300, damping: 30, mass: 0.8 },
children,
className,
style,
...rest
}: PointerFollowerProps) {
const { position, active, pointerRef } = useMouseTracker();
const followerRef = React.useRef(null);
React.useImperativeHandle(ref, () => followerRef.current as HTMLDivElement);
const x = useMotionValue(0);
const y = useMotionValue(0);
const springX = useSpring(x, springConfig);
const springY = useSpring(y, springConfig);
const getOffset = React.useCallback(() => {
const box = followerRef.current?.getBoundingClientRect();
const w = box?.width ?? 0;
const h = box?.height ?? 0;
switch (align) {
case "center":
return { x: w / 2, y: h / 2 };
case "top":
return { x: w / 2, y: h + gap };
case "top-left":
return { x: w + gap, y: h + gap };
case "top-right":
return { x: -gap, y: h + gap };
case "bottom":
return { x: w / 2, y: -gap };
case "bottom-left":
return { x: w + gap, y: -gap };
case "bottom-right":
return { x: -gap, y: -gap };
case "left":
return { x: w + gap, y: h / 2 };
case "right":
return { x: -gap, y: h / 2 };
default:
return { x: 0, y: 0 };
}
}, [align, gap]);
React.useEffect(() => {
const offset = getOffset();
const pointerBox = pointerRef.current?.getBoundingClientRect();
const pw = pointerBox?.width ?? 20;
const ph = pointerBox?.height ?? 20;
const targetX = position.x - offset.x + pw / 2;
const targetY = position.y - offset.y + ph / 2;
x.set(targetX);
y.set(targetY);
}, [position, getOffset, pointerRef, x, y]);
return (
{active && (
{children}
)}
);
}
export {
MouseTrackerProvider as CursorProvider,
Pointer as Cursor,
PointerFollower as CursorFollow,
useMouseTracker as useCursor,
type MouseTrackerContextType as CursorContextType,
type MouseTrackerProviderProps as CursorProviderProps,
type PointerProps as CursorProps,
type PointerFollowerProps as CursorFollowProps,
};
```
npmpnpmyarnbun
```
npx shadcn@latest add "https://21st.dev/r/hextaui/cursor"
```
```
pnpm dlx shadcn@latest add "https://21st.dev/r/hextaui/cursor"
```
```
yarn dlx shadcn@latest add "https://21st.dev/r/hextaui/cursor"
```
```
bun x shadcn@latest add "https://21st.dev/r/hextaui/cursor"
```
## [Usage](https://www.hextaui.com/docs/og-blocks/animation/cursor\#usage)
```
import {
MouseTrackerProvider as CursorProvider,
Pointer as Cursor,
PointerFollower as CursorFollow,
} from "@/components/ui/cursor";
```
```
HextaStudio
```
[Edit on GitHub](https://github.com/preetsuthar17/hextaui/blob/master/content/docs/og-blocks/animation/cursor.mdx)
Last updated on 6/23/2025
[All blocksNew\\
\\
Previous Page](https://www.hextaui.com/docs/og-blocks/all-blocks) [Gradient Beam\\
\\
An animated line component with a moving gradient and optional logos at the endpoints.](https://www.hextaui.com/docs/og-blocks/animation/gradient-beam)
### On this page
[Installation](https://www.hextaui.com/docs/og-blocks/animation/cursor#installation) [Usage](https://www.hextaui.com/docs/og-blocks/animation/cursor#usage)

Psst, here! If you like my work, consider buying me a coffee. ☕
## HextaUI Installation Guide
[Build websites 10x faster with HextaUI Blocks —Learn more](https://pro.hextaui.com/blocks)
UI/Getting Started
# Installation
How to install and set up HextaUI in your Next.js project.
[Next.js](https://www.hextaui.com/docs/ui/installation/nextjs) [Vite](https://www.hextaui.com/docs/ui/installation/vite) [Astro](https://www.hextaui.com/docs/ui/installation/astro)
[Edit on GitHub](https://github.com/preetsuthar17/hextaui/blob/master/content/docs/ui/getting-started/installation.mdx)
Last updated on 6/23/2025
[Introduction\\
\\
Modern, responsive, and customizable UI components. Copy, adapt, and personalize them.](https://www.hextaui.com/docs/ui/getting-started/introduction) [Changelog\\
\\
The changelog for the latest updates and changes to the project.](https://www.hextaui.com/docs/ui/getting-started/changelog)

Psst, here! If you like my work, consider buying me a coffee. ☕
## Expandable Tabs Component
[Build websites 10x faster with HextaUI Blocks —Learn more](https://pro.hextaui.com/blocks)
Original Blocks/Application
# Expandable Tabs
A component that allows for expandable tabs with smooth transitions.
PreviewCode
Important
```
export const ExpandableTabsDemo = () => {
const tabs: TabItem[] = [\
{\
id: "important",\
icon: Zap,\
label: "Important",\
color: "bg-blue-600",\
},\
{\
id: "profile",\
icon: User,\
label: "Profile",\
color: "bg-pink-500",\
},\
{\
id: "features",\
icon: Sparkles,\
label: "Features",\
color: "bg-pink-600",\
},\
{\
id: "messages",\
icon: Mail,\
label: "Messages",\
color: "bg-purple-500",\
},\
];
return (
<>
>
);
};
```
## [Installation](https://www.hextaui.com/docs/og-blocks/application/expandable-tabs\#installation)
ManualCLI
Copy and paste the following code into your project.
components/ui/expandable-tabs.tsx
```
"use client";
import { useState } from "react";
import { motion, AnimatePresence } from "motion/react";
import type { LucideIcon } from "lucide-react";
import { clsx, type ClassValue } from "clsx";
import { twMerge } from "tailwind-merge";
export function cn(...inputs: ClassValue[]) {
return twMerge(clsx(inputs));
}
export type TabItem = {
id: string;
icon: LucideIcon;
label: string;
color: string;
};
export type ExpandableTabsProps = {
tabs: TabItem[];
defaultTabId?: string;
className?: string;
};
export const ExpandableTabs = ({
tabs,
defaultTabId = tabs[0]?.id,
className,
}: ExpandableTabsProps) => {
const [activeTabId, setActiveTabId] = useState(defaultTabId);
return (
```
### [Required and Optional Labels](https://www.hextaui.com/docs/ui/components/label\#required-and-optional-labels)
PreviewCode
Required Field\*
Optional Field(optional)
Normal Field
```
```
### [With Icons and Complex Inputs](https://www.hextaui.com/docs/ui/components/label\#with-icons-and-complex-inputs)
PreviewCode
Email Address\*
Password\*
Username(optional)
```
import { Mail, Lock, User } from "lucide-react";
```
## [Form Association](https://www.hextaui.com/docs/ui/components/label\#form-association)
The Label component works seamlessly with form controls:
```
// Proper association using htmlFor
// Required field indication
// Optional field indication
```
## [Props](https://www.hextaui.com/docs/ui/components/label\#props)
| Prop | Type | Default |
| --- | --- | --- |
| `className?` | `string` | `undefined` |
| `optional?` | `boolean` | `false` |
| `required?` | `boolean` | `false` |
| `size?` | `"default" | "sm" | "lg"` | `"default"` |
| `variant?` | `"default" | "destructive" | "muted"` | `"default"` |
[Edit on GitHub](https://github.com/preetsuthar17/hextaui/blob/master/content/docs/ui/components/label.mdx)
Last updated on 6/23/2025
[Kbd\\
\\
A keyboard key component for displaying keyboard shortcuts and key combinations.](https://www.hextaui.com/docs/ui/components/kbd) [Loader\\
\\
A simple and elegant loading spinner component with multiple sizes and color variants.](https://www.hextaui.com/docs/ui/components/loader)
### On this page
[Usage](https://www.hextaui.com/docs/ui/components/label#usage) [Installation](https://www.hextaui.com/docs/ui/components/label#installation) [Usage](https://www.hextaui.com/docs/ui/components/label#usage-1) [Examples](https://www.hextaui.com/docs/ui/components/label#examples) [Sizes](https://www.hextaui.com/docs/ui/components/label#sizes) [Variants](https://www.hextaui.com/docs/ui/components/label#variants) [Required and Optional Labels](https://www.hextaui.com/docs/ui/components/label#required-and-optional-labels) [With Icons and Complex Inputs](https://www.hextaui.com/docs/ui/components/label#with-icons-and-complex-inputs) [Form Layout Examples](https://www.hextaui.com/docs/ui/components/label#form-layout-examples) [Disabled State](https://www.hextaui.com/docs/ui/components/label#disabled-state) [Form Association](https://www.hextaui.com/docs/ui/components/label#form-association) [Props](https://www.hextaui.com/docs/ui/components/label#props)

Psst, here! If you like my work, consider buying me a coffee. ☕
## HextaUI Roadmap Overview
[Build websites 10x faster with HextaUI Blocks —Learn more](https://pro.hextaui.com/blocks)
UI/Getting Started
# Roadmap
This roadmap shows the timeline of what’s done, what we’re working on, and what’s planned for the months ahead.
## [Achievements](https://www.hextaui.com/docs/ui/getting-started/roadmap\#achievements)
- 11th June, 2025: [HextaUI crossed 150 stars on GitHub](https://x.com/preetsuthar17/status/1932629080563720675)
- 4th June, 2025: [Started working on HextaUI v2](https://github.com/preetsuthar17/HextaUI/pull/16)
- 15th May, 2025: [HextaUI crossed 100 stars on GitHub](https://x.com/preetsuthar17/status/1922992543052202380)
## [Roadmap](https://www.hextaui.com/docs/ui/getting-started/roadmap\#roadmap)
### [April May 2025 (Completed)](https://www.hextaui.com/docs/ui/getting-started/roadmap\#april-may-2025-completed)
- [x] Calendar component
- [x] Date Picker component
- [x] Drawer component
- [x] File Upload component
- [x] Resizable component
- [x] Toast component
### [June 2025 (Upcoming)](https://www.hextaui.com/docs/ui/getting-started/roadmap\#june-2025-upcoming)
- [x] Color Picker component
- [ ] Navigation Menu component
- [x] Sidebar component
- [ ] Theme Builder
- [x] CLI support for installing components
### [July-August 2025 (Upcoming)](https://www.hextaui.com/docs/ui/getting-started/roadmap\#july-august-2025-upcoming)
- [x] **Blocks System** (pre-built UI layouts)
- [ ] Theme Builder v1 with ready-made themes
### [Later in 2025 (Planned)](https://www.hextaui.com/docs/ui/getting-started/roadmap\#later-in-2025-planned)
- [ ] More components based on community feedback
- [ ] Performance optimizations
- [ ] AI builder for custom components
- [x] Templates
* * *
### [Todo](https://www.hextaui.com/docs/ui/getting-started/roadmap\#todo)
- [ ] Add horizontal scroll area support in table component
- [x] HextaUI CLI
- [ ] AI builder for custom components
- [ ] More components based on community feedback
- [x] Add authentication and authorization blocks
If you have any suggestions or feedback on the roadmap, feel free to [open an issue on GitHub](https://github.com/preetsuthar17/HextaUI) or join our [Discord community](https://discord.gg/hG4dkbMcZf).
[Edit on GitHub](https://github.com/preetsuthar17/hextaui/blob/master/content/docs/ui/getting-started/roadmap.mdx)
Last updated on
[Changelog\\
\\
The changelog for the latest updates and changes to the project.](https://www.hextaui.com/docs/ui/getting-started/changelog) [Base Components\\
\\
A complete set of base components projects. Copy, adapt, and personalize them.](https://www.hextaui.com/docs/ui/everything-by-hextaui/base-components)
### On this page
[Achievements](https://www.hextaui.com/docs/ui/getting-started/roadmap#achievements) [Roadmap](https://www.hextaui.com/docs/ui/getting-started/roadmap#roadmap) [April May 2025 (Completed)](https://www.hextaui.com/docs/ui/getting-started/roadmap#april-may-2025-completed) [June 2025 (Upcoming)](https://www.hextaui.com/docs/ui/getting-started/roadmap#june-2025-upcoming) [July-August 2025 (Upcoming)](https://www.hextaui.com/docs/ui/getting-started/roadmap#july-august-2025-upcoming) [Later in 2025 (Planned)](https://www.hextaui.com/docs/ui/getting-started/roadmap#later-in-2025-planned) [Todo](https://www.hextaui.com/docs/ui/getting-started/roadmap#todo)

Psst, here! If you like my work, consider buying me a coffee. ☕
## Separator Component
[Build websites 10x faster with HextaUI Blocks —Learn more](https://pro.hextaui.com/blocks)
UI/UI
# Separator
A separator component for dividing content visually.
PreviewCode
Content above separator
OR
Home
About
Contact
Blog
```
```
### [Orientations](https://www.hextaui.com/docs/ui/components/separator\#orientations)
PreviewCode
Horizontal
Content above
Content below
Vertical
Left content
Right content
```
{/* Horizontal */}
Content above
Content below
{/* Vertical */}
Left contentRight content
```
### [Sizes](https://www.hextaui.com/docs/ui/components/separator\#sizes)
PreviewCode
Small (1px)
Medium (2px)
Large (4px)
```
```
### [Vertical Sizes](https://www.hextaui.com/docs/ui/components/separator\#vertical-sizes)
PreviewCode
Small
Content
Medium
Content
Large
Content
```
```
### [Navigation](https://www.hextaui.com/docs/ui/components/separator\#navigation)
PreviewCode
Home
About
Contact
Blog
```
HomeAboutContactBlog
```
### [Text Variants](https://www.hextaui.com/docs/ui/components/separator\#text-variants)
PreviewCode
Different text examples
OR
AND
Continue with
More options
Vertical text separator
Option A
OR
Option B
```
{/* Horizontal text separators */}
ORANDContinue withMore options
{/* Vertical text separator */}
Option A
OR
Option B
```
## [Props](https://www.hextaui.com/docs/ui/components/separator\#props)
| Prop | Type | Default |
| --- | --- | --- |
| `children?` | `React.ReactNode` | `undefined` |
| `className?` | `string` | `undefined` |
| `size?` | `"sm" | "md" | "lg"` | `"sm"` |
| `orientation?` | `"horizontal" | "vertical"` | `"horizontal"` |
[Edit on GitHub](https://github.com/preetsuthar17/hextaui/blob/master/content/docs/ui/components/separator.mdx)
Last updated on 6/23/2025
[Select\\
\\
A comprehensive select component with support for single selection, icons, and animations.](https://www.hextaui.com/docs/ui/components/select) [Sidebar\\
\\
A flexible and responsive sidebar component with animations, collapsible behavior, and comprehensive customization options.](https://www.hextaui.com/docs/ui/components/sidebar)
### On this page
[Installation](https://www.hextaui.com/docs/ui/components/separator#installation) [Usage](https://www.hextaui.com/docs/ui/components/separator#usage) [Examples](https://www.hextaui.com/docs/ui/components/separator#examples) [Default](https://www.hextaui.com/docs/ui/components/separator#default) [Orientations](https://www.hextaui.com/docs/ui/components/separator#orientations) [Sizes](https://www.hextaui.com/docs/ui/components/separator#sizes) [Vertical Sizes](https://www.hextaui.com/docs/ui/components/separator#vertical-sizes) [Navigation](https://www.hextaui.com/docs/ui/components/separator#navigation) [Text Variants](https://www.hextaui.com/docs/ui/components/separator#text-variants) [Props](https://www.hextaui.com/docs/ui/components/separator#props)

Psst, here! If you like my work, consider buying me a coffee. ☕
## HextaUI Color Palette
[Build websites 10x faster with HextaUI Blocks —Learn more](https://pro.hextaui.com/blocks)
UI/Foundation
# Colors
Color palette that is used in every component of HextaUI consistently.
## [Base Colors](https://www.hextaui.com/docs/ui/foundation/colors\#base-colors)
**Background** hsl(var(--hu-background))
**Foreground** hsl(var(--hu-foreground))
**Card** hsl(var(--hu-card))
**Card Foreground** hsl(var(--hu-card-foreground))
## [Interactive Colors](https://www.hextaui.com/docs/ui/foundation/colors\#interactive-colors)
**Primary** hsl(var(--hu-primary))
**Primary Foreground** hsl(var(--hu-primary-foreground))
**Secondary** hsl(var(--hu-secondary))
**Secondary Foreground** hsl(var(--hu-secondary-foreground))
**Accent** hsl(var(--hu-accent))
**Accent Foreground** hsl(var(--hu-accent-foreground))
## [Utility Colors](https://www.hextaui.com/docs/ui/foundation/colors\#utility-colors)
**Muted** hsl(var(--hu-muted))
**Muted Foreground** hsl(var(--hu-muted-foreground))
**Destructive** hsl(var(--hu-destructive))
**Destructive Foreground** hsl(var(--hu-destructive-foreground))
## [Form & Layout Colors](https://www.hextaui.com/docs/ui/foundation/colors\#form--layout-colors)
**Border** hsl(var(--hu-border))
**Input** hsl(var(--hu-input))
**Ring** hsl(var(--hu-ring))
[Edit on GitHub](https://github.com/preetsuthar17/hextaui/blob/master/content/docs/ui/foundation/colors.mdx)
Last updated on 6/23/2025
[Base Components\\
\\
A complete set of base components projects. Copy, adapt, and personalize them.](https://www.hextaui.com/docs/ui/everything-by-hextaui/base-components) [Theming\\
\\
How to customize the look and feel of HextaUI components using themes.](https://www.hextaui.com/docs/ui/foundation/theming)
### On this page
[Base Colors](https://www.hextaui.com/docs/ui/foundation/colors#base-colors) [Interactive Colors](https://www.hextaui.com/docs/ui/foundation/colors#interactive-colors) [Utility Colors](https://www.hextaui.com/docs/ui/foundation/colors#utility-colors) [Form & Layout Colors](https://www.hextaui.com/docs/ui/foundation/colors#form--layout-colors)

Psst, here! If you like my work, consider buying me a coffee. ☕
## HextaUI Avatar Component
[Build websites 10x faster with HextaUI Blocks —Learn more](https://pro.hextaui.com/blocks)
UI/UI
# Avatar
An image element with a fallback for representing the user.
PreviewCode
JD
```
```
### [Avatar with Tooltip](https://www.hextaui.com/docs/ui/components/avatar\#avatar-with-tooltip)
> **Note:** The [Tooltip component](https://www.hextaui.com/docs/ui/tooltip) is required to use the tooltip functionality with Avatar.
PreviewCode
JD+1
```
PSVCJDAU
```
## [Props](https://www.hextaui.com/docs/ui/components/avatar\#props)
### [Avatar](https://www.hextaui.com/docs/ui/components/avatar\#avatar)
| Prop | Type | Default |
| --- | --- | --- |
| `className?` | `string` | `undefined` |
| `tooltip?` | `string | TooltipContentProps` | `undefined` |
| `size?` | `"xs" | "sm" | "md" | "lg" | "xl" | "2xl"` | `"md"` |
### [AvatarGroup](https://www.hextaui.com/docs/ui/components/avatar\#avatargroup)
| Prop | Type | Default |
| --- | --- | --- |
| `className?` | `string` | `undefined` |
| `children?` | `React.ReactElement[]` | `required` |
| `size?` | `"xs" | "sm" | "md" | "lg" | "xl" | "2xl"` | `"md"` |
| `spacing?` | `"tight" | "normal" | "loose"` | `"normal"` |
| `max?` | `number` | `3` |
[Edit on GitHub](https://github.com/preetsuthar17/hextaui/blob/master/content/docs/ui/components/avatar.mdx)
Last updated on 6/23/2025
[Alert\\
\\
A versatile alert component for displaying important messages, notifications, and status updates.](https://www.hextaui.com/docs/ui/components/alert) [Badge\\
\\
A versatile badge component for displaying status, labels, or categories.](https://www.hextaui.com/docs/ui/components/badge)
### On this page
[Installation](https://www.hextaui.com/docs/ui/components/avatar#installation) [Usage](https://www.hextaui.com/docs/ui/components/avatar#usage) [Examples](https://www.hextaui.com/docs/ui/components/avatar#examples) [Default](https://www.hextaui.com/docs/ui/components/avatar#default) [Sizes](https://www.hextaui.com/docs/ui/components/avatar#sizes) [Fallback Only](https://www.hextaui.com/docs/ui/components/avatar#fallback-only) [Avatar Group](https://www.hextaui.com/docs/ui/components/avatar#avatar-group) [Group Spacing](https://www.hextaui.com/docs/ui/components/avatar#group-spacing) [Avatar with Tooltip](https://www.hextaui.com/docs/ui/components/avatar#avatar-with-tooltip) [Props](https://www.hextaui.com/docs/ui/components/avatar#props) [Avatar](https://www.hextaui.com/docs/ui/components/avatar#avatar) [AvatarGroup](https://www.hextaui.com/docs/ui/components/avatar#avatargroup)

Psst, here! If you like my work, consider buying me a coffee. ☕
## Keyboard Shortcuts Component
[Build websites 10x faster with HextaUI Blocks —Learn more](https://pro.hextaui.com/blocks)
UI/UI
# Kbd
A keyboard key component for displaying keyboard shortcuts and key combinations.
PreviewCode
`Ctrl` `⌘` `Shift` `Alt` `Enter` `Esc` `Space` `Tab`
```
```
### [Icon Sizes](https://www.hextaui.com/docs/ui/components/badge\#icon-sizes)
PreviewCode
Small
Default
Large
```
import { Heart } from "lucide-react";
```
### [Confirmation Dialog](https://www.hextaui.com/docs/ui/components/modal\#confirmation-dialog)
PreviewCode
Delete Account
```
Are you absolutely sure?
This action cannot be undone. This will permanently delete your
account and remove your data from our servers.
```
### [Custom Content](https://www.hextaui.com/docs/ui/components/modal\#custom-content)
PreviewCode
View Details
```
Project DetailsReview the project information below.
>
);
};
```
npmpnpmyarnbun
```
npx shadcn@latest add "https://21st.dev/r/hextaui/blurred-stagger-text"
```
```
pnpm dlx shadcn@latest add "https://21st.dev/r/hextaui/blurred-stagger-text"
```
```
yarn dlx shadcn@latest add "https://21st.dev/r/hextaui/blurred-stagger-text"
```
```
bun x shadcn@latest add "https://21st.dev/r/hextaui/blurred-stagger-text"
```
## [Usage](https://www.hextaui.com/docs/og-blocks/text/blurred-stagger\#usage)
```
import { BlurredStagger } from "@/components/ui/BlurredStagger";
```
```
```
## [Props](https://www.hextaui.com/docs/og-blocks/text/blurred-stagger\#props)
| Prop | Type | Default |
| --- | --- | --- |
| `text?` | `string` | `we love hextaui.com ❤️` |
[Edit on GitHub](https://github.com/preetsuthar17/hextaui/blob/master/content/docs/og-blocks/text/blurred-stagger.mdx)
Last updated on 6/23/2025
[Animated Underline\\
\\
A component that adds an animated underline effect to text.](https://www.hextaui.com/docs/og-blocks/text/animated-underline) [Shining Text\\
\\
A shining text effect for captivating animations.](https://www.hextaui.com/docs/og-blocks/text/shining-text)
### On this page
[Installation](https://www.hextaui.com/docs/og-blocks/text/blurred-stagger#installation) [Usage](https://www.hextaui.com/docs/og-blocks/text/blurred-stagger#usage) [Props](https://www.hextaui.com/docs/og-blocks/text/blurred-stagger#props)

Psst, here! If you like my work, consider buying me a coffee. ☕
## HextaUI Components
[Build websites 10x faster with HextaUI Blocks —Learn more](https://pro.hextaui.com/blocks)
UI/Foundation
# Components
All the components available in the Hexta UI library.
- [Accordion](https://www.hextaui.com/docs/ui/components/accordion) \- A vertically stacked set of interactive headings that each reveal an associated section of content.
- [Alert](https://www.hextaui.com/docs/ui/components/alert) \- A versatile alert component for displaying important messages, notifications, and status updates.
- [Avatar](https://www.hextaui.com/docs/ui/components/avatar) \- An image element with a fallback for representing the user.
- [Badge](https://www.hextaui.com/docs/ui/components/badge) \- A versatile badge component for displaying status, labels, or categories.
- [Breadcrumb](https://www.hextaui.com/docs/ui/components/breadcrumb) \- A navigation aid that shows users their current location within a website or application hierarchy.
- [Button](https://www.hextaui.com/docs/ui/components/button) \- Displays a button component with various styles and states.
- [Calendar](https://www.hextaui.com/docs/ui/components/calendar) \- A comprehensive calendar component for date selection with support for single dates, date ranges, and multiple date selection.
- [Card](https://www.hextaui.com/docs/ui/components/card) \- A flexible container component for displaying content in a card layout with header, content, and footer sections.
- [Checkbox](https://www.hextaui.com/docs/ui/components/checkbox) \- A customizable checkbox component with smooth animations and multiple states.
- [Chip](https://www.hextaui.com/docs/ui/components/chip) \- A compact, interactive element for displaying status, categories, or filters with optional icons and dismissible functionality.
- [Color Picker](https://www.hextaui.com/docs/ui/components/color-picker) \- A comprehensive color picker component for selecting colors with multiple input methods and presets.
- [Command Menu](https://www.hextaui.com/docs/ui/components/command-menu) \- A command palette component with keyboard navigation, search, and shortcuts for quick actions and navigation.
- [Date Picker](https://www.hextaui.com/docs/ui/components/date-picker) \- A flexible date picker component with single date and date range selection modes, built with accessibility and responsive design in mind.
- [Drawer](https://www.hextaui.com/docs/ui/components/drawer) \- A customizable drawer component built on top of Vaul with smooth animations and flexible positioning.
- [Dropdown Menu](https://www.hextaui.com/docs/ui/components/dropdown-menu) \- A versatile dropdown menu component with animations, multiple variants, and full accessibility support.
- [File Upload](https://www.hextaui.com/docs/ui/components/file-upload) \- A versatile file upload component with drag and drop support, progress tracking, and customizable styling.
- [Input](https://www.hextaui.com/docs/ui/components/input) \- Displays a form input field with enhanced features like password visibility toggle, clearable functionality, and Zod validation support.
- [Input OTP](https://www.hextaui.com/docs/ui/components/input-otp) \- A flexible and accessible one-time password input component with customizable slots, patterns, and animations.
- [Kbd](https://www.hextaui.com/docs/ui/components/kbd) \- A keyboard key component for displaying keyboard shortcuts and key combinations.
- [Label](https://www.hextaui.com/docs/ui/components/label) \- Displays a label element with enhanced styling and accessibility features for form controls.
- [Loader](https://www.hextaui.com/docs/ui/components/loader) \- A simple and elegant loading spinner component with multiple sizes and color variants.
- [Marquee](https://www.hextaui.com/docs/ui/components/marquee) \- A smooth scrolling marquee component for displaying continuous content.
- [Menubar](https://www.hextaui.com/docs/ui/components/menubar) \- A horizontal menu bar component for navigation and actions.
- [Modal](https://www.hextaui.com/docs/ui/components/modal) \- A simple and accessible modal dialog component with smooth animations.
- [Navigation Menu](https://www.hextaui.com/docs/ui/components/navigation-menu) \- Navigation menus are used to display a list of links or actions, typically in a horizontal or vertical layout.
- [Pagination](https://www.hextaui.com/docs/ui/components/pagination) \- Navigation component for splitting content across multiple pages with previous/next controls and page numbers.
- [Progress](https://www.hextaui.com/docs/ui/components/progress) \- A versatile progress component for displaying completion status, loading states, and step-by-step processes.
- [Radio](https://www.hextaui.com/docs/ui/components/radio) \- A customizable radio group component with smooth animations and flexible layouts.
- [Resizable](https://www.hextaui.com/docs/ui/components/resizable) \- Accessible resizable panel groups and layouts.
- [Scroll Area](https://www.hextaui.com/docs/ui/components/scroll-area) \- A customizable scroll area component with smooth scrolling and accessible scrollbars.
- [Select](https://www.hextaui.com/docs/ui/components/select) \- A comprehensive select component with support for single selection, icons, and animations.
- [Separator](https://www.hextaui.com/docs/ui/components/separator) \- A separator component for dividing content visually.
- [Sidebar](https://www.hextaui.com/docs/ui/components/sidebar) \- A flexible and responsive sidebar component with animations, collapsible behavior, and comprehensive customization options.
- [Skeleton](https://www.hextaui.com/docs/ui/components/skeleton) \- Display placeholder content while loading to improve perceived performance.
- [Slider](https://www.hextaui.com/docs/ui/components/slider) \- A customizable range input component for selecting numeric values with multiple variants and sizes.
- [Switch](https://www.hextaui.com/docs/ui/components/switch) \- A control that allows the user to toggle between checked and not checked with smooth animations and multiple variants.
- [Table](https://www.hextaui.com/docs/ui/components/table) \- A responsive and feature-rich data table component with sorting, filtering, pagination, and customizable rendering.
- [Tabs](https://www.hextaui.com/docs/ui/components/tabs) \- A set of layered sections of content with smooth animations and modern styling.
- [Textarea](https://www.hextaui.com/docs/ui/components/textarea) \- Displays a multi-line text input field with enhanced features like clearable functionality, auto-resizing, and Zod validation support.
- [Toast](https://www.hextaui.com/docs/ui/components/toast) \- A flexible toast notification component built on top of Sonner with customizable styling and comprehensive functionality.
- [Toggle](https://www.hextaui.com/docs/ui/components/toggle) \- A two-state button that can be either on or off with smooth transitions and multiple variants.
- [Tooltip](https://www.hextaui.com/docs/ui/components/tooltip) \- A popup that displays information related to an element when the element receives keyboard focus or the mouse hovers over it.
- [Tree](https://www.hextaui.com/docs/ui/components/tree) \- A flexible tree view component with collapsible nodes, selection, and animations.
- [Video Player](https://www.hextaui.com/docs/ui/components/video-player) \- A modern, customizable video player component with full controls and keyboard shortcuts.
[Edit on GitHub](https://github.com/preetsuthar17/hextaui/blob/master/content/docs/ui/foundation/components.mdx)
Last updated on 6/23/2025
[Theming\\
\\
How to customize the look and feel of HextaUI components using themes.](https://www.hextaui.com/docs/ui/foundation/theming) [Accordion\\
\\
A vertically stacked set of interactive headings that each reveal an associated section of content.](https://www.hextaui.com/docs/ui/components/accordion)

Psst, here! If you like my work, consider buying me a coffee. ☕
## Customizable Sidebar Component
[Build websites 10x faster with HextaUI Blocks —Learn more](https://pro.hextaui.com/blocks)
UI/UI
# Sidebar
A flexible and responsive sidebar component with animations, collapsible behavior, and comprehensive customization options.
PreviewCode
# Advanced Dashboard
A comprehensive workspace with team management and analytics.
### Projects
12
+2 this week
### Tasks
48
12 pending
### Team
8
members
```
import {
Sidebar,
SidebarBody,
SidebarItem,
SidebarContent,
SidebarHeader,
SidebarText,
} from "@/components/ui/Sidebar";
import { Home, Search, FileText, Settings } from "lucide-react";
function SidebarExample() {
const [collapsed, setCollapsed] = useState(false);
return (
;
};
const SidebarSeparator: React.FC<{
className?: string;
children?: React.ReactNode;
}> = ({ className, children }) => {
const { collapsed } = useSidebar();
if (collapsed && children) {
// In collapsed mode, just show the separator without text
return (
);
}
```
### [Advanced Features](https://www.hextaui.com/docs/ui/components/sidebar\#advanced-features)
#### [Nested Navigation](https://www.hextaui.com/docs/ui/components/sidebar\#nested-navigation)
```
```
#### [With Badges and Actions](https://www.hextaui.com/docs/ui/components/sidebar\#with-badges-and-actions)
```
3}
onClick={() => handleNotificationClick()}
/>
```
#### [Mobile Responsive](https://www.hextaui.com/docs/ui/components/sidebar\#mobile-responsive)
```
setCollapsed(true)}
collapsed={collapsed}
onCollapsedChange={setCollapsed}
>
{/* Sidebar content */}
```
## [Text Hiding Behavior](https://www.hextaui.com/docs/ui/components/sidebar\#text-hiding-behavior)
The sidebar automatically hides text content when collapsed. Use the `SidebarText` component for text that should animate in and out:
```
// Text that animates with smooth transitions
Dashboard
// Text that appears/disappears instantly
```
## [Examples](https://www.hextaui.com/docs/ui/components/sidebar\#examples)
### [Basic Sidebar](https://www.hextaui.com/docs/ui/components/sidebar\#basic-sidebar)
PreviewCode
# Welcome to HextaUI
This is the main content area. The sidebar will affect the width of this content.
### Card 1
Some content here
### Card 2
Some content here
```
"use client";
import * as React from "react";
import {
Sidebar,
SidebarBody,
SidebarItem,
SidebarContent,
SidebarHeader,
SidebarText,
} from "./sidebar";
import { cn } from "@/lib/utils";
import { Home, Search, Settings, FileText } from "lucide-react";
export function SidebarBasic() {
const [collapsed, setCollapsed] = React.useState(false);
return (
HextaUI
Welcome to HextaUI
This is the main content area. The sidebar will affect the width of this content.
);
}
```
### [With Profile Dropdown](https://www.hextaui.com/docs/ui/components/sidebar\#with-profile-dropdown)
PreviewCode
# Dashboard
Welcome back! Here's your dashboard overview.
### Projects
12
### Tasks
24
```
"use client";
import * as React from "react";
import {
Sidebar,
SidebarBody,
SidebarItem,
SidebarContent,
SidebarHeader,
SidebarFooter,
SidebarText,
} from "./sidebar";
import { Badge } from "../badge";
import { Button } from "../button";
import { Avatar, AvatarImage, AvatarFallback } from "../avatar";
import { cn } from "@/lib/utils";
import {
Home,
BarChart3,
Calendar,
Mail,
Folder,
ChevronDown,
LogOut,
User,
Settings,
Bell,
} from "lucide-react";
export function SidebarWithProfile() {
const [collapsed, setCollapsed] = React.useState(false);
return (
);
}
```
### [Mobile Responsive](https://www.hextaui.com/docs/ui/components/sidebar\#mobile-responsive-1)
PreviewCode
# Mobile Layout
Open Menu
This layout is optimized for mobile devices with overlay sidebar.
```
"use client";
import * as React from "react";
import {
Sidebar,
SidebarBody,
SidebarItem,
SidebarContent,
SidebarHeader,
SidebarText,
} from "./sidebar";
import { Badge } from "../badge";
import { Button } from "../button";
import { Home, Search, Bell, User, Settings } from "lucide-react";
export function SidebarMobile() {
const [collapsed, setCollapsed] = React.useState(true);
return (
setCollapsed(true)}
>
HextaUI
5
}
/>
);
}
```
## [Props](https://www.hextaui.com/docs/ui/components/sidebar\#props)
| Prop | Type | Default |
| --- | --- | --- |
| `children?` | `React.ReactNode` | `undefined` |
| `overlay?` | `boolean` | `false` |
| `position?` | `"fixed" | "relative"` | `"fixed"` |
| `size?` | `"sm" | "default" | "lg" | "xl"` | `"default"` |
| `variant?` | `"default" | "elevated" | "ghost"` | `"default"` |
| `collapsible?` | `boolean` | `true` |
| `onCollapsedChange?` | `(collapsed: boolean) => void` | `undefined` |
| `collapsed?` | `boolean` | `false` |
### [SidebarItem](https://www.hextaui.com/docs/ui/components/sidebar\#sidebaritem)
| Prop | Type | Default |
| --- | --- | --- |
| `onClick?` | `() => void` | `undefined` |
| `children?` | `React.ReactNode` | `undefined` |
| `badge?` | `React.ReactNode` | `undefined` |
| `href?` | `string` | `undefined` |
| `icon?` | `LucideIcon` | `undefined` |
| `label?` | `string` | `undefined` |
| `id?` | `string` | `undefined` |
### [SidebarContent](https://www.hextaui.com/docs/ui/components/sidebar\#sidebarcontent)
| Prop | Type | Default |
| --- | --- | --- |
| `className?` | `string` | `undefined` |
| `children?` | `React.ReactNode` | `undefined` |
| `position?` | `"fixed" | "relative"` | `"fixed"` |
| `sidebarCollapsed?` | `boolean` | `false` |
### [SidebarText](https://www.hextaui.com/docs/ui/components/sidebar\#sidebartext)
| Prop | Type | Default |
| --- | --- | --- |
| `animation?` | `boolean` | `true` |
| `className?` | `string` | `undefined` |
| `children?` | `React.ReactNode` | `undefined` |
```
```
[Edit on GitHub](https://github.com/preetsuthar17/hextaui/blob/master/content/docs/ui/components/sidebar.mdx)
Last updated on 6/23/2025
[Separator\\
\\
A separator component for dividing content visually.](https://www.hextaui.com/docs/ui/components/separator) [Skeleton\\
\\
Display placeholder content while loading to improve perceived performance.](https://www.hextaui.com/docs/ui/components/skeleton)
### On this page
[Installation](https://www.hextaui.com/docs/ui/components/sidebar#installation) [Usage Guide](https://www.hextaui.com/docs/ui/components/sidebar#usage-guide) [Basic Setup](https://www.hextaui.com/docs/ui/components/sidebar#basic-setup) [Advanced Features](https://www.hextaui.com/docs/ui/components/sidebar#advanced-features) [Nested Navigation](https://www.hextaui.com/docs/ui/components/sidebar#nested-navigation) [With Badges and Actions](https://www.hextaui.com/docs/ui/components/sidebar#with-badges-and-actions) [Mobile Responsive](https://www.hextaui.com/docs/ui/components/sidebar#mobile-responsive) [Text Hiding Behavior](https://www.hextaui.com/docs/ui/components/sidebar#text-hiding-behavior) [Examples](https://www.hextaui.com/docs/ui/components/sidebar#examples) [Basic Sidebar](https://www.hextaui.com/docs/ui/components/sidebar#basic-sidebar) [With Profile Dropdown](https://www.hextaui.com/docs/ui/components/sidebar#with-profile-dropdown) [With Team Selector](https://www.hextaui.com/docs/ui/components/sidebar#with-team-selector) [Advanced Sidebar](https://www.hextaui.com/docs/ui/components/sidebar#advanced-sidebar) [Mobile Responsive](https://www.hextaui.com/docs/ui/components/sidebar#mobile-responsive-1) [Props](https://www.hextaui.com/docs/ui/components/sidebar#props) [Sidebar](https://www.hextaui.com/docs/ui/components/sidebar#sidebar) [SidebarItem](https://www.hextaui.com/docs/ui/components/sidebar#sidebaritem) [SidebarContent](https://www.hextaui.com/docs/ui/components/sidebar#sidebarcontent) [SidebarText](https://www.hextaui.com/docs/ui/components/sidebar#sidebartext)

Psst, here! If you like my work, consider buying me a coffee. ☕
## HextaUI Changelog
[Build websites 10x faster with HextaUI Blocks —Learn more](https://pro.hextaui.com/blocks)
UI/Getting Started
# Changelog
The changelog for the latest updates and changes to the project.
## [May 2025 - Version 2.0.0](https://www.hextaui.com/docs/ui/getting-started/changelog\#may-2025---version-200)

We're building version 2.0 with significant improvements and new features based on user feedback.
Key changes include:
- Enhanced performance and user experience
- Complete design system redesign from scratch
- New primitive components for better flexibility
[View progress on GitHub](https://github.com/preetsuthar17/HextaUI/pull/16)
[Edit on GitHub](https://github.com/preetsuthar17/hextaui/blob/master/content/docs/ui/getting-started/changelog.mdx)
Last updated on 6/23/2025
[Installation\\
\\
How to install and set up HextaUI in your Next.js project.](https://www.hextaui.com/docs/ui/getting-started/installation) [RoadmapNew\\
\\
Next Page](https://www.hextaui.com/docs/ui/getting-started/roadmap)
### On this page
[May 2025 - Version 2.0.0](https://www.hextaui.com/docs/ui/getting-started/changelog#may-2025---version-200)

Psst, here! If you like my work, consider buying me a coffee. ☕
## Command Menu
[Build websites 10x faster with HextaUI Blocks —Learn more](https://pro.hextaui.com/blocks)
UI/UI
# Command Menu
A command palette component with keyboard navigation, search, and shortcuts for quick actions and navigation.
PreviewCode
Open Command Menu
`Ctrl` `K`
```
import * as React from "react";
import {
CommandMenu,
CommandMenuTrigger,
CommandMenuContent,
CommandMenuInput,
CommandMenuList,
CommandMenuGroup,
CommandMenuItem,
CommandMenuSeparator,
useCommandMenuShortcut,
} from "@/components/ui/command-menu";
import { Button } from "@/components/ui/button";
import { Kbd } from "@/components/ui/kbd";
import {
Command,
Calendar,
User,
Settings,
Plus,
Upload,
Download
} from "lucide-react";
// Utility function to detect OS and return appropriate modifier key
const getModifierKey = () => {
if (typeof navigator === "undefined") return { key: "Ctrl", symbol: "Ctrl" };
const isMac = navigator.platform.toUpperCase().indexOf('MAC') >= 0 ||
navigator.userAgent.toUpperCase().indexOf('MAC') >= 0;
return isMac
? { key: "cmd", symbol: "⌘" }
: { key: "ctrl", symbol: "Ctrl" };
};
export const BasicCommandMenu = () => {
const [open, setOpen] = React.useState(false);
useCommandMenuShortcut(() => setOpen(true));
return (
} index={0}>
Calendar
} index={1}>
Search Users
} index={2}>
Settings
} index={3} shortcut="cmd+n">
Create New
} index={4} shortcut="cmd+u">
Upload File
} index={5} shortcut="cmd+d">
Download
);
};
```
## [Installation](https://www.hextaui.com/docs/ui/components/command-menu\#installation)
ManualCLI
Install following dependencies:
npmpnpmyarnbun
```
npm install @radix-ui/react-dialog @radix-ui/react-visually-hidden motion lucide-react
```
```
pnpm add @radix-ui/react-dialog @radix-ui/react-visually-hidden motion lucide-react
```
```
yarn add @radix-ui/react-dialog @radix-ui/react-visually-hidden motion lucide-react
```
```
bun add @radix-ui/react-dialog @radix-ui/react-visually-hidden motion lucide-react
```
Copy and paste the following code into your project.
components/ui/command-menu.tsx
```
"use client";
import * as React from "react";
import * as DialogPrimitive from "@radix-ui/react-dialog";
import * as VisuallyHidden from "@radix-ui/react-visually-hidden";
import { motion } from "motion/react";
import { Search, X } from "lucide-react";
import { cn } from "@/lib/utils";
import { Kbd } from "@/components/ui/kbd";
import { ScrollArea } from "@/components/ui/scroll-area";
// Utility function to detect OS and return appropriate modifier key
const getModifierKey = () => {
if (typeof navigator === "undefined") return { key: "Ctrl", symbol: "Ctrl" };
const isMac =
navigator.platform.toUpperCase().indexOf("MAC") >= 0 ||
navigator.userAgent.toUpperCase().indexOf("MAC") >= 0;
return isMac ? { key: "cmd", symbol: "⌘" } : { key: "ctrl", symbol: "Ctrl" };
};
// Context for sharing state between components
interface CommandMenuContextType {
value: string;
setValue: (value: string) => void;
selectedIndex: number;
setSelectedIndex: (index: number) => void;
scrollType?: "auto" | "always" | "scroll" | "hover";
scrollHideDelay?: number;
}
const CommandMenuContext = React.createContext<
CommandMenuContextType | undefined
>(undefined);
const CommandMenuProvider: React.FC<{
children: React.ReactNode;
value: string;
setValue: (value: string) => void;
selectedIndex: number;
setSelectedIndex: (index: number) => void;
scrollType?: "auto" | "always" | "scroll" | "hover";
scrollHideDelay?: number;
}> = ({
children,
value,
setValue,
selectedIndex,
setSelectedIndex,
scrollType,
scrollHideDelay,
}) => (
{children}
);
const useCommandMenu = () => {
const context = React.useContext(CommandMenuContext);
if (!context) {
throw new Error("useCommandMenu must be used within CommandMenuProvider");
}
return context;
};
// Core CommandMenu component using Dialog
const CommandMenu = DialogPrimitive.Root;
const CommandMenuTrigger = DialogPrimitive.Trigger;
const CommandMenuPortal = DialogPrimitive.Portal;
const CommandMenuClose = DialogPrimitive.Close;
// Title components for accessibility
const CommandMenuTitle = React.forwardRef<
React.ElementRef,
React.ComponentPropsWithoutRef
>(({ className, ...props }, ref) => (
));
CommandMenuTitle.displayName = "CommandMenuTitle";
const CommandMenuDescription = React.forwardRef<
React.ElementRef,
React.ComponentPropsWithoutRef
>(({ className, ...props }, ref) => (
));
CommandMenuDescription.displayName = "CommandMenuDescription";
// Overlay with backdrop blur
const CommandMenuOverlay = React.forwardRef<
React.ElementRef,
React.ComponentPropsWithoutRef
>(({ className, ...props }, ref) => (
));
CommandMenuOverlay.displayName = "CommandMenuOverlay";
// Main content container with keyboard navigation
const CommandMenuContent = React.forwardRef<
React.ElementRef,
React.ComponentPropsWithoutRef & {
showShortcut?: boolean;
scrollType?: "auto" | "always" | "scroll" | "hover";
scrollHideDelay?: number;
}
>(
(
{
className,
children,
showShortcut = true,
scrollType = "hover",
scrollHideDelay = 600,
...props
},
ref
) => {
const [value, setValue] = React.useState("");
const [selectedIndex, setSelectedIndex] = React.useState(0);
// Keyboard navigation
React.useEffect(() => {
const handleKeyDown = (e: KeyboardEvent) => {
if (e.key === "ArrowDown") {
e.preventDefault();
// Logic will be handled by CommandMenuList
} else if (e.key === "ArrowUp") {
e.preventDefault();
// Logic will be handled by CommandMenuList
} else if (e.key === "Enter") {
e.preventDefault();
// Logic will be handled by CommandMenuItem
}
};
document.addEventListener("keydown", handleKeyDown);
return () => document.removeEventListener("keydown", handleKeyDown);
}, []);
return (
{" "}
Command Menu
{children}
Close
{showShortcut && (
```
## [Examples](https://hextaui.com/docs/ui/components/card\#examples)
### [Basic Card](https://hextaui.com/docs/ui/components/card\#basic-card)
PreviewCode
### Notifications
You have 3 unread messages.
Push Notifications
Send notifications to device.
Settings
```
NotificationsYou have 3 unread messages.
Push Notifications
Send notifications to device.
```
### [Card Variants](https://hextaui.com/docs/ui/components/card\#card-variants)
PreviewCode
### Default Card
Standard card styling
Default card content with standard border.
### Outline Card
Card with thicker border
Outline card with emphasized border.
### Ghost Card
Card without border
Ghost card with no border or shadow.
```
Default CardStandard card styling
Default card content with standard border.
Outline CardCard with thicker border
Outline card with emphasized border.
Ghost CardCard without border
Ghost card with no border or shadow.
```
### [Card Sizes](https://hextaui.com/docs/ui/components/card\#card-sizes)
PreviewCode
### Small Card
Compact padding
Small card with reduced padding.
### Default Card
Standard padding
Default card with standard padding.
### Large Card
Increased padding
Large card with increased padding.
```
Small CardCompact padding
Small card with reduced padding.
Default CardStandard padding
Default card with standard padding.
Large CardIncreased padding
Large card with increased padding.
```
### [Profile Card](https://hextaui.com/docs/ui/components/card\#profile-card)
PreviewCode
### John Doe
Software Engineer at HextaUI
[john@example.com](mailto:john@example.com)
+1 (555) 123-4567
Joined January 2024
Message
Follow
```
John DoeSoftware Engineer at HextaUI
john@example.com
+1 (555) 123-4567
Joined January 2024
```
### [Login Form Card](https://hextaui.com/docs/ui/components/card\#login-form-card)
PreviewCode
### Sign In
Enter your credentials to access your account
Email
Password
Sign In
Sign Up
```
Sign In
Enter your credentials to access your account
}
/>
```
### [Simple Content Card](https://hextaui.com/docs/ui/components/card\#simple-content-card)
PreviewCode
### Welcome!
This is a simple card without header or footer.
Get Started
```
Welcome!
This is a simple card without header or footer.
```
## [Props](https://hextaui.com/docs/ui/components/card\#props)
### [Card](https://hextaui.com/docs/ui/components/card\#card)
| Prop | Type | Default |
| --- | --- | --- |
| `className?` | `string` | `undefined` |
| `size?` | `"sm" | "default" | "lg" | "xl"` | `"default"` |
| `variant?` | `"default" | "outline" | "ghost" | "elevated"` | `"default"` |
[Edit on GitHub](https://github.com/preetsuthar17/hextaui/blob/master/content/docs/ui/components/card.mdx)
Last updated on 6/23/2025
[Calendar\\
\\
A comprehensive calendar component for date selection with support for single dates, date ranges, and multiple date selection.](https://hextaui.com/docs/ui/components/calendar) [Checkbox\\
\\
A customizable checkbox component with smooth animations and multiple states.](https://hextaui.com/docs/ui/components/checkbox)
### On this page
[Installation](https://hextaui.com/docs/ui/components/card#installation) [Usage](https://hextaui.com/docs/ui/components/card#usage) [Examples](https://hextaui.com/docs/ui/components/card#examples) [Basic Card](https://hextaui.com/docs/ui/components/card#basic-card) [Card Variants](https://hextaui.com/docs/ui/components/card#card-variants) [Card Sizes](https://hextaui.com/docs/ui/components/card#card-sizes) [Profile Card](https://hextaui.com/docs/ui/components/card#profile-card) [Login Form Card](https://hextaui.com/docs/ui/components/card#login-form-card) [Simple Content Card](https://hextaui.com/docs/ui/components/card#simple-content-card) [Props](https://hextaui.com/docs/ui/components/card#props) [Card](https://hextaui.com/docs/ui/components/card#card)
## Spotlight Card Animation
[Build websites 10x faster with HextaUI Blocks —Learn more](https://pro.hextaui.com/blocks)
Original Blocks/Animations
# Spotlight Card
Create a spotlight effect on hover on a card component.
PreviewCode
Lighting Fast
Optimized for performance with minimal bundle size. Build fast,
responsive websites without compromise.
Lighting Fast
Optimized for performance with minimal bundle size. Build fast,
responsive websites without compromise.
## [Installation](https://www.hextaui.com/docs/og-blocks/animation/spotlight-card\#installation)
ManualCLI
Copy and paste the following code into your project.
components/ui/spotlight-card.tsx
```
"use client";
import { useRef, useState, useEffect } from "react";
export const SpotlightCard = ({
children,
className = "",
spotlightColor = "#6300ff30",
lightThemeSpotlightColor,
darkThemeSpotlightColor,
}: {
children: any;
className?: string;
spotlightColor?: string;
lightThemeSpotlightColor?: string;
darkThemeSpotlightColor?: string;
}) => {
const divRef = useRef(null);
const [isFocused, setIsFocused] = useState(false);
const [position, setPosition] = useState({ x: 0, y: 0 });
const [opacity, setOpacity] = useState(0);
const [currentTheme, setCurrentTheme] = useState<"light" | "dark">("dark");
useEffect(() => {
const detectTheme = () => {
if (!lightThemeSpotlightColor && !darkThemeSpotlightColor) return;
const isDarkClass =
document.documentElement.classList.contains("dark") ||
document.body.classList.contains("dark");
const computedStyle = getComputedStyle(document.documentElement);
const bgColor =
computedStyle.getPropertyValue("--background") ||
computedStyle.backgroundColor;
const isDarkMedia = window.matchMedia(
"(prefers-color-scheme: dark)",
).matches;
const isDark =
isDarkClass ||
bgColor.includes("0 0% 3.9%") ||
(!isDarkClass && isDarkMedia);
setCurrentTheme(isDark ? "dark" : "light");
};
detectTheme();
const observer = new MutationObserver(detectTheme);
observer.observe(document.documentElement, {
attributes: true,
attributeFilter: ["class", "data-theme"],
});
const mediaQuery = window.matchMedia("(prefers-color-scheme: dark)");
mediaQuery.addEventListener("change", detectTheme);
return () => {
observer.disconnect();
mediaQuery.removeEventListener("change", detectTheme);
};
}, [lightThemeSpotlightColor, darkThemeSpotlightColor]);
const getSpotlightColor = () => {
if (currentTheme === "light" && lightThemeSpotlightColor) {
return lightThemeSpotlightColor;
}
if (currentTheme === "dark" && darkThemeSpotlightColor) {
return darkThemeSpotlightColor;
}
return spotlightColor;
};
const handleMouseMove = (e: { clientX: number; clientY: number }) => {
if (!divRef.current || isFocused) return;
const rect = divRef.current.getBoundingClientRect();
setPosition({ x: e.clientX - rect.left, y: e.clientY - rect.top });
};
const handleFocus = () => {
setIsFocused(true);
setOpacity(0.6);
};
const handleBlur = () => {
setIsFocused(false);
setOpacity(0);
};
const handleMouseEnter = () => {
setOpacity(0.6);
};
const handleMouseLeave = () => {
setOpacity(0);
};
return (
Optimized for performance with minimal bundle size. Build fast, responsive
websites without compromise.
```
Warning
Make sure to add `magic-card` class to the card component to enable the
spotlight effect. This class is essential for the animation to work correctly.
```
{/** Card content*/}
```
## [Props](https://www.hextaui.com/docs/og-blocks/animation/spotlight-card\#props)
| Prop | Type | Default |
| --- | --- | --- |
| `darkThemeSpotlightColor?` | `string` | - |
| `lightThemeSpotlightColor?` | `string` | - |
| `spotlightColor?` | `string` | `#6300ff30` |
| `className?` | `string` | - |
| `children?` | `ReactNode` | - |
[Edit on GitHub](https://github.com/preetsuthar17/hextaui/blob/master/content/docs/og-blocks/animation/spotlight-card.mdx)
Last updated on
[Particles\\
\\
Particles are small, interactive elements that can be used to create a variety of effects.](https://www.hextaui.com/docs/og-blocks/animation/particle) [Animated Dock\\
\\
A dock with animated icons that grow on hover.](https://www.hextaui.com/docs/og-blocks/application/animated-dock)
### On this page
[Installation](https://www.hextaui.com/docs/og-blocks/animation/spotlight-card#installation) [Usage](https://www.hextaui.com/docs/og-blocks/animation/spotlight-card#usage) [Props](https://www.hextaui.com/docs/og-blocks/animation/spotlight-card#props)

Psst, here! If you like my work, consider buying me a coffee. ☕
## Loader Component
[Build websites 10x faster with HextaUI Blocks — Learn more](https://pro.hextaui.com/blocks)
UI/UI
# Loader
A simple and elegant loading spinner component with multiple sizes and color variants.
PreviewCode
```
```
## [Installation](https://hextaui.com/docs/ui/components/loader\#installation)
ManualCLI
Install following dependencies:
npmpnpmyarnbun
```
npm install class-variance-authority
```
```
pnpm add class-variance-authority
```
```
yarn add class-variance-authority
```
```
bun add class-variance-authority
```
Copy and paste the following code into your project.
components/ui/loader.tsx
```
"use client";
import * as React from "react";
import { cva, type VariantProps } from "class-variance-authority";
import { cn } from "@/lib/utils";
const loaderVariants = cva("inline-block", {
variants: {
size: {
xs: "h-3 w-3",
sm: "h-4 w-4",
md: "h-5 w-5",
lg: "h-6 w-6",
xl: "h-8 w-8",
},
variant: {
default: "text-[hsl(var(--hu-foreground))]",
primary: "text-[hsl(var(--hu-primary))]",
secondary: "text-[hsl(var(--hu-secondary-foreground))]",
muted: "text-[hsl(var(--hu-muted-foreground))]",
},
},
defaultVariants: {
size: "md",
variant: "default",
},
});
export interface LoaderProps
extends React.SVGAttributes,
VariantProps {}
const Loader = React.forwardRef(
({ className, size, variant, ...props }, ref) => {
const [isMounted, setIsMounted] = React.useState(false);
React.useEffect(() => {
setIsMounted(true);
}, []);
return (
);
},
);
Loader.displayName = "Loader";
export { Loader, loaderVariants };
```
npmpnpmyarnbun
```
npx hextaui@latest add loader
```
```
pnpm dlx hextaui@latest add loader
```
```
yarn dlx hextaui@latest add loader
```
```
bun x hextaui@latest add loader
```
## [Usage](https://hextaui.com/docs/ui/components/loader\#usage)
```
import { Loader } from "@/components/ui/Loader";
```
```
```
## [Examples](https://hextaui.com/docs/ui/components/loader\#examples)
### [Sizes](https://hextaui.com/docs/ui/components/loader\#sizes)
PreviewCode
Extra Small
Small
Medium
Large
Extra Large
```
```
### [Inline Loading](https://hextaui.com/docs/ui/components/loader\#inline-loading)
PreviewCode
Please wait while we process your request
Status:
Connecting...
Upload progress:
47% complete
```
Please wait while we process your request{" "}
Status:Connecting...
Upload progress:47% complete
```
## [Props](https://hextaui.com/docs/ui/components/loader\#props)
| Prop | Type | Default |
| --- | --- | --- |
| `className?` | `string` | `undefined` |
| `variant?` | `"default" | "primary" | "secondary" | "muted"` | `"default"` |
| `size?` | `"xs" | "sm" | "md" | "lg" | "xl"` | `"md"` |
[Edit on GitHub](https://github.com/preetsuthar17/hextaui/blob/master/content/docs/ui/components/loader.mdx)
Last updated on 6/23/2025
[Label\\
\\
Displays a label element with enhanced styling and accessibility features for form controls.](https://hextaui.com/docs/ui/components/label) [MarqueeNew\\
\\
A smooth scrolling marquee component for displaying continuous content.](https://hextaui.com/docs/ui/components/marquee)
### On this page
[Installation](https://hextaui.com/docs/ui/components/loader#installation) [Usage](https://hextaui.com/docs/ui/components/loader#usage) [Examples](https://hextaui.com/docs/ui/components/loader#examples) [Sizes](https://hextaui.com/docs/ui/components/loader#sizes) [Variants](https://hextaui.com/docs/ui/components/loader#variants) [With Loading Text](https://hextaui.com/docs/ui/components/loader#with-loading-text) [Button Integration](https://hextaui.com/docs/ui/components/loader#button-integration) [Content Loading States](https://hextaui.com/docs/ui/components/loader#content-loading-states) [Inline Loading](https://hextaui.com/docs/ui/components/loader#inline-loading) [Props](https://hextaui.com/docs/ui/components/loader#props)
## Enhanced Textarea Component
[Build websites 10x faster with HextaUI Blocks —Learn more](https://pro.hextaui.com/blocks)
UI/UI
# Textarea
Displays a multi-line text input field with enhanced features like clearable functionality, auto-resizing, and Zod validation support.
PreviewCode
```
```
## [Installation](https://www.hextaui.com/docs/ui/components/textarea\#installation)
ManualCLI
Install following dependencies:
npmpnpmyarnbun
```
npm install class-variance-authority
```
```
pnpm add class-variance-authority
```
```
yarn add class-variance-authority
```
```
bun add class-variance-authority
```
Copy and paste the following code into your project.
components/ui/textarea.tsx
```
"use client";
import * as React from "react";
import { cva, type VariantProps } from "class-variance-authority";
import { cn } from "@/lib/utils";
import { X } from "lucide-react";
const textareaVariants = cva(
"flex min-h-[60px] w-full rounded-[var(--radius)] border border-[hsl(var(--hu-border))] bg-[hsl(var(--hu-input))] px-3 py-2 text-sm ring-offset-[hsl(var(--hu-background))] placeholder:text-[hsl(var(--hu-muted-foreground))] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[hsl(var(--hu-ring))] focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 resize-vertical transition-colors scrollbar-thin scrollbar-track-transparent scrollbar-thumb-[hsl(var(--hu-border))] hover:scrollbar-thumb-[hsl(var(--hu-muted-foreground))] scrollbar-corner-transparent shadow-sm/2",
{
variants: {
variant: {
default: "border-[hsl(var(--hu-border))]",
destructive:
"border-[hsl(var(--hu-destructive))] focus-visible:ring-[hsl(var(--hu-destructive))]",
ghost:
"border-transparent bg-[hsl(var(--hu-accent))] focus-visible:bg-[hsl(var(--hu-input))] focus-visible:border-[hsl(var(--hu-border))]",
},
size: {
default: "min-h-[80px] px-3 py-2",
sm: "min-h-[60px] px-3 py-2 text-xs",
lg: "min-h-[100px] px-4 py-2",
xl: "min-h-[120px] px-6 py-3 text-base",
fixed: "h-[80px] px-3 py-2 resize-none",
},
},
defaultVariants: {
variant: "default",
size: "default",
},
}
);
export interface TextareaProps
extends Omit, "size">,
VariantProps {
error?: boolean;
clearable?: boolean;
onClear?: () => void;
}
const Textarea = React.forwardRef(
(
{ className, variant, size, error, clearable, onClear, value, ...props },
ref
) => {
const [internalValue, setInternalValue] = React.useState(
props.defaultValue || ""
);
const textareaRef = React.useRef(null);
// Combine external ref with internal ref
React.useImperativeHandle(ref, () => textareaRef.current!);
const textareaVariant = error ? "destructive" : variant;
// Determine if this is a controlled component
const isControlled = value !== undefined;
const textareaValue = isControlled ? value : internalValue;
const showClearButton =
clearable && textareaValue && String(textareaValue).length > 0;
const handleTextareaChange = (
e: React.ChangeEvent
) => {
if (!isControlled) {
setInternalValue(e.target.value);
}
props.onChange?.(e);
};
const handleClear = () => {
// Clear the internal state for uncontrolled inputs
if (!isControlled) {
setInternalValue("");
}
// Call the onClear callback if provided
onClear?.();
// Create a synthetic event to trigger onChange with empty value
if (textareaRef.current) {
const textarea = textareaRef.current;
// Set the textarea's value directly
textarea.value = "";
// Create a synthetic React ChangeEvent
const syntheticEvent = {
target: textarea,
currentTarget: textarea,
nativeEvent: new Event("input", { bubbles: true }),
isDefaultPrevented: () => false,
isPropagationStopped: () => false,
persist: () => {},
preventDefault: () => {},
stopPropagation: () => {},
bubbles: true,
cancelable: true,
defaultPrevented: false,
eventPhase: 0,
isTrusted: true,
timeStamp: Date.now(),
type: "change",
} as React.ChangeEvent;
// Trigger the onChange handler
props.onChange?.(syntheticEvent);
// Focus the textarea after clearing
textarea.focus();
}
};
return (
```
### [With Error](https://www.hextaui.com/docs/ui/components/textarea\#with-error)
PreviewCode
Textarea with error
This field is required and must be at least 10 characters.
```
import { Label } from "@/components/ui/label";
);
}
```
### [Booking System Calendar](https://www.hextaui.com/docs/ui/components/calendar\#booking-system-calendar)
Perfect for reservation systems, hotels, or appointment booking.
PreviewCode
#### Hotel Booking Calendar
Select an available date for your reservation. Grayed out dates are unavailable.
## June2025Jun2025
SunS
MonM
TueT
WedW
ThuT
FriF
SatS
123456789101112131415161718192021222324252627282930123456789101112
```
function BookingCalendarExample() {
const [selectedDate, setSelectedDate] = React.useState();
// Mock booked dates (in a real app, this would come from your API)
const bookedDates = [\
new Date(2025, 5, 15), // June 15, 2025\
new Date(2025, 5, 16), // June 16, 2025\
new Date(2025, 5, 20), // June 20, 2025\
new Date(2025, 5, 25), // June 25, 2025\
];
const isDateBooked = (date: Date) => {
return bookedDates.some(bookedDate =>
date.toDateString() === bookedDate.toDateString()
);
};
const disableBookedDates = (date: Date) => {
// Disable past dates and booked dates
const today = new Date();
today.setHours(0, 0, 0, 0);
return date < today || isDateBooked(date);
};
return (
Hotel Booking Calendar
Select an available date for your reservation. Grayed out dates are unavailable.
{selectedDate && (
✓ Selected: {selectedDate.toLocaleDateString()}
)}
);
}
```
### [Vacation Planner](https://www.hextaui.com/docs/ui/components/calendar\#vacation-planner)
Great for travel planning with range selection and day calculation.
PreviewCode
#### Plan Your Vacation
Select your vacation start and end dates
SunS
MonM
TueT
WedW
ThuT
FriF
SatS
123456789101112131415161718192021222324252627282930123456789101112
```
function VacationPlannerExample() {
const [vacationRange, setVacationRange] = React.useState<{ from: Date; to?: Date }>();
const calculateDays = () => {
if (vacationRange?.from && vacationRange?.to) {
const diffTime = Math.abs(vacationRange.to.getTime() - vacationRange.from.getTime());
const diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24)) + 1;
return diffDays;
}
return 0;
};
return (
);
});
RadioItem.displayName = "RadioItem";
export {
RadioGroup,
RadioItem,
radioGroupVariants,
radioVariants,
type RadioGroupProps,
type RadioItemProps,
};
```
Update your `utils.ts` file if you haven't already:
src/lib/utils.ts
```
import { type ClassValue, clsx } from "clsx";
import { twMerge } from "tailwind-merge";
export function cn(...inputs: ClassValue[]) {
return twMerge(clsx(inputs));
}
```
Coming soon...
## [Usage](https://www.hextaui.com/docs/ui/components/radio\#usage)
```
import { RadioGroup, RadioItem } from "@/components/ui/Radio";
```
```
```
### [Basic Radio Group](https://www.hextaui.com/docs/ui/components/radio\#basic-radio-group)
PreviewCode
Option 1
Option 2
Option 3
```
```
### [With Description](https://www.hextaui.com/docs/ui/components/radio\#with-description)
PreviewCode
Select your comfort level
Choose the option that best fits your needs
Comfortable
A relaxed and easy-going approach
Compact
Minimal space with essential features
Spacious
Plenty of room with all amenities
```
```
### [Sizes](https://www.hextaui.com/docs/ui/components/radio\#sizes)
PreviewCode
#### Small
Small option 1
Small option 2
#### Default
Default option 1
Default option 2
#### Large
Large option 1
Large option 2
```
Small
Default
Large
```
### [Horizontal Layout](https://www.hextaui.com/docs/ui/components/radio\#horizontal-layout)
PreviewCode
Do you agree?
Yes
No
Maybe
```
```
### [Disabled State](https://www.hextaui.com/docs/ui/components/radio\#disabled-state)
PreviewCode
Disabled option 1
Disabled option 2
Disabled option 3
```
```
### [With Error](https://www.hextaui.com/docs/ui/components/radio\#with-error)
PreviewCode
Select a plan
Free Plan
Basic features
Pro Plan
Advanced features
Enterprise Plan
All features
Please select a plan to continue
```
```
### [Controlled](https://www.hextaui.com/docs/ui/components/radio\#controlled)
PreviewCode
Controlled Radio Group
Currently selected: option2
Option 1
Option 2
Option 3
Select Option 1Select Option 2Select Option 3
````
); ```
### Payment Method Example
```tsx
````
## [API Reference](https://www.hextaui.com/docs/ui/components/radio\#api-reference)
### [RadioGroup](https://www.hextaui.com/docs/ui/components/radio\#radiogroup)
| Prop | Type | Default |
| --- | --- | --- |
| `disabled?` | `boolean` | - |
| `onValueChange?` | `(value: string) => void` | - |
| `value?` | `string` | - |
| `defaultValue?` | `string` | - |
| `error?` | `string` | - |
| `description?` | `string` | - |
| `label?` | `string` | - |
| `orientation?` | `"vertical" | "horizontal"` | `"vertical"` |
### [RadioItem](https://www.hextaui.com/docs/ui/components/radio\#radioitem)
| Prop | Type | Default |
| --- | --- | --- |
| `disabled?` | `boolean` | - |
| `description?` | `string` | - |
| `label?` | `string` | - |
| `size?` | `"sm" | "default" | "lg"` | `"default"` |
| `value` | `string` | - |
[Edit on GitHub](https://github.com/preetsuthar17/hextaui/blob/master/content/docs/ui/components/radio.mdx)
Last updated on 6/23/2025
[Progress\\
\\
A versatile progress component for displaying completion status, loading states, and step-by-step processes.](https://www.hextaui.com/docs/ui/components/progress) [Resizable\\
\\
Accessible resizable panel groups and layouts.](https://www.hextaui.com/docs/ui/components/resizable)
### On this page
[Installation](https://www.hextaui.com/docs/ui/components/radio#installation) [Usage](https://www.hextaui.com/docs/ui/components/radio#usage) [Basic Radio Group](https://www.hextaui.com/docs/ui/components/radio#basic-radio-group) [With Description](https://www.hextaui.com/docs/ui/components/radio#with-description) [Sizes](https://www.hextaui.com/docs/ui/components/radio#sizes) [Horizontal Layout](https://www.hextaui.com/docs/ui/components/radio#horizontal-layout) [Disabled State](https://www.hextaui.com/docs/ui/components/radio#disabled-state) [With Error](https://www.hextaui.com/docs/ui/components/radio#with-error) [Controlled](https://www.hextaui.com/docs/ui/components/radio#controlled) [API Reference](https://www.hextaui.com/docs/ui/components/radio#api-reference) [RadioGroup](https://www.hextaui.com/docs/ui/components/radio#radiogroup) [RadioItem](https://www.hextaui.com/docs/ui/components/radio#radioitem)

Psst, here! If you like my work, consider buying me a coffee. ☕
## Toggle Component
[Build websites 10x faster with HextaUI Blocks —Learn more](https://pro.hextaui.com/blocks)
UI/UI
# Toggle
A two-state button that can be either on or off with smooth transitions and multiple variants.
PreviewCode
DefaultOutlineGhostSecondary
```
```
### [Interactive Toggles](https://www.hextaui.com/docs/ui/components/toggle\#interactive-toggles)
PreviewCode
#### Interactive Toggles
Toggle buttons with state management and different variants
LikeStarSave
```
const [isLiked, setIsLiked] = React.useState(false);
const [isStarred, setIsStarred] = React.useState(false);
}
aria-label="Toggle like"
>
{isLiked ? "Liked" : "Like"}
}
aria-label="Toggle star"
>
{isStarred ? "Starred" : "Star"}
```
### [Controlled State](https://www.hextaui.com/docs/ui/components/toggle\#controlled-state)
PreviewCode
Always OnAlways OffDefault On
```
Always OffDefault On
```
## [Toggle Groups](https://www.hextaui.com/docs/ui/components/toggle\#toggle-groups)
Toggles can be grouped together to create more complex interactive components like toolbars and formatting controls.
### [Rich Text Toolbar](https://www.hextaui.com/docs/ui/components/toggle\#rich-text-toolbar)
PreviewCode
#### Text Formatting Group
Multiple toggles can be active at once
Active formats:none
#### Text Alignment Group
Only one alignment can be active at a time
Current alignment: left
#### List Type Group
Toggle between different list types or none
Current list type: none
#### Rich Text Toolbar
Complete text editor toolbar with grouped toggles
```
const [formatting, setFormatting] = React.useState([]);
const [alignment, setAlignment] = React.useState("left");
const [listType, setListType] = React.useState("");
// Text Formatting Group (Multiple Selection)
```
## [Examples](https://www.hextaui.com/docs/ui/components/input\#examples)
### [Sizes](https://www.hextaui.com/docs/ui/components/input\#sizes)
PreviewCode
```
```
### [Variants](https://www.hextaui.com/docs/ui/components/input\#variants)
PreviewCode
```
```
### [Password Input with Visibility Toggle](https://www.hextaui.com/docs/ui/components/input\#password-input-with-visibility-toggle)
PreviewCode
```
import { Lock } from "lucide-react";
}
/>
}
/>
```
### [Clearable Input](https://www.hextaui.com/docs/ui/components/input\#clearable-input)
PreviewCode
```
import { Search } from "lucide-react";
}
clearable
defaultValue="Search term"
/>
```
### [With Icons](https://www.hextaui.com/docs/ui/components/input\#with-icons)
PreviewCode
```
import { Search, User, Mail } from "lucide-react";
}
clearable
/>
}
/>
}
clearable
/>
```
### [Input Types](https://www.hextaui.com/docs/ui/components/input\#input-types)
PreviewCode
```
```
### [Disabled State](https://www.hextaui.com/docs/ui/components/input\#disabled-state)
PreviewCode
```
}
disabled
/>
```
### [File Input](https://www.hextaui.com/docs/ui/components/input\#file-input)
PreviewCode
```
```
## [Form Examples with Zod Validation](https://www.hextaui.com/docs/ui/components/input\#form-examples-with-zod-validation)
### [Basic Login Form](https://www.hextaui.com/docs/ui/components/input\#basic-login-form)
PreviewCode
Email\*
Password\*
Sign In
```
"use client";
import { z } from "zod";
import { useState } from "react";
import { Input } from "@/components/ui/input";
import { Label } from "@/components/ui/label";
import { Mail, Lock } from "lucide-react";
const loginSchema = z.object({
email: z.string().email("Invalid email address"),
password: z.string().min(8, "Password must be at least 8 characters"),
});
type LoginForm = z.infer;
export function LoginForm() {
const [formData, setFormData] = useState>({});
const [errors, setErrors] = useState<
Partial>
>({});
const handleSubmit = (e: React.FormEvent) => {
e.preventDefault();
const result = loginSchema.safeParse(formData);
if (!result.success) {
const fieldErrors: Partial> = {};
result.error.issues.forEach((issue) => {
if (issue.path[0]) {
fieldErrors[issue.path[0] as keyof LoginForm] = issue.message;
}
});
setErrors(fieldErrors);
return;
}
setErrors({});
console.log("Valid form data:", result.data);
};
const updateField =
(field: keyof LoginForm) => (e: React.ChangeEvent) => {
setFormData((prev) => ({ ...prev, [field]: e.target.value }));
if (errors[field]) {
setErrors((prev) => ({ ...prev, [field]: undefined }));
}
};
return (
);
}
```
### [Registration Form with Complex Validation](https://www.hextaui.com/docs/ui/components/input\#registration-form-with-complex-validation)
PreviewCode
Username\*
Email\*
Password\*
Confirm Password\*
Create Account
```
"use client";
import { z } from "zod";
import { useState } from "react";
import { Input } from "@/components/ui/input";
import { Label } from "@/components/ui/label";
import { User, Mail, Lock } from "lucide-react";
const registrationSchema = z
.object({
username: z
.string()
.min(3, "Username must be at least 3 characters")
.max(20, "Username must be less than 20 characters")
.regex(
/^[a-zA-Z0-9_]+$/,
"Username can only contain letters, numbers, and underscores",
),
email: z.string().email("Invalid email address"),
password: z
.string()
.min(8, "Password must be at least 8 characters")
.regex(/[A-Z]/, "Password must contain at least one uppercase letter")
.regex(/[a-z]/, "Password must contain at least one lowercase letter")
.regex(/[0-9]/, "Password must contain at least one number")
.regex(
/[^A-Za-z0-9]/,
"Password must contain at least one special character",
),
confirmPassword: z.string(),
})
.refine((data) => data.password === data.confirmPassword, {
message: "Passwords don't match",
path: ["confirmPassword"],
});
type RegistrationForm = z.infer;
export function RegistrationForm() {
const [formData, setFormData] = useState>({});
const [errors, setErrors] = useState<
Partial>
>({});
const handleSubmit = (e: React.FormEvent) => {
e.preventDefault();
const result = registrationSchema.safeParse(formData);
if (!result.success) {
const fieldErrors: Partial> = {};
result.error.issues.forEach((issue) => {
if (issue.path[0]) {
fieldErrors[issue.path[0] as keyof RegistrationForm] = issue.message;
}
});
setErrors(fieldErrors);
return;
}
setErrors({});
console.log("Valid registration data:", result.data);
};
const updateField =
(field: keyof RegistrationForm) =>
(e: React.ChangeEvent) => {
setFormData((prev) => ({ ...prev, [field]: e.target.value }));
if (errors[field]) {
setErrors((prev) => ({ ...prev, [field]: undefined }));
}
};
return (
);
}
```
## [Form Validation with Zod](https://www.hextaui.com/docs/ui/components/input\#form-validation-with-zod)
The Input component works excellently with Zod for type-safe form validation:
```
import { z } from "zod";
const schema = z.object({
email: z.string().email(),
password: z.string().min(8),
});
// Use with error state for visual feedback
;
```
## [Props](https://www.hextaui.com/docs/ui/components/input\#props)
| Prop | Type | Default |
| --- | --- | --- |
| `onClear?` | `() => void` | `undefined` |
| `clearable?` | `boolean` | `false` |
| `error?` | `boolean` | `false` |
| `rightIcon?` | `React.ReactNode` | `undefined` |
| `leftIcon?` | `React.ReactNode` | `undefined` |
| `size?` | `"sm" | "default" | "lg" | "xl"` | `"default"` |
| `variant?` | `"default" | "destructive" | "ghost"` | `"default"` |
[Edit on GitHub](https://github.com/preetsuthar17/hextaui/blob/master/content/docs/ui/components/input.mdx)
Last updated on 6/23/2025
[Input OTP\\
\\
A flexible and accessible one-time password input component with customizable slots, patterns, and animations.](https://www.hextaui.com/docs/ui/components/input-otp) [Kbd\\
\\
A keyboard key component for displaying keyboard shortcuts and key combinations.](https://www.hextaui.com/docs/ui/components/kbd)
### On this page
[Installation](https://www.hextaui.com/docs/ui/components/input#installation) [Usage](https://www.hextaui.com/docs/ui/components/input#usage) [Examples](https://www.hextaui.com/docs/ui/components/input#examples) [Sizes](https://www.hextaui.com/docs/ui/components/input#sizes) [Variants](https://www.hextaui.com/docs/ui/components/input#variants) [Password Input with Visibility Toggle](https://www.hextaui.com/docs/ui/components/input#password-input-with-visibility-toggle) [Clearable Input](https://www.hextaui.com/docs/ui/components/input#clearable-input) [With Icons](https://www.hextaui.com/docs/ui/components/input#with-icons) [Input Types](https://www.hextaui.com/docs/ui/components/input#input-types) [Disabled State](https://www.hextaui.com/docs/ui/components/input#disabled-state) [File Input](https://www.hextaui.com/docs/ui/components/input#file-input) [Form Examples with Zod Validation](https://www.hextaui.com/docs/ui/components/input#form-examples-with-zod-validation) [Basic Login Form](https://www.hextaui.com/docs/ui/components/input#basic-login-form) [Registration Form with Complex Validation](https://www.hextaui.com/docs/ui/components/input#registration-form-with-complex-validation) [Form Validation with Zod](https://www.hextaui.com/docs/ui/components/input#form-validation-with-zod) [Props](https://www.hextaui.com/docs/ui/components/input#props)

Psst, here! If you like my work, consider buying me a coffee. ☕
## Alert Component
[Build websites 10x faster with HextaUI Blocks —Learn more](https://pro.hextaui.com/blocks)
UI/UI
# Alert
A versatile alert component for displaying important messages, notifications, and status updates.
PreviewCode
This is a basic alert message.
Something went wrong. Please try again.
This action cannot be undone.
Your changes have been saved.
New features are now available.
```
This is a basic alert message.
Something went wrong. Please try again.
This action cannot be undone.Your changes have been saved.New features are now available.
)}
);
}
);
Alert.displayName = "Alert";
export { Alert, alertVariants };
```
npmpnpmyarnbun
```
npx hextaui@latest add alert
```
```
pnpm dlx hextaui@latest add alert
```
```
yarn dlx hextaui@latest add alert
```
```
bun x hextaui@latest add alert
```
## [Usage](https://www.hextaui.com/docs/ui/components/alert\#usage)
```
import { Alert } from "@/components/ui/alert";
import { Database, Rocket } from "lucide-react";
```
### [Basic Alert](https://www.hextaui.com/docs/ui/components/alert\#basic-alert)
```
This is a default alert.This is a destructive alert.This is a warning alert.This is a success alert.This is an info alert.
```
### [Alert with Icons](https://www.hextaui.com/docs/ui/components/alert\#alert-with-icons)
```
This uses a Lucide icon component for maximum flexibility.
```
## [Examples](https://www.hextaui.com/docs/ui/components/alert\#examples)
### [Variants](https://www.hextaui.com/docs/ui/components/alert\#variants)
PreviewCode
This is a basic alert message.
Something went wrong. Please try again.
This action cannot be undone.
Your changes have been saved.
New features are now available.
```
This is a basic alert message.
Something went wrong. Please try again.
This action cannot be undone.
Your changes have been saved.
New features are now available.
```
### [With Titles](https://www.hextaui.com/docs/ui/components/alert\#with-titles)
PreviewCode
### System Update
A new version of the application is available. Please restart to apply updates.
### Connection Failed
Unable to connect to the server. Please check your internet connection.
### Data Loss Warning
You have unsaved changes. Leaving this page will discard your work.
### Upload Complete
Your files have been successfully uploaded to the cloud storage.
### Feature Preview
Try out our new dashboard features in beta mode.
```
A new version of the application is available. Please restart to apply
updates.
Unable to connect to the server. Please check your internet connection.
You have unsaved changes. Leaving this page will discard your work.
Your files have been successfully uploaded to the cloud storage.
Try out our new dashboard features in beta mode.
```
### [With Icons](https://www.hextaui.com/docs/ui/components/alert\#with-icons)
PreviewCode
### New Features Available
We've added new collaboration tools to help you work better with your team.
### Payment Successful
Your subscription has been renewed for another year.
### Storage Almost Full
You've used 95% of your storage space. Consider upgrading your plan.
### Action Failed
Could not complete the requested action. Please try again later.
### Network Connected
You are now connected to the secure network.
### Database Backup Required
It's been 7 days since your last backup. Consider backing up your data.
### Deployment Successful
Your application has been deployed to production successfully.
### Break Time
You've been coding for 2 hours. Time for a coffee break!
```
import {
Info,
CheckCircle,
AlertTriangle,
X,
Wifi,
Database,
Rocket,
Coffee,
} from "lucide-react";
{/* Using predefined icon names */}
We've added new collaboration tools to help you work better with your
team.
Your subscription has been renewed for another year.
You've used 95% of your storage space. Consider upgrading your plan.
Could not complete the requested action. Please try again later.
{/* Using custom icon components */}
You are now connected to the secure network.
It's been 7 days since your last backup. Consider backing up your data.
Your application has been deployed to production successfully.
You've been coding for 2 hours. Time for a coffee break!
```
### [With Custom Icons](https://www.hextaui.com/docs/ui/components/alert\#with-custom-icons)
PreviewCode
### Code Review Ready
Your pull request is ready for code review by the team.
### Feature Unlocked
Congratulations! You've unlocked premium features.
### Performance Improved
Your application performance has increased by 40% this month.
### Security Alert
We detected unusual login activity. Please verify your account.
### Meeting Reminder
Your team standup meeting starts in 15 minutes.
```
import { Code, Sparkles, TrendingUp, Lock, Calendar } from "lucide-react";
Your pull request is ready for code review by the team.
Congratulations! You've unlocked premium features.
Your application performance has increased by 40% this month.
We detected unusual login activity. Please verify your account.
Your team standup meeting starts in 15 minutes.
```
### [Dismissible Alerts](https://www.hextaui.com/docs/ui/components/alert\#dismissible-alerts)
PreviewCode
### Notification
You have 3 new messages in your inbox.
### Achievement Unlocked
Congratulations! You've completed 100 tasks this month.
### Storage Warning
Your storage is almost full. Consider upgrading your plan.
### Thank You!
Thank you for being an awesome user! Your feedback helps us improve.
```
import { Bell, Trophy, HardDrive, Heart } from "lucide-react";
const handleDismiss = (message: string) => {
console.log(message);
};
handleDismiss("Alert dismissed")}
>
You have 3 new messages in your inbox.
handleDismiss("Achievement dismissed")}
>
Congratulations! You've completed 100 tasks this month.
handleDismiss("Storage warning dismissed")}
>
Your storage is almost full. Consider upgrading your plan.
{/* Custom icons with dismissible */}
handleDismiss("Thank you dismissed")}
>
Thank you for being an awesome user! Your feedback helps us improve.
Custom border radius styling.
Alert with dashed border style.
Alert with enhanced shadow.
Custom gradient styling.
```
### [Real-world Examples](https://www.hextaui.com/docs/ui/components/alert\#real-world-examples)
PreviewCode
#### System Status
### All Systems Operational
All services are running normally. Last updated 2 minutes ago.
#### Account Security
### Password Expiring Soon
Your password will expire in 3 days. Update it now to maintain account security.
#### Billing Information
### Payment Method Required
Your trial ends in 2 days. Add a payment method to continue using our services.
```
import { Server, Shield, CreditCard } from "lucide-react";
System Status
All services are running normally. Last updated 2 minutes ago.
Account Security
Your password will expire in 3 days. Update it now to maintain account security.
Billing Information
Your trial ends in 2 days. Add a payment method to continue using our services.
```
### [Alert Sizes](https://www.hextaui.com/docs/ui/components/alert\#alert-sizes)
PreviewCode
Compact alert for minimal space.
Standard size for most use cases.
Prominent alert for important messages.
```
Compact alert for minimal space.Standard size for most use cases.
Prominent alert for important messages.
```
## [Examples](https://www.hextaui.com/docs/ui/components/resizable\#examples)
### [Default](https://www.hextaui.com/docs/ui/components/resizable\#default)
PreviewCode
One
Two
```
```
### [Handle](https://www.hextaui.com/docs/ui/components/resizable\#handle)
You can hide the handle grip icon by setting `withHandle={false}`.
PreviewCode
Sidebar
Content
```
Sidebar
Content
```
### [Three Panel](https://www.hextaui.com/docs/ui/components/resizable\#three-panel)
PreviewCode
Left
Center
Right
```
Left
Center
Right
```
### [Nested](https://www.hextaui.com/docs/ui/components/resizable\#nested)
Create complex layouts by nesting resizable panel groups within each other.
PreviewCode
Sidebar
Main Content
Footer
```
Sidebar
Main Content
Footer
```
### [Collapsible](https://www.hextaui.com/docs/ui/components/resizable\#collapsible)
Panels can be made collapsible by setting `minSize={0}` and `collapsible={true}`.
PreviewCode
Collapsible
Main
```
Collapsible
Main
```
## [Props](https://www.hextaui.com/docs/ui/components/resizable\#props)
### [ResizablePanelGroup](https://www.hextaui.com/docs/ui/components/resizable\#resizablepanelgroup)
| Prop | Type | Default |
| --- | --- | --- |
| `autoSaveId?` | `string` | `undefined` |
| `className?` | `string` | `undefined` |
| `direction?` | `"horizontal" | "vertical"` | `"horizontal"` |
### [ResizablePanel](https://www.hextaui.com/docs/ui/components/resizable\#resizablepanel)
| Prop | Type | Default |
| --- | --- | --- |
| `className?` | `string` | `undefined` |
| `border?` | `"none" | "left" | "right" | "top" | "bottom" | "all" | "vertical" | "horizontal"` | `"none"` |
| `collapsible?` | `boolean` | `false` |
| `maxSize?` | `number` | `undefined` |
| `minSize?` | `number` | `undefined` |
| `defaultSize?` | `number` | `undefined` |
### [ResizableHandle](https://www.hextaui.com/docs/ui/components/resizable\#resizablehandle)
| Prop | Type | Default |
| --- | --- | --- |
| `className?` | `string` | `undefined` |
| `disabled?` | `boolean` | `false` |
| `withHandle?` | `boolean` | `true` |
[Edit on GitHub](https://github.com/preetsuthar17/hextaui/blob/master/content/docs/ui/components/resizable.mdx)
Last updated on 6/23/2025
[Radio\\
\\
A customizable radio group component with smooth animations and flexible layouts.](https://www.hextaui.com/docs/ui/components/radio) [Scroll Area\\
\\
A customizable scroll area component with smooth scrolling and accessible scrollbars.](https://www.hextaui.com/docs/ui/components/scroll-area)
### On this page
[Installation](https://www.hextaui.com/docs/ui/components/resizable#installation) [Usage](https://www.hextaui.com/docs/ui/components/resizable#usage) [Examples](https://www.hextaui.com/docs/ui/components/resizable#examples) [Default](https://www.hextaui.com/docs/ui/components/resizable#default) [Vertical](https://www.hextaui.com/docs/ui/components/resizable#vertical) [Handle](https://www.hextaui.com/docs/ui/components/resizable#handle) [Three Panel](https://www.hextaui.com/docs/ui/components/resizable#three-panel) [Nested](https://www.hextaui.com/docs/ui/components/resizable#nested) [Collapsible](https://www.hextaui.com/docs/ui/components/resizable#collapsible) [Props](https://www.hextaui.com/docs/ui/components/resizable#props) [ResizablePanelGroup](https://www.hextaui.com/docs/ui/components/resizable#resizablepanelgroup) [ResizablePanel](https://www.hextaui.com/docs/ui/components/resizable#resizablepanel) [ResizableHandle](https://www.hextaui.com/docs/ui/components/resizable#resizablehandle)

Psst, here! If you like my work, consider buying me a coffee. ☕
## Customizable Drawer Component
[Build websites 10x faster with HextaUI Blocks —Learn more](https://pro.hextaui.com/blocks)
UI/UI
# Drawer
A customizable drawer component built on top of Vaul with smooth animations and flexible positioning.
PreviewCode
Open Drawer
```
import {
Drawer,
DrawerContent,
DrawerHeader,
DrawerTitle,
DrawerDescription,
DrawerFooter,
DrawerTrigger,
DrawerClose,
DrawerCloseButton
} from "@/components/ui/Drawer";
Basic Drawer
This is a basic drawer component.
```
This drawer component is built on top of [Vaul](https://github.com/emilkowalski/vaul) created by [Emil Kowalski](https://x.com/emilkowalski_)
## [Installation](https://www.hextaui.com/docs/ui/components/drawer\#installation)
ManualCLI
Install following dependencies:
npmpnpmyarnbun
```
npm install vaul
```
```
pnpm add vaul
```
```
yarn add vaul
```
```
bun add vaul
```
Copy and paste the following code into your project.
components/ui/Drawer/drawer.tsx
```
"use client";
import * as React from "react";
import { Drawer as DrawerPrimitive } from "vaul";
import { cn } from "@/lib/utils";
function Drawer({
...props
}: React.ComponentProps) {
return ;
}
function DrawerTrigger({
...props
}: React.ComponentProps) {
return ;
}
function DrawerPortal({
...props
}: React.ComponentProps) {
return ;
}
function DrawerClose({
...props
}: React.ComponentProps) {
return ;
}
function DrawerOverlay({
className,
...props
}: React.ComponentProps) {
return (
);
}
function DrawerContent({
className,
children,
...props
}: React.ComponentProps) {
return (
{children}
);
}
function DrawerHeader({ className, ...props }: React.ComponentProps<"div">) {
return (
);
}
function DrawerFooter({ className, ...props }: React.ComponentProps<"div">) {
return (
);
}
function DrawerTitle({
className,
...props
}: React.ComponentProps) {
return (
);
}
function DrawerDescription({
className,
...props
}: React.ComponentProps) {
return (
);
}
function DrawerCloseButton({
className,
...props
}: React.ComponentProps) {
return (
Close
);
}
export {
Drawer,
DrawerPortal,
DrawerOverlay,
DrawerTrigger,
DrawerClose,
DrawerContent,
DrawerHeader,
DrawerFooter,
DrawerTitle,
DrawerDescription,
DrawerCloseButton,
};
```
npmpnpmyarnbun
```
npx hextaui@latest add drawer
```
```
pnpm dlx hextaui@latest add drawer
```
```
yarn dlx hextaui@latest add drawer
```
```
bun x hextaui@latest add drawer
```
## [Usage](https://www.hextaui.com/docs/ui/components/drawer\#usage)
```
import { Drawer, DrawerContent, DrawerTrigger } from "@/components/ui/Drawer";
```
```
OpenContent goes here
```
## [Examples](https://www.hextaui.com/docs/ui/components/drawer\#examples)
### [Drawer Sides](https://www.hextaui.com/docs/ui/components/drawer\#drawer-sides)
PreviewCode
BottomTopLeftRight
```
{/* Bottom drawer (default) */}
Bottom Drawer
{/* Other directions */}
Top DrawerLeft DrawerRight Drawer
```
### [With Close Button](https://www.hextaui.com/docs/ui/components/drawer\#with-close-button)
PreviewCode
Open with Close Button
```
Title
```
### [Form Example](https://www.hextaui.com/docs/ui/components/drawer\#form-example)
PreviewCode
Subscribe
```
Subscribe to Newsletter
);
}
```
### [Booking System](https://www.hextaui.com/docs/ui/components/date-picker\#booking-system)
Great for hotel bookings, appointment scheduling, and reservation systems.
PreviewCode
### Hotel Booking
Check-in Date
Select check-in date
Check-out Date
Select check-out date
Note:Grayed out dates are unavailable
```
function BookingDatePickerExample() {
const [checkIn, setCheckIn] = React.useState();
const [checkOut, setCheckOut] = React.useState();
const bookedDates = [\
new Date(2025, 5, 15),\
new Date(2025, 5, 16),\
new Date(2025, 5, 20),\
new Date(2025, 5, 25),\
];
const isDateBooked = (date: Date) => {
return bookedDates.some(
(bookedDate) => date.toDateString() === bookedDate.toDateString()
);
};
const disableUnavailableDates = (date: Date) => {
const today = new Date();
today.setHours(0, 0, 0, 0);
return date < today || isDateBooked(date);
};
return (
);
}
```
### [Disabled State](https://www.hextaui.com/docs/ui/components/date-picker\#disabled-state)
PreviewCode
Disabled DatePicker
This is disabled
Disabled DateRangePicker
This is disabled
```
function DatePickerDisabledExample() {
return (