UNPKG

json-joy

Version:

Collection of libraries for building collaborative editing apps.

25 lines (24 loc) 1.11 kB
import type { Peritext } from '../../../json-crdt-extensions/peritext'; import type { PeritextEventTarget } from '../../../json-crdt-extensions/peritext/events/PeritextEventTarget'; import type { TypedEventTarget } from '../../../util/events/TypedEventTarget'; import type { UiLifeCycles } from '../types'; import type { DomController } from './DomController'; export interface InputControllerEventSourceMap { beforeinput: HTMLElementEventMap['beforeinput']; keydown: HTMLElementEventMap['keydown']; copy: HTMLElementEventMap['copy']; cut: HTMLElementEventMap['cut']; paste: HTMLElementEventMap['paste']; } export type InputControllerEventSource = TypedEventTarget<InputControllerEventSourceMap>; /** * Processes incoming DOM "input" events (such as "beforeinput", "input", * "keydown", etc.) and translates them into Peritext events. */ export declare class InputController implements UiLifeCycles { protected readonly dom: DomController; protected readonly txt: Peritext; readonly et: PeritextEventTarget; constructor(dom: DomController); start(): () => void; }