Skip to content

NeoChessBoard

neo-chess-board


Defined in: src/core/NeoChessBoard.ts:229

Constructors

Constructor

new NeoChessBoard(root, options): NeoChessBoard

Defined in: src/core/NeoChessBoard.ts:435

Parameters

root

HTMLElement

options

BoardOptions = {}

Returns

NeoChessBoard

Properties

bus

bus: EventBus\<BoardEventMap>

Defined in: src/core/NeoChessBoard.ts:231


cameraEffects

cameraEffects: CameraEffects | null = null

Defined in: src/core/NeoChessBoard.ts:260


drawingManager

drawingManager: DrawingManager

Defined in: src/core/NeoChessBoard.ts:337


premove

readonly premove: BoardPremoveController

Defined in: src/core/NeoChessBoard.ts:379

Methods

addAnnotationsToCurrentMove()

addAnnotationsToCurrentMove(arrows, circles, comment): void

Defined in: src/core/NeoChessBoard.ts:1299

Parameters

arrows

Arrow[] = []

circles

SquareHighlight[] = []

comment

string = ''

Returns

void


addArrow()

addArrow(arrow): void

Defined in: src/core/NeoChessBoard.ts:1802

Parameters

arrow

Arrow | { color?: string; from: `${string}${number}`; to: `${string}${number}`; }

Returns

void


addClockTime()

addClockTime(color, milliseconds): void

Defined in: src/core/NeoChessBoard.ts:1990

Parameters

color

Color

milliseconds

number

Returns

void


addHighlight()

addHighlight(square, type?): void

Defined in: src/core/NeoChessBoard.ts:1829

Parameters

square

`${string}${number}` | SquareHighlight

type?

string

Returns

void


applyTheme()

applyTheme(theme): void

Defined in: src/core/NeoChessBoard.ts:1386

Parameters

theme

string | Theme

Returns

void


attemptMove()

attemptMove(from, to, options): boolean

Defined in: src/core/NeoChessBoard.ts:1014

Parameters

from

`${string}${number}`

to

`${string}${number}`

options
promotion?

"b" | "r" | "q" | "n"

Returns

boolean


clearAllDrawings()

clearAllDrawings(): void

Defined in: src/core/NeoChessBoard.ts:1877

Returns

void


clearArrows()

clearArrows(): void

Defined in: src/core/NeoChessBoard.ts:1822

Returns

void


clearHighlights()

clearHighlights(): void

Defined in: src/core/NeoChessBoard.ts:1847

Returns

void


clearPremove()

clearPremove(color?): void

Defined in: src/core/NeoChessBoard.ts:1863

Parameters

color?

PremoveColorOption

Returns

void


clearPromotionPreview()

clearPromotionPreview(): void

Defined in: src/core/NeoChessBoard.ts:1916

Returns

void


configure()

configure(configuration): void

Defined in: src/core/NeoChessBoard.ts:1451

Parameters

configuration

BoardConfiguration

Returns

void


convertMoveNotation()

convertMoveNotation(notation, from, to): string | null

Defined in: src/core/NeoChessBoard.ts:1315

Parameters

notation

string

from

MoveNotation

to

MoveNotation

Returns

string | null


coordinatesToSan()

coordinatesToSan(coordinates): string | null

Defined in: src/core/NeoChessBoard.ts:1342

Parameters

coordinates

string

Returns

string | null


coordinatesToUci()

coordinatesToUci(coordinates): string | null

Defined in: src/core/NeoChessBoard.ts:1346

Parameters

coordinates

string

Returns

string | null


destroy()

destroy(): void

Defined in: src/core/NeoChessBoard.ts:2064

Returns

void


exportDrawings()

exportDrawings(): string | null

Defined in: src/core/NeoChessBoard.ts:1886

Returns

string | null


exportPGN()

exportPGN(options): string

Defined in: src/core/NeoChessBoard.ts:1110

Parameters

options
includeComments?

boolean

includeHeaders?

boolean

Returns

string


exportPgnWithAnnotations()

