import { IWebComponentInstance, OmniaContext } from "../../"; import { IRichTextEditor, RichTextEditorExtension, RichTextEditorPlaceHolder, IRichTextEditorInstance } from "."; import "./RichTextEditor.css"; import { RichTextModes } from "../../models"; import { RichTextEditorStyles } from "../models"; import { RichTextEditorExtensionRegistration, RichTextEditorSettingsModel } from "../../models"; import { SettingsService } from "../../services"; import { RichTextContentHelper } from "."; import { VueComponentBase } from ".."; import { IRichTextEditorExtensionHelper } from "./IRichTextEditorExtensionHelper"; import { DirectionRuleStore } from "../../stores"; export default class RichTextEditor extends VueComponentBase implements IWebComponentInstance, IRichTextEditor, IRichTextEditorInstance { initialContent: string; onContentChange: (content: string) => void; onContentDataChange?: (richtextHelper: RichTextContentHelper) => void; onInstanceCreated?: (inst: IRichTextEditorInstance) => void; onBlur?: () => void; onFocus?: () => void; placeholder: RichTextEditorPlaceHolder; styles?: typeof RichTextEditorStyles; disabled: boolean; outlined: boolean; bodyClass: string; resetContent?: boolean; autoFocus?: boolean; disableAutofocus?: boolean; mode: RichTextModes; onConfigureAutomaticFormatCleaning?: () => boolean; onConfigureExtensions?: (currentExtensions: Array, registrationResolver?: (registration: RichTextEditorExtensionRegistration) => RichTextEditorExtension, extensionHelper?: IRichTextEditorExtensionHelper) => Array; onConfiguredExtensions?: (currentExtensions: Array, registrationResolver?: (registration: RichTextEditorExtensionRegistration) => RichTextEditorExtension) => Promise>; ariaDescribedby?: string; ariaInvalid?: boolean; registerFocus?: (callback: () => void) => void; omniaCtx: OmniaContext; settingsService: SettingsService; directionStore: DirectionRuleStore; private editorClasses; private editorDefaultStyle; private updateToolbar; private editor; private paddingTop; private lastScrollTop; private selectionDebounce; private content; private isLoading; private nodes; private toolbarItems; private isShowToolbar; private data; private contentHelper; private bubbleMenuItems; private pastedMenuItem; private pastedPosition; private pastedContext; private isSticky; private parentScrollOffset; private stickyElmScrollableParent; private scrollCallback; private uniqueEditorId; private extensions; private allExtensions; private isRightToLeft; private enableAutoCleanTextFormatAfterPaste; private extensionOnBlurFuncs; private hasLanguagePicker; onTopicIdChange(newValue: boolean, oldValue: boolean): void; onDisabledChange(): void; created(): void; mounted(): void; beforeDestroy(): void; private focusEditor; updateContent(content: string): void; initSubscribedExtensions(): void; registrationResolver(registration: RichTextEditorExtensionRegistration): RichTextEditorExtension; loadFromExtensionRegistrations(extensionSettings: RichTextEditorExtensionRegistration[]): Promise>; buildExtensionList(extensionListFromTenantSettings: RichTextEditorExtensionRegistration[]): RichTextEditorExtension[]; initExtensions(): void; private ensureHeadingNode; handleCursorPosition(formatedText: any, formatedHtml: any, view: any, from: any, to: any, onCompleted?: (transaction: any) => void): void; setupEditor(): void; private currentEmitedContent; private onEditorUpdated; private onContentChangedFromToolbar; private setExtensionData; get builtInExtensions(): any[]; get elementWidth(): number; render(): VueTsxSupport.JSX.Element; renderEditor(): VueTsxSupport.JSX.Element; renderToolbarItem(menubar: any, config: any): import("vue").VNode; renderBubbleMenuToolbarItem(bubbleMenu: any, config: any): import("vue").VNode; renderPastedBubbleMenuToolbarItem(bubbleMenu: any, config: any): import("vue").VNode; private onSelectionChange; private parseHtml; private hideBubbleMenu; getBrowerSupport(): any; setPastedCursorPosition(): void; getDeepNode(node: Node): Node; registerScrollEvent(): void; checkSticky(): void; getMenuBarElement(): Promise; }