verstak
Version:
Verstak - Front-End Library
173 lines (172 loc) • 6.49 kB
TypeScript
import { ReactiveTreeNode, Handler, BaseDriver } from "reactronic";
import { El, ElKind, H, V, 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 _alignmentHorizontal;
private _alignmentVertical;
private _alignmentVerticalRowWise;
private _selfAlignmentHorizontal;
private _selfAlignmentVertical;
private _selfAlignmentVerticalRowWise;
private _selfStretchingStrengthHorizontal;
private _selfStretchingStrengthVertical;
private _contentWrapping;
private _overlayVisible;
private _text;
private _textIsFormatted;
private _textIsEditable;
private _sealed;
private _splitView;
private _hasStylingPresets;
constructor(node: ReactiveTreeNode<El<T, M>>);
prepareForUpdate(): void;
get rank(): number;
get isBlock(): 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 alignmentHorizontal(): H | undefined;
set alignmentHorizontal(value: H | undefined);
get alignmentVertical(): V | undefined;
set alignmentVertical(value: V | undefined);
get alignmentVerticalRowWise(): V | undefined;
set alignmentVerticalRowWise(value: V | undefined);
get selfAlignmentHorizontal(): H | undefined;
set selfAlignmentHorizontal(value: H | undefined);
get selfAlignmentVertical(): V | undefined;
set selfAlignmentVertical(value: V | undefined);
get selfAlignmentVerticalRowWise(): V | undefined;
set selfAlignmentVerticalRowWise(value: V | undefined);
get selfStretchingStrengthHorizontal(): number | undefined;
set selfStretchingStrengthHorizontal(value: number | undefined);
get selfStretchingStrengthVertical(): number | undefined;
set selfStretchingStrengthVertical(value: number | undefined);
get contentWrapping(): boolean;
set contentWrapping(value: boolean);
get overlayVisible(): boolean | undefined;
set overlayVisible(value: boolean | undefined);
get text(): string | undefined;
set text(value: string | undefined);
get textIsFormatted(): boolean;
set textIsFormatted(value: boolean);
get textIsEditable(): boolean;
set textIsEditable(value: boolean);
get sealed(): Direction | undefined;
set sealed(value: Direction | undefined);
get splitView(): Direction | undefined;
set splitView(value: Direction | undefined);
get partitionSizeInSplitViewPx(): number;
get style(): CSSStyleDeclaration;
get action(): Handler<El<T, M>, void> | undefined;
set action(value: Handler<El<T, M>, void> | undefined);
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 applyAlignmentHorizontal;
private static applyAlignmentVertical;
private static applyAlignmentVerticalRowWise;
private static applySelfAlignmentHorizontal;
private static applyPartitionAlignmentVertical;
private static applySelfAlignmentVertical;
private static applySelfStretchingStrengthHorizontal;
private static applySelfStretchingStrengthVertical;
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;
static applyText<T extends Element>(element: El<T, any>, value: string | undefined): void;
static applyTextIsFormatted<T extends Element>(element: El<T, any>, value: boolean): void;
static applyTextIsEditable<T extends Element>(element: El<T, any>, value: boolean): 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;
ownReactiveTreeNodeKey: symbol;
};
export declare const StylingClassNameByAlignmentHorizontal: Array<string>;
export declare const StylingClassNameByAlignmentVertical: Array<string>;
export declare const StylingClassNameByAlignmentVerticalRowWise: Array<string>;
export declare const StylingClassNameBySelfAlignmentHorizontal: Array<string>;
export declare const StylingClassNameBySelfAlignmentVertical: Array<string>;
export declare const StylingClassNameByPartitionAlignmentVertical: Array<string>;
export {};