├── LICENSE
├── Contributing.md
└── README.md
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2023 ThemeSelection
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/Contributing.md:
--------------------------------------------------------------------------------
1 | Firstly, Thank you for expressing your interest in contributing to our repository to improve the list of Awesome JavaScript Libraries of UI Components.🤗
2 |
3 | To make sure the list remains active and up-to-date, we suggest you review our guidelines before submitting any pull requests.
4 |
5 | ## General Guidelines
6 |
7 | Thank you for considering contributing to our project! To maintain consistency and quality, please adhere to the following guidelines:
8 |
9 | - **One JS Library per Pull Request:**
10 | - Ensure that the requested Library follows this format:
11 | `` | 1. | [**Notie**](https://github.com/jaredreich/notie) | A clean and simple notification, input, and selection suite for JavaScript, with no Dependencies. | JavaScript | ``
12 | - Keep descriptions concise and short to provide clear and quick information about the extension.
13 | - **Maintain Order** - Do not change the order of the JavaScript Libraries and the Component Types. Add The libraries as per the list to its respective categories.
14 | - **Categorization** - Add the Libraries to the appropriate category mentioned. If you have a separate category, ensure you have its alternative ready for inclusion in the list (minimum 4-5).
15 | - **Spelling and Grammar** - Double-check your spelling and grammar before submitting your contribution. Clear and accurate descriptions enhance user understanding.
16 | - **Whitespace Cleanup:** - Remove any trailing whitespace in your contributions to maintain a clean and consistent codebase.
17 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Awesome-JavaScript-Libraries
2 | Hello out there!🙋🏻♂️
3 |
4 | Welcome to the go-to resource for discovering top-notch Awesome JavaScript libraries to add robust UI components to your web apps.
5 |
6 | Whether you're a developer, designer, or simply curious about the latest tools for crafting seamless user interfaces, this repository can be a valuable resource.
7 |
8 | 
9 |
10 | ## Why This Repository?
11 | Building modern web applications demands the right set of tools. With an abundance of JavaScript libraries available, finding the perfect ones for creating UI components can be overwhelming. That's where this repository comes in handy – a curated list of the best JavaScript libraries tailored for diverse UI components. 🚀🚀
12 |
13 | > **Give this repository a "⭐" to keep improving this list.**
14 |
15 |
16 | ## Table of Contents
17 | [**UI Components**](https://github.com/themeselection/Awesome-JavaScript-Libraries#ui-components)
18 | - [**Accordion / Collapse**](https://github.com/themeselection/Awesome-JavaScript-Libraries#badges--chips)
19 | - [**Badges / Chips**](https://github.com/themeselection/Awesome-JavaScript-Libraries#badges--chips)
20 | - [**Notification, Snackbar and Toast**](https://github.com/themeselection/Awesome-JavaScript-Libraries#notification-snackbar-and-toast)
21 | - [**Buttons**](https://github.com/themeselection/Awesome-JavaScript-Libraries#buttons)
22 | - [**Carousel**](https://github.com/themeselection/Awesome-JavaScript-Libraries#carousels)
23 | - [**Dropdown**](https://github.com/themeselection/Awesome-JavaScript-Libraries#dropdown)
24 | - [**Modals**](https://github.com/themeselection/Awesome-JavaScript-Libraries#modals)
25 | - [**Navbar**](https://github.com/themeselection/Awesome-JavaScript-Libraries#navbar)
26 | - [**Charts and Graphs**](https://github.com/themeselection/Awesome-JavaScript-Libraries#charts-and-graphs)
27 | - [**Cards**](https://github.com/themeselection/Awesome-JavaScript-Libraries#formatting)
28 | - [**Pagination**](https://github.com/themeselection/Awesome-JavaScript-Libraries#pagination)
29 | - [**Progress**](https://github.com/themeselection/Awesome-JavaScript-Libraries#progress-spinners-loaders)
30 | - [**Rating**](https://github.com/themeselection/Awesome-JavaScript-Libraries#rating)
31 | - [**Menus**](https://github.com/themeselection/Awesome-JavaScript-Libraries#breadcrumbs)
32 | - [**Breadcrumb Navigation**](https://github.com/themeselection/Awesome-JavaScript-Libraries#breadcrumbs)
33 | - [**Snackbar**](https://github.com/themeselection/Awesome-JavaScript-Libraries#timeline)
34 | - [**Timeline**](https://github.com/themeselection/Awesome-JavaScript-Libraries#timeline)
35 | - [**Tooltip**](https://github.com/themeselection/Awesome-JavaScript-Libraries#drag-and-drop)
36 | - [**Search**](https://github.com/themeselection/Awesome-JavaScript-Libraries#form-validation)
37 | - [**Drag and Drop**](https://github.com/themeselection/Awesome-JavaScript-Libraries#date-pickers)
38 | - [**Form Validation**](https://github.com/themeselection/Awesome-JavaScript-Libraries#3d-and-games)
39 | - [**Date Pickers**](https://github.com/themeselection/Awesome-JavaScript-Libraries#calendar)
40 | - [**3D and Games**](https://github.com/themeselection/Awesome-JavaScript-Libraries#search)
41 | - [**Calendar**](https://github.com/themeselection/Awesome-JavaScript-Libraries#editors)
42 | - [**Search**](https://github.com/themeselection/Awesome-JavaScript-Libraries#table)
43 | - [**Editor**](https://github.com/themeselection/Awesome-JavaScript-Libraries#table)
44 | - [**Table**](https://github.com/themeselection/Awesome-JavaScript-Libraries#table)
45 |
46 |
47 | ## UI Components
48 |
49 | ### Accordion
50 | | No | Library and Component Name | Descriptions | Framework |
51 | |------| -------------------| ------------------------------------|-----------------------------|
52 | | 1. | [**Accordion**](https://github.com/michu2k/Accordion) | Lightweight and accessible accordion module with an extensible API. With the module, you can create an accordion on your website, which is useful, especially for creating FAQ lists. | JavaScript & CSS |
53 | ### Badges / Chips
54 | | No | Library and Component Name | Description | Framework |
55 | |------| -------------------| ------------------------------------|-----------------------------|
56 | | 1. | [**KendoReact Chip**](https://www.telerik.com/kendo-react-ui/components/buttons/chip/) | The KendoReact Chip component allows users to enter information, make selections, filter content, or trigger actions. | React.js |
57 | ### Notification, Snackbar and Toast
58 | | No | Library and Component Name | Description | Framework |
59 | |------| -------------------| ------------------------------------|-----------------------------|
60 | | 1. | [**Notie**](https://github.com/jaredreich/notie) | A clean and simple notification, input, and selection suite for JavaScript, with no Dependencies. | JavaScript |
61 | | 2. | [**Sweetalert2**](https://github.com/sweetalert2/sweetalert2) | A beautiful, responsive, highly customizable, and accessible (WAI-ARIA) replacement for JavaScript's popup boxes. Zero dependencies. | JavaScript |
62 | | 3. | [**React-Toastify**](https://github.com/fkhadra/react-toastify) | React-Toastify allows you to add notifications to your app with ease. | React |
63 | | 4. | [**React Hot Toast**](https://github.com/timolins/react-hot-toast) | A React Toast library that is Lightweight, customizable, and beautiful by default. | React & TypeScript |
64 | | 5. | [**Notyf**](https://carlosroso.com/notyf/) | A minimalistic JavaScript library for toast notifications. Responsive, A11Y, dependency-free. | JavaScript |
65 | | 6. | [**VanillaToasts**](https://github.com/AlexKvazos/VanillaToasts) | This library is extremely lightweight and depends on no other library. | JavaScript |
66 | | 7. | [**Notify.js**](https://github.com/jpillora/notifyjs) | Notify.js is a jQuery plugin to provide simple yet fully customizable notifications. | JavaScript |
67 | | 8. | [**Toastr**](https://github.com/CodeSeven/toastr) | toastr is a Javascript library for non-blocking notifications. jQuery is required. The goal is to create a simple core library that can be customized and extended. | JavaScript |
68 | | 9. | [**Vue-toast-notification**](https://github.com/ankurk91/vue-toast-notification) | A Vue toast notification plugin for Vue.js. | Vue.js |
69 |
70 |
71 |
72 | [**Top 🔼**](https://github.com/themeselection/Awesome-JavaScript-Libraries#table-of-contents)
73 |
74 |
75 |
76 | ### Buttons
77 | | No | Library and Component Name | Description | Available in which Language |
78 | |----|-----------------------------|--------------|-----------------------------|
79 | | 1. | [**Vue Promise Btn**](https://stukh.github.io/vue-promise-btn/) | Vue.js plugin that handles buttons asynchronous lock and shows a loading state indicator. | Vue.js |
80 | | 2. | [**Cloud Sync Button**](https://github.com/vuesence/cloud-sync-button) | Button / progress-bar with cloud synchronization animation in vanilla JavaScript, Vue.js, and Web component formats. | Vue.js |
81 | | 3. | [**Add to Calendar**](https://github.com/add2cal/add-to-calendar-button) | The convenient JavaScript snippet, which lets you reliably create beautiful buttons where people can add events to their calendars. | JavaScript |
82 | | 4. | [**Animating-Buttons**](https://github.com/Spyware007/Animating-Buttons) | Explore Amazing Buttons animation for your next project. | HTML, CSS & JavaScript |
83 | ### Carousels
84 | | No | Library and Component Name | Descriptions | Available in which Language |
85 | |----|-----------------------------|--------------|-----------------------------|
86 | | 1. | [**Swiper**](https://swiperjs.com/) | Swiper is a modern and open-source JavaScript slider library that enables you to add sliders to your web pages. | JavaScript |
87 | | 2. | [**Slick**](http://kenwheeler.github.io/slick/) | Slick is a jQuery plugin created by Ken Wheeler to help developers create responsive as well as touch-enabled carousels on web pages. | JavaScript |
88 | | 3. | [**No UI Slider**](https://github.com/leongersen/noUiSlider) | A lightweight, ARIA-accessible JavaScript range slider with multi-touch and keyboard support. | JavaScript |
89 | | 4. | [**Glide.js**](https://glidejs.com/) | Glide.js is a dependency-free and lightweight JavaScript slider library for creating smooth, fast, and responsive sliders. | JavaScript |
90 | | 5. | [**Splide Javascript Slider**](https://splidejs.com/) | Splide is an open-source, flexible, and accessible carousel library written in TypeScript. | TypeScript |
91 | | 6. | [**Flicking**](https://naver.github.io/egjs-flicking/) | Reliable, flexible, and extendable carousel. | JavaScript |
92 | | 7. | [**Tiny Slider**](https://github.com/ganlanyuan/tiny-slider) | Tiny-Slide is an open-source vanilla JavaScript library that lets you build beautiful and responsive carousel sliders. | JavaScript |
93 | | 8. | [**Simple Slider**](https://github.com/ruyadorno/simple-slider) | Simple Slider is an open-source, lightweight, and highly testable JavaScript Carousel slider library. | JavaScript |
94 | | 9. | [**Vue 3 Carousel**](https://ismail9k.github.io/vue3-carousel) | Vue 3 Carouse is an open-source Vue 3 component library that lets you create customizable carousel/slides for your Vue-based projects. | Vue.js |
95 | | 10. | [**FullpageJS**](https://github.com/alvarotrigo/fullPage.js) | Fullpage.js provides a range of scroll effects and transitions to enhance the visual appeal of the website. | React.js |
96 | | 11. | [**Keen Slider**](https://keen-slider.io/) | An open-source library that can easily create sliders and carousels that are mobile-friendly. | React.js |
97 | | 12. | [**React Lightbox**](https://github.com/silvia-odwyer/lightbox.js) | A component feature that enables users to cycle through the images in the gallery containing the slideshow. | React.js |
98 | | 13. | [**React Responsive Carousel**](https://github.com/leandrowd/react-responsive-carousel) | React Responsive Carousel is a powerful, lightweight, and fully customizable carousel component for React apps. | React.js |
99 | | 14. | [**React-ID-Swiper**](https://github.com/kidjp85/react-id-swiper) | React ID Swiper is a library to use Swiper as a React JS component that allows you its modules to custom build. | React.js |
100 | | 15. | [**React Slick**](https://themeselection.com/react-carousel-library/) | React-Slick is a carousel component for React applications for creating responsive and customizable carousels or sliders. | React.js |
101 | | 16. | [**React Swipeable**](https://github.com/FormidableLabs/react-swipeable) | An open-source project that offers a swipeable component for React applications. | React.js |
102 |
103 |
104 |
105 | [**Top 🔼**](https://github.com/themeselection/Awesome-JavaScript-Libraries#table-of-contents)
106 |
107 |
108 |
109 | ### Dropdown
110 | | No | Library and Component Name | Descriptions | Available in which Language |
111 | |----|-----------------------------|--------------|-----------------------------|
112 | | 1. | [**vanillaSelectBox**](https://github.com/PhilippeMarcMeyer/vanillaSelectBox) | A dropdown menu with lots of features that takes a select tag and transforms it into a single or multi-select menu with 1 or 2 levels. | JavaScript |
113 | | 2. | [**DownShift**](https://github.com/downshift-js/downshift) | A set of primitives to build simple, flexible, WAI-ARIA compliant React autocomplete, combobox or select dropdown components. | React |
114 | | 3. | [**Select2**](https://select2.org/) | Select2 is a jQuery based replacement for select boxes. It supports searching, remote data sets, and infinite scrolling of results. | JavaScript |
115 | | 4. | [**jQuery-MultiSelect**](https://github.com/nobleclem/jQuery-MultiSelect) | Turn a multiselect list into a nice and easy-to-use list with checkboxes. | JavaScript |
116 | | 5. | [**Slim Select**](https://slimselectjs.com/) | A minified JavaScript library for modern and advanced select dropdowns with features like placeholders, search, animations, etc with no dependencies. | JavaScript |
117 | ### Modals
118 | | No | Library and Component Name | Descriptions | Available in which Language |
119 | |----|-----------------------------|--------------|-----------------------------|
120 | | 1. | [**SweetAlert2**](https://github.com/sweetalert2/sweetalert2) | A beautiful, responsive, highly customizable, and accessible (WAI-ARIA) replacement for JavaScript's popup boxes. Zero dependencies. | JavaScript |
121 | | 2. | [**Vex**](https://github.com/hubspot/vex) | A modern dialog library which is highly configurable, easily stylable, and gets out of the way. | JavaScript |
122 | | 3. | [**AlertifyJS**](https://github.com/MohammadYounes/AlertifyJS) | AlertifyJS is a JavaScript framework for developing pretty browser dialogs and notifications. | JavaScript |
123 | | 4. | [**Tingle.js**](https://github.com/robinparisi/tingle) | ⚡ 2kB vanilla modal plugin, no dependencies, and easy-to-use. | JavaScript |
124 | | 5. | [**Rmodal**](https://github.com/zewish/rmodal.js) | A simple 1.2 KB modal dialog with no dependencies. | JavaScript |
125 | | 6. | [**Vue-js-modal**](https://github.com/euvl/vue-js-modal) | Easy to use, highly customizable Vue.js modal library. | Vue.js |
126 | | 7. | [**Micromodal**](https://micromodal.vercel.app/) | Micromodal.js is a lightweight, configurable, and a11y-enabled modal library that you can easily add to your project with minimum configuration. | JavaScript |
127 |
128 |
129 |
130 | [**Top 🔼**](https://github.com/themeselection/Awesome-JavaScript-Libraries#table-of-contents)
131 |
132 |
133 |
134 | ### Navbar
135 | | No | Library and Component Name | Descriptions | Available in which Language |
136 | |----|-----------------------------|--------------|-----------------------------|
137 | | 1. | [**Pushbar.js**](https://github.com/oncebot/pushbar.js/) | A tiny JavaScript plugin for creating sliding drawers in web apps. It is fully customizable and dependency-free. You can use it as sidebar menus or option drawers. | JavaScript |
138 | | 2. | [**SuperSlide.js**](https://github.com/osrec/SuperSlide.js) | A lightweight, configurable sliding menu for your next PWA with promises. Only 2k gzipped! | JavaScript |
139 | | 3. | [**Menuspy**](https://github.com/lcdsantos/menuspy) | A JavaScript library to make navigation menus highlight the item based on the currently in view section. | JavaScript |
140 | | 4. | [**Slideout.js**](https://slideout.js.org/) | A touch slideout navigation menu for your mobile web apps. | JavaScript |
141 | | 5. | [**JavaScript-Spatial-Navigation**](https://github.com/luke-chang/js-spatial-navigation) | A JavaScript-based implementation of Spatial Navigation. | JavaScript |
142 | | 6. | [**SIDR**](https://github.com/artberri/sidr) | Sidr is a jQuery plugin for creating side menus and the easiest way to make your menu responsive. | JavaScript |
143 | | 7. | [**Responsive-nav.js**](https://github.com/arielsalminen/responsive-nav.js) | Responsive navigation plugin without library dependencies and with fast touchscreen support. | JavaScript |
144 | | 8. | [**PriorityNavigation.js**](https://github.com/gijsroge/priority-navigation) | PriorityNav is a lightweight accessible pure JavaScript plugin that will move your menu items if they don't fit their parent. | JavaScript |
145 |
146 |
147 |
148 | [**Top 🔼**](https://github.com/themeselection/Awesome-JavaScript-Libraries#table-of-contents)
149 |
150 |
151 |
152 | ### Charts and Graphs
153 | | No | Library and Component Name | Descriptions | Available in which Language |
154 | |----|-----------------------------|--------------|-----------------------------|
155 | | 1. | [**D3.js**](https://github.com/d3/d3) | A JavaScript library for producing dynamic, interactive data visualizations in web browsers. | JavaScript |
156 | | 2. | [**Chart.js**](https://github.com/chartjs/Chart.js) | A simple yet flexible JavaScript charting library for designers and developers. | JavaScript |
157 | | 3. | [**Plotly.js**](https://plotly.com/javascript/) | A high-level, declarative charting library that supports interactive, publication-quality graphs online. | JavaScript |
158 | | 4. | [**Highcharts**](https://www.highcharts.com/) | A JavaScript charting library that makes it easy to add interactive charts to web and mobile projects. | JavaScript |
159 | | 5. | [**C3.js**](https://c3js.org/) | A D3-based reusable chart library that enables deeper integration of charts into web applications. | JavaScript |
160 | | 6. | [**Chartist.js**](https://github.com/chartist-js/chartist) | A simple responsive chart library built with SVG that works with both CSS and JavaScript. | JavaScript |
161 | | 7. | [**Apexcharts.js**](https://github.com/apexcharts/apexcharts.js) | A modern JavaScript charting library that allows you to build interactive data visualizations with a simple API and 100+ ready-to-use samples. | JavaScript |
162 | | 8. | [**BillBoard.js**](https://github.com/naver/billboard.js) | Billboard.js is a reusable, easy interface JavaScript chart library, based on D3.js. | JavaScript |
163 | | 9. | [**E-Charts**](https://github.com/apache/echarts-examples) | An open-source and widely used library for its comprehensive range of chart types and extensive customization options. | JavaScript |
164 | | 10. | [**Frappe Charts**](https://github.com/frappe/charts) | Simple, responsive, modern SVG Charts with zero dependencies. | JavaScript |
165 | | 11. | [**amCharts**](https://github.com/amcharts/amcharts4) | The most advanced amCharts charting library for JavaScript and TypeScript apps. | JavaScript |
166 | | 12. | [**CanvasJS**](https://canvasjs.com/) | Responsive HTML5 Charting Library with a Simple API and 10x Performance – makes your dashboards fly! | JavaScript |
167 | | 13. | [**Recharts**](https://github.com/recharts/recharts) | A composable charting library built on React components. | React |
168 | | 14. | [**Victory**](https://github.com/FormidableLabs/victory) | A collection of composable React components for building interactive data visualizations. | React.js |
169 | | 15. | [**React-vis**](https://github.com/uber/react-vis) | A collection of React components to render common data visualization charts, such as line/area/bar charts, heat maps, scatterplots, contour plots, and more. | React.js |
170 | | 16. | [**react-chartjs-2**](https://github.com/jerairrest/react-chartjs-2) | React wrapper for Chart.js, a popular charting library. | React.js |
171 | | 17. | [**Nivo**](https://github.com/plouc/nivo) | Nivo provides supercharged React components to easily build dataviz apps, built on top of d3. | React |
172 | | 18. | [**vue-chartjs**](https://github.com/apertureless/vue-chartjs) | Vue.js wrapper for Chart.js, providing reactive charts. | Vue.js |
173 |
174 |
175 |
176 | [**Top 🔼**](https://github.com/themeselection/Awesome-JavaScript-Libraries#table-of-contents)
177 |
178 |
179 |
180 | ### Formatting
181 | | No | Library and Component Name | Descriptions | Available in which Language |
182 | |----|-----------------------------|--------------|-----------------------------|
183 | | 1. | [**Cleave.js**](https://github.com/nosir/cleave.js) | An easy way to increase input field readability is by formatting your typed data. | JavaScript |
184 | | 2. | [**Inputmask**](https://github.com/RobinHerbots/Inputmask) | Inputmask is a JavaScript library that helps the user with the input by ensuring a predefined format. | JavaScript |
185 | | 3. | [**AutoNumeric.js**](https://github.com/autoNumeric/autoNumeric) | A standalone library that provides live-as-you-type formatting for international numbers and currencies. | JavaScript |
186 | | 4. | [**Format.Js**](https://github.com/formatjs/formatjs) | FormatJS is a collection of JavaScript libraries designed for internationalizing web applications. It focuses on formatting numbers, dates, and strings for display. | JavaScript |
187 | | 5. | [**Numeral.js**](https://github.com/adamwdraper/Numeral-js) | While not specifically designed for input fields, Numeral.js is a library for formatting and manipulating numbers in JavaScript. It can be useful for formatting numeric values displayed to users. | JavaScript |
188 | ### Pagination
189 | | No | Library and Component Name | Descriptions | Available in which Language |
190 | |----|-----------------------------|--------------|-----------------------------|
191 | | 1. | [**Pagination.js**](https://pagination.js.org/) | A jQuery plugin to provide simple yet fully customizable pagination. | jQuery |
192 | | 2. | [**React Paginate**](https://github.com/AdeleD/react-paginate) | A React.js component for handling pagination. It's customizable and works well with React-based projects. | React.js |
193 | | 3. | [**Vue.js Paginate**](https://github.com/TahaSh/vue-paginate) | A Vue.js component for creating pagination. It's simple to use and integrates seamlessly with Vue.js applications. | Vue.js |
194 | | 4. | [**Laravel Vue Pagination**](https://github.com/gilbitron/laravel-vue-pagination) | Laravel Vue Pagination is a Vue.js pagination component for Laravel. It provides out-of-the-box components for Bootstrap 4/5 and Tailwind CSS. | Vue.js |
195 | | 5. | [**Ngx-Pagination**](https://github.com/michaelbromley/ngx-pagination) | The simplest solution for pagination in Angular. | Angular |
196 | | 6. | [**rc-pagination**](https://github.com/react-component/pagination) | An open-source React pagination component for your React web apps. | React.js |
197 |
198 |
199 |
200 | [**Top 🔼**](https://github.com/themeselection/Awesome-JavaScript-Libraries#table-of-contents)
201 |
202 |
203 |
204 | ### Progress/ Spinners/ Loaders
205 | | No | Library and Component Name | Descriptions | Available in which Language |
206 | |----|-----------------------------|--------------|-----------------------------|
207 | | 1. | [**ProgressBar.js**](https://github.com/kimmobrunfeldt/progressbar.js) | Responsive and slick progress bars with animated SVG paths. Use built-in shapes or create your own paths. Customize the animations as you wish. | JavaScript |
208 | | 2. | [**NProgress**](https://github.com/rstacruz/nprogress) | Slim progress bars for Ajax'y applications. Inspired by Google, YouTube, and Medium. | JavaScript |
209 | | 3. | [**Pace**](https://github.com/CodeByZach/pace) | Pace is a JavaScript and CSS loader for dynamic page loads. It automatically monitors your Ajax requests, event loop lag, document-ready state, and elements on your page to show a progress indicator. | JavaScript and CSS |
210 | | 4. | [**Spin.js**](https://github.com/fgnass/spin.js) | Spin.js is a simple, animated JavaScript loading spinner. It's highly customizable and can be used in various scenarios. | JavaScript |
211 | | 5. | [**React-Loading**](https://github.com/fakiolinho/react-loading) | Easy to use loading animations for React projects. Uses SVG animations from Brent Jackson's loading project. | React.js |
212 | | 6. | [**Epic-spinners**](https://github.com/epicmaxco/epic-spinners) | Epic-Spinners is an open-source, easy-to-use CSS spinner collection with Vue JS 3 integration. | Vue.js |
213 | | 7. | [**Vue-Spinner**](https://greyby.github.io/vue-spinner/) | A collection of loading spinners with Vue.js. | Vue.js |
214 |
215 | ### Rating
216 | | No | Library and Component Name | Descriptions | Available in which Language |
217 | |----|-----------------------------|--------------|-----------------------------|
218 | | 1. | [**star-rating.js**](https://github.com/pryley/star-rating.js) | A zero-dependency library that transforms a select with numerical-range values (i.e. 1-5) into a dynamic star rating element. | JavaScript & HTML |
219 | | 2. | [**react-stars**](https://github.com/n49/react-stars) | A simple star rating component for your React projects. | React.js |
220 | | 3. | [**RateYo!**](https://github.com/prrashi/rateYo) | A simple and flexible, vanilla JS star rating Plugin. It uses SVG to render a rating. | JavaScript |
221 | | 4. | [**vue-star-rating**](https://github.com/craigh411/vue-star-rating) | A simple, highly customizable star rating component for Vue 2.x / 3.x. | Vue.js |
222 | | 5. | [**Starry**](https://teddy95.github.io/Starry/index.html) | A JavaScript star rating system that offers various options Like stars, multi-rating capability, initial rating value, read-only mode, tooltips for stars, and custom icons. | JavaScript |
223 | | 6. | [**Raty**](https://github.com/wbotelhos/raty) | A Star Rating Plugin | JavaScript |
224 |
225 |
226 |
227 | [**Top 🔼**](https://github.com/themeselection/Awesome-JavaScript-Libraries#table-of-contents)
228 |
229 |
230 |
231 | ### Breadcrumbs
232 | | No | Library and Component Name | Descriptions | Available in which Language |
233 | |----|-----------------------------|--------------|-----------------------------|
234 | | 1. | [**Laravel-breadcrumbs**](https://github.com/diglactic/laravel-breadcrumbs)| A simple Laravel-style way to create breadcrumbs. | Laravel |
235 |
236 |
237 | ### Timeline
238 | | No | Library and Component Name | Descriptions | Available in which Language |
239 | |-----|---------------------------------------------------------|----------------------------------------------------------------------------------------------------------------|-----------------------------|
240 | | 1. | [**Timesheet.js**](https://github.com/sbstjn/timesheet.js) | A simple timeline library built on HTML5 and CSS3. | JavaScript |
241 | | 2. | [**Labella.js**](https://github.com/twitter/labella.js) | Designed for creating packed timeline labels, especially when many labels are required in a short period. | JavaScript |
242 | | 3. | [**React-Chrono**](https://github.com/prabhuignoto/react-chrono) | A React package for creating timelines in various formats like horizontal, vertical, and vertical-alternating. | JavaScript (React) |
243 | | 4. | [**Vertical Timeline**](https://github.com/CodyHouse/vertical-timeline) | A CSS3 and JavaScript-based timeline library with support for bounce animation. | JavaScript, CSS3 |
244 | | 5. | [**Vis Timeline**](https://github.com/visjs/vis-timeline) | Offers interactive timelines and 2D graphs, suitable for data visualization. | JavaScript |
245 | | 6. | [**TimelineJS3**](https://github.com/NUKnightLab/TimelineJS3) | Widely used for creating timelines, adopted by many popular websites. | JavaScript |
246 | | 7. | [**React Calendar Timeline**](https://github.com/namespace-ee/react-calendar-timeline) | A responsive timeline component for React, featuring basic functionalities like panning and zooming. | JavaScript (React) |
247 | | 8. | [**React Vertical Timeline**](https://github.com/stephane-monnot/react-vertical-timeline) | Useful for creating interactive timelines with React.Js and CSS. | JavaScript (React), CSS |
248 | | 9. | [**TimelineJS**](https://github.com/NUKnightLab/TimelineJS) | Offers a variety of customization options for timelines. | JavaScript |
249 | | 10. | [**Chronoline.js**](https://github.com/StoicLoofah/chronoline.js) | Displays events in chronological or horizontal order, and supports various timeframes. | JavaScript |
250 | | 11. | [**Angular Timeline**](https://github.com/rpocklin/angular-timeline) | A responsive, data-driven vertical timeline library for Angular. | JavaScript (Angular) |
251 |
252 |
253 |
254 | [**Top 🔼**](https://github.com/themeselection/Awesome-JavaScript-Libraries#table-of-contents)
255 |
256 |
257 |
258 | ### Drag and Drop
259 | | No | Library and Component Name | Descriptions | Available in which Language |
260 | |----|--------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------|-----------------------------|
261 | | 1. | [**React-Beautiful-DnD**](https://github.com/atlassian/react-beautiful-dnd) | A beautiful and accessible drag-and-drop library for lists, built on React. Supports vertical, horizontal, and multi-drag features. | JavaScript (React) |
262 | | 2. | [**Sortable**](https://github.com/SortableJS/Sortable) | An open-source JavaScript library for reorderable drag-and-drop lists. Supports multi-drag and swap thresholds. | JavaScript |
263 | | 3. | [**Dragula**](https://github.com/bevacqua/dragula) | A simple JavaScript library providing an easy API for drag and drop, allowing element movement between containers. | JavaScript |
264 | | 4. | [**React-DnD**](https://github.com/react-dnd/react-dnd) | A set of React utilities for building complex drag-and-drop interfaces, keeping components decoupled. | JavaScript (React) |
265 | | 5. | [**vue.draggable.next**](https://github.com/SortableJS/vue.draggable.next) | A Vue-based drag and drop component, compatible with Vue 3 and based on Sortable.js. | JavaScript (Vue) |
266 | | 6. | [**DropZone**](https://github.com/dropzone/dropzone) | A library to create drag-and-drop file upload interfaces, with file preview and upload progress features. | JavaScript |
267 | | 7. | [**React-Grid-Layout**](https://github.com/react-grid-layout/react-grid-layout) | A draggable and resizable grid layout library for React, supporting auto-packing and responsive breakpoints. | JavaScript (React) |
268 | | 8. | [**Draggable**](https://github.com/Shopify/draggable) | An open-source library offering a custom drag-and-drop experience by abstracting native browser events. | JavaScript |
269 | | 9. | [**Interact.JS**](https://github.com/taye/interact.js) | Enables resizing and multi-touch gestures for drag and drop, with a simple, flexible API. | JavaScript |
270 | | 10.| [**Ng-Sortable**](https://github.com/a5hik/ng-sortable) | An Angular-based drag-and-drop library supporting sortable and draggable features on touch devices. | JavaScript (Angular) |
271 | | 11.| [**MoveAble**](https://github.com/daybrush/moveable) | An advanced library with functionalities beyond drag-and-drop, like resizing, wrapping, pinching, and grouping. | JavaScript |
272 | | 12.| [**DragSelect**](https://github.com/ThibaultJanBeyer/DragSelect) | A lightweight drag-and-drop library with no dependencies, supporting module exports and ES6 modules. | JavaScript |
273 | | 13.| [**DFlex**](https://github.com/jalal246/dflex) | Designed to add drag-and-drop interfaces in modern apps, built on Vanilla JavaScript with a transformation mechanism. | JavaScript |
274 |
275 |
276 |
277 | [**Top 🔼**](https://github.com/themeselection/Awesome-JavaScript-Libraries#table-of-contents)
278 |
279 |
280 |
281 | ### Form Validation
282 | | No | Library and Component Name | Descriptions | Available in which Language |
283 | |----|-------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------|-----------------------------|
284 | | 1. | [**FormValidation**](https://github.com/formvalidation/formvalidation) | A comprehensive library with a large collection of validators, supporting ES6, and offering customization options. | JavaScript (ES6) |
285 | | 2. | [**Just-validate**](https://github.com/horprogs/Just-validate) | A modern, simple, TypeScript-based library with no dependencies. | TypeScript |
286 | | 3. | [**Parsley.js**](https://github.com/guillaumepotier/Parsley.js) | An open-source library offering robust form validation, implementable on both backend and frontend. | JavaScript |
287 | | 4. | [**Jquery Validation**](https://github.com/jquery-validation/jquery-validation) | A simple client-side validation plugin with extensive customization options. | JavaScript |
288 | | 5. | [**JqBootstrapValidation**](https://github.com/ReactiveRaven/jqBootstrapValidation) | An open-source framework for Bootstrap forms, offering a variety of validators. | JavaScript |
289 | | 6. | [**Jquery Creditcardvalidator**](https://jquerycreditcardvalidator.com) | Detects credit card types and validates card number length and Luhn checksum. | JavaScript |
290 | | 7. | [**Hyperform**](https://github.com/hyperform/hyperform) | Implements the HTML5 form validation API, substituting native methods with custom events and hooks. | JavaScript |
291 | | 8. | [**v8n**](https://github.com/imbrn/v8n) | Fluent and simple validation library usable in any context with a readable API. | JavaScript |
292 | | 9. | [**revalidate**](https://github.com/jfairbank/revalidate) | Allows creating and composing small validation functions for complex validations. | JavaScript |
293 | | 10.| [**Pristine**](https://github.com/sha256/Pristine) | A micro-library for JavaScript form validation, no dependencies, and supports built-in validators. | JavaScript |
294 | | 11.| [**bouncer.js**](https://github.com/cferdinandi/bouncer) | A lightweight library augmenting native HTML5 form validation, supports after-submit validation. | JavaScript |
295 | | 12.| [**React Hook Form**](https://github.com/react-hook-form/react-hook-form) | An open-source form validation library for form state management built with performance, UX, and DX in mind. | JavaScript (React) |
296 | | 13.| [**React Final Form**](https://github.com/final-form/react-final-form) | A flexible and efficient form validation library for React, focusing on performance and simplicity. | JavaScript (React) |
297 |
298 |
299 |
300 | [**Top 🔼**](https://github.com/themeselection/Awesome-JavaScript-Libraries#table-of-contents)
301 |
302 |
303 |
304 | ### Date Pickers
305 | | No | Library and Component Name | Descriptions | Available in which Language |
306 | |----|-----------------------------|--------------|-----------------------------|
307 | | 1. | [**Hotel Datepicker**](https://github.com/benitolopez/hotel-datepicker) | A pure Javascript date range picker specifically designed for hotel-based projects. Supports all modern browsers. | JavaScript |
308 | | 2. | [**Date Range Picker**](https://github.com/dangrossman/daterangepicker) | JavaScript Date Range, Date and Time Picker Component with features like limiting the selectable date range, localizable strings and date formats, a single date picker, time picker, and many more. | JavaScript |
309 | | 3. | [**Pickadate.js**](https://github.com/amsul/pickadate.js) | The mobile-friendly, responsive, and lightweight jQuery date & time input picker. | JavaScript |
310 | | 4. | [**Airbnb react dates**](https://github.com/airbnb/react-dates) | Best open-source React datepickers on the market with a very clear and intuitive design. | JavaScript (React) |
311 | | 5. | [**React-datepicker**](https://github.com/Hacker0x01/react-datepicker/) | A simple and reusable datepicker component for React. | JavaScript (React) |
312 | | 6. | [**React-DayPicker**](https://github.com/gpbl/react-day-picker) | DayPicker is a customizable date picker component for React, with native TypeScript support. | JavaScript (React) |
313 | | 7. | [**React-widgets**](https://github.com/jquense/react-widgets) | A set of polished, extensible, and accessible form inputs built for React that can be customized as needed. | JavaScript (React) |
314 | | 8. | [**V-calendar**](https://github.com/nathanreyes/v-calendar) | An elegant calendar and datepicker with wide range color options and useful features. | JavaScript (Vue) |
315 | | 9. | [**Vuejs-DatePicker**](https://github.com/charliekassel/vuejs-datepicker) | A simple Vue.js datepicker component. Supports disabling of dates, inline mode, translations. | JavaScript (Vue) |
316 | | 10. | [**Flatpickr**](https://github.com/flatpickr/flatpickr) | A lightweight, powerful javascript datetimepicker with no dependencies. | JavaScript |
317 | | 11. | [**Tempus Dominus**](https://github.com/Eonasdan/tempus-dominus) | A powerful and robust date time picker for javascript written with modern browsers in mind and is written in typescript with no dependencies of Bootstrap, momentjs and jQuery. | JavaScript |
318 | | 12. | [**React Infinite Calendar**](https://github.com/clauderic/react-infinite-calendar) | An open-source date picker with Infinite scrolling, localization, range selection, themes, keyboard support, and more. | JavaScript (React) |
319 | | 13. | [**Bootstrap-datepicker**](https://github.com/uxsolutions/bootstrap-datepicker) | An open-source Bootstrap Date picker with advanced features like keyboard navigation, autoclose, today highlight, google, and more. | Bootstrap |
320 | | 14. | [**Pikaday**](https://github.com/Pikaday/Pikaday) | A JavaScript datepicker with no dependencies. Lightweight, powerful, and customizable. | JavaScript |
321 | | 15. | [**Day.js**](https://github.com/iamkun/dayjs) | Fast 2kB alternative to Moment.js with the same modern API. | JavaScript |
322 |
323 |
324 |
325 | [**Top 🔼**](https://github.com/themeselection/Awesome-JavaScript-Libraries#table-of-contents)
326 |
327 |
328 |
329 | ### 3D and Games
330 | | No | Library and Component Name | Descriptions | Available in which Language |
331 | |----|----------------------------|--------------|-----------------------------|
332 | | 1. | [**Three.js**](https://github.com/mrdoob/three.js) | A JavaScript 3D library used to create interactive 3D graphics within web browsers. Features WebGL-based rendering, built-in geometries, shaders, camera control, and more. | JavaScript |
333 | | 2. | [**React-three-fiber**](https://github.com/pmndrs/react-three-fiber) | A React renderer for Three.js. It allows creation of 3D scenes using React components, with features like declarative 3D rendering and performance optimization. | JavaScript |
334 | | 3. | [**Babylon.js**](https://www.babylonjs.com) | A powerful JavaScript framework for building games and rendering engines. Offers an API for adding lights, cameras, shapes, and more, with support for advanced materials and physics. | JavaScript |
335 | | 4. | [**Aframe**](https://github.com/aframevr/aframe) | A web framework for building virtual reality experiences using HTML. Supports entity-component architecture, high performance, and cross-platform compatibility. | JavaScript |
336 | | 5. | [**Cesium**](https://github.com/CesiumGS/cesium) | An open JavaScript library for 3D globes and 2D maps. Features 3D visualization, support for various geometries, and integration with other JavaScript frameworks. | JavaScript |
337 | | 6. | [**Zdog**](https://zzz.dog) | A 3D JavaScript engine for `