verstak
Version:
Verstak - Front-End Library
142 lines (141 loc) • 4.73 kB
TypeScript
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 {};