exportPgnWithAnnotations(): string

Defined in: src/core/NeoChessBoard.ts:1291

Returns

string


getCameraTransform()

getCameraTransform(): CameraTransform | null

Defined in: src/core/NeoChessBoard.ts:2013

Returns

CameraTransform | null


getClockState()

getClockState(): ClockState | null

Defined in: src/core/NeoChessBoard.ts:1941

Returns

ClockState | null


getCurrentFEN()

getCurrentFEN(): string

Defined in: src/core/NeoChessBoard.ts:823

Returns

string


getLastPgnLoadIssues()

getLastPgnLoadIssues(): readonly PgnParseError[]

Defined in: src/core/NeoChessBoard.ts:1258

Returns

readonly PgnParseError[]


getMoveHistory()

getMoveHistory(): string[]

Defined in: src/core/NeoChessBoard.ts:875

Returns

string[]


getOrientation()

getOrientation(): "white" | "black"

Defined in: src/core/NeoChessBoard.ts:837

Returns

"white" | "black"


getPendingPromotion()

getPendingPromotion(): PendingPromotionSummary | null

Defined in: src/core/NeoChessBoard.ts:1928

Returns

PendingPromotionSummary | null


getPieceAt()

getPieceAt(square): string | null

Defined in: src/core/NeoChessBoard.ts:845

Parameters

square

`${string}${number}`

Returns

string | null


getPieceSquares()

getPieceSquares(piece): `${string}${number}`[]

Defined in: src/core/NeoChessBoard.ts:858

Returns every square currently occupied by the requested piece.

The piece parameter must use FEN notation: uppercase letters (K, Q, R, B, N, P) target white pieces while their lowercase counterparts (k, q, r, b, n, p) target black pieces. The resulting array is sorted from the lowest rank/file combination (for example a1) up to the highest (such as h8) to provide a stable order for assertions and deterministic rendering helpers.

Parameters

piece

Piece

Returns

`${string}${number}`[]


getPosition()

getPosition(): string

Defined in: src/core/NeoChessBoard.ts:819

Returns

string


getPremove()

getPremove(): Premove | null

Defined in: src/core/NeoChessBoard.ts:1873

Returns

Premove | null


getRootElement()

getRootElement(): HTMLElement

Defined in: src/core/NeoChessBoard.ts:827

Returns

HTMLElement


getTurn()

getTurn(): "w" | "b"

Defined in: src/core/NeoChessBoard.ts:841

Returns

"w" | "b"


importDrawings()

importDrawings(state): void

Defined in: src/core/NeoChessBoard.ts:1890

Parameters

state

string

Returns

void


isDraw()

isDraw(): boolean

Defined in: src/core/NeoChessBoard.ts:882

Returns

boolean


isInsufficientMaterial()

isInsufficientMaterial(): boolean

Defined in: src/core/NeoChessBoard.ts:886

Returns

boolean


isPromotionPending()

isPromotionPending(): boolean

Defined in: src/core/NeoChessBoard.ts:1924

Returns

boolean


isThreefoldRepetition()

isThreefoldRepetition(): boolean

Defined in: src/core/NeoChessBoard.ts:890

Returns

boolean


loadFEN()

loadFEN(fen, immediate): void

Defined in: src/core/NeoChessBoard.ts:907

Parameters

fen

string

immediate

boolean = true

Returns

void


loadPgnWithAnnotations()

loadPgnWithAnnotations(pgnString): boolean

Defined in: src/core/NeoChessBoard.ts:1189

Parameters

pgnString

string

Returns

boolean


loadPgnWithAnnotationsAsync()

loadPgnWithAnnotationsAsync(pgnString): Promise\<boolean>

Defined in: src/core/NeoChessBoard.ts:1227

Load PGN with annotations asynchronously using Web Worker This method is non-blocking and should be used for large files

Parameters

pgnString

string

Returns

Promise\<boolean>


loadPosition()

loadPosition(fen, immediate): void

Defined in: src/core/NeoChessBoard.ts:902

