# 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 ![Avatar](https://github.com/preetsuthar17.png) 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](https://www.hextaui.com/Logo.png) ### 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. [![Afnanksalal](https://pbs.twimg.com/profile_images/1928443535176728576/pvygI97v_normal.jpg)](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. [![Mathias_Kandil](https://pbs.twimg.com/profile_images/1927266567814799360/EEG3I2gr_normal.jpg)](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 [![AnshulSoni2010](https://pbs.twimg.com/profile_images/1913625065624891392/kRwkirln_normal.jpg)](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/) [![mtanmaym](https://pbs.twimg.com/profile_images/1815278013140877312/N5Z9c1De_normal.jpg)](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 [![CarpCarpingdiem](https://pbs.twimg.com/profile_images/1773064027289321473/n0ZiXXB5_normal.jpg)](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!! [![Pingu2k4](https://pbs.twimg.com/profile_images/1779291776446054400/-hKsciXs_normal.jpg)](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. :) [![eter_inquirer](https://pbs.twimg.com/profile_images/1710124473062772736/zIuqVwMr_normal.jpg)](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 [![MahdiEzz_code](https://pbs.twimg.com/profile_images/1877010514661851136/M7F4MvrV_normal.jpg)](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! [![EliRichmond33](https://pbs.twimg.com/profile_images/1743351121261772800/pica7TuL_normal.jpg)](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! [![Afnanksalal](https://pbs.twimg.com/profile_images/1928443535176728576/pvygI97v_normal.jpg)](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. [![Mathias_Kandil](https://pbs.twimg.com/profile_images/1927266567814799360/EEG3I2gr_normal.jpg)](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 [![AnshulSoni2010](https://pbs.twimg.com/profile_images/1913625065624891392/kRwkirln_normal.jpg)](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/) [![mtanmaym](https://pbs.twimg.com/profile_images/1815278013140877312/N5Z9c1De_normal.jpg)](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 [![CarpCarpingdiem](https://pbs.twimg.com/profile_images/1773064027289321473/n0ZiXXB5_normal.jpg)](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!! [![Pingu2k4](https://pbs.twimg.com/profile_images/1779291776446054400/-hKsciXs_normal.jpg)](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. :) [![eter_inquirer](https://pbs.twimg.com/profile_images/1710124473062772736/zIuqVwMr_normal.jpg)](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 [![MahdiEzz_code](https://pbs.twimg.com/profile_images/1877010514661851136/M7F4MvrV_normal.jpg)](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! [![EliRichmond33](https://pbs.twimg.com/profile_images/1743351121261772800/pica7TuL_normal.jpg)](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! [![Afnanksalal](https://pbs.twimg.com/profile_images/1928443535176728576/pvygI97v_normal.jpg)](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. [![Mathias_Kandil](https://pbs.twimg.com/profile_images/1927266567814799360/EEG3I2gr_normal.jpg)](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 [![AnshulSoni2010](https://pbs.twimg.com/profile_images/1913625065624891392/kRwkirln_normal.jpg)](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/) [![mtanmaym](https://pbs.twimg.com/profile_images/1815278013140877312/N5Z9c1De_normal.jpg)](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 [![CarpCarpingdiem](https://pbs.twimg.com/profile_images/1773064027289321473/n0ZiXXB5_normal.jpg)](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!! [![Pingu2k4](https://pbs.twimg.com/profile_images/1779291776446054400/-hKsciXs_normal.jpg)](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. :) [![eter_inquirer](https://pbs.twimg.com/profile_images/1710124473062772736/zIuqVwMr_normal.jpg)](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 [![MahdiEzz_code](https://pbs.twimg.com/profile_images/1877010514661851136/M7F4MvrV_normal.jpg)](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! [![EliRichmond33](https://pbs.twimg.com/profile_images/1743351121261772800/pica7TuL_normal.jpg)](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! [![Afnanksalal](https://pbs.twimg.com/profile_images/1928443535176728576/pvygI97v_normal.jpg)](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. [![Mathias_Kandil](https://pbs.twimg.com/profile_images/1927266567814799360/EEG3I2gr_normal.jpg)](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 [![AnshulSoni2010](https://pbs.twimg.com/profile_images/1913625065624891392/kRwkirln_normal.jpg)](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/) [![mtanmaym](https://pbs.twimg.com/profile_images/1815278013140877312/N5Z9c1De_normal.jpg)](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 [![CarpCarpingdiem](https://pbs.twimg.com/profile_images/1773064027289321473/n0ZiXXB5_normal.jpg)](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!! [![Pingu2k4](https://pbs.twimg.com/profile_images/1779291776446054400/-hKsciXs_normal.jpg)](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. :) [![eter_inquirer](https://pbs.twimg.com/profile_images/1710124473062772736/zIuqVwMr_normal.jpg)](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 [![MahdiEzz_code](https://pbs.twimg.com/profile_images/1877010514661851136/M7F4MvrV_normal.jpg)](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! [![EliRichmond33](https://pbs.twimg.com/profile_images/1743351121261772800/pica7TuL_normal.jpg)](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! [![Afnanksalal](https://pbs.twimg.com/profile_images/1928443535176728576/pvygI97v_normal.jpg)](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. [![Mathias_Kandil](https://pbs.twimg.com/profile_images/1927266567814799360/EEG3I2gr_normal.jpg)](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 [![AnshulSoni2010](https://pbs.twimg.com/profile_images/1913625065624891392/kRwkirln_normal.jpg)](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/) [![mtanmaym](https://pbs.twimg.com/profile_images/1815278013140877312/N5Z9c1De_normal.jpg)](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 [![CarpCarpingdiem](https://pbs.twimg.com/profile_images/1773064027289321473/n0ZiXXB5_normal.jpg)](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!! [![Pingu2k4](https://pbs.twimg.com/profile_images/1779291776446054400/-hKsciXs_normal.jpg)](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. :) [![eter_inquirer](https://pbs.twimg.com/profile_images/1710124473062772736/zIuqVwMr_normal.jpg)](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 [![MahdiEzz_code](https://pbs.twimg.com/profile_images/1877010514661851136/M7F4MvrV_normal.jpg)](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! [![EliRichmond33](https://pbs.twimg.com/profile_images/1743351121261772800/pica7TuL_normal.jpg)](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! [![Afnanksalal](https://pbs.twimg.com/profile_images/1928443535176728576/pvygI97v_normal.jpg)](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. [![Mathias_Kandil](https://pbs.twimg.com/profile_images/1927266567814799360/EEG3I2gr_normal.jpg)](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 [![AnshulSoni2010](https://pbs.twimg.com/profile_images/1913625065624891392/kRwkirln_normal.jpg)](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/) [![mtanmaym](https://pbs.twimg.com/profile_images/1815278013140877312/N5Z9c1De_normal.jpg)](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 [![CarpCarpingdiem](https://pbs.twimg.com/profile_images/1773064027289321473/n0ZiXXB5_normal.jpg)](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!! [![Pingu2k4](https://pbs.twimg.com/profile_images/1779291776446054400/-hKsciXs_normal.jpg)](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. :) [![eter_inquirer](https://pbs.twimg.com/profile_images/1710124473062772736/zIuqVwMr_normal.jpg)](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 [![MahdiEzz_code](https://pbs.twimg.com/profile_images/1877010514661851136/M7F4MvrV_normal.jpg)](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! [![EliRichmond33](https://pbs.twimg.com/profile_images/1743351121261772800/pica7TuL_normal.jpg)](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! [![Afnanksalal](https://pbs.twimg.com/profile_images/1928443535176728576/pvygI97v_normal.jpg)](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. [![Mathias_Kandil](https://pbs.twimg.com/profile_images/1927266567814799360/EEG3I2gr_normal.jpg)](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 [![AnshulSoni2010](https://pbs.twimg.com/profile_images/1913625065624891392/kRwkirln_normal.jpg)](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/) [![mtanmaym](https://pbs.twimg.com/profile_images/1815278013140877312/N5Z9c1De_normal.jpg)](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 [![CarpCarpingdiem](https://pbs.twimg.com/profile_images/1773064027289321473/n0ZiXXB5_normal.jpg)](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!! [![Pingu2k4](https://pbs.twimg.com/profile_images/1779291776446054400/-hKsciXs_normal.jpg)](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. :) [![eter_inquirer](https://pbs.twimg.com/profile_images/1710124473062772736/zIuqVwMr_normal.jpg)](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 [![MahdiEzz_code](https://pbs.twimg.com/profile_images/1877010514661851136/M7F4MvrV_normal.jpg)](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! [![EliRichmond33](https://pbs.twimg.com/profile_images/1743351121261772800/pica7TuL_normal.jpg)](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! [![Afnanksalal](https://pbs.twimg.com/profile_images/1928443535176728576/pvygI97v_normal.jpg)](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. [![Mathias_Kandil](https://pbs.twimg.com/profile_images/1927266567814799360/EEG3I2gr_normal.jpg)](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 [![AnshulSoni2010](https://pbs.twimg.com/profile_images/1913625065624891392/kRwkirln_normal.jpg)](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/) [![mtanmaym](https://pbs.twimg.com/profile_images/1815278013140877312/N5Z9c1De_normal.jpg)](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 [![CarpCarpingdiem](https://pbs.twimg.com/profile_images/1773064027289321473/n0ZiXXB5_normal.jpg)](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!! [![Pingu2k4](https://pbs.twimg.com/profile_images/1779291776446054400/-hKsciXs_normal.jpg)](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. :) [![eter_inquirer](https://pbs.twimg.com/profile_images/1710124473062772736/zIuqVwMr_normal.jpg)](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 [![MahdiEzz_code](https://pbs.twimg.com/profile_images/1877010514661851136/M7F4MvrV_normal.jpg)](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! [![EliRichmond33](https://pbs.twimg.com/profile_images/1743351121261772800/pica7TuL_normal.jpg)](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! [![BylkaYf](https://pbs.twimg.com/profile_images/1878424218007707648/3ibL8_kU_normal.jpg)](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).✨ [![AlenVarazdinac](https://pbs.twimg.com/profile_images/957280482189828096/6Nmg-Dnd_normal.jpg)](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. [![buschbytes](https://pbs.twimg.com/profile_images/1878427257619849216/DpP69yPu_normal.jpg)](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! [![tim_is_coding](https://pbs.twimg.com/profile_images/1812131736546893824/PvucyJDV_normal.jpg)](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! [![ayushon_twt](https://pbs.twimg.com/profile_images/1929218385218330624/ffGLQNMr_normal.jpg)](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 👀 [![doasfrancisco](https://pbs.twimg.com/profile_images/1794431967708004352/N6eij_XS_normal.jpg)](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 [![sorenblank](https://pbs.twimg.com/profile_images/1751586190200037376/p1zvSdXk_normal.jpg)](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/) [![aidevmatt](https://pbs.twimg.com/profile_images/1787161527360884737/x8XlRrSo_normal.jpg)](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) [![Soham_Asmi](https://pbs.twimg.com/profile_images/1758898035617083393/Dj9pSWia_normal.jpg)](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. [![BylkaYf](https://pbs.twimg.com/profile_images/1878424218007707648/3ibL8_kU_normal.jpg)](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).✨ [![AlenVarazdinac](https://pbs.twimg.com/profile_images/957280482189828096/6Nmg-Dnd_normal.jpg)](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. [![buschbytes](https://pbs.twimg.com/profile_images/1878427257619849216/DpP69yPu_normal.jpg)](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! [![tim_is_coding](https://pbs.twimg.com/profile_images/1812131736546893824/PvucyJDV_normal.jpg)](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! [![ayushon_twt](https://pbs.twimg.com/profile_images/1929218385218330624/ffGLQNMr_normal.jpg)](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 👀 [![doasfrancisco](https://pbs.twimg.com/profile_images/1794431967708004352/N6eij_XS_normal.jpg)](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 [![sorenblank](https://pbs.twimg.com/profile_images/1751586190200037376/p1zvSdXk_normal.jpg)](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/) [![aidevmatt](https://pbs.twimg.com/profile_images/1787161527360884737/x8XlRrSo_normal.jpg)](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) [![Soham_Asmi](https://pbs.twimg.com/profile_images/1758898035617083393/Dj9pSWia_normal.jpg)](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. [![BylkaYf](https://pbs.twimg.com/profile_images/1878424218007707648/3ibL8_kU_normal.jpg)](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).✨ [![AlenVarazdinac](https://pbs.twimg.com/profile_images/957280482189828096/6Nmg-Dnd_normal.jpg)](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. [![buschbytes](https://pbs.twimg.com/profile_images/1878427257619849216/DpP69yPu_normal.jpg)](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! [![tim_is_coding](https://pbs.twimg.com/profile_images/1812131736546893824/PvucyJDV_normal.jpg)](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! [![ayushon_twt](https://pbs.twimg.com/profile_images/1929218385218330624/ffGLQNMr_normal.jpg)](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 👀 [![doasfrancisco](https://pbs.twimg.com/profile_images/1794431967708004352/N6eij_XS_normal.jpg)](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 [![sorenblank](https://pbs.twimg.com/profile_images/1751586190200037376/p1zvSdXk_normal.jpg)](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/) [![aidevmatt](https://pbs.twimg.com/profile_images/1787161527360884737/x8XlRrSo_normal.jpg)](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) [![Soham_Asmi](https://pbs.twimg.com/profile_images/1758898035617083393/Dj9pSWia_normal.jpg)](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. [![BylkaYf](https://pbs.twimg.com/profile_images/1878424218007707648/3ibL8_kU_normal.jpg)](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).✨ [![AlenVarazdinac](https://pbs.twimg.com/profile_images/957280482189828096/6Nmg-Dnd_normal.jpg)](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. [![buschbytes](https://pbs.twimg.com/profile_images/1878427257619849216/DpP69yPu_normal.jpg)](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! [![tim_is_coding](https://pbs.twimg.com/profile_images/1812131736546893824/PvucyJDV_normal.jpg)](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! [![ayushon_twt](https://pbs.twimg.com/profile_images/1929218385218330624/ffGLQNMr_normal.jpg)](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 👀 [![doasfrancisco](https://pbs.twimg.com/profile_images/1794431967708004352/N6eij_XS_normal.jpg)](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 [![sorenblank](https://pbs.twimg.com/profile_images/1751586190200037376/p1zvSdXk_normal.jpg)](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/) [![aidevmatt](https://pbs.twimg.com/profile_images/1787161527360884737/x8XlRrSo_normal.jpg)](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) [![Soham_Asmi](https://pbs.twimg.com/profile_images/1758898035617083393/Dj9pSWia_normal.jpg)](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. [![BylkaYf](https://pbs.twimg.com/profile_images/1878424218007707648/3ibL8_kU_normal.jpg)](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).✨ [![AlenVarazdinac](https://pbs.twimg.com/profile_images/957280482189828096/6Nmg-Dnd_normal.jpg)](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. [![buschbytes](https://pbs.twimg.com/profile_images/1878427257619849216/DpP69yPu_normal.jpg)](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! [![tim_is_coding](https://pbs.twimg.com/profile_images/1812131736546893824/PvucyJDV_normal.jpg)](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! [![ayushon_twt](https://pbs.twimg.com/profile_images/1929218385218330624/ffGLQNMr_normal.jpg)](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 👀 [![doasfrancisco](https://pbs.twimg.com/profile_images/1794431967708004352/N6eij_XS_normal.jpg)](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 [![sorenblank](https://pbs.twimg.com/profile_images/1751586190200037376/p1zvSdXk_normal.jpg)](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/) [![aidevmatt](https://pbs.twimg.com/profile_images/1787161527360884737/x8XlRrSo_normal.jpg)](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) [![Soham_Asmi](https://pbs.twimg.com/profile_images/1758898035617083393/Dj9pSWia_normal.jpg)](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. [![BylkaYf](https://pbs.twimg.com/profile_images/1878424218007707648/3ibL8_kU_normal.jpg)](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).✨ [![AlenVarazdinac](https://pbs.twimg.com/profile_images/957280482189828096/6Nmg-Dnd_normal.jpg)](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. [![buschbytes](https://pbs.twimg.com/profile_images/1878427257619849216/DpP69yPu_normal.jpg)](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! [![tim_is_coding](https://pbs.twimg.com/profile_images/1812131736546893824/PvucyJDV_normal.jpg)](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! [![ayushon_twt](https://pbs.twimg.com/profile_images/1929218385218330624/ffGLQNMr_normal.jpg)](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 👀 [![doasfrancisco](https://pbs.twimg.com/profile_images/1794431967708004352/N6eij_XS_normal.jpg)](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 [![sorenblank](https://pbs.twimg.com/profile_images/1751586190200037376/p1zvSdXk_normal.jpg)](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/) [![aidevmatt](https://pbs.twimg.com/profile_images/1787161527360884737/x8XlRrSo_normal.jpg)](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) [![Soham_Asmi](https://pbs.twimg.com/profile_images/1758898035617083393/Dj9pSWia_normal.jpg)](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. [![BylkaYf](https://pbs.twimg.com/profile_images/1878424218007707648/3ibL8_kU_normal.jpg)](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).✨ [![AlenVarazdinac](https://pbs.twimg.com/profile_images/957280482189828096/6Nmg-Dnd_normal.jpg)](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. [![buschbytes](https://pbs.twimg.com/profile_images/1878427257619849216/DpP69yPu_normal.jpg)](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! [![tim_is_coding](https://pbs.twimg.com/profile_images/1812131736546893824/PvucyJDV_normal.jpg)](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! [![ayushon_twt](https://pbs.twimg.com/profile_images/1929218385218330624/ffGLQNMr_normal.jpg)](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 👀 [![doasfrancisco](https://pbs.twimg.com/profile_images/1794431967708004352/N6eij_XS_normal.jpg)](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 [![sorenblank](https://pbs.twimg.com/profile_images/1751586190200037376/p1zvSdXk_normal.jpg)](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/) [![aidevmatt](https://pbs.twimg.com/profile_images/1787161527360884737/x8XlRrSo_normal.jpg)](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) [![Soham_Asmi](https://pbs.twimg.com/profile_images/1758898035617083393/Dj9pSWia_normal.jpg)](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. [![BylkaYf](https://pbs.twimg.com/profile_images/1878424218007707648/3ibL8_kU_normal.jpg)](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).✨ [![AlenVarazdinac](https://pbs.twimg.com/profile_images/957280482189828096/6Nmg-Dnd_normal.jpg)](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. [![buschbytes](https://pbs.twimg.com/profile_images/1878427257619849216/DpP69yPu_normal.jpg)](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! [![tim_is_coding](https://pbs.twimg.com/profile_images/1812131736546893824/PvucyJDV_normal.jpg)](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! [![ayushon_twt](https://pbs.twimg.com/profile_images/1929218385218330624/ffGLQNMr_normal.jpg)](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 👀 [![doasfrancisco](https://pbs.twimg.com/profile_images/1794431967708004352/N6eij_XS_normal.jpg)](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 [![sorenblank](https://pbs.twimg.com/profile_images/1751586190200037376/p1zvSdXk_normal.jpg)](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/) [![aidevmatt](https://pbs.twimg.com/profile_images/1787161527360884737/x8XlRrSo_normal.jpg)](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) [![Soham_Asmi](https://pbs.twimg.com/profile_images/1758898035617083393/Dj9pSWia_normal.jpg)](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. [![pseudokid](https://pbs.twimg.com/profile_images/1905314170209533956/U-Mkssb7_normal.jpg)](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! [![hxutixnnn](https://pbs.twimg.com/profile_images/1914016702565953536/mpfw_4OY_normal.jpg)](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! 🫡 [![invisibili9935](https://pbs.twimg.com/profile_images/1891451167927930880/nfZSYM5x_normal.png)](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 [![the__gagan](https://pbs.twimg.com/profile_images/1748404353801846784/re-9v7ph_normal.jpg)](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. [![___ZCA](https://pbs.twimg.com/profile_images/1916867571464204288/knGk6bUA_normal.jpg)](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! [![mrterrycarson](https://pbs.twimg.com/profile_images/833004663142117377/SjMv4aVQ_normal.jpg)](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! [![jacrobsco](https://pbs.twimg.com/profile_images/1898910251799506944/E3Oowguq_normal.jpg)](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..) [![pseudokid](https://pbs.twimg.com/profile_images/1905314170209533956/U-Mkssb7_normal.jpg)](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! [![hxutixnnn](https://pbs.twimg.com/profile_images/1914016702565953536/mpfw_4OY_normal.jpg)](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! 🫡 [![invisibili9935](https://pbs.twimg.com/profile_images/1891451167927930880/nfZSYM5x_normal.png)](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 [![the__gagan](https://pbs.twimg.com/profile_images/1748404353801846784/re-9v7ph_normal.jpg)](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. [![___ZCA](https://pbs.twimg.com/profile_images/1916867571464204288/knGk6bUA_normal.jpg)](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! [![mrterrycarson](https://pbs.twimg.com/profile_images/833004663142117377/SjMv4aVQ_normal.jpg)](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! [![jacrobsco](https://pbs.twimg.com/profile_images/1898910251799506944/E3Oowguq_normal.jpg)](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..) [![pseudokid](https://pbs.twimg.com/profile_images/1905314170209533956/U-Mkssb7_normal.jpg)](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! [![hxutixnnn](https://pbs.twimg.com/profile_images/1914016702565953536/mpfw_4OY_normal.jpg)](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! 🫡 [![invisibili9935](https://pbs.twimg.com/profile_images/1891451167927930880/nfZSYM5x_normal.png)](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 [![the__gagan](https://pbs.twimg.com/profile_images/1748404353801846784/re-9v7ph_normal.jpg)](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. [![___ZCA](https://pbs.twimg.com/profile_images/1916867571464204288/knGk6bUA_normal.jpg)](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! [![mrterrycarson](https://pbs.twimg.com/profile_images/833004663142117377/SjMv4aVQ_normal.jpg)](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! [![jacrobsco](https://pbs.twimg.com/profile_images/1898910251799506944/E3Oowguq_normal.jpg)](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..) [![pseudokid](https://pbs.twimg.com/profile_images/1905314170209533956/U-Mkssb7_normal.jpg)](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! [![hxutixnnn](https://pbs.twimg.com/profile_images/1914016702565953536/mpfw_4OY_normal.jpg)](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! 🫡 [![invisibili9935](https://pbs.twimg.com/profile_images/1891451167927930880/nfZSYM5x_normal.png)](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 [![the__gagan](https://pbs.twimg.com/profile_images/1748404353801846784/re-9v7ph_normal.jpg)](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. [![___ZCA](https://pbs.twimg.com/profile_images/1916867571464204288/knGk6bUA_normal.jpg)](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! [![mrterrycarson](https://pbs.twimg.com/profile_images/833004663142117377/SjMv4aVQ_normal.jpg)](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! [![jacrobsco](https://pbs.twimg.com/profile_images/1898910251799506944/E3Oowguq_normal.jpg)](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..) [![pseudokid](https://pbs.twimg.com/profile_images/1905314170209533956/U-Mkssb7_normal.jpg)](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! [![hxutixnnn](https://pbs.twimg.com/profile_images/1914016702565953536/mpfw_4OY_normal.jpg)](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! 🫡 [![invisibili9935](https://pbs.twimg.com/profile_images/1891451167927930880/nfZSYM5x_normal.png)](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 [![the__gagan](https://pbs.twimg.com/profile_images/1748404353801846784/re-9v7ph_normal.jpg)](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. [![___ZCA](https://pbs.twimg.com/profile_images/1916867571464204288/knGk6bUA_normal.jpg)](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! [![mrterrycarson](https://pbs.twimg.com/profile_images/833004663142117377/SjMv4aVQ_normal.jpg)](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! [![jacrobsco](https://pbs.twimg.com/profile_images/1898910251799506944/E3Oowguq_normal.jpg)](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..) [![pseudokid](https://pbs.twimg.com/profile_images/1905314170209533956/U-Mkssb7_normal.jpg)](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! [![hxutixnnn](https://pbs.twimg.com/profile_images/1914016702565953536/mpfw_4OY_normal.jpg)](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! 🫡 [![invisibili9935](https://pbs.twimg.com/profile_images/1891451167927930880/nfZSYM5x_normal.png)](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 [![the__gagan](https://pbs.twimg.com/profile_images/1748404353801846784/re-9v7ph_normal.jpg)](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. [![___ZCA](https://pbs.twimg.com/profile_images/1916867571464204288/knGk6bUA_normal.jpg)](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! [![mrterrycarson](https://pbs.twimg.com/profile_images/833004663142117377/SjMv4aVQ_normal.jpg)](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! [![jacrobsco](https://pbs.twimg.com/profile_images/1898910251799506944/E3Oowguq_normal.jpg)](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..) [![pseudokid](https://pbs.twimg.com/profile_images/1905314170209533956/U-Mkssb7_normal.jpg)](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! [![hxutixnnn](https://pbs.twimg.com/profile_images/1914016702565953536/mpfw_4OY_normal.jpg)](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! 🫡 [![invisibili9935](https://pbs.twimg.com/profile_images/1891451167927930880/nfZSYM5x_normal.png)](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 [![the__gagan](https://pbs.twimg.com/profile_images/1748404353801846784/re-9v7ph_normal.jpg)](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. [![___ZCA](https://pbs.twimg.com/profile_images/1916867571464204288/knGk6bUA_normal.jpg)](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! [![mrterrycarson](https://pbs.twimg.com/profile_images/833004663142117377/SjMv4aVQ_normal.jpg)](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! [![jacrobsco](https://pbs.twimg.com/profile_images/1898910251799506944/E3Oowguq_normal.jpg)](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..) [![pseudokid](https://pbs.twimg.com/profile_images/1905314170209533956/U-Mkssb7_normal.jpg)](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! [![hxutixnnn](https://pbs.twimg.com/profile_images/1914016702565953536/mpfw_4OY_normal.jpg)](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! 🫡 [![invisibili9935](https://pbs.twimg.com/profile_images/1891451167927930880/nfZSYM5x_normal.png)](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 [![the__gagan](https://pbs.twimg.com/profile_images/1748404353801846784/re-9v7ph_normal.jpg)](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. [![___ZCA](https://pbs.twimg.com/profile_images/1916867571464204288/knGk6bUA_normal.jpg)](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! [![mrterrycarson](https://pbs.twimg.com/profile_images/833004663142117377/SjMv4aVQ_normal.jpg)](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! [![jacrobsco](https://pbs.twimg.com/profile_images/1898910251799506944/E3Oowguq_normal.jpg)](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. ![Buy Me A Coffee](https://cdn.buymeacoffee.com/widget/assets/coffee%20cup.svg) 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";
``` The Skeleton component is used to display placeholder content while loading data, providing users with visual feedback about the loading state and improving perceived performance. ## [Installation](https://www.hextaui.com/docs/ui/components/skeleton\#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 ``` Add required animation and keyframes to your CSS file or tailwind config file based on your Tailwind version. Tailwind v4Tailwind v3 app/global.css ``` @theme { --animate-shimmer: shimmer 1.5s infinite linear; } @keyframes shimmer { 0% { transform: translateX(-100%); } 100% { transform: translateX(100%); } } ``` tailwind.config.js ``` module.exports = { theme: { extend: { keyframes: { shimmer: { "0%": { transform: "translateX(-100%)" }, "100%": { transform: "translateX(100%)" }, }, } animations: { shimmer: "shimmer 1.5s infinite linear", }, } } } ``` Copy and paste the following code into your project. components/ui/skeleton.tsx ``` "use client"; import * as React from "react"; import { cva, type VariantProps } from "class-variance-authority"; import { cn } from "@/lib/utils"; const skeletonVariants = cva( "animate-pulse rounded-[var(--radius)] bg-[hsl(var(--hu-accent))]", { variants: { variant: { default: "bg-[hsl(var(--hu-accent))]", secondary: "bg-[hsl(var(--hu-accent))]/20", text: "bg-[hsl(var(--hu-accent))] rounded-md", circle: "rounded-full", avatar: "rounded-full bg-[hsl(var(--hu-accent))]", }, size: { sm: "h-4", default: "h-6", lg: "h-8", xl: "h-10", "2xl": "h-12", }, }, defaultVariants: { variant: "default", size: "default", }, }, ); export interface SkeletonProps extends React.HTMLAttributes, VariantProps { /** * Custom width for the skeleton */ width?: string | number; /** * Custom height for the skeleton */ height?: string | number; /** * Animation speed in seconds */ duration?: number; /** * Whether to show shimmer effect */ shimmer?: boolean; } const Skeleton = React.forwardRef( ( { className, variant, size, width, height, duration = 2, shimmer = true, style, ...props }, ref, ) => { const customStyle = { width: typeof width === "number" ? `${width}px` : width, height: typeof height === "number" ? `${height}px` : height, animationDuration: `${duration}s`, ...style, }; return (
); }, ); Skeleton.displayName = "Skeleton"; // Pre-built skeleton components for common use cases const SkeletonText = React.forwardRef< HTMLDivElement, Omit >(({ className, ...props }, ref) => ( )); SkeletonText.displayName = "SkeletonText"; const SkeletonAvatar = React.forwardRef< HTMLDivElement, Omit >(({ className, size = "default", ...props }, ref) => { const avatarSizeMap = { sm: "w-8 h-8", default: "w-10 h-10", lg: "w-12 h-12", xl: "w-16 h-16", "2xl": "w-20 h-20", }; const avatarSize = avatarSizeMap[size as keyof typeof avatarSizeMap] || "w-10 h-10"; return ( ); }); SkeletonAvatar.displayName = "SkeletonAvatar"; const SkeletonButton = React.forwardRef< HTMLDivElement, Omit >(({ className, size = "default", ...props }, ref) => { const buttonHeight: Record = { sm: "h-8", default: "h-10", lg: "h-11", xl: "h-12", "2xl": "h-14", }; const selectedHeight = buttonHeight[size as string] || "h-10"; return ( ); }); SkeletonButton.displayName = "SkeletonButton"; const SkeletonCard = React.forwardRef< HTMLDivElement, Omit & { showImage?: boolean; showHeader?: boolean; showFooter?: boolean; } >( ( { className, showImage = true, showHeader = true, showFooter = true, ...props }, ref, ) => (
{showImage && ( )}
{showHeader && (
)}
{showFooter && (
)}
), ); SkeletonCard.displayName = "SkeletonCard"; export { Skeleton, SkeletonText, SkeletonAvatar, SkeletonButton, SkeletonCard, skeletonVariants, }; ``` npmpnpmyarnbun ``` npx hextaui@latest add skeleton ``` ``` pnpm dlx hextaui@latest add skeleton ``` ``` yarn dlx hextaui@latest add skeleton ``` ``` bun x hextaui@latest add skeleton ``` ## [Usage](https://www.hextaui.com/docs/ui/components/skeleton\#usage) ``` import { Skeleton, SkeletonText, SkeletonAvatar, SkeletonButton, SkeletonCard, } from "@/components/ui/Skeleton"; ``` ``` ``` ## [Examples](https://www.hextaui.com/docs/ui/components/skeleton\#examples) ### [Basic Skeleton](https://www.hextaui.com/docs/ui/components/skeleton\#basic-skeleton) PreviewCode ### Text Lines ```
``` ### [Avatar Skeletons](https://www.hextaui.com/docs/ui/components/skeleton\#avatar-skeletons) PreviewCode ### Avatar Sizes ```
``` ### [Button Skeletons](https://www.hextaui.com/docs/ui/components/skeleton\#button-skeletons) PreviewCode ### Button Sizes ```
``` ### [Card Skeleton](https://www.hextaui.com/docs/ui/components/skeleton\#card-skeleton) PreviewCode ### Card Layouts ```
{/* Full card with image, header, content, and footer */} {/* Card without image */}
{/* Card without footer */} {/* Card without header */} {/* Card with only content */}
``` ### [Profile Card Skeleton](https://www.hextaui.com/docs/ui/components/skeleton\#profile-card-skeleton) PreviewCode ### Profile Card ```
``` ### [Article List Skeleton](https://www.hextaui.com/docs/ui/components/skeleton\#article-list-skeleton) PreviewCode ### Article List ```
{Array.from({ length: 3 }).map((_, i) => (
))}
``` ### [Data Table Skeleton](https://www.hextaui.com/docs/ui/components/skeleton\#data-table-skeleton) PreviewCode ### Data Table ```
{/* Header */}
{/* Rows */} {Array.from({ length: 5 }).map((_, i) => (
))}
``` ### [Custom Variants](https://www.hextaui.com/docs/ui/components/skeleton\#custom-variants) PreviewCode ### Custom Variants Circle Secondary Custom Size No Shimmer Slow Animation ```

