tektokit
A modern, framework-agnostic React UI component library
Overview
tektokit is a production-ready React component library built with modern web standards. It provides 50+ carefully crafted components designed for speed, accessibility, and developer experience.
Key Features
- 50+ Production-Ready Components - UI elements, layouts, sections, and utilities
- Framework Agnostic - Works seamlessly with Next.js, Vite, Remix, and more
- SSR-Safe - Full server-side rendering support out of the box
- Tailwind CSS Powered - Utility-first styling with full customization
- Dark Mode Built-in - Automatic dark mode support with theme toggle
- TypeScript Ready - Full type support for better DX
- Zero Configuration - Works immediately after installation
- Accessibility First - WCAG compliant components
- Lightweight - Tree-shakeable exports, only import what you need
Installation
Install tektokit using your preferred package manager:
# npm
npm install tektokit
# yarn
yarn add tektokit
# pnpm
pnpm add tektokit
Requirements
tektokit requires React 18.0.0 or higher:
npm install react@^18.0.0 react-dom@^18.0.0
Note: tektokit automatically includes react-icons and swiper as dependencies. You don't need to install them separately.
Quick Start
import { Button, Card, Hero1 } from 'tektokit';
function App() {
return (
<div>
<Hero1
config={{
title: "Welcome to tektokit",
description: "Build beautiful UIs faster",
primaryCta: { label: "Get Started", href: "/docs" }
}}
/>
<Card>
<h2>Hello World</h2>
<Button variant="solid" color="primary">
Click me
</Button>
</Card>
</div>
);
}
Setup
1. Import Styles
Add tektokit styles to your main CSS or entry file:
/* For Tailwind v4 (CSS-based config) */
@import "tektokit/styles.css";
Or for Tailwind v3:
// tailwind.config.js
module.exports = {
content: [
'./src/**/*.{js,jsx,ts,tsx}',
'./node_modules/tektokit/dist/**/*.{js,jsx}',
],
darkMode: 'class',
theme: {
extend: {},
},
plugins: [],
}
2. Framework-Specific Setup
Next.js (App Router)
// app/layout.jsx
import 'tektokit/styles.css';
export default function RootLayout({ children }) {
return (
<html lang="en">
<body>{children}</body>
</html>
);
}
// app/page.jsx
import { Hero1, Button } from 'tektokit';
export default function Home() {
return (
<main>
<Hero1 config={{ title: "Welcome to tektokit" }} />
<Button variant="solid" color="primary">Get Started</Button>
</main>
);
}
Vite/React
// src/main.jsx
import React from 'react';
import ReactDOM from 'react-dom/client';
import App from './App';
import 'tektokit/styles.css';
ReactDOM.createRoot(document.getElementById('root')).render(
<React.StrictMode>
<App />
</React.StrictMode>
);
Remix
// app/root.tsx
import styles from 'tektokit/styles.css';
export const links = () => [{ rel: 'stylesheet', href: styles }];
Component Categories
tektokit includes 50+ components organized into five categories:
UI Components (14)
Core building blocks for your interface
Avatar · Badge · Button · Card · Chip · Divider · Image · Logo · Tooltip · UserProfile · Accordion · Carousel · VideoPlayer · VideoSwiper
Layout & Navigation (8)
Navigation and structure components
Breadcrumbs · Drawer · Dropdown · Modal · Navbar · ThemeToggle · ScrollToTop · Sidebar
Feedback (4)
User feedback and state management
EmptyState · ErrorBoundary · ConfirmDialog · Share
Page Sections (14)
Ready-to-use page sections
Hero1-7 (7 variants) · Footer · Features · Testimonials · FAQ · CTA · Stats · Newsletter · Teams · Pricing
Utilities (10+)
Helper components and tools
SocialLinks · JsonLd · Analytics · WhatsAppButton · MarkdownRenderer · CodeBlock · And more...
View Complete Component Documentation
Usage Examples
Basic Component
import { Button, Card } from 'tektokit';
function MyComponent() {
return (
<Card shadow="md" padding="lg">
<h2>Welcome</h2>
<Button variant="solid" color="primary" onClick={() => alert('Hello!')}>
Click Me
</Button>
</Card>
);
}
Config-Based Components
Many components use a config-based API for cleaner code:
import { Hero1, Features, Testimonials } from 'tektokit';
const heroConfig = {
title: "Build Amazing Products",
description: "Modern UI components for your next project",
primaryCta: { label: "Get Started", href: "/start" },
secondaryCta: { label: "Learn More", href: "/docs" }
};
const featuresConfig = {
heading: "Why Choose tektokit?",
features: [
{
icon: "zap",
title: "Fast Development",
description: "Build UIs 10x faster with pre-built components"
},
{
icon: "shield",
title: "Production Ready",
description: "Battle-tested components used in production"
}
]
};
function LandingPage() {
return (
<>
<Hero1 config={heroConfig} />
<Features config={featuresConfig} />
</>
);
}
Dark Mode
import { ThemeToggle } from 'tektokit';
// Add theme toggle to your navbar
<ThemeToggle showLabel={true} />
Contributing
We welcome contributions! Here's how you can help:
Ways to Contribute
- Report bugs - Open an issue describing the bug
- Suggest features - Share your ideas for new components or improvements
- Improve docs - Help us make documentation clearer
- Submit PRs - Fix bugs or add features
- Star the repo - Show your support!
Development Setup
- Fork and clone the repository
git clone https://github.com/YOUR_USERNAME/tektokit.git
cd tektokit
- Install dependencies
npm install
- Start development mode
npm run dev
- Build the library
npm run build
- Test your changes locally
# In tektokit directory
npm link
# In your test project
npm link tektokit
Contribution Guidelines
- Write clear, descriptive commit messages
- Follow existing code style and conventions
- Test your changes thoroughly
- Update documentation for new features
- Keep PRs focused on a single feature/fix
- Add examples for new components
Code Style
- Use functional components with hooks
- Follow the config-based pattern for complex components
- Include JSDoc comments for props
- Write clean, readable code
- Use meaningful variable names
Pull Request Process
- Create a new branch (
git checkout -b feature/amazing-feature) - Make your changes
- Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Versioning
tektokit follows Semantic Versioning:
- MAJOR version for incompatible API changes
- MINOR version for new features (backwards compatible)
- PATCH version for bug fixes
Browser Support
- Chrome (latest)
- Firefox (latest)
- Safari (latest)
- Edge (latest)
- Mobile browsers (iOS Safari, Chrome Mobile)
Community & Support
License
MIT License - see LICENSE file for details
Acknowledgments
Built using:
- React - UI library
- Tailwind CSS - Styling
- React Icons - Icon library
- Swiper - Carousel component
Made by Md Shamim Akhter
If you find this library helpful, please consider giving it a star on GitHub!