Spaces:
Running
Running
File size: 1,178 Bytes
70e641d e4a79ec | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | // Helpers de DOM tipados para reducir el ruido de comprobaciones de nulos en el port a TS.
// `elId` asume que el elemento existe (igual que el JS original que lo usaba sin comprobar);
// `elIdOpt` devuelve null cuando puede faltar.
export function elId<T extends HTMLElement = HTMLElement>(id: string): T {
const el = document.getElementById(id);
if (!el) throw new Error(`Elemento #${id} no encontrado`);
return el as T;
}
export function elIdOpt<T extends HTMLElement = HTMLElement>(id: string): T | null {
return document.getElementById(id) as T | null;
}
export function qs<T extends Element = Element>(sel: string, root: ParentNode = document): T | null {
return root.querySelector<T>(sel);
}
export function qsa<T extends Element = Element>(sel: string, root: ParentNode = document): T[] {
return Array.from(root.querySelectorAll<T>(sel));
}
// Punto de corte del grid de escritorio. Vive aquí, en el módulo hoja, porque lo consultan
// varios módulos que no deben depender unos de otros, y debe coincidir con la media query
// `min-width: 1101px` de css/styles.css.
export function esGridEscritorio(): boolean {
return window.innerWidth > 1100;
}
|