Circle

Secondary

Custom Size

No Shimmer

``` ### [Loading States](https://www.hextaui.com/docs/ui/components/skeleton\#loading-states) PreviewCode ### Blog Post ```
{/* Header */}
{/* Featured Image */} {/* Content */}
{Array.from({ length: 6 }).map((_, i) => ( ))}
{/* Tags */}
{Array.from({ length: 3 }).map((_, i) => ( ))}
``` ## [Props](https://www.hextaui.com/docs/ui/components/skeleton\#props) | Prop | Type | Default | | --- | --- | --- | | `className?` | `string` | `undefined` | | `shimmer?` | `boolean` | `true` | | `duration?` | `number` | `2` | | `height?` | `string | number` | `undefined` | | `width?` | `string | number` | `undefined` | | `size?` | `"sm" | "default" | "lg" | "xl" | "2xl"` | `"default"` | | `variant?` | `"default" | "secondary" | "text" | "circle" | "avatar"` | `"default"` | ### [SkeletonCard Props](https://www.hextaui.com/docs/ui/components/skeleton\#skeletoncard-props) | Prop | Type | Default | | --- | --- | --- | | `showFooter?` | `boolean` | `true` | | `showHeader?` | `boolean` | `true` | | `showImage?` | `boolean` | `true` | [Edit on GitHub](https://github.com/preetsuthar17/hextaui/blob/master/content/docs/ui/components/skeleton.mdx) Last updated on 6/23/2025 [Sidebar\\ \\ A flexible and responsive sidebar component with animations, collapsible behavior, and comprehensive customization options.](https://www.hextaui.com/docs/ui/components/sidebar) [Slider\\ \\ A customizable range input component for selecting numeric values with multiple variants and sizes.](https://www.hextaui.com/docs/ui/components/slider) ### On this page [Installation](https://www.hextaui.com/docs/ui/components/skeleton#installation) [Usage](https://www.hextaui.com/docs/ui/components/skeleton#usage) [Examples](https://www.hextaui.com/docs/ui/components/skeleton#examples) [Basic Skeleton](https://www.hextaui.com/docs/ui/components/skeleton#basic-skeleton) [Avatar Skeletons](https://www.hextaui.com/docs/ui/components/skeleton#avatar-skeletons) [Button Skeletons](https://www.hextaui.com/docs/ui/components/skeleton#button-skeletons) [Card Skeleton](https://www.hextaui.com/docs/ui/components/skeleton#card-skeleton) [Profile Card Skeleton](https://www.hextaui.com/docs/ui/components/skeleton#profile-card-skeleton) [Article List Skeleton](https://www.hextaui.com/docs/ui/components/skeleton#article-list-skeleton) [Data Table Skeleton](https://www.hextaui.com/docs/ui/components/skeleton#data-table-skeleton) [Custom Variants](https://www.hextaui.com/docs/ui/components/skeleton#custom-variants) [Loading States](https://www.hextaui.com/docs/ui/components/skeleton#loading-states) [Props](https://www.hextaui.com/docs/ui/components/skeleton#props) [SkeletonCard Props](https://www.hextaui.com/docs/ui/components/skeleton#skeletoncard-props) ![Buy Me A Coffee](https://cdn.buymeacoffee.com/widget/assets/coffee%20cup.svg) Psst, here! If you like my work, consider buying me a coffee. ☕ ## Checkbox Component [Build websites 10x faster with HextaUI Blocks —Learn more](https://pro.hextaui.com/blocks) UI/UI # Checkbox A customizable checkbox component with smooth animations and multiple states. PreviewCode Default checkbox Checked checkbox Indeterminate checkbox Disabled checkbox Disabled checked ```
``` ## [Installation](https://www.hextaui.com/docs/ui/components/checkbox\#installation) ManualCLI Install following dependencies: npmpnpmyarnbun ``` npm install @radix-ui/react-checkbox class-variance-authority lucide-react motion ``` ``` pnpm add @radix-ui/react-checkbox class-variance-authority lucide-react motion ``` ``` yarn add @radix-ui/react-checkbox class-variance-authority lucide-react motion ``` ``` bun add @radix-ui/react-checkbox class-variance-authority lucide-react motion ``` Copy and paste the following code into your project. components/ui/checkbox.tsx ``` "use client"; import * as React from "react"; import * as CheckboxPrimitive from "@radix-ui/react-checkbox"; import { cva, type VariantProps } from "class-variance-authority"; import { cn } from "@/lib/utils"; import { motion, AnimatePresence } from "motion/react"; const checkboxVariants = cva( "peer shrink-0 rounded-sm border border-[hsl(var(--hu-border))] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[hsl(var(--hu-ring))] disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-[hsl(var(--hu-primary))] data-[state=checked]:text-[hsl(var(--hu-primary-foreground))] data-[state=checked]:border-[hsl(var(--hu-primary))] data-[state=indeterminate]:bg-[hsl(var(--hu-primary))] data-[state=indeterminate]:text-[hsl(var(--hu-primary-foreground))] data-[state=indeterminate]:border-[hsl(var(--hu-primary))] bg-[hsl(var(--hu-accent))] text-[hsl(var(--hu-foreground))] focus-visible:ring-offset-[hsl(var(--hu-background))] focus-visible:ring-offset-2 transition-colors shadow-sm/2", { variants: { size: { sm: "h-3 w-3", default: "h-4 w-4", lg: "h-5 w-5", }, }, defaultVariants: { size: "default", }, }, ); interface CheckboxProps extends React.ComponentPropsWithoutRef, VariantProps { label?: string; description?: string; error?: string; } const CheckboxRoot = React.forwardRef< React.ElementRef, CheckboxProps >(({ className, size, label, description, error, id, ...props }, ref) => { const checkboxId = id || React.useId(); const iconSize = size === "sm" ? 10 : size === "lg" ? 14 : 12; // Custom SVG check path for drawing animation const checkPath = "M3 6l3 3 6-6"; const minusPath = "M3 6h8"; return (
{props.checked === "indeterminate" ? ( ) : ( )}
{(label || description) && (
{label && ( )} {description && (

{description}

)}
)}
{error && (

{error}

)}
); }); 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. ```
``` ### [Indeterminate State](https://www.hextaui.com/docs/ui/components/checkbox\#indeterminate-state) PreviewCode Select all Item 1 Item 2 Item 3 ``` function CheckboxIndeterminate() { const [items, setItems] = useState([\ { id: 1, label: "Item 1", checked: false },\ { id: 2, label: "Item 2", checked: true },\ { id: 3, label: "Item 3", checked: false },\ ]); const checkedItems = items.filter((item) => item.checked); const isIndeterminate = checkedItems.length > 0 && checkedItems.length < items.length; const isAllChecked = checkedItems.length === items.length; const handleSelectAll = (checked: boolean | "indeterminate") => { if (checked === "indeterminate") return; setItems(items.map((item) => ({ ...item, checked }))); }; const handleItemChange = (id: number, checked: boolean) => { setItems(items.map((item) => item.id === id ? { ...item, checked } : item )); }; return (
{items.map((item) => ( handleItemChange(item.id, !!checked)} /> ))}
); } ``` ### [With Error State](https://www.hextaui.com/docs/ui/components/checkbox\#with-error-state) PreviewCode I agree to the terms and conditions Submit ``` function CheckboxWithError() { const [agreed, setAgreed] = useState(false); const [attempted, setAttempted] = useState(false); const handleSubmit = () => { setAttempted(true); if (agreed) { alert("Form submitted!"); setAttempted(false); } }; return (
setAgreed(!!checked)} error={attempted && !agreed ? "You must agree to the terms" : undefined} />
); } ``` ### [Checkbox Group](https://www.hextaui.com/docs/ui/components/checkbox\#checkbox-group) PreviewCode ### Select your skills: React Vue.js Angular Svelte Next.js ``` function CheckboxGroup() { const [selectedSkills, setSelectedSkills] = useState([]); const skills = [\ { id: "react", label: "React" },\ { id: "vue", label: "Vue.js" },\ { id: "angular", label: "Angular" },\ { id: "svelte", label: "Svelte" },\ { id: "nextjs", label: "Next.js" },\ ]; const handleSkillChange = (skillId: string, checked: boolean) => { if (checked) { setSelectedSkills([...selectedSkills, skillId]); } else { setSelectedSkills(selectedSkills.filter(id => id !== skillId)); } }; return (

Select your skills:

{skills.map((skill) => ( handleSkillChange(skill.id, !!checked)} /> ))}
{selectedSkills.length > 0 && (

Selected: {selectedSkills.join(", ")}

)}
); } ``` ### [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 ```

