UNPKG

@multiplayer-app/session-recorder-browser

Version:
90 lines 3.27 kB
import { Observable } from 'lib0/observable'; import { SessionWidgetConfig, SessionState, ToastConfig } from '../types'; import { ButtonState, ContinuousRecordingSaveButtonState } from './buttonStateConfigs'; import './styles/button.scss'; type SessionWidgetEvents = 'start' | 'stop' | 'pause' | 'resume' | 'cancel' | 'save' | 'continuous-debugging'; export declare class SessionWidget extends Observable<SessionWidgetEvents> { readonly recorderButton: HTMLButtonElement; private readonly initialPopover; private readonly finalPopover; private readonly overlay; private readonly submitSessionDialog; private readonly toast; private _isStarted; private _isPaused; private _isInitialized; private _error; private _recorderPlacement; private _showWidget; private _initialPopoverVisible; private _finalPopoverVisible; private _buttonState; private _continuousRecording; private _showContinuousRecording; private _widgetTextOverrides; private uiManager; private readonly commentTextarea; private buttonDraggabilityObserver; private dragManager; buttonClickExternalHandler: (() => boolean | void) | null; seconds: number; timerInterval: any; private readonly isBrowser; private readonly isBrowserExtension; private shadowRoot; private hostElement; set buttonState(newState: ButtonState); private set initialPopoverVisible(value); private set finalPopoverVisible(value); get error(): string; set error(v: string); set isStarted(v: boolean); set isPaused(v: boolean); constructor(); updateState(state: SessionState | null, continuousRecording: boolean): void; updateContinuousRecordingState(checked: boolean, disabled?: boolean): void; updateSaveContinuousDebugSessionState(state: ContinuousRecordingSaveButtonState): void; /** * Shows a toast message with optional action button * @param config - The toast configuration including message, type, and optional button * @param duration - Duration in milliseconds to show the toast (default: 10000ms) */ showToast(config: ToastConfig, duration?: number): void; /** * Hides the currently displayed toast message */ hideToast(): void; private handleClickOutside; private observeButtonDraggableMode; init(options: SessionWidgetConfig): void; private appendElements; private addRecorderDragFunctionality; private updatePopoverPosition; private addEventListeners; private handleStopRecording; handleUIReseting(): void; private handleCloseInitialPopover; private handleCloseFinalPopover; onRequestError(): void; private handleDismissRecording; private resetRecordingButton; private addListener; private onRecordingButtonClick; private updateButton; private handleContinuousRecordingChange; private handleSaveContinuousDebugSession; private startRecording; private onStart; private onStop; private onPause; private onResume; private onCancel; enable(): void; disable(): void; destroy(): void; startTimer(): void; stopTimer(): void; makeOverlayDraggable(): void; } export {}; //# sourceMappingURL=index.d.ts.map