Parameters

fen

string

immediate

boolean = true

Returns

void


on()

on\<K>(event, handler): () => void

Defined in: src/core/NeoChessBoard.ts:2021

Type Parameters

K

K extends keyof BoardEventMap

Parameters

event

K

handler

(payload) => void

Returns

(): void

Returns

void


pauseClock()

pauseClock(): void

Defined in: src/core/NeoChessBoard.ts:1949

Returns

void


previewPromotionPiece()

previewPromotionPiece(piece): void

Defined in: src/core/NeoChessBoard.ts:1902

Parameters

piece

"b" | "r" | "q" | "n" | null

Returns

void


redoMove()

redoMove(immediate): boolean

Defined in: src/core/NeoChessBoard.ts:1058

Parameters

immediate

boolean = false

Returns

boolean


registerExtensionPoint()

registerExtensionPoint\<K>(extensionId, event, handler): () => void

Defined in: src/core/NeoChessBoard.ts:2028

Type Parameters

K

K extends keyof BoardEventMap

Parameters

extensionId

string

event

K

handler

(payload) => void

Returns

(): void

Returns

void


removeArrow()

removeArrow(from, to): void

Defined in: src/core/NeoChessBoard.ts:1815

Parameters

from

`${string}${number}`

to

`${string}${number}`

Returns

void


removeHighlight()

removeHighlight(square): void

Defined in: src/core/NeoChessBoard.ts:1840

Parameters

square

`${string}${number}`

Returns

void


renderAll()

renderAll(): void

Defined in: src/core/NeoChessBoard.ts:2052

Returns

void


requestPuzzleHint()

requestPuzzleHint(type): void

Defined in: src/core/NeoChessBoard.ts:995

Parameters

type

"text" | "origin-highlight"

Returns

void


reset()

reset(immediate): void

Defined in: src/core/NeoChessBoard.ts:911

Parameters

immediate

boolean = true

Returns

void


resetCamera()

resetCamera(animated): Promise\<void>

Defined in: src/core/NeoChessBoard.ts:2008

Parameters

animated

boolean = true

Returns

Promise\<void>


resetClock()

resetClock(config?): void

Defined in: src/core/NeoChessBoard.ts:1953

Parameters

config?

Partial\<ClockConfig> | null

Returns

void


resize()

resize(): void

Defined in: src/core/NeoChessBoard.ts:2044

Returns

void


sanToCoordinates()

sanToCoordinates(san): string | null

Defined in: src/core/NeoChessBoard.ts:1330

Parameters

san

string

Returns

string | null


sanToUci()

sanToUci(san): string | null

Defined in: src/core/NeoChessBoard.ts:1326

Parameters

san

string

Returns

string | null


setAllowDragOffBoard()

setAllowDragOffBoard(allow): void

Defined in: src/core/NeoChessBoard.ts:1551

Parameters

allow

boolean

Returns

void


setAllowDrawingArrows()

setAllowDrawingArrows(allow): void

Defined in: src/core/NeoChessBoard.ts:1769

Parameters

allow

boolean

Returns

void


setAllowPremoves()

setAllowPremoves(allow): void

Defined in: src/core/NeoChessBoard.ts:1746

Parameters

allow

boolean

Returns

void


setAlphaNotationStyle()

setAlphaNotationStyle(style?): void

Defined in: src/core/NeoChessBoard.ts:1704

Parameters

style?

NotationStyleOptions

Returns

void


setAnimation()

setAnimation(animation): void

Defined in: src/core/NeoChessBoard.ts:1492

Parameters

animation

BoardAnimationConfig | undefined

Returns

void


setAnimationDuration()

setAnimationDuration(duration): void

Defined in: src/core/NeoChessBoard.ts:1485

Parameters

duration

number | undefined

Returns

void


setArrowOptions()

setArrowOptions(options?): void

Defined in: src/core/NeoChessBoard.ts:1779

Parameters

options?

ArrowStyleOptions

Returns

void


setArrows()

setArrows(arrows): void