Preferences

Privacy

``` ## [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) ![Buy Me A Coffee](https://cdn.buymeacoffee.com/widget/assets/coffee%20cup.svg) 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) ![Buy Me A Coffee](https://cdn.buymeacoffee.com/widget/assets/coffee%20cup.svg) 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} > {" "}
); }, ); VideoPlayer.displayName = "VideoPlayer"; export { VideoPlayer, videoPlayerVariants }; ``` npmpnpmyarnbun ``` npx hextaui@latest add video-player ``` ``` pnpm dlx hextaui@latest add video-player ``` ``` yarn dlx hextaui@latest add video-player ``` ``` bun x hextaui@latest add video-player ``` ## [Usage](https://www.hextaui.com/docs/ui/components/video-player\#usage) ``` import { VideoPlayer } from "@/components/ui/VideoPlayer"; ``` ``` ``` ## [Examples](https://www.hextaui.com/docs/ui/components/video-player\#examples) ### [Sizes](https://www.hextaui.com/docs/ui/components/video-player\#sizes) PreviewCode Small 0:00 0:00 Default 0:00 0:00 Large 0:00 0:00 ```
``` ### [With Poster](https://www.hextaui.com/docs/ui/components/video-player\#with-poster) PreviewCode 0:00 0:00 ``` ``` ### [Auto-hide Controls](https://www.hextaui.com/docs/ui/components/video-player\#auto-hide-controls) PreviewCode 0:00 0:00 ``` ``` ### [No Controls](https://www.hextaui.com/docs/ui/components/video-player\#no-controls) PreviewCode ``` ``` ### [Full Width](https://www.hextaui.com/docs/ui/components/video-player\#full-width) PreviewCode 0:00 0:00 ``` ``` ## [Keyboard Shortcuts](https://www.hextaui.com/docs/ui/components/video-player\#keyboard-shortcuts) The video player supports the following keyboard shortcuts when focused: - **Space/K** \- Play/Pause - **M** \- Toggle mute - **F** \- Toggle fullscreen - **←/→** \- Skip backward/forward (10 seconds) - **↑/↓** \- Volume up/down ## [Features](https://www.hextaui.com/docs/ui/components/video-player\#features) - **Modern Design** \- Clean, minimal interface with smooth animations - **Full Controls** \- Play/pause, seek, volume, fullscreen, skip controls - **Keyboard Shortcuts** \- Complete keyboard navigation support - **Auto-hide Controls** \- Controls fade away during playback for immersive viewing - **Responsive** \- Works perfectly on all screen sizes - **Accessible** \- Screen reader friendly with proper ARIA labels - **Customizable** \- Multiple size variants and styling options ## [Props](https://www.hextaui.com/docs/ui/components/video-player\#props) | Prop | Type | Default | | --- | --- | --- | | `className?` | `string` | `undefined` | | `autoHide?` | `boolean` | `true` | | `showControls?` | `boolean` | `true` | | `size?` | `"sm" | "default" | "lg" | "full"` | `"default"` | | `poster?` | `string` | `undefined` | | `src?` | `string` | `required` | [Edit on GitHub](https://github.com/preetsuthar17/hextaui/blob/master/content/docs/ui/components/video-player.mdx) Last updated on 6/23/2025 [TreeNew\\ \\ A flexible tree view component with collapsible nodes, selection, and animations.](https://www.hextaui.com/docs/ui/components/tree) ### On this page [Installation](https://www.hextaui.com/docs/ui/components/video-player#installation) [Usage](https://www.hextaui.com/docs/ui/components/video-player#usage) [Examples](https://www.hextaui.com/docs/ui/components/video-player#examples) [Sizes](https://www.hextaui.com/docs/ui/components/video-player#sizes) [With Poster](https://www.hextaui.com/docs/ui/components/video-player#with-poster) [Auto-hide Controls](https://www.hextaui.com/docs/ui/components/video-player#auto-hide-controls) [No Controls](https://www.hextaui.com/docs/ui/components/video-player#no-controls) [Full Width](https://www.hextaui.com/docs/ui/components/video-player#full-width) [Keyboard Shortcuts](https://www.hextaui.com/docs/ui/components/video-player#keyboard-shortcuts) [Features](https://www.hextaui.com/docs/ui/components/video-player#features) [Props](https://www.hextaui.com/docs/ui/components/video-player#props) ![Buy Me A Coffee](https://cdn.buymeacoffee.com/widget/assets/coffee%20cup.svg) Psst, here! If you like my work, consider buying me a coffee. ☕ ## Tag Input Component [Build websites 10x faster with HextaUI Blocks —Learn more](https://pro.hextaui.com/blocks) UI/UI # Tag Input A flexible input component for adding and managing multiple tags with support for keyboard navigation and customization. PreviewCode JavaScript React TypeScript ``` const [tags, setTags] = useState(["React", "Next.js", "TypeScript"]); ``` ## [Installation](https://www.hextaui.com/docs/ui/components/tag-input\#installation) ManualCLI Install following dependencies: npmpnpmyarnbun ``` npm install @radix-ui/react-slot class-variance-authority lucide-react ``` ``` pnpm add @radix-ui/react-slot class-variance-authority lucide-react ``` ``` yarn add @radix-ui/react-slot class-variance-authority lucide-react ``` ``` bun add @radix-ui/react-slot class-variance-authority lucide-react ``` Copy and paste the following code into your project. components/ui/tag-input.tsx ``` "use client"; import * as React from "react"; import { cva, type VariantProps } from "class-variance-authority"; import { cn } from "@/lib/utils"; import { Input } from "./input"; import { Chip } from "./chip"; import { X } from "lucide-react"; const tagInputVariants = cva( "min-h-9 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))] transition-all focus-within:outline-none focus-within:ring-2 focus-within:ring-[hsl(var(--hu-ring))] focus-within:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50", { variants: { variant: { default: "border-[hsl(var(--hu-border))]", destructive: "border-[hsl(var(--hu-destructive))] focus-within:ring-[hsl(var(--hu-destructive))]", }, size: { sm: "min-h-8 px-2 py-1 text-xs", default: "min-h-9 px-3 py-2 text-sm", lg: "min-h-10 px-4 py-2", xl: "min-h-12 px-6 py-3 text-base", }, }, defaultVariants: { variant: "default", size: "default", }, }, ); export interface TagInputProps extends Omit, "size" | "value" | "onChange">, VariantProps { tags: string[]; onTagsChange: (tags: string[]) => void; maxTags?: number; placeholder?: string; tagVariant?: "default" | "secondary" | "destructive" | "outline" | "ghost"; tagSize?: "sm" | "default" | "lg"; allowDuplicates?: boolean; onTagAdd?: (tag: string) => void; onTagRemove?: (tag: string) => void; separator?: string | RegExp; clearAllButton?: boolean; onClearAll?: () => void; disabled?: boolean; error?: boolean; } const TagInput = React.forwardRef( ( { className, variant, size, tags, onTagsChange, maxTags, placeholder = "Type and press Enter to add tags...", tagVariant = "secondary", tagSize = "sm", allowDuplicates = false, onTagAdd, onTagRemove, separator = /[\s,]+/, clearAllButton = false, onClearAll, disabled, error, ...props }, ref, ) => { const [inputValue, setInputValue] = React.useState(""); const inputRef = React.useRef(null); const addTag = React.useCallback( (tag: string) => { const trimmedTag = tag.trim(); if (!trimmedTag) return; if (!allowDuplicates && tags.includes(trimmedTag)) return; if (maxTags && tags.length >= maxTags) return; const newTags = [...tags, trimmedTag]; onTagsChange(newTags); onTagAdd?.(trimmedTag); setInputValue(""); }, [tags, onTagsChange, onTagAdd, allowDuplicates, maxTags], ); const removeTag = React.useCallback( (tagToRemove: string) => { const newTags = tags.filter((tag) => tag !== tagToRemove); onTagsChange(newTags); onTagRemove?.(tagToRemove); }, [tags, onTagsChange, onTagRemove], ); const handleInputChange = (e: React.ChangeEvent) => { const value = e.target.value; if (separator instanceof RegExp) { const parts = value.split(separator); if (parts.length > 1) { parts.slice(0, -1).forEach((part) => addTag(part)); setInputValue(parts[parts.length - 1]); return; } } else if (typeof separator === "string" && value.includes(separator)) { const parts = value.split(separator); parts.slice(0, -1).forEach((part) => addTag(part)); setInputValue(parts[parts.length - 1]); return; } setInputValue(value); }; const handleKeyDown = (e: React.KeyboardEvent) => { if (e.key === "Enter" || e.key === "Tab") { e.preventDefault(); addTag(inputValue); } else if (e.key === "Backspace" && inputValue === "" && tags.length > 0) { removeTag(tags[tags.length - 1]); } }; const handleClearAll = () => { onTagsChange([]); onClearAll?.(); setInputValue(""); }; const handleContainerClick = () => { inputRef.current?.focus(); }; const chipSizeMapping = { sm: "sm" as const, default: "sm" as const, lg: "default" as const, xl: "default" as const, }; return (
{tags.map((tag, index) => ( removeTag(tag)} className="pointer-events-auto" > {tag} ))} = maxTags : false)} className="flex-1 min-w-[120px] bg-transparent outline-none placeholder:text-[hsl(var(--hu-muted-foreground))] disabled:cursor-not-allowed" {...props} />
{clearAllButton && tags.length > 0 && ( )}
); }, ); 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) ![Buy Me A Coffee](https://cdn.buymeacoffee.com/widget/assets/coffee%20cup.svg) 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) ![Buy Me A Coffee](https://cdn.buymeacoffee.com/widget/assets/coffee%20cup.svg) 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) ![Buy Me A Coffee](https://cdn.buymeacoffee.com/widget/assets/coffee%20cup.svg) 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) ![Buy Me A Coffee](https://cdn.buymeacoffee.com/widget/assets/coffee%20cup.svg) 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) ![Buy Me A Coffee](https://cdn.buymeacoffee.com/widget/assets/coffee%20cup.svg) 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 ```
Default Secondary Outline Ghost Destructive
``` ## [Installation](https://www.hextaui.com/docs/ui/components/chip\#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/chip.tsx ``` "use client"; import * as React from "react"; import { cva, type VariantProps } from "class-variance-authority"; import { cn } from "@/lib/utils"; import { type LucideIcon, X } from "lucide-react"; const chipVariants = cva( "inline-flex items-center justify-center rounded-full border text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50", { variants: { variant: { default: "border-transparent bg-[hsl(var(--hu-primary))] text-[hsl(var(--hu-primary-foreground))] hover:bg-[hsl(var(--hu-primary))]/80 focus-visible:ring-[hsl(var(--hu-ring))] shadow-sm/2", secondary: "border-transparent bg-[hsl(var(--hu-secondary))] text-[hsl(var(--hu-secondary-foreground))] hover:bg-[hsl(var(--hu-secondary))]/80 focus-visible:ring-[hsl(var(--hu-ring))]", destructive: "border-transparent bg-[hsl(var(--hu-destructive))] text-[hsl(var(--hu-destructive-foreground))] hover:bg-[hsl(var(--hu-destructive))]/80 focus-visible:ring-[hsl(var(--hu-destructive))] shadow-sm/2", outline: "border-[hsl(var(--hu-border))] text-[hsl(var(--hu-foreground))] hover:bg-[hsl(var(--hu-accent))] hover:text-[hsl(var(--hu-accent-foreground))] focus-visible:ring-[hsl(var(--hu-ring))] shadow-sm/2", ghost: "border-transparent text-[hsl(var(--hu-foreground))] hover:bg-[hsl(var(--hu-accent))] hover:text-[hsl(var(--hu-accent-foreground))] focus-visible:ring-[hsl(var(--hu-ring))]", }, size: { sm: "h-6 px-2 gap-1 text-sm", default: "h-7 px-3 gap-1.5 text-sm", lg: "h-8 px-4 text-sm gap-2", }, }, defaultVariants: { variant: "default", size: "default", }, } ); export interface ChipProps extends React.HTMLAttributes, VariantProps { icon?: LucideIcon; iconPosition?: "left" | "right"; dismissible?: boolean; onDismiss?: () => void; } const Chip = React.forwardRef( ( { className, variant, size, icon: Icon, iconPosition = "left", dismissible = false, onDismiss, children, ...props }, ref ) => { const iconSize = size === "sm" ? 12 : size === "lg" ? 14 : 12; const closeIconSize = size === "sm" ? 10 : size === "lg" ? 12 : 10; const handleDismiss = (e: React.MouseEvent) => { e.stopPropagation(); onDismiss?.(); }; return (
{Icon && iconPosition === "left" && ( )} {children} {Icon && iconPosition === "right" && !dismissible && ( )} {dismissible && ( )}
); } ); Chip.displayName = "Chip"; export { Chip, chipVariants }; ``` npmpnpmyarnbun ``` npx hextaui@latest add chip ``` ``` pnpm dlx hextaui@latest add chip ``` ``` yarn dlx hextaui@latest add chip ``` ``` bun x hextaui@latest add chip ``` ## [Usage](https://www.hextaui.com/docs/ui/components/chip\#usage) ``` import { Chip } from "@/components/ui/Chip"; ``` ``` Default Chip Secondary Chip Outline Chip Ghost Chip Destructive Chip ``` ## [Examples](https://www.hextaui.com/docs/ui/components/chip\#examples) ### [Variants](https://www.hextaui.com/docs/ui/components/chip\#variants) PreviewCode Default Secondary Outline Ghost Destructive ```
Default Secondary Outline Ghost Destructive
``` ### [Sizes](https://www.hextaui.com/docs/ui/components/chip\#sizes) PreviewCode Small Default Large ```
Small Default Large
``` ### [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

React TypeScript Next.js Tailwind

Team Members

Alice Bob Charlie
``` ### [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";
Pending In Progress Completed Failed
``` ### [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";
alert("Chip clicked!")}> Clickable alert("Like clicked!")} > Like Focusable alert("Add clicked!")} > Add Filter
``` ### [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

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
``` ## [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) ![Buy Me A Coffee](https://cdn.buymeacoffee.com/widget/assets/coffee%20cup.svg) 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) ![Buy Me A Coffee](https://cdn.buymeacoffee.com/widget/assets/coffee%20cup.svg) 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) ![Buy Me A Coffee](https://cdn.buymeacoffee.com/widget/assets/coffee%20cup.svg) 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) ![Buy Me A Coffee](https://cdn.buymeacoffee.com/widget/assets/coffee%20cup.svg) 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 (
{tabs.map((tab) => { const isActive = activeTabId === tab.id; const Icon = tab.icon; return ( setActiveTabId(tab.id)} initial={false} animate={{ width: isActive ? 140 : 50, }} transition={{ type: "spring", stiffness: 400, damping: 30, }} > {isActive && ( {tab.label} )} ); })}
); }; ``` npmpnpmyarnbun ``` npx shadcn@latest add "https://21st.dev/r/hextaui/expandable-tabs" ``` ``` pnpm dlx shadcn@latest add "https://21st.dev/r/hextaui/expandable-tabs" ``` ``` yarn dlx shadcn@latest add "https://21st.dev/r/hextaui/expandable-tabs" ``` ``` bun x shadcn@latest add "https://21st.dev/r/hextaui/expandable-tabs" ``` ## [Usage](https://www.hextaui.com/docs/og-blocks/application/expandable-tabs\#usage) ``` import { ExpandableTabs, type TabItem } from "@/components/ui/expandable-tabs"; import { Zap, User, Sparkles, Mail } from "lucide-react"; ``` ``` 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 ( <>
); }; ``` ## [Props](https://www.hextaui.com/docs/og-blocks/application/expandable-tabs\#props) ### [TabItem\[\]](https://www.hextaui.com/docs/og-blocks/application/expandable-tabs\#tabitem) | Prop | Type | Default | | --- | --- | --- | | `color?` | `string` | `important` | | `label?` | `string` | `important` | | `icon?` | `LucideIcon` | `important` | | `id?` | `string` | - | ### [ExpandableTabsProps](https://www.hextaui.com/docs/og-blocks/application/expandable-tabs\#expandabletabsprops) | Prop | Type | Default | | --- | --- | --- | | `className?` | `string` | - | | `defaultTabId?` | `string` | `first tab's id` | | `tabs?` | `TabItem[]` | `[]` | [Edit on GitHub](https://github.com/preetsuthar17/hextaui/blob/master/content/docs/og-blocks/application/expandable-tabs.mdx) Last updated on 6/23/2025 [Animated Dock\\ \\ A dock with animated icons that grow on hover.](https://www.hextaui.com/docs/og-blocks/application/animated-dock) [Post Card\\ \\ A card component for social media posts.](https://www.hextaui.com/docs/og-blocks/application/post-card) ### On this page [Installation](https://www.hextaui.com/docs/og-blocks/application/expandable-tabs#installation) [Usage](https://www.hextaui.com/docs/og-blocks/application/expandable-tabs#usage) [Props](https://www.hextaui.com/docs/og-blocks/application/expandable-tabs#props) [TabItem\[\]](https://www.hextaui.com/docs/og-blocks/application/expandable-tabs#tabitem) [ExpandableTabsProps](https://www.hextaui.com/docs/og-blocks/application/expandable-tabs#expandabletabsprops) ![Buy Me A Coffee](https://cdn.buymeacoffee.com/widget/assets/coffee%20cup.svg) Psst, here! If you like my work, consider buying me a coffee. ☕ ## Infinite Text Marquee [Build websites 10x faster with HextaUI Blocks —Learn more](https://pro.hextaui.com/blocks) Original Blocks/Animations # Infinite Text Marquee Awesome infinite text scrolling effect using motion PreviewCode It is Amazing!! 🤩🔥 [HextaUI - HextaUI - HextaUI - HextaUI - HextaUI - HextaUI - HextaUI - HextaUI - HextaUI - HextaUI -](https://hextaui.com/) ``` ``` ## [Installation](https://www.hextaui.com/docs/og-blocks/animation/infinite-text-marquee\#installation) ManualCLI Copy and paste the following code into your project. components/ui/infinite-text-marquee.tsx ``` "use client"; import * as React from "react"; import { motion } from "motion/react"; import { useEffect, useState } from "react"; import Link from "next/link"; type InfiniteTextMarqueeProps = { text?: string; link?: string; speed?: number; showTooltip?: boolean; tooltipText?: string; fontSize?: string; textColor?: string; hoverColor?: string; }; export const InfiniteTextMarquee: React.FC = ({ text = "Let's Get Started", link = "/components", speed = 30, showTooltip = true, tooltipText = "Time to Flex💪", fontSize = "8rem", textColor = "", hoverColor = "", }) => { const [cursorPosition, setCursorPosition] = useState({ x: 0, y: 0 }); const [isHovered, setIsHovered] = useState(false); const [rotation, setRotation] = useState(0); const maxRotation = 8; useEffect(() => { if (!showTooltip) return; const handleMouseMove = (e: MouseEvent) => { setCursorPosition({ x: e.clientX, y: e.clientY }); const midpoint = window.innerWidth / 2; const distanceFromMidpoint = Math.abs(e.clientX - midpoint); const rotation = (distanceFromMidpoint / midpoint) * maxRotation; setRotation(e.clientX > midpoint ? rotation : -rotation); }; window.addEventListener("mousemove", handleMouseMove); return () => window.removeEventListener("mousemove", handleMouseMove); }, [showTooltip]); const repeatedText = Array(10).fill(text).join(" - ") + " -"; return ( <> {showTooltip && (

