Rainbow Progress Glass
shadcn-glass-ui/rainbow-progress-glassFreeComponent
Rainbow Progress Glass component with glass effects
Install it
npx shadcn@latest add https://raw.githubusercontent.com/artyhoo/shadcn-glass-ui-library/main/public/r/rainbow-progress-glass.jsonSource
1// ========================================2// RAINBOW PROGRESS GLASS COMPONENT3// Animated rainbow gradient progress bar4// ========================================56import { forwardRef, type CSSProperties } from 'react';7import { cn } from '@/lib/utils';8import '@/glass-theme.css';910export type RainbowProgressSize = 'sm' | 'md' | 'lg' | 'xl';1112export interface RainbowProgressGlassProps extends React.HTMLAttributes<HTMLDivElement> {13 readonly value: number;14 readonly size?: RainbowProgressSize;15 readonly showGlow?: boolean;16}1718const sizeClasses: Record<RainbowProgressSize, string> = {19 sm: 'h-2.5 md:h-2',20 md: 'h-3.5 md:h-3',21 lg: 'h-[1.125rem] md:h-4',22 xl: 'h-6 md:h-5',23};2425export const RainbowProgressGlass = forwardRef<HTMLDivElement, RainbowProgressGlassProps>(26 ({ value, size = 'lg', showGlow = true, className, ...props }, ref) => {27 const clampedValue = Math.min(100, Math.max(0, value));2829 const trackStyles: CSSProperties = {30 background: 'var(--progress-bg)',31 };3233 const fillStyles: CSSProperties = {34 width: `${clampedValue}%`,35 background: 'var(--rainbow-gradient)',36 boxShadow: showGlow ? 'var(--rainbow-glow)' : 'none',37 animation: showGlow ? 'var(--rainbow-animation)' : 'none',38 };3940 return (41 <div42 ref={ref}43 className={cn('rounded-full overflow-hidden', sizeClasses[size], className)}44 style={trackStyles}45 role="progressbar"46 aria-valuenow={clampedValue}47 aria-valuemin={0}48 aria-valuemax={100}49 aria-label={`Rainbow progress: ${clampedValue}%`}50 {...props}51 >52 <div className="h-full rounded-full transition-all duration-1000" style={fillStyles} />53 </div>54 );55 }56);5758RainbowProgressGlass.displayName = 'RainbowProgressGlass';
More from shadcn-glass-ui
All 76 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| Alert Glassalert-glass | shadcn-glass-ui | Components | Free | no deps | |
| Animated Background Glassanimated-background-glass | shadcn-glass-ui | Components | Free | no deps | |
| Avatar Glassavatar-glass | shadcn-glass-ui | Components | Free | no deps | |
| Badge Glassbadge-glass | shadcn-glass-ui | Components | Free | no deps | |
| Base Progress Glassbase-progress-glass | shadcn-glass-ui | Components | Free | no deps | |
| Button Glassbutton-glass | shadcn-glass-ui | Components | Free | no deps | |
| Card Glasscard-glass | shadcn-glass-ui | Components | Free | no deps | |
| Checkbox Glasscheckbox-glass | shadcn-glass-ui | Components | Free | no deps |
