UNPKG

react-vnc

Version:

A React Component to connect to a websockified VNC client using noVNC.

54 lines (53 loc) 1.88 kB
import { default as React } from 'react'; import { default as RFB, NoVncEventType, NoVncEvents, NoVncOptions } from '@novnc/novnc/lib/rfb'; type EventListeners = { [T in NoVncEventType]?: (event: NoVncEvents[T]) => void; }; export interface Props { url?: string; websocket?: WebSocket; style?: object; className?: string; viewOnly?: boolean; rfbOptions?: Partial<NoVncOptions>; focusOnClick?: boolean; clipViewport?: boolean; dragViewport?: boolean; scaleViewport?: boolean; resizeSession?: boolean; showDotCursor?: boolean; background?: string; qualityLevel?: number; compressionLevel?: number; autoConnect?: boolean; retryDuration?: number; debug?: boolean; onConnect?: EventListeners['connect']; onDisconnect?: EventListeners['disconnect']; onCredentialsRequired?: EventListeners['credentialsrequired']; onSecurityFailure?: EventListeners['securityfailure']; onClipboard?: EventListeners['clipboard']; onBell?: EventListeners['bell']; onDesktopName?: EventListeners['desktopname']; onCapabilities?: EventListeners['capabilities']; onClippingViewport?: EventListeners['clippingviewport']; } export type VncScreenHandle = { connect: () => void; disconnect: () => void; connected: boolean; sendCredentials: (credentials: NoVncOptions["credentials"]) => void; sendKey: (keysym: number, code: string, down?: boolean) => void; sendCtrlAltDel: () => void; focus: () => void; blur: () => void; machineShutdown: () => void; machineReboot: () => void; machineReset: () => void; clipboardPaste: (text: string) => void; rfb: RFB | null; loading: boolean; eventListeners: EventListeners; }; declare const _default: React.ForwardRefExoticComponent<Props & React.RefAttributes<VncScreenHandle>>; export default _default;