UNPKG

verstak

Version:
142 lines (141 loc) 4.73 kB
import { ReactiveTreeNode, BaseDriver } from "reactronic"; import { El, ElKind, Horizontal, Vertical, Range, ElPlace, Direction } from "./El.js"; export declare class ElDriver<T extends Element, M = unknown> extends BaseDriver<El<T, M>> { create(node: ReactiveTreeNode<El<T, M>>): El<T, M>; } export declare class ElImpl<T extends Element = any, M = any> implements El<T, M> { readonly node: ReactiveTreeNode<El<T, M>>; maxColumnCount: number; maxRowCount: number; layoutInfo?: ElLayoutInfo; native: T; model: M; private _kind; private _place; private _coords; private _width; private _height; private _horizontal; private _vertical; private _contentHorizontal; private _contentVertical; private _stretchingStrengthHorizontally; private _stretchingStrengthVertically; private _contentWrapping; private _overlayVisible; private _sealed; private _splitView; private _hasStylingPresets; constructor(node: ReactiveTreeNode<El<T, M>>); prepareForUpdate(): void; get index(): number; get isDivision(): boolean; get isTable(): boolean; get isAuxiliary(): boolean; get kind(): ElKind; set kind(value: ElKind); get place(): ElPlace; set place(value: ElPlace); get width(): Range; set width(value: Range); get widthPx(): { minPx: number; maxPx: number; }; set widthPx(value: { minPx: number; maxPx: number; }); get height(): Range; set height(value: Range); get heightPx(): { minPx: number; maxPx: number; }; set heightPx(value: { minPx: number; maxPx: number; }); get horizontally(): Horizontal | undefined; set horizontally(value: Horizontal | undefined); get vertically(): Vertical | undefined; set vertically(value: Vertical | undefined); get contentHorizontally(): Horizontal | undefined; set contentHorizontally(value: Horizontal | undefined); get contentVertically(): Vertical | undefined; set contentVertically(value: Vertical | undefined); get stretchingStrengthHorizontally(): number | undefined; set stretchingStrengthHorizontally(value: number | undefined); get stretchingStrengthVertically(): number | undefined; set stretchingStrengthVertically(value: number | undefined); get contentWrapping(): boolean; set contentWrapping(value: boolean); get overlayVisible(): boolean | undefined; set overlayVisible(value: boolean | undefined); get sealed(): Direction | undefined; set sealed(value: Direction | undefined); get splitView(): Direction | undefined; set splitView(value: Direction | undefined); get partitionSizeInSplitViewPx(): number; get style(): CSSStyleDeclaration; useStylingPreset(stylingPresetName: string, enabled?: boolean): void; protected children(onlyAfter?: ElImpl): Generator<ElImpl>; static childrenOf(node: ReactiveTreeNode<El>, onlyAfter?: El): Generator<ElImpl>; private rowBreak; private static applyKind; private static applyCoords; private static applyWidth; private static applyHeight; private static applyHorizontal; private static applyVertical; private static applyStretchingStrengthH; private static applyStretchingStrengthV; private static applyContentWrapping; private static applyOverlayVisible; static applySealed<T extends Element>(element: El<T, any>, value: Direction | undefined): void; static applySplitView<T extends Element>(element: El<T, any>, value: Direction | undefined): void; private static applyStylingPreset; } export declare class ElLayoutInfo { x: number; y: number; runningMaxX: number; runningMaxY: number; alignerX?: ElImpl; alignerY?: ElImpl; flags: ElLayoutInfoFlags; effectiveSizePx: number; contentSizeXpx: number; contentSizeYpx: number; borderSizeYpx: number; borderSizeXpx: number; isUpdateFinished: boolean; constructor(prev: ElLayoutInfo); } declare enum ElLayoutInfoFlags { none = 0, ownCursorPosition = 1, usesRunningColumnCount = 2, usesRunningRowCount = 4, childrenRelayoutIsNeeded = 8 } export declare const InitialElLayoutInfo: ElLayoutInfo; export declare class CursorCommand { absolute?: string; columnShift?: number; rowShift?: number; } export declare class CursorCommandDriver extends ElDriver<Element, unknown> { constructor(); } export declare const Constants: { element: string; partition: string; wrapper: string; splitter: string; group: string; layouts: string[]; keyAttrName: string; kindAttrName: string; }; export {};