react-native-chess-kit 0.2.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/board-piece.js +35 -18
- package/lib/commonjs/board-piece.js.map +1 -1
- package/lib/commonjs/board.js +65 -51
- package/lib/commonjs/board.js.map +1 -1
- package/lib/commonjs/use-board-state.js +3 -1
- package/lib/commonjs/use-board-state.js.map +1 -1
- package/lib/module/board-piece.js +35 -18
- package/lib/module/board-piece.js.map +1 -1
- package/lib/module/board.js +65 -51
- package/lib/module/board.js.map +1 -1
- package/lib/module/use-board-state.js +3 -1
- package/lib/module/use-board-state.js.map +1 -1
- package/lib/typescript/board-piece.d.ts +12 -8
- package/lib/typescript/board-piece.d.ts.map +1 -1
- package/lib/typescript/board.d.ts.map +1 -1
- package/lib/typescript/types.d.ts +2 -1
- package/lib/typescript/types.d.ts.map +1 -1
- package/lib/typescript/use-board-state.d.ts +2 -0
- package/lib/typescript/use-board-state.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/board-piece.tsx +31 -21
- package/src/board.tsx +66 -58
- package/src/types.ts +2 -2
- package/src/use-board-state.ts +5 -0
package/lib/module/board.js
CHANGED
|
@@ -159,50 +159,40 @@ export const Board = /*#__PURE__*/forwardRef(function Board({
|
|
|
159
159
|
// a visual effect only — the rotation shared value is available for consumers
|
|
160
160
|
// who want to add a rotation transition effect.
|
|
161
161
|
|
|
162
|
-
// ---
|
|
163
|
-
|
|
162
|
+
// --- Internal FEN state ---
|
|
163
|
+
// The Board owns a private FEN that drives piece rendering.
|
|
164
|
+
// It starts from the parent prop and stays in sync via useEffect,
|
|
165
|
+
// but can temporarily diverge when the library applies a user move
|
|
166
|
+
// before the parent validates it (enables Chess.com-style "show move
|
|
167
|
+
// then revert" behavior via undo()).
|
|
168
|
+
const [internalFen, setInternalFen] = useState(fen);
|
|
164
169
|
|
|
165
|
-
// --- Chess.js for legal move validation ---
|
|
170
|
+
// --- Chess.js for legal move validation + internal state ---
|
|
166
171
|
const boardState = useBoardState(fen);
|
|
167
172
|
|
|
168
|
-
// Sync internal chess.js when parent changes FEN
|
|
173
|
+
// Sync internal FEN + chess.js when parent changes the prop FEN.
|
|
174
|
+
// This covers: accepted moves (parent updates FEN), board reset,
|
|
175
|
+
// and opponent programmatic moves.
|
|
169
176
|
useEffect(() => {
|
|
177
|
+
setInternalFen(fen);
|
|
170
178
|
boardState.loadFen(fen);
|
|
171
179
|
}, [fen, boardState]);
|
|
172
180
|
|
|
181
|
+
// --- Piece data from internal FEN ---
|
|
182
|
+
const pieces = useBoardPieces(internalFen);
|
|
183
|
+
|
|
173
184
|
// --- Check detection ---
|
|
174
|
-
|
|
185
|
+
// Detect if the side to move is in check by parsing the FEN.
|
|
186
|
+
// chess.js isInCheck() isn't exposed through boardState, so we use
|
|
187
|
+
// a simple heuristic: if the FEN has the king of the side to move
|
|
188
|
+
// attacked, highlight it.
|
|
189
|
+
const checkSquareState = useMemo(() => {
|
|
175
190
|
try {
|
|
176
|
-
|
|
177
|
-
const chess = boardState;
|
|
178
|
-
const tempFen = chess.getFen();
|
|
179
|
-
// Use a simple approach: check if the FEN active color king is in check
|
|
180
|
-
// by trying to detect via chess.js internal state
|
|
181
|
-
return false; // Will be properly wired below
|
|
191
|
+
return detectCheckSquare(internalFen, () => boardState.isInCheck(), boardState.getTurn);
|
|
182
192
|
} catch {
|
|
183
|
-
return
|
|
193
|
+
return null;
|
|
184
194
|
}
|
|
185
|
-
},
|
|
186
|
-
|
|
187
|
-
// Better check detection: use chess.js directly
|
|
188
|
-
const [checkSquareState, setCheckSquareState] = useState(null);
|
|
189
|
-
useEffect(() => {
|
|
190
|
-
// chess.js exposes isCheck() — we need to detect from the FEN position
|
|
191
|
-
// Since boardState wraps chess.js, we detect check by checking if the
|
|
192
|
-
// current side to move has their king in check
|
|
193
|
-
try {
|
|
194
|
-
const square = detectCheckSquare(fen, () => {
|
|
195
|
-
// Attempt move detection: if the position is in check,
|
|
196
|
-
// chess.js will reflect this. We parse the FEN to find the king.
|
|
197
|
-
// For now, use a simple heuristic: try to detect from the position.
|
|
198
|
-
// The real check is done via board state.
|
|
199
|
-
return boardState.getTurn() !== undefined; // placeholder
|
|
200
|
-
}, boardState.getTurn);
|
|
201
|
-
setCheckSquareState(square);
|
|
202
|
-
} catch {
|
|
203
|
-
setCheckSquareState(null);
|
|
204
|
-
}
|
|
205
|
-
}, [fen, boardState]);
|
|
195
|
+
}, [internalFen, boardState]);
|
|
206
196
|
|
|
207
197
|
// --- Selection state ---
|
|
208
198
|
const [selectedSquare, setSelectedSquare] = useState(null);
|
|
@@ -270,7 +260,6 @@ export const Board = /*#__PURE__*/forwardRef(function Board({
|
|
|
270
260
|
// Check for promotion
|
|
271
261
|
if (isPromotionMove(from, to)) {
|
|
272
262
|
if (onPromotion) {
|
|
273
|
-
// Show promotion picker or get choice from callback
|
|
274
263
|
const piece = pieces.find(p => p.square === from);
|
|
275
264
|
const color = piece?.color ?? 'w';
|
|
276
265
|
setPromotionState({
|
|
@@ -280,7 +269,11 @@ export const Board = /*#__PURE__*/forwardRef(function Board({
|
|
|
280
269
|
});
|
|
281
270
|
return;
|
|
282
271
|
}
|
|
283
|
-
// Auto-promote to queen
|
|
272
|
+
// Auto-promote to queen
|
|
273
|
+
const result = boardState.applyMove(from, to, 'q');
|
|
274
|
+
if (result.applied && result.fen) {
|
|
275
|
+
setInternalFen(result.fen);
|
|
276
|
+
}
|
|
284
277
|
onMove?.({
|
|
285
278
|
from,
|
|
286
279
|
to
|
|
@@ -288,12 +281,20 @@ export const Board = /*#__PURE__*/forwardRef(function Board({
|
|
|
288
281
|
return;
|
|
289
282
|
}
|
|
290
283
|
|
|
291
|
-
//
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
284
|
+
// Apply the move visually FIRST (Chess.com-style: show the move,
|
|
285
|
+
// then let the parent validate). The parent can call undo() to
|
|
286
|
+
// revert if the move is rejected.
|
|
287
|
+
const result = boardState.applyMove(from, to);
|
|
288
|
+
if (result.applied && result.fen) {
|
|
289
|
+
setInternalFen(result.fen);
|
|
290
|
+
onMove?.({
|
|
291
|
+
from,
|
|
292
|
+
to
|
|
293
|
+
});
|
|
294
|
+
}
|
|
295
|
+
// If chess.js rejected the move (truly illegal), do nothing —
|
|
296
|
+
// piece stays at its original square.
|
|
297
|
+
}, [onMove, onPromotion, isPromotionMove, pieces, boardState]);
|
|
297
298
|
|
|
298
299
|
// --- Promotion picker handlers ---
|
|
299
300
|
const handlePromotionSelect = useCallback(async piece => {
|
|
@@ -303,26 +304,32 @@ export const Board = /*#__PURE__*/forwardRef(function Board({
|
|
|
303
304
|
to
|
|
304
305
|
} = promotionState;
|
|
305
306
|
setPromotionState(null);
|
|
306
|
-
|
|
307
|
-
// If consumer provided onPromotion, call it for confirmation
|
|
307
|
+
const promo = piece.toLowerCase();
|
|
308
308
|
if (onPromotion) {
|
|
309
309
|
try {
|
|
310
310
|
const choice = await onPromotion(from, to);
|
|
311
|
-
|
|
311
|
+
const result = boardState.applyMove(from, to, choice);
|
|
312
|
+
if (result.applied && result.fen) {
|
|
313
|
+
setInternalFen(result.fen);
|
|
314
|
+
}
|
|
312
315
|
onMove?.({
|
|
313
316
|
from,
|
|
314
317
|
to
|
|
315
318
|
});
|
|
316
319
|
} catch {
|
|
317
|
-
// Promotion cancelled
|
|
320
|
+
// Promotion cancelled — piece stays at origin
|
|
318
321
|
}
|
|
319
322
|
} else {
|
|
323
|
+
const result = boardState.applyMove(from, to, promo);
|
|
324
|
+
if (result.applied && result.fen) {
|
|
325
|
+
setInternalFen(result.fen);
|
|
326
|
+
}
|
|
320
327
|
onMove?.({
|
|
321
328
|
from,
|
|
322
329
|
to
|
|
323
330
|
});
|
|
324
331
|
}
|
|
325
|
-
}, [promotionState, onPromotion, onMove]);
|
|
332
|
+
}, [promotionState, onPromotion, onMove, boardState]);
|
|
326
333
|
const handlePromotionCancel = useCallback(() => {
|
|
327
334
|
setPromotionState(null);
|
|
328
335
|
}, []);
|
|
@@ -349,7 +356,8 @@ export const Board = /*#__PURE__*/forwardRef(function Board({
|
|
|
349
356
|
if (consumed) {
|
|
350
357
|
// Try to execute the premove
|
|
351
358
|
const result = boardState.applyMove(consumed.from, consumed.to, consumed.promotion);
|
|
352
|
-
if (result.applied) {
|
|
359
|
+
if (result.applied && result.fen) {
|
|
360
|
+
setInternalFen(result.fen);
|
|
353
361
|
onMove?.({
|
|
354
362
|
from: consumed.from,
|
|
355
363
|
to: consumed.to
|
|
@@ -402,12 +410,14 @@ export const Board = /*#__PURE__*/forwardRef(function Board({
|
|
|
402
410
|
|
|
403
411
|
// --- Imperative ref ---
|
|
404
412
|
useImperativeHandle(ref, () => ({
|
|
405
|
-
move:
|
|
406
|
-
boardState.applyMove(
|
|
413
|
+
move: moveArg => {
|
|
414
|
+
const result = boardState.applyMove(moveArg.from, moveArg.to, moveArg.promotion);
|
|
415
|
+
if (result.applied && result.fen) {
|
|
416
|
+
setInternalFen(result.fen);
|
|
417
|
+
}
|
|
407
418
|
},
|
|
408
419
|
highlight: (square, color) => {
|
|
409
420
|
setImperativeHighlights(prev => {
|
|
410
|
-
// Replace existing highlight on same square, or add new
|
|
411
421
|
const filtered = prev.filter(h => h.square !== square);
|
|
412
422
|
return [...filtered, {
|
|
413
423
|
square,
|
|
@@ -420,6 +430,7 @@ export const Board = /*#__PURE__*/forwardRef(function Board({
|
|
|
420
430
|
},
|
|
421
431
|
resetBoard: newFen => {
|
|
422
432
|
boardState.loadFen(newFen);
|
|
433
|
+
setInternalFen(newFen);
|
|
423
434
|
setSelectedSquare(null);
|
|
424
435
|
setLegalMoves([]);
|
|
425
436
|
setImperativeHighlights([]);
|
|
@@ -427,7 +438,10 @@ export const Board = /*#__PURE__*/forwardRef(function Board({
|
|
|
427
438
|
setPromotionState(null);
|
|
428
439
|
},
|
|
429
440
|
undo: () => {
|
|
430
|
-
boardState.undoMove();
|
|
441
|
+
const prevFen = boardState.undoMove();
|
|
442
|
+
if (prevFen) {
|
|
443
|
+
setInternalFen(prevFen);
|
|
444
|
+
}
|
|
431
445
|
setSelectedSquare(null);
|
|
432
446
|
setLegalMoves([]);
|
|
433
447
|
},
|
package/lib/module/board.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","forwardRef","useState","useCallback","useImperativeHandle","useEffect","useMemo","useRef","View","GestureDetector","useSharedValue","withTiming","DEFAULT_BOARD_COLORS","DEFAULT_MOVE_DURATION","DEFAULT_LAST_MOVE_COLOR","DEFAULT_CHECK_COLOR","DEFAULT_SELECTED_COLOR","DEFAULT_PREMOVE_COLOR","DEFAULT_DRAG_TARGET_COLOR","DefaultPieceSet","useBoardPieces","useBoardState","useBoardGesture","usePremove","BoardBackground","BoardCoordinates","BoardHighlights","DragTargetHighlight","BoardLegalDots","BoardPiecesLayer","BoardDragGhost","BoardArrows","BoardAnnotations","PromotionPicker","jsx","_jsx","jsxs","_jsxs","detectCheckSquare","fen","isInCheck","getTurn","turn","kingChar","placement","split","ranks","rankIdx","length","rank","fileIdx","char","parseInt","files","Board","orientation","boardSize","boardSizeProp","gestureEnabled","player","moveMethod","showLegalMoves","premovesEnabled","colors","withLetters","withNumbers","renderPiece","pieceSet","lastMove","highlights","arrows","shapes","annotations","showDragTarget","lastMoveColor","checkHighlightColor","selectedSquareColor","premoveColor","dragTargetColor","moveDuration","animationConfig","animateFlip","onPromotion","onMove","onPieceClick","onSquareClick","onPieceDragBegin","onPieceDragEnd","onSquareLongPress","onPremove","onHaptic","ref","measuredSize","setMeasuredSize","handleLayout","e","width","height","nativeEvent","layout","Math","min","squareSize","boardColors","flipRotation","prevOrientationRef","current","value","duration","pieces","boardState","loadFen","checkSquare","chess","tempFen","getFen","checkSquareState","setCheckSquareState","square","undefined","selectedSquare","setSelectedSquare","legalMoves","setLegalMoves","imperativeHighlights","setImperativeHighlights","premove","setPremove","clearPremove","consumePremove","promotionState","setPromotionState","resolvedRenderer","set","code","size","renderer","style","isPromotionMove","from","to","piece","find","p","toRank","color","handlePieceSelected","getLegalMoves","handleSelectionCleared","handlePieceMoved","handlePromotionSelect","choice","handlePromotionCancel","handlePremoveSet","pm","premovePiece","consumed","result","applyMove","promotion","applied","richCallbacks","premoveCallbacks","onPremoveSet","gesture","gestureState","callbacks","onPieceSelected","onPieceMoved","onSelectionCleared","currentTurn","move","highlight","prev","filtered","filter","h","clearHighlights","resetBoard","newFen","undo","undoMove","clearPremoves","flex","aspectRatio","onLayout","children","accessibilityLabel","accessibilityRole","lightColor","light","darkColor","dark","checkColor","selectedColor","premoveSquares","dragTargetSquare","activeSquare","isDragging","dragX","dragY","dragPieceCode","pieceColor","onSelect","onCancel"],"sourceRoot":"..\\..\\src","sources":["board.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","forwardRef","useState","useCallback","useImperativeHandle","useEffect","useMemo","useRef","View","GestureDetector","useSharedValue","withTiming","DEFAULT_BOARD_COLORS","DEFAULT_MOVE_DURATION","DEFAULT_LAST_MOVE_COLOR","DEFAULT_CHECK_COLOR","DEFAULT_SELECTED_COLOR","DEFAULT_PREMOVE_COLOR","DEFAULT_DRAG_TARGET_COLOR","DefaultPieceSet","useBoardPieces","useBoardState","useBoardGesture","usePremove","BoardBackground","BoardCoordinates","BoardHighlights","DragTargetHighlight","BoardLegalDots","BoardPiecesLayer","BoardDragGhost","BoardArrows","BoardAnnotations","PromotionPicker","jsx","_jsx","jsxs","_jsxs","detectCheckSquare","fen","isInCheck","getTurn","turn","kingChar","placement","split","ranks","rankIdx","length","rank","fileIdx","char","parseInt","files","Board","orientation","boardSize","boardSizeProp","gestureEnabled","player","moveMethod","showLegalMoves","premovesEnabled","colors","withLetters","withNumbers","renderPiece","pieceSet","lastMove","highlights","arrows","shapes","annotations","showDragTarget","lastMoveColor","checkHighlightColor","selectedSquareColor","premoveColor","dragTargetColor","moveDuration","animationConfig","animateFlip","onPromotion","onMove","onPieceClick","onSquareClick","onPieceDragBegin","onPieceDragEnd","onSquareLongPress","onPremove","onHaptic","ref","measuredSize","setMeasuredSize","handleLayout","e","width","height","nativeEvent","layout","Math","min","squareSize","boardColors","flipRotation","prevOrientationRef","current","value","duration","internalFen","setInternalFen","boardState","loadFen","pieces","checkSquareState","selectedSquare","setSelectedSquare","legalMoves","setLegalMoves","imperativeHighlights","setImperativeHighlights","premove","setPremove","clearPremove","consumePremove","promotionState","setPromotionState","resolvedRenderer","set","code","size","renderer","style","isPromotionMove","from","to","piece","find","p","square","toRank","color","handlePieceSelected","getLegalMoves","handleSelectionCleared","handlePieceMoved","result","applyMove","applied","handlePromotionSelect","promo","toLowerCase","choice","handlePromotionCancel","handlePremoveSet","pm","premovePiece","consumed","promotion","richCallbacks","premoveCallbacks","onPremoveSet","gesture","gestureState","callbacks","onPieceSelected","onPieceMoved","onSelectionCleared","currentTurn","move","moveArg","highlight","prev","filtered","filter","h","clearHighlights","resetBoard","newFen","undo","prevFen","undoMove","clearPremoves","flex","aspectRatio","onLayout","children","undefined","accessibilityLabel","accessibilityRole","lightColor","light","darkColor","dark","checkSquare","checkColor","selectedColor","premoveSquares","dragTargetSquare","activeSquare","isDragging","dragX","dragY","dragPieceCode","pieceColor","onSelect","onCancel"],"sourceRoot":"..\\..\\src","sources":["board.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -61,6 +61,7 @@ export function useBoardState(initialFen) {
|
|
|
61
61
|
}, []);
|
|
62
62
|
const getFen = useCallback(() => chessRef.current.fen(), []);
|
|
63
63
|
const getTurn = useCallback(() => chessRef.current.turn(), []);
|
|
64
|
+
const isInCheck = useCallback(() => chessRef.current.isCheck(), []);
|
|
64
65
|
return {
|
|
65
66
|
getLegalMoves,
|
|
66
67
|
isPlayerPiece,
|
|
@@ -68,7 +69,8 @@ export function useBoardState(initialFen) {
|
|
|
68
69
|
undoMove,
|
|
69
70
|
loadFen,
|
|
70
71
|
getFen,
|
|
71
|
-
getTurn
|
|
72
|
+
getTurn,
|
|
73
|
+
isInCheck
|
|
72
74
|
};
|
|
73
75
|
}
|
|
74
76
|
//# sourceMappingURL=use-board-state.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useRef","useCallback","Chess","useBoardState","initialFen","chessRef","current","getLegalMoves","square","moves","verbose","map","m","to","isCapture","captured","undefined","isPlayerPiece","pieces","player","piece","find","p","pieceColor","color","applyMove","from","promotion","move","applied","fen","undoMove","result","undo","loadFen","load","getFen","getTurn","turn"],"sourceRoot":"..\\..\\src","sources":["use-board-state.ts"],"mappings":";;AAAA,SAASA,MAAM,EAAEC,WAAW,QAAQ,OAAO;AAC3C,SAASC,KAAK,QAAQ,UAAU;
|
|
1
|
+
{"version":3,"names":["useRef","useCallback","Chess","useBoardState","initialFen","chessRef","current","getLegalMoves","square","moves","verbose","map","m","to","isCapture","captured","undefined","isPlayerPiece","pieces","player","piece","find","p","pieceColor","color","applyMove","from","promotion","move","applied","fen","undoMove","result","undo","loadFen","load","getFen","getTurn","turn","isInCheck","isCheck"],"sourceRoot":"..\\..\\src","sources":["use-board-state.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -22,20 +22,24 @@ type BoardPieceProps = {
|
|
|
22
22
|
/**
|
|
23
23
|
* A single animated chess piece.
|
|
24
24
|
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
25
|
+
* Uses two nested Animated.Views to avoid the Reanimated warning
|
|
26
|
+
* "Property opacity may be overwritten by a layout animation":
|
|
27
|
+
*
|
|
28
|
+
* Outer view: position (transform) + exiting layout animation (FadeOut)
|
|
29
|
+
* Inner view: drag-hide opacity
|
|
30
|
+
*
|
|
31
|
+
* Only `transform` and `opacity` are animated — Reanimated's fast path
|
|
32
|
+
* on Android. No layout properties (top/left/width/height), avoiding
|
|
33
|
+
* costly layout recalculations on low-end devices.
|
|
28
34
|
*
|
|
29
35
|
* During drag:
|
|
30
|
-
* -
|
|
31
|
-
* - No position changes on the original piece during drag
|
|
36
|
+
* - Inner view hides (opacity: 0) — the drag ghost shows instead
|
|
32
37
|
*
|
|
33
38
|
* After a move:
|
|
34
|
-
* -
|
|
35
|
-
* - Animation style controlled by user's animationConfig or moveDuration
|
|
39
|
+
* - Outer view snaps to new position via withTiming/withSpring
|
|
36
40
|
*
|
|
37
41
|
* On capture (unmount):
|
|
38
|
-
* -
|
|
42
|
+
* - Outer view fades out via exiting FadeOut (no conflict with inner opacity)
|
|
39
43
|
*/
|
|
40
44
|
export declare const BoardPieceView: React.NamedExoticComponent<BoardPieceProps>;
|
|
41
45
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"board-piece.d.ts","sourceRoot":"","sources":["../../src/board-piece.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoB,MAAM,OAAO,CAAC;AACzC,OAAiB,EAMf,KAAK,WAAW,EACjB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAG/C,KAAK,eAAe,GAAG;IACrB,6DAA6D;IAC7D,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,4BAA4B;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,6DAA6D;IAC7D,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,6DAA6D;IAC7D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,4DAA4D;IAC5D,QAAQ,EAAE,KAAK,CAAC,YAAY,CAAC;IAC7B,4DAA4D;IAC5D,YAAY,EAAE,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACzC,UAAU,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IACjC,kCAAkC;IAClC,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AA8BF
|
|
1
|
+
{"version":3,"file":"board-piece.d.ts","sourceRoot":"","sources":["../../src/board-piece.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoB,MAAM,OAAO,CAAC;AACzC,OAAiB,EAMf,KAAK,WAAW,EACjB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAG/C,KAAK,eAAe,GAAG;IACrB,6DAA6D;IAC7D,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,4BAA4B;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,6DAA6D;IAC7D,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,6DAA6D;IAC7D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,4DAA4D;IAC5D,QAAQ,EAAE,KAAK,CAAC,YAAY,CAAC;IAC7B,4DAA4D;IAC5D,YAAY,EAAE,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACzC,UAAU,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IACjC,kCAAkC;IAClC,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AA8BF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,cAAc,6CAqE1B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"board.d.ts","sourceRoot":"","sources":["../../src/board.tsx"],"names":[],"mappings":"AAAA,OAAO,KAQN,MAAM,OAAO,CAAC;AASf,OAAO,KAAK,EACV,QAAQ,EACR,UAAU,EAKX,MAAM,SAAS,CAAC;AAoEjB;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,KAAK,
|
|
1
|
+
{"version":3,"file":"board.d.ts","sourceRoot":"","sources":["../../src/board.tsx"],"names":[],"mappings":"AAAA,OAAO,KAQN,MAAM,OAAO,CAAC;AASf,OAAO,KAAK,EACV,QAAQ,EACR,UAAU,EAKX,MAAM,SAAS,CAAC;AAoEjB;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,KAAK,6EAggBhB,CAAC"}
|
|
@@ -108,10 +108,11 @@ export type BoardTheme = {
|
|
|
108
108
|
};
|
|
109
109
|
};
|
|
110
110
|
export type BoardRef = {
|
|
111
|
-
/**
|
|
111
|
+
/** Programmatically apply a move. Animates the piece to the target square. */
|
|
112
112
|
move: (move: {
|
|
113
113
|
from: string;
|
|
114
114
|
to: string;
|
|
115
|
+
promotion?: string;
|
|
115
116
|
}) => void;
|
|
116
117
|
/** Highlight a square with a color. Adds to existing imperative highlights. */
|
|
117
118
|
highlight: (square: string, color: string) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAM3D,qCAAqC;AACrC,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,OAAO,CAAC;AAE3C,yCAAyC;AACzC,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;AAEnD,6BAA6B;AAC7B,MAAM,MAAM,cAAc,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;AAEnD,uFAAuF;AACvF,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;AAMjE,uDAAuD;AACvD,MAAM,MAAM,SAAS,GACjB,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GACvC,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAE5C,iEAAiE;AACjE,MAAM,MAAM,UAAU,GAAG;IACvB,gFAAgF;IAChF,EAAE,EAAE,MAAM,CAAC;IACX,4FAA4F;IAC5F,IAAI,EAAE,MAAM,CAAC;IACb,uDAAuD;IACvD,MAAM,EAAE,MAAM,CAAC;IACf,iBAAiB;IACjB,KAAK,EAAE,GAAG,GAAG,GAAG,CAAC;CAClB,CAAC;AAEF,0EAA0E;AAC1E,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,GAAG,GAAG,GAAG,CAAC;CAClB,CAAC;AAMF,kEAAkE;AAClE,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,yCAAyC;AACzC,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,4CAA4C;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8DAA8D;IAC9D,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,iCAAiC;AACjC,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,yDAAyD;AACzD,MAAM,MAAM,cAAc,GAAG;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,qCAAqC;AACrC,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,CAAC,EAAE,cAAc,CAAC;CAC5B,CAAC;AAMF,MAAM,MAAM,qBAAqB,GAAG;IAClC,IAAI,EAAE,QAAQ,CAAC;IACf,mCAAmC;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,IAAI,EAAE,QAAQ,CAAC;IACf,kCAAkC;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,8BAA8B;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uBAAuB;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,iDAAiD;AACjD,MAAM,MAAM,eAAe,GAAG,qBAAqB,GAAG,qBAAqB,CAAC;AAM5E,kDAAkD;AAClD,MAAM,MAAM,WAAW,GAAG;KACvB,IAAI,IAAI,SAAS,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,KAAK,CAAC,YAAY;CAC1D,CAAC;AAMF,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,0DAA0D;AAC1D,MAAM,MAAM,UAAU,GAAG;IACvB,iCAAiC;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,oBAAoB;IACpB,KAAK,EAAE,WAAW,CAAC;IACnB,gCAAgC;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,4BAA4B;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,kCAAkC;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,2BAA2B;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,8BAA8B;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,0BAA0B;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,6BAA6B;IAC7B,WAAW,EAAE;QACX,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;CACH,CAAC;AAMF,MAAM,MAAM,QAAQ,GAAG;IACrB,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,6 +20,8 @@ type BoardStateReturn = {
|
|
|
20
20
|
getFen: () => string;
|
|
21
21
|
/** Get the current turn from internal state */
|
|
22
22
|
getTurn: () => 'w' | 'b';
|
|
23
|
+
/** Check if the current side to move is in check */
|
|
24
|
+
isInCheck: () => boolean;
|
|
23
25
|
};
|
|
24
26
|
/**
|
|
25
27
|
* Manages the internal chess.js instance for legal move validation.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-board-state.d.ts","sourceRoot":"","sources":["../../src/use-board-state.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAEvE,KAAK,UAAU,GAAG;IAChB,qEAAqE;IACrE,OAAO,EAAE,OAAO,CAAC;IACjB,8CAA8C;IAC9C,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,KAAK,gBAAgB,GAAG;IACtB,sDAAsD;IACtD,aAAa,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,eAAe,EAAE,CAAC;IACrD,yEAAyE;IACzE,aAAa,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,UAAU,GAAG,MAAM,KAAK,OAAO,CAAC;IAC9F,8EAA8E;IAC9E,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,KAAK,UAAU,CAAC;IACxE,qDAAqD;IACrD,QAAQ,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IAC9B,mDAAmD;IACnD,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,8CAA8C;IAC9C,MAAM,EAAE,MAAM,MAAM,CAAC;IACrB,+CAA+C;IAC/C,OAAO,EAAE,MAAM,GAAG,GAAG,GAAG,CAAC;CAC1B,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,gBAAgB,
|
|
1
|
+
{"version":3,"file":"use-board-state.d.ts","sourceRoot":"","sources":["../../src/use-board-state.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAEvE,KAAK,UAAU,GAAG;IAChB,qEAAqE;IACrE,OAAO,EAAE,OAAO,CAAC;IACjB,8CAA8C;IAC9C,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,KAAK,gBAAgB,GAAG;IACtB,sDAAsD;IACtD,aAAa,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,eAAe,EAAE,CAAC;IACrD,yEAAyE;IACzE,aAAa,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,UAAU,GAAG,MAAM,KAAK,OAAO,CAAC;IAC9F,8EAA8E;IAC9E,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,KAAK,UAAU,CAAC;IACxE,qDAAqD;IACrD,QAAQ,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IAC9B,mDAAmD;IACnD,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,8CAA8C;IAC9C,MAAM,EAAE,MAAM,MAAM,CAAC;IACrB,+CAA+C;IAC/C,OAAO,EAAE,MAAM,GAAG,GAAG,GAAG,CAAC;IACzB,oDAAoD;IACpD,SAAS,EAAE,MAAM,OAAO,CAAC;CAC1B,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,gBAAgB,CAmElE"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-chess-kit",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"description": "High-performance chess board for React Native. Single gesture handler, ~40 components, 0 re-renders during drag. Built on Reanimated + Gesture Handler.",
|
|
5
5
|
"main": "lib/commonjs/index.js",
|
|
6
6
|
"module": "lib/module/index.js",
|
package/src/board-piece.tsx
CHANGED
|
@@ -61,20 +61,24 @@ function animateValue(
|
|
|
61
61
|
/**
|
|
62
62
|
* A single animated chess piece.
|
|
63
63
|
*
|
|
64
|
-
*
|
|
65
|
-
*
|
|
66
|
-
*
|
|
64
|
+
* Uses two nested Animated.Views to avoid the Reanimated warning
|
|
65
|
+
* "Property opacity may be overwritten by a layout animation":
|
|
66
|
+
*
|
|
67
|
+
* Outer view: position (transform) + exiting layout animation (FadeOut)
|
|
68
|
+
* Inner view: drag-hide opacity
|
|
69
|
+
*
|
|
70
|
+
* Only `transform` and `opacity` are animated — Reanimated's fast path
|
|
71
|
+
* on Android. No layout properties (top/left/width/height), avoiding
|
|
72
|
+
* costly layout recalculations on low-end devices.
|
|
67
73
|
*
|
|
68
74
|
* During drag:
|
|
69
|
-
* -
|
|
70
|
-
* - No position changes on the original piece during drag
|
|
75
|
+
* - Inner view hides (opacity: 0) — the drag ghost shows instead
|
|
71
76
|
*
|
|
72
77
|
* After a move:
|
|
73
|
-
* -
|
|
74
|
-
* - Animation style controlled by user's animationConfig or moveDuration
|
|
78
|
+
* - Outer view snaps to new position via withTiming/withSpring
|
|
75
79
|
*
|
|
76
80
|
* On capture (unmount):
|
|
77
|
-
* -
|
|
81
|
+
* - Outer view fades out via exiting FadeOut (no conflict with inner opacity)
|
|
78
82
|
*/
|
|
79
83
|
export const BoardPieceView = React.memo(
|
|
80
84
|
function BoardPieceView({
|
|
@@ -100,17 +104,19 @@ export const BoardPieceView = React.memo(
|
|
|
100
104
|
currentY.value = animateValue(targetY, animationConfig, moveDuration);
|
|
101
105
|
}, [targetX, targetY, animationConfig, moveDuration, currentX, currentY]);
|
|
102
106
|
|
|
103
|
-
|
|
104
|
-
|
|
107
|
+
// Position style on outer view — no opacity here to avoid conflict
|
|
108
|
+
// with the FadeOut exiting layout animation
|
|
109
|
+
const positionStyle = useAnimatedStyle(() => ({
|
|
110
|
+
transform: [
|
|
111
|
+
{ translateX: currentX.value },
|
|
112
|
+
{ translateY: currentY.value },
|
|
113
|
+
],
|
|
114
|
+
}));
|
|
105
115
|
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
],
|
|
111
|
-
// Hide original piece during drag — drag ghost renders on top
|
|
112
|
-
opacity: isBeingDragged ? 0 : 1,
|
|
113
|
-
};
|
|
116
|
+
// Drag-hide opacity on inner view — separate from the exiting animation
|
|
117
|
+
const opacityStyle = useAnimatedStyle(() => {
|
|
118
|
+
const isBeingDragged = isDragging.value && activeSquare.value === square;
|
|
119
|
+
return { opacity: isBeingDragged ? 0 : 1 };
|
|
114
120
|
});
|
|
115
121
|
|
|
116
122
|
return (
|
|
@@ -121,12 +127,16 @@ export const BoardPieceView = React.memo(
|
|
|
121
127
|
width: squareSize,
|
|
122
128
|
height: squareSize,
|
|
123
129
|
},
|
|
124
|
-
|
|
130
|
+
positionStyle,
|
|
125
131
|
]}
|
|
126
|
-
// Fade out when this piece is captured (removed from the piece list)
|
|
132
|
+
// Fade out when this piece is captured (removed from the piece list).
|
|
133
|
+
// Lives on the outer view so it doesn't conflict with the
|
|
134
|
+
// drag-hide opacity on the inner view.
|
|
127
135
|
exiting={FadeOut.duration(CAPTURE_FADE_DURATION)}
|
|
128
136
|
>
|
|
129
|
-
{
|
|
137
|
+
<Animated.View style={[{ flex: 1 }, opacityStyle]}>
|
|
138
|
+
{children}
|
|
139
|
+
</Animated.View>
|
|
130
140
|
</Animated.View>
|
|
131
141
|
);
|
|
132
142
|
},
|