Se abre en una pestaña nueva

Button

Laboratorio del componente Button. Esta sección muestra las variantes globales actuales antes de normalizar estados, semántica de color y responsabilidades de espaciado.

Primary

Acción principal

Secondary

Acción secundaria

Combinación

Acción principalAcción secundaria

Button · especificación de uso

Principio: kitlu-button define la base común del control interactivo. Las variantes kitlu-button--primary y kitlu-button--secondary definen jerarquía visual. El botón expresa una acción; no debe asumir la composición del bloque que lo contiene.

Composiciones validadas:
kitlu-button + kitlu-button--primary para la acción principal.
kitlu-button + kitlu-button--secondary para una acción secundaria.
Ambas variantes pueden convivir en un mismo grupo siempre que exista una jerarquía clara entre ellas.

Reglas de mantenimiento: no crear variantes por tipo de contenido o destino cuando la diferencia sea solo semántica. El espaciado entre varios botones pertenece al contenedor de acciones, no a la intención del botón. Los CTAs y otros patrones deben reutilizar estas clases globales en lugar de recrear estilos locales.

Dimensión y composición: todas las variantes de Button deben compartir la misma altura visual mediante la clase base kitlu-button. La diferencia entre primary y secondary es únicamente de tratamiento visual, no de caja. Los márgenes exteriores no pertenecen al botón: la separación entre varias acciones debe resolverla siempre el contenedor que las agrupa mediante gap.

CTA

Laboratorio del patrón CTA. El CTA organiza contenido y acciones; los botones conservan su propia responsabilidad como controles interactivos.

CTA abierto

¿Quieres recibir más información?

Ponte en contacto con nuestro equipo y te ayudaremos a encontrar la información que necesitas.

ContactarMás información

CTA con superficie

Da el siguiente paso

Accede al recurso principal o consulta primero la información complementaria.

AccederConsultar detalles

CTA split

Patrón de CTA de mayor jerarquía con contenido y media en dos zonas. En una columna, el contenido precede a la imagen; desde L se convierte en una composición 50/50.

Invitación

Un CTA puede ganar presencia sin convertirse en una hero

Esta variante combina un mensaje breve con una imagen para destacar una acción concreta dentro de la página.

Acción principalAcción secundaria
Imagen Destacada

Variante invertida

La media puede cambiar de lado sin cambiar la anatomía del CTA

La inversión sirve para variar el ritmo de una página larga manteniendo intactas las mismas clases de contenido y acciones.

Acción principalAcción secundaria
Imagen Destacada

CTA · especificación de uso

Principio: el CTA organiza contenido y acciones. Los botones siguen siendo componentes independientes y conservan su propia jerarquía visual. El CTA no debe recrear estilos de Button ni convertir cada intención editorial en una variante distinta.

Anatomía base:
kitlu-cta: estructura general.
kitlu-cta__content: bloque de contenido, con ancho de lectura limitado.
kitlu-cta__actions: organiza uno o dos botones y controla su espaciado. En XS se apila; desde S pasa a fila.
kitlu-cta--surface: añade superficie, borde, radio y padding semánticos.

CTA split: kitlu-cta--split convierte el CTA en una composición de contenido + media. En XS/S/M usa una columna; desde L pasa a dos columnas 50/50. kitlu-cta__media controla la zona visual y usa object-fit:cover para que la imagen ocupe su área sin deformarse. kitlu-cta--media-left invierte la posición de la media desde L sin cambiar la anatomía del componente.

Composiciones validadas: kitlu-cta; kitlu-cta + kitlu-cta--surface; kitlu-cta + kitlu-cta--split + kitlu-cta--surface; y la misma composición añadiendo kitlu-cta--media-left.

Reglas de mantenimiento: el espaciado entre botones pertenece a kitlu-cta__actions, no al botón. No usar el CTA split como hero por defecto: su función es destacar una acción concreta dentro de una página. Mantener el orden contenido → media en una columna; la variante invertida actúa solo desde L. No colocar texto sobre la imagen ni introducir overlays como comportamiento base. Reutilizar siempre kitlu-button* para las acciones y los tokens semánticos del sistema para color, borde, radio y espaciado.

Badges y etiquetas

Laboratorio del componente Badge. La base resuelve forma y escala; las variantes cambian únicamente el tratamiento visual y el grupo organiza separación y wrapping.

Subtle

Guías

2026

Recursos educativos

Outline

Noticias

Legislación

Documentación técnica

Accent

Destacado

Actualizado

Grupo y wrapping

Guía

