@textbus/platform-browser
Version:
Textbus is a rich text editor and framework that is highly customizable and extensible to achieve rich wysiwyg effects.
83 lines (82 loc) • 2.46 kB
TypeScript
import { Observable } from '@tanbo/stream';
import { Commander, Controller, Keyboard, Scheduler, Selection, Textbus } from '@textbus/core';
import { Parser } from './parser';
import { Caret, CaretLimit, CaretPosition, Input } from './types';
import { DomAdapter } from './dom-adapter';
interface CaretStyle {
height: string;
lineHeight: string;
fontSize: string;
}
declare class ExperimentalCaret implements Caret {
private domRenderer;
private scheduler;
private editorMask;
onPositionChange: Observable<CaretPosition | null>;
onStyleChange: Observable<CaretStyle>;
elementRef: HTMLElement;
changeFromSelf: boolean;
getLimit: () => CaretLimit;
get rect(): DOMRect;
private timer;
private caret;
private set display(value);
private get display();
private _display;
private flashing;
private subscription;
private positionChangeEvent;
private styleChangeEvent;
private oldRange;
constructor(domRenderer: DomAdapter, scheduler: Scheduler, editorMask: HTMLElement);
refresh(): void;
show(range: Range, restart: boolean): void;
hide(): void;
destroy(): void;
private updateCursorPosition;
private getScrollContainer;
}
/**
* Textbus PC 端输入实现
*/
export declare class MagicInput extends Input {
private domAdapter;
private parser;
private keyboard;
private commander;
private selection;
private controller;
private scheduler;
private textbus;
composition: boolean;
onReady: Promise<void>;
caret: ExperimentalCaret;
set disabled(b: boolean);
get disabled(): boolean;
private isSafari;
private isFirefox;
private isMac;
private isWindows;
private _disabled;
private container;
private subscription;
private doc;
private textarea;
private isFocus;
private nativeFocus;
private ignoreComposition;
constructor(domAdapter: DomAdapter, parser: Parser, keyboard: Keyboard, commander: Commander, selection: Selection, controller: Controller, scheduler: Scheduler, textbus: Textbus);
focus(range: Range, restart: boolean): void;
blur(): void;
destroy(): void;
private reInit;
private init;
private handleDefaultActions;
copyHandler(ev: ClipboardEvent): void;
pasteHandler(ev: ClipboardEvent): void;
private paste;
private handleShortcut;
private handleInput;
private createEditableFrame;
}
export {};