Our collection of UI components from best-in-class libraries for standardized, rapid application development.
Elevated Standards is our UI component library that provides a collection of carefully selected components using best-in-class libraries for each functionality type. This standardized toolkit enables rapid, consistent application development across all our projects.
- Modern React Stack: Built with React 18, TypeScript, and Vite for fast development
- Component Showcase: Includes examples of forms, navigation, overlays, data display, media, and internationalization
- Best Libraries: Each component uses the recommended library for its specific use case
- Fully Typed: TypeScript support throughout the project
- Responsive Design: Mobile-first design approach with responsive components
- Accessibility: ARIA attributes and keyboard navigation support
Component | Library Used | Why |
---|---|---|
Input (text, number) | Radix UI | Customizable, accessible, clean design |
Textarea | Chakra UI (inspired) | Auto-resizing with good defaults |
Checkbox | Radix UI Checkbox | Headless, accessible implementation |
Radio Group | Radix UI | Keyboard navigation, clean design |
Select (Dropdown) | React Aria Select | Full accessibility and i18n support |
Combobox / Autocomplete | Downshift | Headless logic with flexible integration |
Date Picker | React DayPicker | Support for single date, range, calendar views |
Time Picker | react-time-picker | Simple, focused, works well |
Color Picker | react-colorful | Small, fast, accessible implementation |
Slider | Radix UI Slider | Accessible and highly designable |
File Upload | react-dropzone | Flexible drag-and-drop functionality |
Form Validation | Zod + React Hook Form | Schema-based validation with TypeScript support |
Component | Library Used | Why |
---|---|---|
Forms | React Hook Form | Great performance, validation, DX |
Form Builder | FormKit (WIP React) | GUI builder for dynamic forms |
Component | Library Used | Why |
---|---|---|
Tabs | Radix UI Tabs | Keyboard a11y, easy state handling |
Accordion | Radix UI Accordion | Clean, accessible |
Breadcrumbs | Chakra UI | Quick theming |
Pagination | react-paginate | Lightweight and flexible |
Sidebar/Drawer | Radix UI / Headless | Smooth animations, full control |
Menu (Dropdown) | Radix UI / Headless UI | Accessible menus with full control |
Component | Library Used | Why |
---|---|---|
Modal / Dialog | Radix UI Dialog | Keyboard traps, animations, accessible |
Popover | Floating UI | Complex interactions supported |
Alert Dialog | Radix UI AlertDialog | Full a11y handling |
Context Menu | Radix UI ContextMenu | Custom right-click menus |
Tooltip | Floating UI | Lightweight tooltip positioning with excellent customization |
Toast Notifications | Sonner | Clean, minimal toast notifications with action support |
Component | Library Used | Why |
---|---|---|
Table | TanStack Table | Best-in-class logic and performance |
Data Grid | AG Grid | Excel-like powerful grid |
List (Virtual) | react-virtual | Virtual scrolling for massive data |
Charts | Recharts | Responsive, customizable charts built on D3 |
Badge / Pill | ShadCN | Easy styling |
Avatar | Radix UI | Graceful fallback support |
Card | ShadCN | Great base structure |
Timeline | react-vertical-timeline | Visual storytelling or activity feeds |
Component | Library Used | Why |
---|---|---|
Video Player | ReactPlayer | Support for multiple video sources (YouTube, Vimeo, local files) |
Component | Library Used | Why |
---|---|---|
Icons | Lucide | Modern SVG icons |
Animations | Framer Motion | Most elegant animation API in React |
Skeleton Loader | Chakra UI | Graceful loading states |
Theming | NextThemes | Easy toggling and dark/light theme state |
Component | Library Used | Why |
---|---|---|
i18n | react-i18next | Comprehensive internationalization support with pluralization and formatting |
Component | Library Used | Why |
---|---|---|
UI Components | shadcn/ui | High-quality, accessible components built on Radix UI and Tailwind CSS |
- Input: Clean and customizable text input fields with proper accessibility attributes
- Checkbox: Accessible with keyboard navigation and custom styling while maintaining accessibility
- Radio Group: Grouped radio buttons with keyboard navigation between options
- Slider: Accessible slider with support for custom ranges and step values
- Textarea (Chakra UI inspired): Auto-resizing as content grows with smooth height transitions
- File Upload (react-dropzone): Drag-and-drop interface with file validation and preview capability
- Select (React Aria): Dropdown with full accessibility support including keyboard navigation
- Combobox (Downshift): Autocomplete input with filtering and keyboard navigation
- Date Picker (React DayPicker): Calendar selection with support for date ranges
- Time Picker (react-time-picker): Simple and focused time selection interface
- Color Picker (react-colorful): Lightweight color selection with HEX color support
- Form Validation: Integration with React Hook Form and Zod for robust form validation
- Error Handling: Built-in error states and validation feedback
- Tabs (Radix UI): Accessible tab interfaces with keyboard navigation
- Accordion (Radix UI): Collapsible content sections with smooth animations
- Breadcrumbs: Clear navigation path with customizable separators
- Pagination (react-paginate): Flexible pagination with customizable styling
- Sidebar/Drawer: Collapsible navigation with smooth animations
- Dropdown Menus: Hierarchical navigation with accessibility support
- Always use
<label>
elements properly associated with form controls - Ensure keyboard navigation works for all interactive elements
- Provide clear focus indicators for keyboard users
- Include proper ARIA attributes where needed
- Test with screen readers to verify accessibility
- Use controlled components only when necessary
- Implement debouncing for input fields that trigger expensive operations
- Consider memoization for complex form components
- Lazy load heavier components like date pickers and color pickers
- Use Zod schemas for type-safe validation
- Validate as close to the data source as possible
- Provide immediate feedback for validation errors
- Consider both client and server validation
- Design responsive navigation that adapts to different screen sizes
- Implement mobile-friendly patterns like hamburger menus on small screens
- Ensure consistent positioning and behavior across the application
- Consider the navigation depth and breadth when choosing components
- Ensure all navigation elements are keyboard accessible
- Use proper ARIA roles and attributes for navigation elements
- Provide clear focus indicators for keyboard navigation
- Make sure dropdown menus can be operated with keyboard alone
- Use code-splitting for navigation-heavy applications
- Avoid complex animation effects that may impact performance
- Consider lazy-loading navigation elements not visible on initial render
This template carefully selects specific libraries for each form component based on several factors:
- Accessibility: Strong accessibility support, including ARIA attributes and keyboard navigation
- Bundle Size: Minimal impact on application size
- Customization: Ability to style and extend functionality
- Maintenance: Active development and community support
- Documentation: Clear, comprehensive documentation
- Dependencies: Minimal external dependencies
- Radix UI: Chosen for inputs, checkbox, and radio due to its headless architecture and accessibility
- React-Dropzone: Selected for file uploads due to its flexible API and robust features
- React-Colorful: Preferred for color picking due to tiny bundle size (< 2KB) and zero dependencies
- React DayPicker: Chosen for date selection due to flexibility and clean design
- Downshift: Selected for autocomplete due to its headless nature and full control over rendering
- Radix UI Tabs/Accordion: Selected for their strong accessibility support and clean design
- Chakra UI Breadcrumbs: Chosen for easy theming and configuration
- react-paginate: Preferred for its flexibility and lightweight implementation
- Radix UI Dropdown: Selected for complete keyboard navigation and reliable positioning
.
βββ client # Frontend React application
β βββ src
β β βββ components # UI components
β β β βββ ui # Base shadcn/ui components
β β β βββ ui-showcase # Component showcase sections
β β βββ hooks # Custom React hooks
β β βββ lib # Utility functions
β β βββ pages # Page components
β β βββ types # TypeScript type definitions
βββ server # Backend Express server
βββ shared # Shared code between client and server
βββ drizzle.config.ts # Database configuration
- Node.js 16+ and npm
- Clone the repository
git clone https://github.com/yourusername/react-boilerplate-template.git
cd react-boilerplate-template
- Install dependencies
npm install
- Start the development server
npm run dev
- Open your browser to view the application
http://localhost:5000
npm run dev
- Start the development servernpm run build
- Build for productionnpm run start
- Start the production server./build-static.sh
- Build as a static website for deployment to GitHub Pages or other static hosts
This project is configured for easy deployment to GitHub Pages using GitHub Actions.
- Push your code to a GitHub repository
- Enable GitHub Pages in your repository settings:
- Go to Settings > Pages
- Under "Build and deployment", select "GitHub Actions" as the source
- The GitHub Action workflow will automatically build and deploy your site when you push to the main branch
If you prefer to deploy manually:
- Build the static website
./build-static.sh
- The built files will be in the
static-build
directory - You can deploy these files to any static hosting provider, including:
- GitHub Pages
- Netlify
- Vercel
- Firebase Hosting
- Amazon S3
If you're deploying to a subdirectory (e.g., username.github.io/repo-name
), you'll need to update the base
property in vite.config.static.ts
:
// For project repositories (username.github.io/repo-name)
base: "/your-repo-name/",
If you're using a custom domain or deploying to the root of GitHub Pages (e.g., username.github.io
), you can use:
base: "/",
The application includes a comprehensive showcase of all components categorized by type:
- Form Components: Text inputs, textareas, checkboxes, radio buttons, selects, file upload, etc.
- Navigation & Layout: Tabs, accordion, breadcrumbs, pagination, sidebar/drawer, dropdown menus
- Overlay Components: Modals, tooltips powered by Floating UI, toast notifications with Sonner
- Data Display: Tables, cards, badges, charts using Recharts
- Media Components: Image gallery, video player using ReactPlayer
- Utility Components: Icons, animations with Framer Motion
- Internationalization: Language selector, formatting using react-i18next
- Form Management: Full form system built with React Hook Form and Zod validation
This template is optimized for modern browsers and includes appropriate polyfills for supporting older browsers.
Contributions, issues, and feature requests are welcome!
This project is licensed under the MIT License - see the LICENSE file for details.
- shadcn/ui for the base component library
- TanStack Query for data fetching
- React Hook Form for form handling
- Zod for schema validation
- Tailwind CSS for styling
- Lucide React for icons
- All the component libraries featured in this template for their excellent work