A modern React component library built with TypeScript, TailwindCSS, and Storybook, featuring two comprehensive UI components: InputField and DataTable.
A flexible input component with comprehensive features:
Variants: filled, outlined, ghost
Sizes: small, medium, large
States: disabled, invalid, loading
Features: password toggle, clear button, validation
Accessibility: ARIA labels, proper focus management
A feature-rich data table component: Sorting: Click column headers to sort data Selection: Single/multiple row selection with checkboxes States: loading, empty state Customization: Custom cell rendering, column configuration Accessibility: Keyboard navigation, screen reader support
React 19 with TypeScript Next.js 15 (App Router) TailwindCSS v4 for styling Storybook 8 for component documentation Jest & Testing Library for testing Radix UI for accessible primitives
bash
git clone cd react-component-assignment
npm install
npm run dev
npm run storybook
Interactive component documentation with all variants and states:
bash
npm run storybook
npm run build-storybook
Built with a consistent design system:
- Colors: Semantic color tokens with dark mode support
- Typography: Consistent font scales and weights
- Spacing: Systematic spacing scale
- Accessibility: WCAG AA compliant contrast ratios
├── components/ui/ # UI components │ ├── input-field.tsx # InputField component │ └── data-table.tsx # DataTable component ├── stories/ # Storybook stories ├── tests/ # Component tests ├── app/ # Next.js app directory └── .storybook/ # Storybook configuration
- Composition over inheritance: Flexible, reusable components
- TypeScript first: Comprehensive type safety
- Accessibility built-in: ARIA labels, keyboard navigation
- Performance optimized: React.memo, useCallback where needed
- TailwindCSS v4: Utility-first CSS with design tokens
- Responsive design: Mobile-first approach
- Dark mode support: Automatic theme switching
- Consistent spacing: Systematic design scale
- Unit tests: Component behavior and props
- Integration tests: User interactions
- Accessibility tests: Screen reader compatibility
- Visual regression: Storybook visual testing
- TypeScript with proper typing
- Responsive design
- Basic accessibility (ARIA labels)
- Clean, modern styling
- Include basic tests
- Two working components
- Simple demo/example usage
- Basic documentation
- Storybook integration
"# React-Component-Development" "# React-Component-Development"