/*! * Jodit Editor PRO (https://xdsoft.net/jodit/) * See LICENSE.md in the project root for license information. * Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net/jodit/pro/ */ import type { IBound, ModType } from "jodit/esm/types/index"; import type { IFileBrowserItemElement } from "jodit/esm/types/file-browser"; import { UIGroup } from "jodit/esm/core/ui/group/group"; import type { StateManager } from "../../helpers/state-manager"; import type { IFileBrowserPro } from "../../interface"; import { UIBrowserItem } from "../item/item"; import { UISelectItems } from "../../../../traits/select-items/select-items"; export declare class UIVirtualScroll extends UIGroup implements UISelectItems { readonly stateManager: StateManager; elements: UIBrowserItem[]; /** @override */ syncMod: boolean; /** @override */ className(): string; /** @override */ protected render(): string; constructor(jodit: UIVirtualScroll['jodit'], stateManager: StateManager); private reconcile; private skeletons; /** * Skeleton placeholders are driven purely by the `loading` mod (set on the * panel and synced down to this group) — no imperative show/hide from * outside. They reuse the real item class and carry the current `view`/`size` * mods, so they adapt to the active tile mode. */ afterSetMod(name: string, value: ModType): void; private buildSkeletons; private clearSkeletons; build(items: IFileBrowserItemElement[]): void; protected onScrollLoadChunk(): void; /** * Context menu of an empty spot of the list (clicks on items are handled * by the items themselves) */ protected onAreaContextMenu(e: MouseEvent): void | false; protected onDragOver(e: DragEvent): void; protected onDragLeave(e: DragEvent): void; addItemsSelector(): void; private static intersectRect; onSelectItems(bound: IBound): void; }