UNPKG

chessground-haichess

Version:
89 lines (88 loc) 3.01 kB
export declare type Color = typeof colors[number]; export declare type Role = 'king' | 'queen' | 'rook' | 'bishop' | 'knight' | 'pawn'; export declare type File = typeof files[number]; export declare type Rank = typeof ranks[number]; export declare type Key = 'a0' | 'a1' | 'a2' | 'a3' | 'a4' | 'a5' | 'a6' | 'a7' | 'a8' | 'b1' | 'b2' | 'b3' | 'b4' | 'b5' | 'b6' | 'b7' | 'b8' | 'c1' | 'c2' | 'c3' | 'c4' | 'c5' | 'c6' | 'c7' | 'c8' | 'd1' | 'd2' | 'd3' | 'd4' | 'd5' | 'd6' | 'd7' | 'd8' | 'e1' | 'e2' | 'e3' | 'e4' | 'e5' | 'e6' | 'e7' | 'e8' | 'f1' | 'f2' | 'f3' | 'f4' | 'f5' | 'f6' | 'f7' | 'f8' | 'g1' | 'g2' | 'g3' | 'g4' | 'g5' | 'g6' | 'g7' | 'g8' | 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'h7' | 'h8'; export declare type FEN = string; export declare type Pos = [number, number]; export interface Piece { role: Role; color: Color; promoted?: boolean; } export interface Drop { role: Role; key: Key; } export declare type Pieces = Map<Key, Piece>; export declare type PiecesDiff = Map<Key, Piece | undefined>; export declare type KeyPair = [Key, Key]; export declare type NumberPair = [number, number]; export declare type NumberQuad = [number, number, number, number]; export interface Rect { left: number; top: number; width: number; height: number; } export declare type Dests = Map<Key, Key[]>; export interface Elements { board: HTMLElement; container: HTMLElement; ghost?: HTMLElement; svg?: SVGElement; customSvg?: SVGElement; } export interface Dom { elements: Elements; bounds: Memo<ClientRect>; redraw: () => void; redrawNow: (skipSvg?: boolean) => void; unbind?: Unbind; destroyed?: boolean; relative?: boolean; } export interface Exploding { stage: number; keys: readonly Key[]; } export interface MoveMetadata { premove: boolean; ctrlKey?: boolean; holdTime?: number; captured?: Piece; predrop?: boolean; } export interface SetPremoveMetadata { ctrlKey?: boolean; } export declare type MouchEvent = Event & Partial<MouseEvent & TouchEvent>; export interface KeyedNode extends HTMLElement { cgKey: Key; } export interface PieceNode extends KeyedNode { tagName: 'PIECE'; cgPiece: string; cgAnimating?: boolean; cgFading?: boolean; cgDragging?: boolean; } export interface SquareNode extends KeyedNode { tagName: 'SQUARE'; } export interface Memo<A> { (): A; clear: () => void; } export interface Timer { start: () => void; cancel: () => void; stop: () => number; } export declare type Redraw = () => void; export declare type Unbind = () => void; export declare type Milliseconds = number; export declare type KHz = number; export declare const colors: readonly ["white", "black"]; export declare const files: readonly ["a", "b", "c", "d", "e", "f", "g", "h"]; export declare const ranks: readonly ["1", "2", "3", "4", "5", "6", "7", "8"];