# Introduction
URL: /docs/introduction
## Key Features
* **Composable by design** - Build complex interfaces by combining simple, focused components
* **Built on top of shadcn/ui** - Uses the same design principles and styling approach as shadcn/ui
* **Copy-paste ready** - Same installation experience as shadcn/ui components
* **Fully customizable** - Built with Tailwind CSS and designed to match your design system
* **Advanced functionality** - Complex components like data tables, media players, and drag-and-drop interfaces
## Why Joly UI?
Joly UI is a collection of fully composable components that extend shadcn/ui. These components are accessible and customizable to fit your needs. Joly UI is copy-paste ready, no complex setup or configuration required.
Every component follows WCAG guidelines, includes proper ARIA attributes, and supports keyboard navigation out of the box.
## Credits
* [Radix UI](https://radix-ui.com) - Core components.
* [shadcn/ui](https://ui.shadcn.com) - Components design and registry distribution.
* [Fumadocs](https://fumadocs.vercel.app) - Documentation.
# Button
URL: /docs/buttons/button
## Installation
### CLI
npm
pnpm
yarn
bun
```bash
npx shadcn@latest add "https://jolyui.dev/r/button"
```
```bash
pnpm dlx shadcn@latest add "https://jolyui.dev/r/button"
```
```bash
yarn dlx shadcn@latest add "https://jolyui.dev/r/button"
```
```bash
bun x shadcn@latest add "https://jolyui.dev/r/button"
```
### Manual
Install the following dependencies:
npm
pnpm
yarn
bun
```bash
npm install @radix-ui/react-slot class-variance-authority
```
```bash
pnpm add @radix-ui/react-slot class-variance-authority
```
```bash
yarn add @radix-ui/react-slot class-variance-authority
```
```bash
bun add @radix-ui/react-slot class-variance-authority
```
Copy and paste the following code into your project. `component/ui/button.tsx`
Copy and paste the following code into your project. `globals.css`
```css
@theme inline {
--animate-shimmer: shimmer 2s linear infinite;
--animate-shimmer-slide: shimmer-slide 2s linear infinite;
@keyframes shimmer {
0% {
background-position: -200% 0;
}
100% {
background-position: 200% 0;
}
}
@keyframes shimmer-slide {
0% {
transform: translateX(-200%);
}
100% {
transform: translateX(200%);
}
}
}
```
## Usage
```tsx
import { Button } from "@/components/ui/button";
```
## Examples
### Variants
The Button component supports multiple visual variants with modern animations and effects.
**Available variants:**
* `default` - Gradient background with hover glow and radial mouse tracking
* `destructive` - Red gradient for dangerous actions
* `outline` - Bordered with backdrop blur
* `secondary` - Secondary gradient style
* `ghost` - Transparent with subtle hover
* `link` - Text link style
* `shimmer` - Animated shimmer effect on hover
* `glow` - Purple gradient with glowing border effect
### Sizes
Choose from different sizes to match your design needs.
### With Icons
Combine buttons with icons for enhanced visual communication.
## API Reference
### Button
A flexible button component that can be rendered as any element using the `asChild` prop.
## Notes
* Use `variant="default"` for primary actions
* Use `variant="destructive"` for dangerous actions like delete
* Use `variant="outline"` for secondary actions
* Use `variant="ghost"` for tertiary actions
* Use `variant="link"` for navigation
* The `asChild` prop allows polymorphic rendering with Radix UI's Slot component
# Avatar Group
URL: /docs/components/avatar-group
## Installation
### CLI
npm
pnpm
yarn
bun
```bash
npx shadcn@latest add "https://jolyui.dev/r/avatar-group"
```
```bash
pnpm dlx shadcn@latest add "https://jolyui.dev/r/avatar-group"
```
```bash
yarn dlx shadcn@latest add "https://jolyui.dev/r/avatar-group"
```
```bash
bun x shadcn@latest add "https://jolyui.dev/r/avatar-group"
```
### Manual
Install the following dependencies:
npm
pnpm
yarn
bun
```bash
npm install @radix-ui/react-slot class-variance-authority
```
```bash
pnpm add @radix-ui/react-slot class-variance-authority
```
```bash
yarn add @radix-ui/react-slot class-variance-authority
```
```bash
bun add @radix-ui/react-slot class-variance-authority
```
Copy and paste the following code into your project.
## Layout
```tsx
import { AvatarGroup } from "@/components/ui/avatar-group";
import { Avatar, AvatarFallback, AvatarImage } from "@/components/ui/avatar";
THRM
```
## Examples
### With Truncation
Automatically truncate long lists and show overflow indicators with the `max` prop.
### With RTL
Support for right-to-left layouts and vertical RTL stacking.
### With Icons
Use the Avatar Group component with icons or other elements beyond avatars.
## API Reference
### AvatarGroup
The main avatar group container that handles layout and masking of child elements.
# GitHub Contributors
URL: /docs/components/github-contributors
## Installation
### CLI
npm
pnpm
yarn
bun
```bash
npx shadcn@latest add "https://jolyui.dev/r/github-contributors"
```
```bash
pnpm dlx shadcn@latest add "https://jolyui.dev/r/github-contributors"
```
```bash
yarn dlx shadcn@latest add "https://jolyui.dev/r/github-contributors"
```
```bash
bun x shadcn@latest add "https://jolyui.dev/r/github-contributors"
```
### Manual
Install the following dependencies:
npm
pnpm
yarn
bun
```bash
npm install @radix-ui/react-tooltip lucide-react motion
```
```bash
pnpm add @radix-ui/react-tooltip lucide-react motion
```
```bash
yarn add @radix-ui/react-tooltip lucide-react motion
```
```bash
bun add @radix-ui/react-tooltip lucide-react motion
```
Copy and paste the following code into your project.
## Usage
```tsx
import { GitHubContributors } from "@/components/ui/github-contributors";
```
## API Reference
### GitHubContributors
The main component that fetches and displays GitHub contributors.
## Notes
* The component uses GitHub's public API which has rate limits
* Without authentication: 60 requests per hour per IP
* With token: 5,000 requests per hour
* Contributors are sorted by contribution count
* The top contributor gets a special star badge
* Tooltips show detailed contribution statistics