saltfish
Version:
An interactive video-guided tour system for web applications
67 lines • 1.98 kB
TypeScript
import { ShadowDOMManager } from './ShadowDOMManager';
import type { PlayerState } from '../types';
/**
* Manages UI coordination and positioning. Now uses PlayerView for DOM creation
* and DragManager for drag functionality, making it much more focused.
*/
export declare class UIManager {
private shadowDOMManager;
private playerView;
private dragManager;
private playerRoot;
private playerElement;
private minimizeButton;
private exitButton;
private playPauseButton;
constructor(shadowDOMManager: ShadowDOMManager);
/**
* Creates the complete player UI using the new decoupled structure
*/
createPlayerUI(videoManager: any, cursorManager: any, interactionManager: any, buttonManager: any): void;
/**
* Sets up click handler for video container
*/
private setupVideoContainerClickHandler;
/**
* Updates the position of the player element based on store state
*/
updatePosition(): void;
/**
* Handles minimize button click
*/
handleMinimizeClick(): void;
/**
* Handles minimize state changes and updates button visibility
*/
handleMinimizeStateChange(isMinimized: boolean): void;
/**
* Updates the visibility of player controls based on the current state
* @param state - The current player state
*/
updateControlsVisibility(state: PlayerState): void;
/**
* Gets the player element
*/
getPlayerElement(): HTMLElement | null;
/**
* Gets the player root element
*/
getPlayerRoot(): HTMLElement | null;
/**
* Checks if the UI is currently being dragged
*/
isCurrentlyDragging(): boolean;
/**
* Checks if dragging just finished
*/
hasJustFinishedDragging(): boolean;
/**
* Resets drag state
*/
resetDragState(): void;
/**
* Destroys the UI and cleans up resources
*/
destroy(): void;
}
//# sourceMappingURL=UIManager.d.ts.map