Violencia de género

2026

Recurso descargable

Destacado

Badge · especificación de uso

Principio: kitlu-badge es una unidad informativa breve. La clase base resuelve escala, forma y alineación; las variantes modifican únicamente el tratamiento visual. Un badge informa, clasifica o señala estado, pero no debe utilizarse como decoración ni sustituir texto necesario para comprender el contenido.

Variantes validadas:
kitlu-badge + kitlu-badge--subtle: tratamiento discreto para categorías, años, formatos o información auxiliar.
kitlu-badge + kitlu-badge--outline: alternativa transparente con borde semántico cuando no se desea añadir otra superficie.
kitlu-badge + kitlu-badge--accent: énfasis reservado para estados o señales realmente relevantes, como Destacado o Actualizado.

kitlu-badge-group organiza varias unidades, controla el gap y permite wrapping. Los badges individuales no deben incorporar márgenes exteriores para resolver su relación con otros badges.

Semántica y accesibilidad: la información no debe depender únicamente del color. Si el badge comunica un estado como Nuevo, Destacado, Actualizado o Cerrado, ese significado debe aparecer también en el texto. El componente base es informativo; si en un proyecto una etiqueta necesita ser clicable o seleccionable, deberá tratarse como un control interactivo específico y no convertir silenciosamente kitlu-badge en un botón.

Reglas de mantenimiento: no crear variantes por tipo de contenido como badge--noticia, badge--documento o badge--curso cuando la diferencia sea solo semántica. Reutilizar las variantes visuales existentes y cambiar el texto. Mantener tipografía, padding, radio, color y borde mediante tokens del sistema. No añadir iconos como requisito base. Evitar el uso masivo de kitlu-badge--accent; su utilidad depende de conservar una jerarquía visual excepcional.

Accordion Nested

Laboratorio del acordeón anidable de Bricks. El componente mantiene una presentación neutra y editorial: jerarquía clara, separadores ligeros y contenido libre de tratamientos decorativos.

Acordeón básico

Organiza información secundaria o extensa sin obligar a mostrarla toda al mismo tiempo. El encabezado controla la apertura y el contenido conserva libertad compositiva.

Texto, imágenes, botones, Cards, Grids o resultados dinámicos. Accordion se limita a gestionar la relación entre título y contenido; no redefine los componentes que viven dentro.

Cuando existe una agrupación reconocible de contenidos y mostrar todos los detalles simultáneamente dificultaría la lectura. No debe usarse para ocultar información esencial.

Accordion Nested + Query Loop

Muestra breve para probar una tarjeta compacta dentro del futuro grid de LuSiteKit.

Esta muestra de longitud media permite observar cómo se distribuye el texto cuando la tarjeta combina un título relativamente amplio…

Extracto ficticio deliberadamente más extenso para observar el comportamiento vertical de las futuras Cards de LuSiteKit. La intención es comprobar…

El Query Loop está aplicado al resultado que se repite dentro del contenido del acordeón. Así se conserva la separación de responsabilidades: Accordion abre y cierra; Query Loop repite; Card presenta cada resultado.

Accordion Nested · especificación de uso

Principio: kitlu-accordion organiza la relación entre encabezado y contenido desplegable. Su responsabilidad es abrir, cerrar y jerarquizar; no debe imponer cómo se presentan los componentes que viven dentro del contenido.

Anatomía:
kitlu-accordion: raíz estructural y separadores del conjunto.
kitlu-accordion__title: encabezado interactivo, padding, alineación y estados de foco/abierto.
kitlu-accordion__content: contenedor libre para texto, imágenes, botones, Cards, Grids o resultados dinámicos.
kitlu-accordion__icon: indicador visual del estado.
kitlu-accordion__title--surface: modificador opcional que fondea el título con var(--kitlu-color-background), actualmente resuelto por var(--kitlu-primitive-neutral-1).

Query Loop: el bucle debe aplicarse al elemento que se repite dentro de accordion-content-wrapper, no al acordeón completo. De esta forma, Accordion gestiona la interacción, Query Loop repite y Card/Listing presenta cada resultado. El contenido dinámico puede reutilizar las clases globales existentes sin crear un sistema paralelo.

Reglas de mantenimiento: preferir Accordion Nested nativo de Bricks y conservar sus atributos de accesibilidad. Mantener los estilos fundacionales en XS/Base. No crear variantes por tipo de contenido como accordion--agenda o accordion--faq cuando la diferencia sea solo semántica. La variante kitlu-accordion__title--surface añade jerarquía visual sin modificar la anatomía. No usar el acordeón para ocultar información esencial.

