Reglas Editor

Documentation for Public

Vocabulario base (core/responsive)

Regla de cascada de lectura: si no existe el valor en el breakpoint solicitado, se usa el más cercano definido hacia abajo, terminando en base.

Modelo Widget (core/models/widget.model.ts)

Lectura y escritura de propiedades responsivas (core/utils + editor-ui/utils)

Lectura unificada por breakpoint (editor-ui/utils/responsive-widget-utils.ts)
Escritura unificada por breakpoint (editor-ui/utils/responsive-widget-utils.ts)
Acceso fino a props (core/utils/responsive-helpers.ts)
Unidades y formateo (core/utils/responsive-utils.ts y helpers.ts)
Valores responsivos genéricos (core/utils/responsive-utils.ts)

Layouts de página (core/utils/page-layout.utils.ts)

Patrones prescriptivos para generadores IA

  1. Leer/mostrar propiedades de un widget en un breakpoint
const bp: BreakpointKey = 'md';
const pos = getCompletePositionForBreakpoint(widget, bp);
const size = getCompleteSizeForBreakpoint(widget, bp);
const styles = getCompleteStylesForBreakpoint(widget, bp);
  1. Actualizar una propiedad puntual (inmutabilidad obligatoria)
const updated = setWidgetSizeProp(widget, 'width', '320px', 'md');
  1. Actualizar varias props atómicas de posición/tamaño
const newPos = { x: 16, y: 24, constrainToParent: true };
const w1 = updatePositionForBreakpoint(widget, newPos, 'lg');
const newSize = { width: '50%', height: 'auto', minWidth: 10, minHeight: 10, responsive: true };
const w2 = updateSizeForBreakpoint(w1, newSize, 'lg');
  1. Cambiar unidades de tamaño de px a % en un breakpoint
const wPct = convertWidgetUnits(widget, 'px', '%', /*contextSize*/ 1200, 'md');
  1. Copiar configuración de un breakpoint a otro (clonar experiencia)
const wCloned = copyBreakpointProperties(widget, 'md', 'xl');
  1. Layout responsivo rápido
const layout = createCustomLayout('template', { padding: createBaseResponsiveValue('16px') });
const layoutMd = updateLayoutPropertyForBreakpoint(layout, 'margin', '0 auto', 'md');

Reglas de oro

Anti‑patrones (evitar)

Referencias de import (resumen)