Notificacionesprogressbar
Glass Progress
Barra de progreso lineal con efecto de cristal esmerilado y porcentaje numérico.
Vista Previa en Vivo
Uploading files...75%
Storage used45%
Uso
Copia y pega este código directamente en tu componente React:
tsx
import { GlassProgress } from 'react-component-kit-ui/feedback';
<GlassProgress value={64} label="Upload progress" />Instalación Manual
Si no estás usando el paquete npm, crea un archivo nuevo y pega el siguiente código: src/components/GlassProgress.tsx + GlassProgress.css:
GlassProgress.tsx
'use client';
import type { HTMLAttributes } from 'react';
import './GlassProgress.css';
/**
* GlassProgress — A horizontal linear progress bar with glassmorphism and gradient fill.
*
* @param value - Required. 0–100.
* @param label - Optional. Accessible label. Default 'Progress bar'.
*/
export interface GlassProgressProps extends HTMLAttributes<HTMLDivElement> {
value: number;
label?: string;
}
export function GlassProgress({ value, label = 'Progress bar', className, ...rest }: GlassProgressProps) {
const clamped = Math.min(100, Math.max(0, value));
return (
<div
{...rest}
className={['progress-container', className].filter(Boolean).join(' ')}
role="progressbar"
aria-valuenow={clamped}
aria-valuemin={0}
aria-valuemax={100}
aria-label={label}
>
<div className="progress-fill" style={{ width: `${clamped}%` }} />
</div>
);
}
export default GlassProgress;GlassProgress.css
/* GlassProgress — ported from astro-component-kit (feedback/GlassProgress.astro) */
.progress-container {
height: 10px;
background: var(--c-bg-elev, rgba(255,255,255,0.05));
border-radius: var(--r-full, 10px);
overflow: hidden;
border: 1px solid var(--c-border, rgba(255,255,255,0.1));
width: 100%;
}
.progress-fill {
height: 100%;
background: linear-gradient(90deg, var(--c-primary, #6366f1), var(--c-primary-light, #c084fc));
border-radius: inherit;
transition: width 0.6s cubic-bezier(0.16, 1, 0.3, 1);
box-shadow: 0 0 10px rgba(99,102,241,0.3);
}Información Rápida
- Categoría
- Notificaciones
- Nombre de archivo
GlassProgress.tsx- Dependencias
- Ninguna — React + CSS puro
- Etiquetas
- progressbar