Repository Card Glass
shadcn-glass-ui/repository-card-glassFreeBlock
ContributionBadge - Shows contribution percentage with color-coded variant
Install it
npx shadcn@latest add https://raw.githubusercontent.com/artyhoo/shadcn-glass-ui-library/main/public/r/repository-card-glass.jsonSource
1/* eslint-disable react-refresh/only-export-components */2// ========================================3// REPOSITORY CARD GLASS COMPONENT4// Expandable repository card with compound API5// Issue #15: shadcn/ui compatible compound component6// ========================================78import { forwardRef, type CSSProperties, type ReactNode, useMemo } from 'react';9import {10 ChevronDown,11 ChevronUp,12 Star,13 ExternalLink,14 Sparkles,15 AlertTriangle,16 GitFork,17 Activity,18 Shield,19} from 'lucide-react';20import { cn } from '@/lib/utils';21import { StatusIndicatorGlass } from '../../specialized/status-indicator-glass';22import { ButtonGlass } from '../../ui/button-glass';23import { BadgeGlass } from '../../ui/badge-glass';24import { AvatarGlass, AvatarGlassImage, AvatarGlassFallback } from '../../ui/avatar-glass';25import { ProgressGlass } from '../../specialized/progress-glass';26import {27 HoverCardGlass,28 HoverCardGlassTrigger,29 HoverCardGlassContent,30} from '../../ui/hover-card-glass';31import { InteractiveCard } from '../../primitives';32import {33 RepositoryCardContext,34 useRepositoryCard,35 type RepositoryCardContextValue,36} from './repository-card-context';37import {38 getContributionBadgeVariant,39 getActivityStatus,40 getActivityStatusInfo,41 getRoleBadgeVariant,42 getRoleLabel,43 getHealthStatus,44 getHealthStatusInfo,45 getLanguageColor,46 calculateContributionPercent,47 formatNumberWithSuffix,48 type ContributorRole,49 type TeamMember,50} from './repository-card-utils';51import '@/glass-theme.css';5253// ========================================54// TYPES55// ========================================5657export type RepositoryFlagType = 'green' | 'yellow' | 'red';5859/** Props for RepositoryCardGlass.Root */60export interface RepositoryCardRootProps extends React.HTMLAttributes<HTMLDivElement> {61 /** Whether the card is expanded */62 expanded?: boolean;63 /** Callback when toggle is triggered */64 onToggle?: () => void;65 children: ReactNode;66}6768/** Props for RepositoryCardGlass.Header */69export interface RepositoryCardHeaderProps extends React.HTMLAttributes<HTMLDivElement> {70 children: ReactNode;71}7273/** Props for RepositoryCardGlass.Name */74export interface RepositoryCardNameProps extends React.HTMLAttributes<HTMLSpanElement> {75 children: ReactNode;76}7778/** Props for RepositoryCardGlass.Status */79export interface RepositoryCardStatusProps {80 type?: RepositoryFlagType;81 className?: string;82}8384/** Props for RepositoryCardGlass.Stars */85// … truncated
More from shadcn-glass-ui
All 76 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| Ai Card Glassai-card-glass | shadcn-glass-ui | Blocks | Free | no deps | |
| Career Stats Glasscareer-stats-glass | shadcn-glass-ui | Blocks | Free | no deps | |
| Career Stats Header Glasscareer-stats-header-glass | shadcn-glass-ui | Blocks | Free | no deps | |
| Circular Metric Glasscircular-metric-glass | shadcn-glass-ui | Blocks | Free | no deps | |
| Contribution Metrics Glasscontribution-metrics-glass | shadcn-glass-ui | Blocks | Free | no deps | |
| Flags Section Glassflags-section-glass | shadcn-glass-ui | Blocks | Free | no deps | |
| Header Branding Glassheader-branding-glass | shadcn-glass-ui | Blocks | Free | no deps | |
| Header Nav Glassheader-nav-glass | shadcn-glass-ui | Blocks | Free | no deps |
