UNPKG

@init-kz/init-code-highlight-ts

Version:

A micro code-editor for awesome web pages

80 lines (76 loc) 2.67 kB
import Prism from 'prismjs'; interface InitCodeHighlightOptions { languagesUrl?: string; rtl?: boolean; tabSize?: number; enableAutocorrect?: boolean; lineNumbers?: boolean; defaultTheme?: boolean; areaId?: string | null; ariaLabelledby?: string | null; readonly?: boolean; copyButton?: boolean; maxLines?: number; minLines?: number; language?: string; styleParent?: HTMLElement; handleTabs?: boolean; handleSelfClosingCharacters?: boolean; handleNewLineIndentation?: boolean; } type InitHighlightEventMap = { _input: (ev: Event) => void; _keydown: (ev: KeyboardEvent) => void; _scroll: (ev: Event) => void; }; declare class InitCodeHighlight { editorRoot: HTMLElement; opts: InitCodeHighlightOptions; events: InitHighlightEventMap; code: string; elWrapper: HTMLElement; elTextarea: HTMLTextAreaElement; elPre: HTMLElement; elCode: HTMLElement; elLineNumbers: HTMLElement; elCopyButton: HTMLElement; elCopyButtonMessage: HTMLElement; lineNumber: number; constructor(selectorOrElement: string | HTMLElement, opts: InitCodeHighlightOptions); protected startEditor(): void; protected createWrapper(): void; protected createTextarea(): void; protected createPre(): void; protected createCode(): void; protected createLineNumbers(): void; protected createCopyButton(): void; protected destroyLineNumbers(): void; protected createElement(elementTag: string, whereToAppend: HTMLElement): HTMLElement; protected runOptions(): void; protected updateLineNumbersCount(): void; protected updateEditorHeight(): void; protected listenTextarea(): void; protected handleTabs(e: KeyboardEvent): void; protected handleSelfClosingCharacters(e: KeyboardEvent): void; protected setLineNumber(): void; protected handleNewLineIndentation(e: KeyboardEvent): void; protected closeCharacter(char: string): void; protected skipCloseChar(char: string): boolean; updateCode(newCode: string): void; updateLanguage(newLanguage: string): void; getPrism(): typeof Prism; protected populateDefault(): void; highlight(): void; protected updateCallBack: ((code: string) => void) | null; onUpdate(callback: (code: string) => void): void; getCode(): string; runUpdate(): void; enableReadonlyMode(): void; disableReadonlyMode(): void; toggleReadonlyMode(): void; enableLineNumbers(): void; disableLineNumbers(): void; toggleLineNumbers(): void; dispose(): void; } export { type InitCodeHighlightOptions, InitCodeHighlight as default };