/*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. * Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net */ /** * @module ui */ import type { IDictionary, IUIElement, IViewBased, Nullable } from "../../types/index"; import type { ComponentCompatible } from "../decorators/component/component"; import { ViewComponent } from "../component/index"; import { Elms } from "../traits/elms"; import { Mods } from "../traits/mods"; export interface UIElement extends Mods, Elms { } export declare abstract class UIElement extends ViewComponent implements IUIElement, Mods, Elms { container: HTMLElement; name: string; protected options?: IDictionary; getRole(): string; private __parentElement; get parentElement(): Nullable; set parentElement(parentElement: Nullable); bubble(callback: (parent: IUIElement) => void): this; updateParentElement(target: IUIElement): this; /** @override */ get(chain: string, obj?: IDictionary): Nullable; closest(ctor: ComponentCompatible): Nullable; closest(type: UIElement | Function): Nullable : T>; /** * Find closest UIElement in DOM */ static closestElement(node: Node, type: Function): Nullable; readonly mods: IDictionary; /** * Update UI from state */ update(): void; /** * Append container to element */ appendTo(element: HTMLElement): this; /** * Valid name only with valid chars */ protected clearName(name: string): string; /** * Method create only box */ protected render(options?: IDictionary): HTMLElement | string; /** * Create main HTML container */ protected createContainer(options?: IDictionary): HTMLElement; protected parseTemplate(result: string): HTMLElement; constructor(jodit: T, options?: IDictionary); /** @override */ destruct(): any; }