Defined in: src/core/NeoChessBoard.ts:1785

Parameters

arrows

Arrow[] | undefined

Returns

void


setAutoFlip()

setAutoFlip(autoFlip): void

Defined in: src/core/NeoChessBoard.ts:1478

Parameters

autoFlip

boolean

Returns

void


setAutoScrollEnabled()

setAutoScrollEnabled(allow): void

Defined in: src/core/NeoChessBoard.ts:1629

Parameters

allow

boolean

Returns

void


setBoardId()

setBoardId(id?): void

Defined in: src/core/NeoChessBoard.ts:1653

Parameters

id?

string

Returns

void


setBoardStyle()

setBoardStyle(style?): void

Defined in: src/core/NeoChessBoard.ts:1649

Parameters

style?

InlineStyle

Returns

void


setCanDragPiece()

setCanDragPiece(evaluator): void

Defined in: src/core/NeoChessBoard.ts:1638

Parameters

evaluator

(params) => boolean | undefined

Returns

void


setClearArrowsOnClick()

setClearArrowsOnClick(clear): void

Defined in: src/core/NeoChessBoard.ts:1774

Parameters

clear

boolean

Returns

void


setClockTime()

setClockTime(color, milliseconds): void

Defined in: src/core/NeoChessBoard.ts:1986

Parameters

color

Color

milliseconds

number

Returns

void


setDarkSquareNotationStyle()

setDarkSquareNotationStyle(style?): void

Defined in: src/core/NeoChessBoard.ts:1698

Parameters

style?

NotationStyleOptions

Returns

void


setDarkSquareStyle()

setDarkSquareStyle(style?): void

Defined in: src/core/NeoChessBoard.ts:1672

Parameters

style?

SquareStyleOptions

Returns

void


setDragActivationDistance()

setDragActivationDistance(distance): void

Defined in: src/core/NeoChessBoard.ts:1642

Parameters

distance

number

Returns

void


setDraggingEnabled()

setDraggingEnabled(enabled): void

Defined in: src/core/NeoChessBoard.ts:1538

Parameters

enabled

boolean

Returns

void


setFEN()

setFEN(fen, immediate): void

Defined in: src/core/NeoChessBoard.ts:917

Parameters

fen

string

immediate

boolean = false

Returns

void


setHighlightLegal()

setHighlightLegal(highlight): void

Defined in: src/core/NeoChessBoard.ts:1756

Parameters

highlight

boolean

Returns

void


setLightSquareNotationStyle()

setLightSquareNotationStyle(style?): void

Defined in: src/core/NeoChessBoard.ts:1692

Parameters

style?

NotationStyleOptions

Returns

void


setLightSquareStyle()

setLightSquareStyle(style?): void

Defined in: src/core/NeoChessBoard.ts:1667

Parameters

style?

SquareStyleOptions

Returns

void


setNumericNotationStyle()

setNumericNotationStyle(style?): void

Defined in: src/core/NeoChessBoard.ts:1710

Parameters

style?

NotationStyleOptions

Returns

void


setOnArrowsChange()

setOnArrowsChange(handler?): void

Defined in: src/core/NeoChessBoard.ts:1794

Parameters

handler?

(arrows) => void

Returns

void


setOrientation()

setOrientation(orientation): void

Defined in: src/core/NeoChessBoard.ts:1426

Parameters

orientation

"white" | "black"

Returns

void


setPieceRenderers()

setPieceRenderers(renderers?): void

Defined in: src/core/NeoChessBoard.ts:1728

Parameters

renderers?

Partial\<Record\<Piece, PieceRenderer>>

Returns

void


setPieceSet()

setPieceSet(pieceSet?): Promise\<void>

Defined in: src/core/NeoChessBoard.ts:1413

Parameters

pieceSet?

PieceSet | null

Returns

Promise\<void>


setPosition()

setPosition(fen, immediate): void

Defined in: src/core/NeoChessBoard.ts:898

Parameters

fen

string

immediate

boolean = false

Returns

