# 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"; TH RM ``` ## 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