Componentes base
¿Qué es esta página?
Librería de componentes compartidos que viven en
themes/_base/. Se renderizan con el tema
Black-yellow
como base genérica del framework; cualquier otro tema puede
aplicarse encima para redefinir la identidad visual sin tocar
el HTML.
Botones
Variantes estándar del framework: primary, secondary, tertiary, label-m, link y badge. Clases en themes/_base/_buttons.css. Cada tema puede sobreescribirlas con su propia identidad visual.
Variantes
Tamaños
Ancho completo
Inputs
Campos de formulario base con floating label: texto, email, password, textarea y select. Cada input vive dentro de .form-input-label-2 para que el label se anime al enfocar o al contener valor. Clases en themes/_base/_inputs.css.
Tipos
Estados
Labels
Etiquetas de formulario: base, obligatoria e inline. Clases en themes/_base/_labels.css.
Variantes
Checkboxes
Checkbox con input nativo oculto y marca SVG inline dentro de .checkbox-indicator. El estado visible se controla 100% con CSS (sin JS). Clases en themes/_base/_checkboxes.css.
Estados
Radios
Radio buttons con el patrón .checkbox-radio: el input nativo se oculta visualmente y el círculo se pinta con label::before. Clases en themes/_base/_radios.css.
Grupo
Switches
Interruptores on/off con el patrón .checkbox-item-2: pista rectangular y un .checkbox-circle que se desplaza al marcar. Clases en themes/_base/_switches.css.
Estados
Formularios
Composición de campos con label flotante + estado. .form-group apila verticalmente los campos; cada uno usa .form-input-label-2 para el floating label y (opcionalmente) .helper-text para el mensaje de estado. Clases en themes/_base/_forms.css.
Grupo de formulario
Containers
Contenedores centrados con max-width responsivo y/o fijo. .container escala con los breakpoints; .container-2 es más estrecho; las variantes .container-640, .container-512 y .container-360 fijan un ancho concreto. Clases en themes/_base/_containers.css.
Responsivos
Anchos fijos
Grid
Utilidades de CSS Grid inspiradas en Tailwind. El contenedor debe tener display:grid y usar .hg-grid-cols-N para definir N columnas; los hijos usan .hg-col-span-N para ocupar varias. Con el prefijo md: se activan a partir de 768 px. Clases en themes/_base/objects/_grid.css.
Columnas iguales
Col-span
Typography
Clases utilitarias para texto: encabezados .h1–.h6, .lead, .muted, .large, .small, .blockquote, .code, .kbd. Clases en themes/_base/_typography.css.
Encabezados
Heading 1
Heading 2
Heading 3
Heading 4
Heading 5
Heading 6
Cuerpo
Texto de entradilla, ligero y grande.
Texto grande y semibold.
Texto pequeño 12px.
Texto en gris para detalles secundarios.
Cita destacada con borde lateral.
Inline
npm install holygrailcssHeadline scale (estilo ramp.com)
Headline XL
Headline L
Headline M
Headline S
Headline XS
Card
Contenedor genérico con card-header, card-body y card-footer. Usa .card-flat para fondo gris sin borde. Clases en themes/_base/_card.css.
Variantes
Plan Pro
Para equipos en crecimiento.
Badge
Etiquetas pequeñas para estado / categoría. Variantes semánticas: default, secondary, outline, destructive, success, warning, info. Clases en themes/_base/_badge.css.
Variantes
Alert
Banner inline para info / warning / error / success. Usa alert-icon, alert-content con alert-title y alert-description. Clases en themes/_base/_alert.css.
Variantes
Heads up
Tu trial expira en 3 días.
Guardado
Tus cambios están publicados.
Atención
El stock es limitado.
Error
No se pudo guardar.
Avatar
Círculo con imagen + fallback de iniciales. Tamaños -sm 24, default 40, -lg 56, -xl 80. Variante .avatar-square. Clases en themes/_base/_avatar.css.
Tamaños
Variantes
Separator
Divisor horizontal o vertical. Variante con texto en el centro. Clases en themes/_base/_separator.css.
Variantes
Progress
Barra de progreso con tamaños -sm, default y -lg. Variante indeterminada. Clases en themes/_base/_progress.css.
Determinado
Tamaños
Indeterminado
Skeleton
Placeholders animados durante la carga. Modificadores -text, -title, -avatar, -button, -card. Clases en themes/_base/_skeleton.css.
Variantes
Textarea
Multilinea con misma estética del Input. Estados error / success / warning. Variante -fixed sin redimensionar. Clases en themes/_base/_textarea.css.
Estados
Select
Select nativo con caret SVG personalizado, más una maqueta de dropdown custom. Clases en themes/_base/_select.css.
Nativo
Custom (mock)
Slider
Range input estilizado en WebKit + Firefox. Clases en themes/_base/_slider.css.
Variantes
Toggle Group
Botones tipo pill agrupados con estado activo. Clases en themes/_base/_toggle-group.css.
Single
Group
Input OTP
Celdas individuales para códigos OTP / 2FA. Tamaños -sm, default y -lg. Clases en themes/_base/_input-otp.css.
Default
Table
Tabla con divisores horizontales, header sutil y hover de fila. Variantes -bordered, -striped, -compact. Clases en themes/_base/_table.css.
Default
| Cliente | Estado | Importe |
|---|---|---|
| Acme Inc. | Pagado | 250,00 € |
| Globex | Pendiente | 1.500,00 € |
| Initech | Vencido | 820,00 € |
Tabs
CSS-only con :has() + radio inputs ocultos. Variante tabs-pills. Clases en themes/_base/_tabs.css.
Underline (default)
Accordion
Construido con <details>/<summary> nativo, sin JS. Variante -bordered. Clases en themes/_base/_accordion.css.
Default
¿Qué incluye el plan?
¿Puedo cancelar en cualquier momento?
Breadcrumb
Cadena de navegación con separadores. Clases en themes/_base/_breadcrumb.css.
Default
Pagination
Lista de páginas con prev/next y elipsis. Clases en themes/_base/_pagination.css.
Default
Sidebar
Barra lateral con secciones, items y estado activo. Variante sidebar-collapsed (icon only). Clases en themes/_base/_sidebar.css.
Default
Dialog
Modal sobre <dialog> nativo. Tamaños -sm, default, -lg, -xl. En el demo se muestra inline (con atributo open) para visualizar los estilos. Clases en themes/_base/_dialog.css.
Estructura
Drawer
Panel lateral. Lados: -left, -right, -top, -bottom. En el demo se muestra inline con override de posición. Clases en themes/_base/_drawer.css.
Estructura
Dropdown menu
Menú flotante anclado a un trigger. .is-open activa la visibilidad. Clases en themes/_base/_dropdown.css.
Estructura
Tooltip
CSS-only con :hover / :focus-within. Posiciones -top (default), -bottom, -left, -right. Pasa el cursor sobre el botón. Clases en themes/_base/_tooltip.css.
Posiciones
Toast
Notificación efímera. En producción vive dentro de .toaster (fixed). En el demo se muestra inline. Clases en themes/_base/_toast.css.
Variantes
Guardado
Tus cambios están publicados.
Compra confirmada
Recibirás el pedido en 24 h.
Error
No se pudo conectar.