Tabs Nested

Laboratorio del componente Tabs Nested de Bricks. Las pestañas organizan bloques equivalentes de contenido sin convertir la navegación en una colección de botones decorativos.

Tabs básico

Tabs resulta apropiado cuando varios bloques tienen el mismo nivel jerárquico y conviene alternar entre ellos sin alargar innecesariamente la página.

El contenido de cada panel puede incluir texto, imágenes, botones, Cards, Grids o composiciones dinámicas. Tabs gestiona la navegación; los componentes interiores mantienen sus propias responsabilidades.

Conviene utilizar Tabs cuando las opciones sean pocas, claras y comparables. Si el usuario necesita recorrer todos los contenidos de forma secuencial, Accordion o una composición abierta pueden resultar más apropiados.

Tabs Nested + Query Loop

Muestra breve para probar una tarjeta compacta dentro del futuro grid de LuSiteKit.

Esta muestra de longitud media permite observar cómo se distribuye el texto cuando la tarjeta combina un título relativamente amplio…

Extracto ficticio deliberadamente más extenso para observar el comportamiento vertical de las futuras Cards de LuSiteKit. La intención es comprobar…

El Query Loop se aplica al resultado que se repite dentro del panel activo. Tabs mantiene la navegación entre paneles; Query Loop repite; Card presenta cada resultado.

Tabs con superficie

La variante con superficie aporta más presencia a la navegación sin cambiar la anatomía ni el comportamiento del componente.

Puede resultar útil cuando Tabs necesita distinguirse con claridad dentro de una página con bastante contenido abierto.

El fondo sigue utilizando tokens del sistema y el estado activo conserva una señal visible de borde y color.

Tabs vertical

La variante vertical mantiene Tabs horizontal en pantallas pequeñas y desplaza la navegación a una columna lateral desde L.

La columna de navegación tiene un ancho limitado y el panel conserva el resto del espacio disponible, evitando que los títulos compitan con el contenido.

Es apropiada cuando hay pocas secciones estables y sus etiquetas necesitan algo más de ancho que en una navegación horizontal.

Tabs Nested · especificación de uso

Principio: kitlu-tabs organiza contenidos paralelos y equivalentes. La navegación cambia de panel; el contenido interior mantiene su propia responsabilidad. Tabs no debe utilizarse simplemente para ocultar información ni para sustituir una lectura secuencial cuando Accordion o una composición abierta resulten más claras.

Anatomía base:
kitlu-tabs: raíz estructural.
kitlu-tabs__menu: contiene las pestañas y controla separación, wrapping y línea de navegación.
kitlu-tabs__title: control interactivo de cada pestaña y estado activo.
kitlu-tabs__content: contiene los paneles y su espaciado interior.

Las etiquetas deben ser breves y comprensibles. El comportamiento base se activa por clic y debe existir una pestaña activa al cargar, normalmente la primera.

Variantes validadas:
kitlu-tabs__title--surface añade fondo neutral, borde y radio mediante tokens del sistema, con una separación inferior ligera respecto a la línea del menú.
kitlu-tabs--vertical mantiene la navegación horizontal en XS/S/M y, desde L, pasa a menú lateral con panel de contenido a la derecha. En escritorio el estado activo se señala mediante borde derecho de acento.

Estas variantes cambian la presentación, no la semántica ni la anatomía del componente.

Contenido dinámico, accesibilidad y mantenimiento: un Query Loop debe vivir dentro del panel correspondiente y aplicarse al elemento que realmente se repite; Tabs cambia de panel, Query Loop repite y Card/Listing/Grid presenta el resultado. Conservar la estructura nativa de Tabs Nested de Bricks para mantener tablist, tab, tabpanel, aria-selected y aria-controls. No crear variantes por tipo de contenido como tabs--programa o tabs--recursos cuando solo cambia el significado del panel. Si las pestañas son demasiadas, sus etiquetas son largas o el contenido debe recorrerse de forma secuencial, reconsiderar el patrón antes de añadir más estilos.

Popup

Laboratorio del popup nativo de Bricks. La prueba se limita a esta página y utiliza una composición modal sencilla para validar contenido, acciones, backdrop y cierre.

Abrir popup

Popup · especificación de uso

Principio: Popup es una capa modal para mostrar información o una acción secundaria sin abandonar el contexto actual. En LuSiteKit se construye con el sistema nativo de plantillas Popup de Bricks; la plantilla controla backdrop, tamaño, posición, condiciones y cierre, mientras que las clases kitlu-popup* organizan el contenido interior.

