/** * El modo presentación NO refresca los datos. * * Tenía un auto-refresco global configurable, y se quitó por una razón de fondo: * cada widget ya se refresca solo con su propia `refresh_policy`, que es lo que le * puso quien lo creó. Un temporizador global dispara los ocho a la vez —una * estampida contra el proxy, cada una con su salto HTTP— y además pisa el ritmo que * cada indicador tenía configurado, que no tiene por qué ser el mismo: un stock * crítico y un consolidado de ventas no necesitan la misma frecuencia. * * Lo que este modo aporta es lo que el navegador no da solo: pantalla completa, * escala tipográfica y rotación entre categorías. */ /** Cada cuánto rota entre categorías, cuando la rotación está activa. */ export declare const DEFAULT_ROTATE_SECONDS = 30; interface UsePresentationModeOptions { /** Se llama en cada rotación, con el índice de la siguiente categoría. */ onRotate?: (nextIndex: number) => void; /** Cuántas categorías hay para rotar. Con menos de 2, no se rota. */ rotatableCount?: number; } export interface PresentationMode { isActive: boolean; enter: () => void; exit: () => void; isRotating: boolean; setRotating: (value: boolean) => void; /** Ref del elemento que se lleva a pantalla completa. */ containerRef: React.RefObject; } /** * Modo presentación: el tablero a pantalla completa, para dejarlo en un monitor. * * Usa la Fullscreen API del navegador y no un overlay propio. El diseño pide * que se oculten "navegación, breadcrumb y selector de compañía", y esas tres cosas * son del HOST, no de este componente — el kit no las dibuja ni sabe que existen. * Pantalla completa sobre el contenedor del tablero las tapa todas sin que el host * tenga que cooperar en nada, y `Esc` sale de forma nativa. * * Funciona porque el host integra por single-spa y comparte el documento del shell. * Bajo una integración por iframe haría falta `allow="fullscreen"` en el iframe, que * es una decisión del host; en ese caso `enter()` falla y el modo simplemente no se * activa, sin romper nada. */ export declare function usePresentationMode({ onRotate, rotatableCount, }?: UsePresentationModeOptions): PresentationMode; export {}; //# sourceMappingURL=usePresentationMode.d.ts.map