verstak
Version:
Verstak - Front-End Library
38 lines (37 loc) • 1.6 kB
TypeScript
import { ReactiveTreeVariable } from "reactronic";
export declare enum Axis {
X = 0,
Y = 1
}
export type NoUnit = void;
export type DistanceUnit = "px" | "ln" | "em" | "rem" | "vw" | "vh" | "%" | "f";
export declare class Dimension<T = NoUnit> {
num: number;
unit?: T;
constructor(num: number, unit?: T);
clone(): Dimension<T>;
equalsTo(another: Dimension<T>): boolean;
static parse<T>(text: string): Dimension<T>;
static emit<T>(value: Dimension<T>): string;
static readonly gFontSizePx: ReactiveTreeVariable<number>;
private static readonly gLineSizePx;
static get lineSizePx(): number;
static set lineSizePx(value: number);
static getLineSizePx(): ReactiveTreeVariable<number>;
}
export declare function dim<T = NoUnit>(num: number, unit?: T): Dimension<T>;
export type SizeConverterOptions = {
axis: Axis;
lineSizePx: number;
fontSizePx: number;
containerSizeXpx: number;
containerSizeYpx: number;
};
export declare const BodyFontSize: number;
export declare const BodySmallFontSize: number;
export declare function px(num: number): Dimension<DistanceUnit>;
export declare function ln(num: number): Dimension<DistanceUnit>;
export declare function fromPx(value: number, unit: DistanceUnit, options: SizeConverterOptions): number;
export declare function fromPx<T>(value: Dimension<T>, options: SizeConverterOptions): number;
export declare function toPx(value: number, unit: DistanceUnit, options: SizeConverterOptions): number;
export declare function toPx<T>(value: Dimension<T>, options: SizeConverterOptions): number;