Anatomía base:
kitlu-popup: estructura interior general.
kitlu-popup__header: título e introducción.
kitlu-popup__body: contenido principal, libre para texto, formularios, imágenes, Cards u otros componentes.
kitlu-popup__actions: organiza las acciones y neutraliza márgenes exteriores de Button. Los botones reutilizan siempre kitlu-button*.

Interacción y accesibilidad: la apertura y el cierre deben resolverse mediante las interacciones nativas de Bricks. El popup necesita una vía de cierre explícita dentro del contenido y puede permitir además cierre sobre el backdrop o con ESC según el caso. Mantener el enfoque automático salvo una razón concreta para desactivarlo y evitar utilizar la modal para ocultar información esencial que debería formar parte de la lectura normal de la página.

Reglas de mantenimiento: las condiciones de la plantilla determinan dónde existe el popup y no deben sustituirse por variantes visuales por tipo de contenido. El tamaño y la superficie pertenecen a la plantilla Popup; la composición interna pertenece a kitlu-popup*. Las acciones conservan la anatomía común de Button: misma altura, padding y alineación; su jerarquía se expresa únicamente mediante las variantes visuales. No crear popup--formulario, popup--aviso u otras variantes cuando la diferencia sea solo el contenido.

Slider / Carousel Nested

Laboratorio del Slider Nested nativo de Bricks. El carrusel controla desplazamiento, navegación y cantidad visible; cada slide conserva libertad para alojar componentes del sistema.

Carrusel básico

Contenido editorial

Un slide puede contener una Card completa o cualquier otra composición sin que Slider redefina su presentación.

Navegación predecible

El laboratorio usa flechas, paginación y teclado enfocado. No incorpora autoplay como comportamiento base.

Responsive real

Se muestra un elemento en XS, dos desde M y tres desde L, manteniendo un único elemento de desplazamiento por interacción.

Sin automatismos innecesarios

El movimiento responde a una acción consciente de la persona usuaria y no compite con la lectura de la página.

Slider Nested + Query Loop

Muestra breve para probar una tarjeta compacta dentro del futuro grid de LuSiteKit.

Esta muestra de longitud media permite observar cómo se distribuye el texto cuando la tarjeta combina un título relativamente amplio…

Extracto ficticio deliberadamente más extenso para observar el comportamiento vertical de las futuras Cards de LuSiteKit. La intención es comprobar…

Ejemplo breve para comparar alturas entre Cards.

Muestra de longitud media destinada a comprobar la convivencia de imagen, título y texto descriptivo en una Card estándar, manteniendo…

Este extracto ficticio es intencionadamente largo para evaluar cómo responde una tarjeta cuando el contenido descriptivo ocupa bastante espacio. Servirá…

Slider / Carousel · especificación de uso

Principio: kitlu-slider controla desplazamiento, navegación y cantidad visible. Cada slide conserva libertad para alojar componentes del sistema sin que Slider redefina su presentación.

Anatomía:
kitlu-slider: raíz del Slider Nested nativo de Bricks/Splide.
kitlu-slider__slide: unidad repetible, estática o dinámica. Puede combinarse con Card, Listing u otros componentes existentes.
En Query Loop, el elemento que representa el slide repetido lleva hasLoop:true; Slider desplaza, Query Loop repite y Card/Listing presenta.

Comportamiento validado: un elemento visible en XS, dos desde M y tres desde L; desplazamiento de una unidad; teclado cuando el slider tiene foco; flechas y paginación activas; autoplay desactivado como comportamiento base. El patrón responsive se expresa con las opciones nativas de Splide dentro del Slider Nested de Bricks.

Navegación visual: las flechas se sitúan hacia dentro del carrusel, sin borde, con fondo neutral translúcido e icono semitransparente en reposo; hover y focus aumentan su presencia. La paginación se coloca debajo del contenido, centrada, con puntos inactivos neutros y activo en color de acento. Los controles no deben competir con el contenido del slide ni ocultarlo innecesariamente.

Reglas de mantenimiento: no usar autoplay por defecto ni crear variantes por tipo de contenido como slider--noticias o slider--recursos. Mantener el contenido interior independiente del componente de navegación. Reutilizar tokens semánticos para color, foco, espaciado y forma, y conservar las interacciones y accesibilidad nativas de Bricks/Splide siempre que sea posible.

Offcanvas

Laboratorio del Offcanvas nativo de Bricks. El panel lateral sirve para alojar navegación secundaria, filtros o información contextual sin abandonar la página.