{tooltipText}

)}
setIsHovered(true)} onMouseLeave={() => setIsHovered(false)} animate={{ x: [0, -1000], transition: { repeat: Infinity, duration: speed, ease: "linear", }, }} > {repeatedText}
); }; ``` npmpnpmyarnbun ``` npx shadcn@latest add "https://21st.dev/r/hextaui/infinite-text-marquee" ``` ``` pnpm dlx shadcn@latest add "https://21st.dev/r/hextaui/infinite-text-marquee" ``` ``` yarn dlx shadcn@latest add "https://21st.dev/r/hextaui/infinite-text-marquee" ``` ``` bun x shadcn@latest add "https://21st.dev/r/hextaui/infinite-text-marquee" ``` ## [Usage](https://www.hextaui.com/docs/og-blocks/animation/infinite-text-marquee\#usage) ``` import { InfiniteTextMarquee } from "@/components/ui/infinite-text-marquee"; ``` ``` ``` ## [Props](https://www.hextaui.com/docs/og-blocks/animation/infinite-text-marquee\#props) | Prop | Type | Default | | --- | --- | --- | | `hoverColor?` | `string` | - | | `textColor?` | `string` | - | | `fontSize?` | `string` | `"8rem"` | | `tooltipText?` | `string` | `"Time to Flex💪"` | | `showTooltip?` | `boolean` | `true` | | `speed?` | `number` | `30` | | `link?` | `string` | `"/components"` | | `text?` | `string` | `"Let's Get Started"` | [Edit on GitHub](https://github.com/preetsuthar17/hextaui/blob/master/content/docs/og-blocks/animation/infinite-text-marquee.mdx) Last updated on [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) [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) ### On this page [Installation](https://www.hextaui.com/docs/og-blocks/animation/infinite-text-marquee#installation) [Usage](https://www.hextaui.com/docs/og-blocks/animation/infinite-text-marquee#usage) [Props](https://www.hextaui.com/docs/og-blocks/animation/infinite-text-marquee#props) ![Buy Me A Coffee](https://cdn.buymeacoffee.com/widget/assets/coffee%20cup.svg) Psst, here! If you like my work, consider buying me a coffee. ☕ ## Hextaui Sitemap https://hextaui.com/sitemap-0.xml ## Breadcrumb Navigation Guide [Build websites 10x faster with HextaUI Blocks —Learn more](https://pro.hextaui.com/blocks) UI/UI # Breadcrumb A navigation aid that shows users their current location within a website or application hierarchy. PreviewCode ``` Home Documentation Breadcrumb ``` ## [Installation](https://www.hextaui.com/docs/ui/components/breadcrumb\#installation) ManualCLI Install following dependencies: npmpnpmyarnbun ``` npm install @radix-ui/react-slot class-variance-authority lucide-react ``` ``` pnpm add @radix-ui/react-slot class-variance-authority lucide-react ``` ``` yarn add @radix-ui/react-slot class-variance-authority lucide-react ``` ``` bun add @radix-ui/react-slot class-variance-authority lucide-react ``` Copy and paste the following code into your project. components/ui/breadcrumb.tsx ``` "use client"; import * as React from "react"; import { Slot } from "@radix-ui/react-slot"; import { cva, type VariantProps } from "class-variance-authority"; import { ChevronRight, MoreHorizontal } from "lucide-react"; import { cn } from "@/lib/utils"; const breadcrumbVariants = cva("", { variants: {}, defaultVariants: {}, }); const breadcrumbListVariants = cva( "flex flex-wrap items-center gap-1.5 break-words text-sm text-[hsl(var(--hu-muted-foreground))]", { variants: { size: { sm: "text-xs gap-1", default: "text-sm gap-1.5", lg: "text-base gap-2", }, }, defaultVariants: { size: "default", }, } ); const breadcrumbItemVariants = cva("inline-flex items-center gap-1.5", { variants: {}, defaultVariants: {}, }); const breadcrumbLinkVariants = cva( "transition-colors hover:text-[hsl(var(--hu-foreground))] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[hsl(var(--hu-ring))] focus-visible:ring-offset-2 rounded-sm flex items-center gap-1", { variants: {}, defaultVariants: {}, } ); const breadcrumbPageVariants = cva( "font-normal text-[hsl(var(--hu-foreground))]", { variants: { variant: { default: "", highlighted: "font-medium", muted: "text-[hsl(var(--hu-muted-foreground))]", }, }, defaultVariants: { variant: "default", }, } ); export interface BreadcrumbProps extends React.ComponentPropsWithoutRef<"nav"> { separator?: React.ReactNode; } export interface BreadcrumbListProps extends React.ComponentPropsWithoutRef<"ol">, VariantProps {} export interface BreadcrumbItemProps extends React.ComponentPropsWithoutRef<"li"> {} export interface BreadcrumbLinkProps extends React.ComponentPropsWithoutRef<"a"> { asChild?: boolean; } export interface BreadcrumbPageProps extends React.ComponentPropsWithoutRef<"span">, VariantProps {} export interface BreadcrumbSeparatorProps extends React.ComponentProps<"li"> { children?: React.ReactNode; } export interface BreadcrumbEllipsisProps extends React.ComponentProps<"span"> {} const Breadcrumb = React.forwardRef( ({ className, ...props }, ref) => (