void


setPremove()

setPremove(premove, color?): void

Defined in: src/core/NeoChessBoard.ts:1854

Parameters

premove

Premove

color?

ColorInput

Returns

void


setRenderObserver()

setRenderObserver(observer): void

Defined in: src/core/NeoChessBoard.ts:831

Parameters

observer

RenderObserver | null

Returns

void


setShowAnimations()

setShowAnimations(show): void

Defined in: src/core/NeoChessBoard.ts:1509

Parameters

show

boolean

Returns

void


setShowArrows()

setShowArrows(show): void

Defined in: src/core/NeoChessBoard.ts:1736

Parameters

show

boolean

Returns

void


setShowHighlights()

setShowHighlights(show): void

Defined in: src/core/NeoChessBoard.ts:1741

Parameters

show

boolean

Returns

void


setShowNotation()

setShowNotation(show): void

Defined in: src/core/NeoChessBoard.ts:1716

Parameters

show

boolean

Returns

void


setShowSquareNames()

setShowSquareNames(show): void

Defined in: src/core/NeoChessBoard.ts:1761

Parameters

show

boolean

Returns

void


setSoundEnabled()

setSoundEnabled(enabled): void

Defined in: src/core/NeoChessBoard.ts:1438

Parameters

enabled

boolean

Returns

void


setSoundEventUrls()

setSoundEventUrls(soundEventUrls): void

Defined in: src/core/NeoChessBoard.ts:1447

Parameters

soundEventUrls

Partial\<Record\<BoardSoundEventType, BoardSoundEventUrl>> | undefined

Returns

void


setSoundUrls()

setSoundUrls(soundUrls): void

Defined in: src/core/NeoChessBoard.ts:1443

Parameters

soundUrls

Partial\<Record\<"white" | "black", string>> | undefined

Returns

void


setSquareRenderer()

setSquareRenderer(renderer?): void

Defined in: src/core/NeoChessBoard.ts:1720

Parameters

renderer?

SquareRenderer

Returns

void


setSquareStyle()

setSquareStyle(style?): void

Defined in: src/core/NeoChessBoard.ts:1662

Parameters

style?

SquareStyleOptions

Returns

void


setSquareStyles()

setSquareStyles(styles?): void

Defined in: src/core/NeoChessBoard.ts:1677

Parameters

styles?

Partial\<Record\<`${string}${number}`, SquareStyleOptions>>

Returns

void


setTheme()

setTheme(theme): void

Defined in: src/core/NeoChessBoard.ts:1354

Parameters

theme

string | Partial\<Theme>

Returns

void


showPgnAnnotationsForPly()

showPgnAnnotationsForPly(ply): boolean

Defined in: src/core/NeoChessBoard.ts:1262

Parameters

ply

number

Returns

boolean


startClock()

startClock(): void

Defined in: src/core/NeoChessBoard.ts:1945

Returns

void


submitMove()

submitMove(notation): boolean

Defined in: src/core/NeoChessBoard.ts:956

Parameters

notation

string

Returns

boolean


uciToCoordinates()

uciToCoordinates(uci): string | null

Defined in: src/core/NeoChessBoard.ts:1338

Parameters

uci

string

Returns

string | null


uciToSan()

uciToSan(uci): string | null

Defined in: src/core/NeoChessBoard.ts:1334

Parameters

uci

string

Returns

string | null


undoMove()

undoMove(immediate): boolean

Defined in: src/core/NeoChessBoard.ts:1023

Parameters

immediate

boolean = false

Returns

boolean


zoomToMove()

zoomToMove(from, to, scale): Promise\<void>

Defined in: src/core/NeoChessBoard.ts:2003

Parameters

from

`${string}${number}`

to

`${string}${number}`

scale

number = 1.8

Returns

Promise\<void>


zoomToSquare()

zoomToSquare(square, scale): Promise\<void>

Defined in: src/core/NeoChessBoard.ts:1998

Parameters

square

`${string}${number}`

scale

number = 2

Returns

Promise\<void>