Panel auxiliar

Un espacio lateral para contenido que complementa la tarea principal sin interrumpirla.

Navegación secundaria. Puede contener accesos a secciones relacionadas o utilidades de contexto.

Filtros. Es útil cuando los controles no necesitan ocupar espacio permanente en la composición principal.

Información contextual. Puede mostrar ayuda, detalles o contenido complementario que no requiere una modal.

Offcanvas · especificación de uso

Principio: Offcanvas es un panel lateral auxiliar para contenido que complementa la tarea principal sin abandonar la página. En LuSiteKit se construye con el elemento Offcanvas nativo de Bricks; el componente controla apertura, cierre, dirección, backdrop y foco, mientras que las clases kitlu-offcanvas* organizan el contenido interior.

Anatomía base:
kitlu-offcanvas: raíz y tratamiento visual general.
kitlu-offcanvas__panel: superficie lateral y espaciado interior.
kitlu-offcanvas__header: título e introducción.
kitlu-offcanvas__body: contenido principal.
kitlu-offcanvas__actions: acciones del panel y responsable del gap entre botones.

Interacción y accesibilidad: abrir y cerrar mediante interacciones nativas de Bricks. Mantener una acción de cierre explícita dentro del panel, un aria-label descriptivo y autofocus salvo una razón concreta para desactivarlo. El patrón base bloquea el scroll del body mientras está abierto y utiliza un backdrop suave para conservar el contexto de la página.

Usos recomendados y mantenimiento: navegación secundaria, filtros, ayuda e información contextual. Offcanvas no sustituye Popup: el primero mantiene una relación lateral con la página; el segundo interrumpe deliberadamente la lectura como capa modal. No crear variantes por tipo de contenido como offcanvas--filtros u offcanvas--menu cuando la diferencia sea solo semántica. Los componentes interiores conservan sus propias responsabilidades y estilos.

Formulario

Laboratorio del elemento Form nativo de Bricks. Esta primera prueba fija la apariencia y los estados básicos de los campos sin vincular el formulario a un envío real.

Privacidad

Pro Forms

Laboratorio equivalente construido con Pro Forms de Bricksforge. Cada campo es un elemento independiente y el layout puede organizarse con gap real sin alterar la anatomía de los controles.

Formularios · especificación de uso

Criterio de implementación: Pro Forms de Bricksforge es la solución preferente para formularios en LuSiteKit. El Form nativo de Bricks queda como recurso básico o fallback cuando no se necesiten campos nestables, composición avanzada, validación granular o lógica adicional.

Arquitectura: kitlu-proform define la composición general del formulario y el lenguaje visual común de labels, campos, foco, placeholders y controles. Cada campo de Pro Forms es un elemento independiente. kitlu-form-field--full permite que un campo ocupe todas las columnas cuando el formulario adopta layout multicolumna.

Layout responsive: el formulario se resuelve en una columna en XS/S/M. Desde L puede pasar a dos columnas con gap real del sistema. Los campos que deben conservar todo el ancho, como select, textarea, privacidad y submit, usan kitlu-form-field--full. No pegar campos mediante porcentajes sin separación.

Controles y estados: mantener labels visibles, marcar los campos obligatorios en el label y no duplicar el asterisco en el placeholder. Inputs, select y textarea comparten superficie, borde, radio, tipografía y altura mínima del sistema. El foco debe ser siempre visible. Checkbox y radio usan el color primario como acento, y los estados de error o éxito deben comunicarse también mediante texto, nunca solo mediante color.

Submit: el botón de envío de Pro Forms debe reutilizar directamente kitlu-button + kitlu-button--primary. Las clases globales de Button están preparadas para funcionar tanto sobre botones Bricks como sobre el .bricks-button generado por Pro Forms, de modo que altura, padding, tipografía, radio, color y hover se mantengan consistentes.

Reglas de mantenimiento: no crear variantes de formulario por finalidad editorial cuando solo cambia el contenido. La estructura y estados pertenecen al sistema de formulario; la acción visual pertenece a Button. Aprovechar los elementos nestables y las capacidades propias de Pro Forms para select, checkbox, radio, validación, condiciones o formularios multistep antes de recurrir a soluciones paralelas.

Información complementaria

Este popup muestra información secundaria sin sacar a la persona del contexto actual.

El contenido puede incluir texto, formularios, imágenes, Cards u otros componentes. El popup organiza la capa modal; los elementos interiores conservan sus propias responsabilidades.

EntendidoCerrar