UNPKG

narraleaf-react

Version:

A React visual novel player framework

100 lines (99 loc) 3.27 kB
export declare enum CommonPositionType { Left = "left", Center = "center", Right = "right" } export declare const CommonPositions: { [key in CommonPositionType]: `${number}%`; }; export interface IPosition { toCSS(): D2Position; } export type Coord2DPosition = { x: number | `${"-" | ""}${number}%`; y: number | `${"-" | ""}${number}%`; } & Partial<OffsetPosition>; export type AlignPosition = { xalign: number; yalign: number; } & Partial<OffsetPosition>; export type OffsetPosition = { xoffset: number; yoffset: number; }; export type RawPosition = CommonPositionType | (Partial<Coord2DPosition> & { xalign?: never; yalign?: never; }) | (Partial<AlignPosition> & { x?: never; y?: never; }); type Unknown = typeof PositionUtils.Unknown; type UnknownAble<T> = T | Unknown; export declare class CommonPosition implements IPosition { static Positions: typeof CommonPositionType; static isCommonPositionType(arg: any): arg is CommonPosition; readonly position: CommonPositionType; /** * Create a new CommonPosition instance * @example * ```ts * new CommonPosition(CommonPosition.Positions.Center); * new CommonPosition("center"); * ``` */ constructor(position: CommonPositionType); toCSS(): D2Position; } export declare class Coord2D implements IPosition { static isCoord2DPosition(arg: any): arg is Coord2D; static fromCommonPosition(position: CommonPosition): Coord2D; static fromAlignPosition(position: Partial<AlignPosition>): Coord2D; static merge(a: Coord2D, b: Coord2D): Coord2D; readonly x: UnknownAble<Coord2DPosition["x"]>; readonly y: UnknownAble<Coord2DPosition["y"]>; readonly xoffset: UnknownAble<number>; readonly yoffset: UnknownAble<number>; /** * Create a new Coord2D instance * @example * ```ts * new Coord2D("50%", "50%"); * new Coord2D({x: 1280, y: "50%"}); * new Coord2D({x: 1280, y: "-50%", xoffset: 10, yoffset: 20}); * ``` */ constructor(arg0: { x?: UnknownAble<Coord2DPosition["x"]>; y?: UnknownAble<Coord2DPosition["y"]>; xoffset?: UnknownAble<number>; yoffset?: UnknownAble<number>; }); constructor(x: UnknownAble<Coord2DPosition["x"]>, y: UnknownAble<Coord2DPosition["y"]>); check(): void; toCSS(): D2Position<Coord2DPosition["x"], Coord2DPosition["y"]>; } export declare class Align implements IPosition { static isAlignPosition(arg: any): arg is AlignPosition; readonly xalign: UnknownAble<number>; readonly yalign: UnknownAble<number>; readonly xoffset: UnknownAble<number>; readonly yoffset: UnknownAble<number>; /** * Create a new Align instance * @example * ```ts * new Align(0.5, 0.5); * new Align({xalign: 0.25, yalign: 0.5}); * new Align({xalign: 0.25, yalign: 0.5, xoffset: 10, yoffset: 20}); * ``` */ constructor(xalign?: UnknownAble<number>, yalign?: UnknownAble<number>); constructor(arg0: { xalign?: UnknownAble<number>; yalign?: UnknownAble<number>; xoffset?: UnknownAble<number>; yoffset?: UnknownAble<number>; }); check(): void; toCSS(): D2Position; } export {};