chess-board
Version:
A web component for displaying chess positions.
34 lines (33 loc) • 1.19 kB
TypeScript
declare const FILES: readonly ["a", "b", "c", "d", "e", "f", "g", "h"];
export type File = (typeof FILES)[number];
export type Rank = "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8";
export type Square = `${File}${Rank}`;
export type WhitePiece = "K" | "Q" | "R" | "B" | "N" | "P";
export type BlackPiece = "k" | "q" | "r" | "b" | "n" | "p";
export type Piece = WhitePiece | BlackPiece;
export type PieceOrEmpty = Piece | "";
export declare class ChessBoardElement extends HTMLElement {
private _board;
private _table;
private _observer;
private _lastUnicode;
static get observedAttributes(): string[];
constructor();
connectedCallback(): void;
disconnectedCallback(): void;
attributeChangedCallback(name: string, _oldValue: string | null, _newValue: string | null): void;
get fen(): string;
set fen(value: string);
piece(square: Square): PieceOrEmpty;
put(square: Square, piece: Piece): void;
clear(square: Square): void;
move(from: Square, to: Square): void;
clearBoard(): void;
private _renderBoard;
}
declare global {
interface HTMLElementTagNameMap {
"chess-board": ChessBoardElement;
}
}
export {};