react-native-chess-kit 0.3.1 → 0.4.1
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 +7 -4
- package/lib/commonjs/board-piece.js.map +1 -1
- package/lib/commonjs/board-pieces.js +3 -1
- package/lib/commonjs/board-pieces.js.map +1 -1
- package/lib/commonjs/board.js +7 -1
- package/lib/commonjs/board.js.map +1 -1
- package/lib/module/board-piece.js +9 -6
- package/lib/module/board-piece.js.map +1 -1
- package/lib/module/board-pieces.js +3 -1
- package/lib/module/board-pieces.js.map +1 -1
- package/lib/module/board.js +9 -3
- package/lib/module/board.js.map +1 -1
- package/lib/typescript/board-piece.d.ts +8 -2
- package/lib/typescript/board-piece.d.ts.map +1 -1
- package/lib/typescript/board-pieces.d.ts +3 -1
- package/lib/typescript/board-pieces.d.ts.map +1 -1
- package/lib/typescript/board.d.ts.map +1 -1
- package/lib/typescript/types.d.ts +14 -3
- package/lib/typescript/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/board-piece.tsx +13 -5
- package/src/board-pieces.tsx +5 -1
- package/src/board.tsx +8 -0
- package/src/types.ts +14 -3
|
@@ -54,7 +54,8 @@ function animateValue(target, config, moveDuration) {
|
|
|
54
54
|
* - Outer view snaps to new position via withTiming/withSpring
|
|
55
55
|
*
|
|
56
56
|
* On capture (unmount):
|
|
57
|
-
* - Outer view
|
|
57
|
+
* - Outer view plays the exitingAnimation (default: FadeOut, no conflict with inner opacity)
|
|
58
|
+
* - Pass exitingAnimation={undefined} to disable (instant disappear on full board remount)
|
|
58
59
|
*/
|
|
59
60
|
const BoardPieceView = exports.BoardPieceView = /*#__PURE__*/_react.default.memo(function BoardPieceView({
|
|
60
61
|
targetX,
|
|
@@ -65,7 +66,8 @@ const BoardPieceView = exports.BoardPieceView = /*#__PURE__*/_react.default.memo
|
|
|
65
66
|
children,
|
|
66
67
|
activeSquare,
|
|
67
68
|
isDragging,
|
|
68
|
-
square
|
|
69
|
+
square,
|
|
70
|
+
exitingAnimation
|
|
69
71
|
}) {
|
|
70
72
|
// Shared values for smooth animated position — written from JS, read on UI thread
|
|
71
73
|
const currentX = (0, _reactNativeReanimated.useSharedValue)(targetX);
|
|
@@ -102,11 +104,12 @@ const BoardPieceView = exports.BoardPieceView = /*#__PURE__*/_react.default.memo
|
|
|
102
104
|
width: squareSize,
|
|
103
105
|
height: squareSize
|
|
104
106
|
}, positionStyle]
|
|
105
|
-
//
|
|
107
|
+
// Exiting animation when this piece is captured (removed from the piece list).
|
|
106
108
|
// Lives on the outer view so it doesn't conflict with the
|
|
107
109
|
// drag-hide opacity on the inner view.
|
|
110
|
+
// Pass undefined to disable (e.g. during full board remount via key change).
|
|
108
111
|
,
|
|
109
|
-
exiting:
|
|
112
|
+
exiting: exitingAnimation,
|
|
110
113
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.View, {
|
|
111
114
|
style: [{
|
|
112
115
|
flex: 1
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNativeReanimated","_constants","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","animateValue","target","config","moveDuration","type","withSpring","damping","stiffness","mass","withTiming","duration","DEFAULT_MOVE_DURATION","BoardPieceView","exports","React","memo","targetX","targetY","squareSize","animationConfig","children","activeSquare","isDragging","square","currentX","useSharedValue","currentY","useEffect","value","positionStyle","useAnimatedStyle","transform","translateX","translateY","opacityStyle","isBeingDragged","opacity","jsx","View","style","position","width","height","exiting","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNativeReanimated","_constants","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","animateValue","target","config","moveDuration","type","withSpring","damping","stiffness","mass","withTiming","duration","DEFAULT_MOVE_DURATION","BoardPieceView","exports","React","memo","targetX","targetY","squareSize","animationConfig","children","activeSquare","isDragging","square","exitingAnimation","currentX","useSharedValue","currentY","useEffect","value","positionStyle","useAnimatedStyle","transform","translateX","translateY","opacityStyle","isBeingDragged","opacity","jsx","View","style","position","width","height","exiting","flex","prev","next"],"sourceRoot":"..\\..\\src","sources":["board-piece.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -24,7 +24,8 @@ const BoardPiecesLayer = exports.BoardPiecesLayer = /*#__PURE__*/_react.default.
|
|
|
24
24
|
animationConfig,
|
|
25
25
|
renderPiece,
|
|
26
26
|
activeSquare,
|
|
27
|
-
isDragging
|
|
27
|
+
isDragging,
|
|
28
|
+
exitingAnimation
|
|
28
29
|
}) {
|
|
29
30
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
|
|
30
31
|
children: pieces.map(piece => {
|
|
@@ -41,6 +42,7 @@ const BoardPiecesLayer = exports.BoardPiecesLayer = /*#__PURE__*/_react.default.
|
|
|
41
42
|
activeSquare: activeSquare,
|
|
42
43
|
isDragging: isDragging,
|
|
43
44
|
square: piece.square,
|
|
45
|
+
exitingAnimation: exitingAnimation,
|
|
44
46
|
children: renderPiece(piece.code, squareSize)
|
|
45
47
|
}, piece.id);
|
|
46
48
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_boardPiece","_useBoardPieces","_jsxRuntime","e","__esModule","default","BoardPiecesLayer","exports","React","memo","pieces","squareSize","orientation","moveDuration","animationConfig","renderPiece","activeSquare","isDragging","jsx","Fragment","children","map","piece","x","y","squareToXY","square","BoardPieceView","targetX","targetY","code","id"],"sourceRoot":"..\\..\\src","sources":["board-pieces.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAIA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,eAAA,GAAAF,OAAA;AAAgD,IAAAG,WAAA,GAAAH,OAAA;AAAA,SAAAD,uBAAAK,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_boardPiece","_useBoardPieces","_jsxRuntime","e","__esModule","default","BoardPiecesLayer","exports","React","memo","pieces","squareSize","orientation","moveDuration","animationConfig","renderPiece","activeSquare","isDragging","exitingAnimation","jsx","Fragment","children","map","piece","x","y","squareToXY","square","BoardPieceView","targetX","targetY","code","id"],"sourceRoot":"..\\..\\src","sources":["board-pieces.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAIA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,eAAA,GAAAF,OAAA;AAAgD,IAAAG,WAAA,GAAAH,OAAA;AAAA,SAAAD,uBAAAK,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAehD;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMG,gBAAgB,GAAAC,OAAA,CAAAD,gBAAA,gBAAGE,cAAK,CAACC,IAAI,CAAC,SAASH,gBAAgBA,CAAC;EACnEI,MAAM;EACNC,UAAU;EACVC,WAAW;EACXC,YAAY;EACZC,eAAe;EACfC,WAAW;EACXC,YAAY;EACZC,UAAU;EACVC;AACgB,CAAC,EAAE;EACnB,oBACE,IAAAhB,WAAA,CAAAiB,GAAA,EAAAjB,WAAA,CAAAkB,QAAA;IAAAC,QAAA,EACGX,MAAM,CAACY,GAAG,CAAEC,KAAK,IAAK;MACrB,MAAM;QAAEC,CAAC;QAAEC;MAAE,CAAC,GAAG,IAAAC,0BAAU,EAACH,KAAK,CAACI,MAAM,EAAEhB,UAAU,EAAEC,WAAW,CAAC;MAElE,oBACE,IAAAV,WAAA,CAAAiB,GAAA,EAACnB,WAAA,CAAA4B,cAAc;QAEbC,OAAO,EAAEL,CAAE;QACXM,OAAO,EAAEL,CAAE;QACXd,UAAU,EAAEA,UAAW;QACvBE,YAAY,EAAEA,YAAa;QAC3BC,eAAe,EAAEA,eAAgB;QACjCE,YAAY,EAAEA,YAAa;QAC3BC,UAAU,EAAEA,UAAW;QACvBU,MAAM,EAAEJ,KAAK,CAACI,MAAO;QACrBT,gBAAgB,EAAEA,gBAAiB;QAAAG,QAAA,EAElCN,WAAW,CAACQ,KAAK,CAACQ,IAAI,EAAEpB,UAAU;MAAC,GAX/BY,KAAK,CAACS,EAYG,CAAC;IAErB,CAAC;EAAC,CACF,CAAC;AAEP,CAAC,CAAC","ignoreList":[]}
|
package/lib/commonjs/board.js
CHANGED
|
@@ -116,6 +116,7 @@ const Board = exports.Board = /*#__PURE__*/(0, _react.forwardRef)(function Board
|
|
|
116
116
|
moveDuration = _constants.DEFAULT_MOVE_DURATION,
|
|
117
117
|
animationConfig,
|
|
118
118
|
animateFlip = true,
|
|
119
|
+
pieceExitAnimation = _reactNativeReanimated.FadeOut.duration(_constants.CAPTURE_FADE_DURATION),
|
|
119
120
|
// Promotion
|
|
120
121
|
onPromotion,
|
|
121
122
|
// Callbacks
|
|
@@ -418,6 +419,10 @@ const Board = exports.Board = /*#__PURE__*/(0, _react.forwardRef)(function Board
|
|
|
418
419
|
if (result.applied && result.fen) {
|
|
419
420
|
setInternalFen(result.fen);
|
|
420
421
|
}
|
|
422
|
+
// Resolve after the piece animation completes. The moveDuration prop
|
|
423
|
+
// drives BoardPieceView's withTiming, so this matches exactly.
|
|
424
|
+
const duration = moveDuration ?? _constants.DEFAULT_MOVE_DURATION;
|
|
425
|
+
return new Promise(resolve => setTimeout(resolve, duration));
|
|
421
426
|
},
|
|
422
427
|
highlight: (square, color) => {
|
|
423
428
|
setImperativeHighlights(prev => {
|
|
@@ -518,7 +523,8 @@ const Board = exports.Board = /*#__PURE__*/(0, _react.forwardRef)(function Board
|
|
|
518
523
|
animationConfig: animationConfig,
|
|
519
524
|
renderPiece: resolvedRenderer,
|
|
520
525
|
activeSquare: gestureState.activeSquare,
|
|
521
|
-
isDragging: gestureState.isDragging
|
|
526
|
+
isDragging: gestureState.isDragging,
|
|
527
|
+
exitingAnimation: pieceExitAnimation
|
|
522
528
|
}), (arrows && arrows.length > 0 || shapes && shapes.length > 0) && /*#__PURE__*/(0, _jsxRuntime.jsx)(_boardArrows.BoardArrows, {
|
|
523
529
|
boardSize: boardSize,
|
|
524
530
|
orientation: orientation,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeGestureHandler","_reactNativeReanimated","_constants","_pieces","_useBoardPieces","_useBoardState","_useBoardGesture","_usePremove","_boardBackground","_boardCoordinates","_boardHighlights","_boardLegalDots","_boardPieces","_boardDragGhost","_boardArrows","_boardAnnotations","_promotionPicker","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","detectCheckSquare","fen","isInCheck","getTurn","turn","kingChar","placement","split","ranks","rankIdx","length","rank","fileIdx","char","parseInt","files","Board","exports","forwardRef","orientation","boardSize","boardSizeProp","gestureEnabled","player","moveMethod","showLegalMoves","premovesEnabled","colors","withLetters","withNumbers","renderPiece","pieceSet","lastMove","highlights","arrows","shapes","annotations","showDragTarget","lastMoveColor","DEFAULT_LAST_MOVE_COLOR","checkHighlightColor","DEFAULT_CHECK_COLOR","selectedSquareColor","DEFAULT_SELECTED_COLOR","premoveColor","DEFAULT_PREMOVE_COLOR","dragTargetColor","DEFAULT_DRAG_TARGET_COLOR","moveDuration","DEFAULT_MOVE_DURATION","animationConfig","animateFlip","onPromotion","onMove","onPieceClick","onSquareClick","onPieceDragBegin","onPieceDragEnd","onSquareLongPress","onPremove","onHaptic","ref","measuredSize","setMeasuredSize","useState","handleLayout","useCallback","width","height","nativeEvent","layout","Math","min","squareSize","boardColors","DEFAULT_BOARD_COLORS","flipRotation","useSharedValue","prevOrientationRef","useRef","useEffect","current","value","withTiming","duration","internalFen","setInternalFen","boardState","useBoardState","loadFen","pieces","useBoardPieces","checkSquareState","useMemo","selectedSquare","setSelectedSquare","legalMoves","setLegalMoves","imperativeHighlights","setImperativeHighlights","premove","setPremove","clearPremove","consumePremove","usePremove","promotionState","setPromotionState","resolvedRenderer","DefaultPieceSet","code","size","renderer","jsx","View","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","useBoardGesture","callbacks","onPieceSelected","onPieceMoved","onSelectionCleared","currentTurn","useImperativeHandle","move","moveArg","highlight","prev","filtered","filter","h","clearHighlights","resetBoard","newFen","undo","prevFen","undoMove","clearPremoves","flex","aspectRatio","onLayout","GestureDetector","children","jsxs","undefined","accessibilityLabel","accessibilityRole","BoardBackground","lightColor","light","darkColor","dark","BoardCoordinates","BoardHighlights","checkSquare","checkColor","selectedColor","premoveSquares","DragTargetHighlight","dragTargetSquare","BoardLegalDots","BoardPiecesLayer","activeSquare","isDragging","BoardArrows","BoardAnnotations","BoardDragGhost","dragX","dragY","dragPieceCode","PromotionPicker","pieceColor","onSelect","onCancel"],"sourceRoot":"..\\..\\src","sources":["board.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeGestureHandler","_reactNativeReanimated","_constants","_pieces","_useBoardPieces","_useBoardState","_useBoardGesture","_usePremove","_boardBackground","_boardCoordinates","_boardHighlights","_boardLegalDots","_boardPieces","_boardDragGhost","_boardArrows","_boardAnnotations","_promotionPicker","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","detectCheckSquare","fen","isInCheck","getTurn","turn","kingChar","placement","split","ranks","rankIdx","length","rank","fileIdx","char","parseInt","files","Board","exports","forwardRef","orientation","boardSize","boardSizeProp","gestureEnabled","player","moveMethod","showLegalMoves","premovesEnabled","colors","withLetters","withNumbers","renderPiece","pieceSet","lastMove","highlights","arrows","shapes","annotations","showDragTarget","lastMoveColor","DEFAULT_LAST_MOVE_COLOR","checkHighlightColor","DEFAULT_CHECK_COLOR","selectedSquareColor","DEFAULT_SELECTED_COLOR","premoveColor","DEFAULT_PREMOVE_COLOR","dragTargetColor","DEFAULT_DRAG_TARGET_COLOR","moveDuration","DEFAULT_MOVE_DURATION","animationConfig","animateFlip","pieceExitAnimation","FadeOut","duration","CAPTURE_FADE_DURATION","onPromotion","onMove","onPieceClick","onSquareClick","onPieceDragBegin","onPieceDragEnd","onSquareLongPress","onPremove","onHaptic","ref","measuredSize","setMeasuredSize","useState","handleLayout","useCallback","width","height","nativeEvent","layout","Math","min","squareSize","boardColors","DEFAULT_BOARD_COLORS","flipRotation","useSharedValue","prevOrientationRef","useRef","useEffect","current","value","withTiming","internalFen","setInternalFen","boardState","useBoardState","loadFen","pieces","useBoardPieces","checkSquareState","useMemo","selectedSquare","setSelectedSquare","legalMoves","setLegalMoves","imperativeHighlights","setImperativeHighlights","premove","setPremove","clearPremove","consumePremove","usePremove","promotionState","setPromotionState","resolvedRenderer","DefaultPieceSet","code","size","renderer","jsx","View","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","useBoardGesture","callbacks","onPieceSelected","onPieceMoved","onSelectionCleared","currentTurn","useImperativeHandle","move","moveArg","Promise","resolve","setTimeout","highlight","prev","filtered","filter","h","clearHighlights","resetBoard","newFen","undo","prevFen","undoMove","clearPremoves","flex","aspectRatio","onLayout","GestureDetector","children","jsxs","undefined","accessibilityLabel","accessibilityRole","BoardBackground","lightColor","light","darkColor","dark","BoardCoordinates","BoardHighlights","checkSquare","checkColor","selectedColor","premoveSquares","DragTargetHighlight","dragTargetSquare","BoardLegalDots","BoardPiecesLayer","activeSquare","isDragging","exitingAnimation","BoardArrows","BoardAnnotations","BoardDragGhost","dragX","dragY","dragPieceCode","PromotionPicker","pieceColor","onSelect","onCancel"],"sourceRoot":"..\\..\\src","sources":["board.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import React, { useEffect } from 'react';
|
|
4
|
-
import Animated, { useAnimatedStyle, useSharedValue, withTiming, withSpring
|
|
5
|
-
import { DEFAULT_MOVE_DURATION
|
|
4
|
+
import Animated, { useAnimatedStyle, useSharedValue, withTiming, withSpring } from 'react-native-reanimated';
|
|
5
|
+
import { DEFAULT_MOVE_DURATION } from './constants';
|
|
6
6
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
7
7
|
/**
|
|
8
8
|
* Animate a shared value using the provided AnimationConfig.
|
|
@@ -49,7 +49,8 @@ function animateValue(target, config, moveDuration) {
|
|
|
49
49
|
* - Outer view snaps to new position via withTiming/withSpring
|
|
50
50
|
*
|
|
51
51
|
* On capture (unmount):
|
|
52
|
-
* - Outer view
|
|
52
|
+
* - Outer view plays the exitingAnimation (default: FadeOut, no conflict with inner opacity)
|
|
53
|
+
* - Pass exitingAnimation={undefined} to disable (instant disappear on full board remount)
|
|
53
54
|
*/
|
|
54
55
|
export const BoardPieceView = /*#__PURE__*/React.memo(function BoardPieceView({
|
|
55
56
|
targetX,
|
|
@@ -60,7 +61,8 @@ export const BoardPieceView = /*#__PURE__*/React.memo(function BoardPieceView({
|
|
|
60
61
|
children,
|
|
61
62
|
activeSquare,
|
|
62
63
|
isDragging,
|
|
63
|
-
square
|
|
64
|
+
square,
|
|
65
|
+
exitingAnimation
|
|
64
66
|
}) {
|
|
65
67
|
// Shared values for smooth animated position — written from JS, read on UI thread
|
|
66
68
|
const currentX = useSharedValue(targetX);
|
|
@@ -97,11 +99,12 @@ export const BoardPieceView = /*#__PURE__*/React.memo(function BoardPieceView({
|
|
|
97
99
|
width: squareSize,
|
|
98
100
|
height: squareSize
|
|
99
101
|
}, positionStyle]
|
|
100
|
-
//
|
|
102
|
+
// Exiting animation when this piece is captured (removed from the piece list).
|
|
101
103
|
// Lives on the outer view so it doesn't conflict with the
|
|
102
104
|
// drag-hide opacity on the inner view.
|
|
105
|
+
// Pass undefined to disable (e.g. during full board remount via key change).
|
|
103
106
|
,
|
|
104
|
-
exiting:
|
|
107
|
+
exiting: exitingAnimation,
|
|
105
108
|
children: /*#__PURE__*/_jsx(Animated.View, {
|
|
106
109
|
style: [{
|
|
107
110
|
flex: 1
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useEffect","Animated","useAnimatedStyle","useSharedValue","withTiming","withSpring","
|
|
1
|
+
{"version":3,"names":["React","useEffect","Animated","useAnimatedStyle","useSharedValue","withTiming","withSpring","DEFAULT_MOVE_DURATION","jsx","_jsx","animateValue","target","config","moveDuration","type","damping","stiffness","mass","duration","BoardPieceView","memo","targetX","targetY","squareSize","animationConfig","children","activeSquare","isDragging","square","exitingAnimation","currentX","currentY","value","positionStyle","transform","translateX","translateY","opacityStyle","isBeingDragged","opacity","View","style","position","width","height","exiting","flex","prev","next"],"sourceRoot":"..\\..\\src","sources":["board-piece.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,SAAS,QAAQ,OAAO;AACxC,OAAOC,QAAQ,IACbC,gBAAgB,EAChBC,cAAc,EACdC,UAAU,EACVC,UAAU,QAGL,yBAAyB;AAGhC,SAASC,qBAAqB,QAAQ,aAAa;AAAC,SAAAC,GAAA,IAAAC,IAAA;AA0BpD;AACA;AACA;AACA;AACA,SAASC,YAAYA,CACnBC,MAAc,EACdC,MAAwB,EACxBC,YAAqB,EACb;EACR,IAAID,MAAM,EAAE;IACV,IAAIA,MAAM,CAACE,IAAI,KAAK,QAAQ,EAAE;MAC5B,OAAOR,UAAU,CAACK,MAAM,EAAE;QACxBI,OAAO,EAAEH,MAAM,CAACG,OAAO,IAAI,EAAE;QAC7BC,SAAS,EAAEJ,MAAM,CAACI,SAAS,IAAI,GAAG;QAClCC,IAAI,EAAEL,MAAM,CAACK,IAAI,IAAI;MACvB,CAAC,CAAC;IACJ;IACA;IACA,OAAOZ,UAAU,CAACM,MAAM,EAAE;MACxBO,QAAQ,EAAEN,MAAM,CAACM,QAAQ,IAAIX;IAC/B,CAAC,CAAC;EACJ;EAEA,MAAMW,QAAQ,GAAGL,YAAY,IAAIN,qBAAqB;EACtD,IAAIW,QAAQ,IAAI,CAAC,EAAE,OAAOP,MAAM;EAChC,OAAON,UAAU,CAACM,MAAM,EAAE;IAAEO;EAAS,CAAC,CAAC;AACzC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,cAAc,gBAAGnB,KAAK,CAACoB,IAAI,CACtC,SAASD,cAAcA,CAAC;EACtBE,OAAO;EACPC,OAAO;EACPC,UAAU;EACVC,eAAe;EACfX,YAAY;EACZY,QAAQ;EACRC,YAAY;EACZC,UAAU;EACVC,MAAM;EACNC;AACe,CAAC,EAAE;EAClB;EACA,MAAMC,QAAQ,GAAG1B,cAAc,CAACiB,OAAO,CAAC;EACxC,MAAMU,QAAQ,GAAG3B,cAAc,CAACkB,OAAO,CAAC;;EAExC;EACA;EACA;EACArB,SAAS,CAAC,MAAM;IACd6B,QAAQ,CAACE,KAAK,GAAGtB,YAAY,CAACW,OAAO,EAAEG,eAAe,EAAEX,YAAY,CAAC;IACrEkB,QAAQ,CAACC,KAAK,GAAGtB,YAAY,CAACY,OAAO,EAAEE,eAAe,EAAEX,YAAY,CAAC;EACvE,CAAC,EAAE,CAACQ,OAAO,EAAEC,OAAO,EAAEE,eAAe,EAAEX,YAAY,EAAEiB,QAAQ,EAAEC,QAAQ,CAAC,CAAC;;EAEzE;EACA;EACA,MAAME,aAAa,GAAG9B,gBAAgB,CAAC,OAAO;IAC5C+B,SAAS,EAAE,CACT;MAAEC,UAAU,EAAEL,QAAQ,CAACE;IAAM,CAAC,EAC9B;MAAEI,UAAU,EAAEL,QAAQ,CAACC;IAAM,CAAC;EAElC,CAAC,CAAC,CAAC;;EAEH;EACA,MAAMK,YAAY,GAAGlC,gBAAgB,CAAC,MAAM;IAC1C,MAAMmC,cAAc,GAAGX,UAAU,CAACK,KAAK,IAAIN,YAAY,CAACM,KAAK,KAAKJ,MAAM;IACxE,OAAO;MAAEW,OAAO,EAAED,cAAc,GAAG,CAAC,GAAG;IAAE,CAAC;EAC5C,CAAC,CAAC;EAEF,oBACE7B,IAAA,CAACP,QAAQ,CAACsC,IAAI;IACZC,KAAK,EAAE,CACL;MACEC,QAAQ,EAAE,UAAU;MACpBC,KAAK,EAAEpB,UAAU;MACjBqB,MAAM,EAAErB;IACV,CAAC,EACDU,aAAa;IAEf;IACA;IACA;IACA;IAAA;IACAY,OAAO,EAAEhB,gBAAiB;IAAAJ,QAAA,eAE1BhB,IAAA,CAACP,QAAQ,CAACsC,IAAI;MAACC,KAAK,EAAE,CAAC;QAAEK,IAAI,EAAE;MAAE,CAAC,EAAET,YAAY,CAAE;MAAAZ,QAAA,EAC/CA;IAAQ,CACI;EAAC,CACH,CAAC;AAEpB,CAAC;AACD;AACA,CAACsB,IAAI,EAAEC,IAAI,KACTD,IAAI,CAAC1B,OAAO,KAAK2B,IAAI,CAAC3B,OAAO,IAC7B0B,IAAI,CAACzB,OAAO,KAAK0B,IAAI,CAAC1B,OAAO,IAC7ByB,IAAI,CAACnB,MAAM,KAAKoB,IAAI,CAACpB,MAAM,IAC3BmB,IAAI,CAACxB,UAAU,KAAKyB,IAAI,CAACzB,UAAU,IACnCwB,IAAI,CAAClC,YAAY,KAAKmC,IAAI,CAACnC,YAAY,IACvCkC,IAAI,CAACvB,eAAe,KAAKwB,IAAI,CAACxB,eAAe,IAC7CuB,IAAI,CAACtB,QAAQ,KAAKuB,IAAI,CAACvB,QAC3B,CAAC","ignoreList":[]}
|
|
@@ -19,7 +19,8 @@ export const BoardPiecesLayer = /*#__PURE__*/React.memo(function BoardPiecesLaye
|
|
|
19
19
|
animationConfig,
|
|
20
20
|
renderPiece,
|
|
21
21
|
activeSquare,
|
|
22
|
-
isDragging
|
|
22
|
+
isDragging,
|
|
23
|
+
exitingAnimation
|
|
23
24
|
}) {
|
|
24
25
|
return /*#__PURE__*/_jsx(_Fragment, {
|
|
25
26
|
children: pieces.map(piece => {
|
|
@@ -36,6 +37,7 @@ export const BoardPiecesLayer = /*#__PURE__*/React.memo(function BoardPiecesLaye
|
|
|
36
37
|
activeSquare: activeSquare,
|
|
37
38
|
isDragging: isDragging,
|
|
38
39
|
square: piece.square,
|
|
40
|
+
exitingAnimation: exitingAnimation,
|
|
39
41
|
children: renderPiece(piece.code, squareSize)
|
|
40
42
|
}, piece.id);
|
|
41
43
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","BoardPieceView","squareToXY","jsx","_jsx","Fragment","_Fragment","BoardPiecesLayer","memo","pieces","squareSize","orientation","moveDuration","animationConfig","renderPiece","activeSquare","isDragging","children","map","piece","x","y","square","targetX","targetY","code","id"],"sourceRoot":"..\\..\\src","sources":["board-pieces.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AAIzB,SAASC,cAAc,QAAQ,eAAe;AAC9C,SAASC,UAAU,QAAQ,oBAAoB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,QAAA,IAAAC,SAAA;
|
|
1
|
+
{"version":3,"names":["React","BoardPieceView","squareToXY","jsx","_jsx","Fragment","_Fragment","BoardPiecesLayer","memo","pieces","squareSize","orientation","moveDuration","animationConfig","renderPiece","activeSquare","isDragging","exitingAnimation","children","map","piece","x","y","square","targetX","targetY","code","id"],"sourceRoot":"..\\..\\src","sources":["board-pieces.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AAIzB,SAASC,cAAc,QAAQ,eAAe;AAC9C,SAASC,UAAU,QAAQ,oBAAoB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,QAAA,IAAAC,SAAA;AAehD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,gBAAgB,gBAAGP,KAAK,CAACQ,IAAI,CAAC,SAASD,gBAAgBA,CAAC;EACnEE,MAAM;EACNC,UAAU;EACVC,WAAW;EACXC,YAAY;EACZC,eAAe;EACfC,WAAW;EACXC,YAAY;EACZC,UAAU;EACVC;AACgB,CAAC,EAAE;EACnB,oBACEb,IAAA,CAAAE,SAAA;IAAAY,QAAA,EACGT,MAAM,CAACU,GAAG,CAAEC,KAAK,IAAK;MACrB,MAAM;QAAEC,CAAC;QAAEC;MAAE,CAAC,GAAGpB,UAAU,CAACkB,KAAK,CAACG,MAAM,EAAEb,UAAU,EAAEC,WAAW,CAAC;MAElE,oBACEP,IAAA,CAACH,cAAc;QAEbuB,OAAO,EAAEH,CAAE;QACXI,OAAO,EAAEH,CAAE;QACXZ,UAAU,EAAEA,UAAW;QACvBE,YAAY,EAAEA,YAAa;QAC3BC,eAAe,EAAEA,eAAgB;QACjCE,YAAY,EAAEA,YAAa;QAC3BC,UAAU,EAAEA,UAAW;QACvBO,MAAM,EAAEH,KAAK,CAACG,MAAO;QACrBN,gBAAgB,EAAEA,gBAAiB;QAAAC,QAAA,EAElCJ,WAAW,CAACM,KAAK,CAACM,IAAI,EAAEhB,UAAU;MAAC,GAX/BU,KAAK,CAACO,EAYG,CAAC;IAErB,CAAC;EAAC,CACF,CAAC;AAEP,CAAC,CAAC","ignoreList":[]}
|
package/lib/module/board.js
CHANGED
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
import React, { forwardRef, useState, useCallback, useImperativeHandle, useEffect, useMemo, useRef } from 'react';
|
|
4
4
|
import { View } from 'react-native';
|
|
5
5
|
import { GestureDetector } from 'react-native-gesture-handler';
|
|
6
|
-
import { useSharedValue, withTiming } from 'react-native-reanimated';
|
|
7
|
-
import { DEFAULT_BOARD_COLORS, DEFAULT_MOVE_DURATION, DEFAULT_LAST_MOVE_COLOR, DEFAULT_CHECK_COLOR, DEFAULT_SELECTED_COLOR, DEFAULT_PREMOVE_COLOR, DEFAULT_DRAG_TARGET_COLOR } from './constants';
|
|
6
|
+
import { useSharedValue, withTiming, FadeOut } from 'react-native-reanimated';
|
|
7
|
+
import { DEFAULT_BOARD_COLORS, DEFAULT_MOVE_DURATION, DEFAULT_LAST_MOVE_COLOR, DEFAULT_CHECK_COLOR, DEFAULT_SELECTED_COLOR, DEFAULT_PREMOVE_COLOR, DEFAULT_DRAG_TARGET_COLOR, CAPTURE_FADE_DURATION } from './constants';
|
|
8
8
|
import { DefaultPieceSet } from './pieces';
|
|
9
9
|
import { useBoardPieces } from './use-board-pieces';
|
|
10
10
|
import { useBoardState } from './use-board-state';
|
|
@@ -113,6 +113,7 @@ export const Board = /*#__PURE__*/forwardRef(function Board({
|
|
|
113
113
|
moveDuration = DEFAULT_MOVE_DURATION,
|
|
114
114
|
animationConfig,
|
|
115
115
|
animateFlip = true,
|
|
116
|
+
pieceExitAnimation = FadeOut.duration(CAPTURE_FADE_DURATION),
|
|
116
117
|
// Promotion
|
|
117
118
|
onPromotion,
|
|
118
119
|
// Callbacks
|
|
@@ -415,6 +416,10 @@ export const Board = /*#__PURE__*/forwardRef(function Board({
|
|
|
415
416
|
if (result.applied && result.fen) {
|
|
416
417
|
setInternalFen(result.fen);
|
|
417
418
|
}
|
|
419
|
+
// Resolve after the piece animation completes. The moveDuration prop
|
|
420
|
+
// drives BoardPieceView's withTiming, so this matches exactly.
|
|
421
|
+
const duration = moveDuration ?? DEFAULT_MOVE_DURATION;
|
|
422
|
+
return new Promise(resolve => setTimeout(resolve, duration));
|
|
418
423
|
},
|
|
419
424
|
highlight: (square, color) => {
|
|
420
425
|
setImperativeHighlights(prev => {
|
|
@@ -515,7 +520,8 @@ export const Board = /*#__PURE__*/forwardRef(function Board({
|
|
|
515
520
|
animationConfig: animationConfig,
|
|
516
521
|
renderPiece: resolvedRenderer,
|
|
517
522
|
activeSquare: gestureState.activeSquare,
|
|
518
|
-
isDragging: gestureState.isDragging
|
|
523
|
+
isDragging: gestureState.isDragging,
|
|
524
|
+
exitingAnimation: pieceExitAnimation
|
|
519
525
|
}), (arrows && arrows.length > 0 || shapes && shapes.length > 0) && /*#__PURE__*/_jsx(BoardArrows, {
|
|
520
526
|
boardSize: boardSize,
|
|
521
527
|
orientation: orientation,
|
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","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":[]}
|
|
1
|
+
{"version":3,"names":["React","forwardRef","useState","useCallback","useImperativeHandle","useEffect","useMemo","useRef","View","GestureDetector","useSharedValue","withTiming","FadeOut","DEFAULT_BOARD_COLORS","DEFAULT_MOVE_DURATION","DEFAULT_LAST_MOVE_COLOR","DEFAULT_CHECK_COLOR","DEFAULT_SELECTED_COLOR","DEFAULT_PREMOVE_COLOR","DEFAULT_DRAG_TARGET_COLOR","CAPTURE_FADE_DURATION","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","pieceExitAnimation","duration","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","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","Promise","resolve","setTimeout","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","exitingAnimation","dragX","dragY","dragPieceCode","pieceColor","onSelect","onCancel"],"sourceRoot":"..\\..\\src","sources":["board.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { type SharedValue } from 'react-native-reanimated';
|
|
2
|
+
import { type SharedValue, type BaseAnimationBuilder } from 'react-native-reanimated';
|
|
3
3
|
import type { AnimationConfig } from './types';
|
|
4
4
|
type BoardPieceProps = {
|
|
5
5
|
/** Target pixel position (top-left of destination square) */
|
|
@@ -18,6 +18,11 @@ type BoardPieceProps = {
|
|
|
18
18
|
isDragging: SharedValue<boolean>;
|
|
19
19
|
/** This piece's current square */
|
|
20
20
|
square: string;
|
|
21
|
+
/**
|
|
22
|
+
* Exiting animation played when this piece unmounts (e.g. captured).
|
|
23
|
+
* Pass `undefined` to disable (piece disappears instantly on unmount).
|
|
24
|
+
*/
|
|
25
|
+
exitingAnimation?: BaseAnimationBuilder | typeof BaseAnimationBuilder;
|
|
21
26
|
};
|
|
22
27
|
/**
|
|
23
28
|
* A single animated chess piece.
|
|
@@ -39,7 +44,8 @@ type BoardPieceProps = {
|
|
|
39
44
|
* - Outer view snaps to new position via withTiming/withSpring
|
|
40
45
|
*
|
|
41
46
|
* On capture (unmount):
|
|
42
|
-
* - Outer view
|
|
47
|
+
* - Outer view plays the exitingAnimation (default: FadeOut, no conflict with inner opacity)
|
|
48
|
+
* - Pass exitingAnimation={undefined} to disable (instant disappear on full board remount)
|
|
43
49
|
*/
|
|
44
50
|
export declare const BoardPieceView: React.NamedExoticComponent<BoardPieceProps>;
|
|
45
51
|
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,
|
|
1
|
+
{"version":3,"file":"board-piece.d.ts","sourceRoot":"","sources":["../../src/board-piece.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoB,MAAM,OAAO,CAAC;AACzC,OAAiB,EAKf,KAAK,WAAW,EAChB,KAAK,oBAAoB,EAC1B,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;IACf;;;OAGG;IACH,gBAAgB,CAAC,EAAE,oBAAoB,GAAG,OAAO,oBAAoB,CAAC;CACvE,CAAC;AA8BF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,cAAc,6CAuE1B,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import type { SharedValue } from 'react-native-reanimated';
|
|
2
|
+
import type { SharedValue, BaseAnimationBuilder } from 'react-native-reanimated';
|
|
3
3
|
import type { ChessColor, BoardPiece, AnimationConfig } from './types';
|
|
4
4
|
type BoardPiecesProps = {
|
|
5
5
|
pieces: BoardPiece[];
|
|
@@ -10,6 +10,8 @@ type BoardPiecesProps = {
|
|
|
10
10
|
renderPiece: (code: string, size: number) => React.ReactElement;
|
|
11
11
|
activeSquare: SharedValue<string | null>;
|
|
12
12
|
isDragging: SharedValue<boolean>;
|
|
13
|
+
/** Exiting animation for pieces. Passed through to each BoardPieceView. */
|
|
14
|
+
exitingAnimation?: BaseAnimationBuilder | typeof BaseAnimationBuilder;
|
|
13
15
|
};
|
|
14
16
|
/**
|
|
15
17
|
* Renders all pieces on the board.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"board-pieces.d.ts","sourceRoot":"","sources":["../../src/board-pieces.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"board-pieces.d.ts","sourceRoot":"","sources":["../../src/board-pieces.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAEjF,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAIvE,KAAK,gBAAgB,GAAG;IACtB,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,UAAU,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,KAAK,CAAC,YAAY,CAAC;IAChE,YAAY,EAAE,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACzC,UAAU,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IACjC,2EAA2E;IAC3E,gBAAgB,CAAC,EAAE,oBAAoB,GAAG,OAAO,oBAAoB,CAAC;CACvE,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,8CAmC3B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"board.d.ts","sourceRoot":"","sources":["../../src/board.tsx"],"names":[],"mappings":"AAAA,OAAO,KAQN,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"board.d.ts","sourceRoot":"","sources":["../../src/board.tsx"],"names":[],"mappings":"AAAA,OAAO,KAQN,MAAM,OAAO,CAAC;AAUf,OAAO,KAAK,EACV,QAAQ,EACR,UAAU,EAKX,MAAM,SAAS,CAAC;AAqEjB;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,KAAK,6EAsgBhB,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { SharedValue } from 'react-native-reanimated';
|
|
1
|
+
import type { SharedValue, BaseAnimationBuilder } from 'react-native-reanimated';
|
|
2
2
|
/** Board orientation / side color */
|
|
3
3
|
export type ChessColor = 'white' | 'black';
|
|
4
4
|
/** How the user interacts with pieces */
|
|
@@ -108,12 +108,15 @@ export type BoardTheme = {
|
|
|
108
108
|
};
|
|
109
109
|
};
|
|
110
110
|
export type BoardRef = {
|
|
111
|
-
/**
|
|
111
|
+
/**
|
|
112
|
+
* Programmatically apply a move. Animates the piece to the target square.
|
|
113
|
+
* Returns a Promise that resolves when the move animation completes.
|
|
114
|
+
*/
|
|
112
115
|
move: (move: {
|
|
113
116
|
from: string;
|
|
114
117
|
to: string;
|
|
115
118
|
promotion?: string;
|
|
116
|
-
}) => void
|
|
119
|
+
}) => Promise<void>;
|
|
117
120
|
/** Highlight a square with a color. Adds to existing imperative highlights. */
|
|
118
121
|
highlight: (square: string, color: string) => void;
|
|
119
122
|
/** Clear all imperative highlights */
|
|
@@ -183,6 +186,14 @@ export type BoardProps = {
|
|
|
183
186
|
animationConfig?: AnimationConfig;
|
|
184
187
|
/** Animate board rotation on orientation change. Default: true */
|
|
185
188
|
animateFlip?: boolean;
|
|
189
|
+
/**
|
|
190
|
+
* Custom exiting animation for pieces (played on unmount, e.g. captures).
|
|
191
|
+
* Pass `undefined` to disable all piece exit animations (useful when
|
|
192
|
+
* remounting the entire board via a React key change — prevents all
|
|
193
|
+
* pieces from fading out simultaneously).
|
|
194
|
+
* Default: FadeOut.duration(150)
|
|
195
|
+
*/
|
|
196
|
+
pieceExitAnimation?: BaseAnimationBuilder | typeof BaseAnimationBuilder;
|
|
186
197
|
/**
|
|
187
198
|
* Called when a pawn promotion occurs. If not provided, auto-promotes to queen.
|
|
188
199
|
* Return the chosen piece to complete the promotion.
|
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-chess-kit",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.1",
|
|
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
|
@@ -4,12 +4,12 @@ import Animated, {
|
|
|
4
4
|
useSharedValue,
|
|
5
5
|
withTiming,
|
|
6
6
|
withSpring,
|
|
7
|
-
FadeOut,
|
|
8
7
|
type SharedValue,
|
|
8
|
+
type BaseAnimationBuilder,
|
|
9
9
|
} from 'react-native-reanimated';
|
|
10
10
|
|
|
11
11
|
import type { AnimationConfig } from './types';
|
|
12
|
-
import { DEFAULT_MOVE_DURATION
|
|
12
|
+
import { DEFAULT_MOVE_DURATION } from './constants';
|
|
13
13
|
|
|
14
14
|
type BoardPieceProps = {
|
|
15
15
|
/** Target pixel position (top-left of destination square) */
|
|
@@ -28,6 +28,11 @@ type BoardPieceProps = {
|
|
|
28
28
|
isDragging: SharedValue<boolean>;
|
|
29
29
|
/** This piece's current square */
|
|
30
30
|
square: string;
|
|
31
|
+
/**
|
|
32
|
+
* Exiting animation played when this piece unmounts (e.g. captured).
|
|
33
|
+
* Pass `undefined` to disable (piece disappears instantly on unmount).
|
|
34
|
+
*/
|
|
35
|
+
exitingAnimation?: BaseAnimationBuilder | typeof BaseAnimationBuilder;
|
|
31
36
|
};
|
|
32
37
|
|
|
33
38
|
/**
|
|
@@ -78,7 +83,8 @@ function animateValue(
|
|
|
78
83
|
* - Outer view snaps to new position via withTiming/withSpring
|
|
79
84
|
*
|
|
80
85
|
* On capture (unmount):
|
|
81
|
-
* - Outer view
|
|
86
|
+
* - Outer view plays the exitingAnimation (default: FadeOut, no conflict with inner opacity)
|
|
87
|
+
* - Pass exitingAnimation={undefined} to disable (instant disappear on full board remount)
|
|
82
88
|
*/
|
|
83
89
|
export const BoardPieceView = React.memo(
|
|
84
90
|
function BoardPieceView({
|
|
@@ -91,6 +97,7 @@ export const BoardPieceView = React.memo(
|
|
|
91
97
|
activeSquare,
|
|
92
98
|
isDragging,
|
|
93
99
|
square,
|
|
100
|
+
exitingAnimation,
|
|
94
101
|
}: BoardPieceProps) {
|
|
95
102
|
// Shared values for smooth animated position — written from JS, read on UI thread
|
|
96
103
|
const currentX = useSharedValue(targetX);
|
|
@@ -129,10 +136,11 @@ export const BoardPieceView = React.memo(
|
|
|
129
136
|
},
|
|
130
137
|
positionStyle,
|
|
131
138
|
]}
|
|
132
|
-
//
|
|
139
|
+
// Exiting animation when this piece is captured (removed from the piece list).
|
|
133
140
|
// Lives on the outer view so it doesn't conflict with the
|
|
134
141
|
// drag-hide opacity on the inner view.
|
|
135
|
-
|
|
142
|
+
// Pass undefined to disable (e.g. during full board remount via key change).
|
|
143
|
+
exiting={exitingAnimation}
|
|
136
144
|
>
|
|
137
145
|
<Animated.View style={[{ flex: 1 }, opacityStyle]}>
|
|
138
146
|
{children}
|
package/src/board-pieces.tsx
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import type { SharedValue } from 'react-native-reanimated';
|
|
2
|
+
import type { SharedValue, BaseAnimationBuilder } from 'react-native-reanimated';
|
|
3
3
|
|
|
4
4
|
import type { ChessColor, BoardPiece, AnimationConfig } from './types';
|
|
5
5
|
import { BoardPieceView } from './board-piece';
|
|
@@ -14,6 +14,8 @@ type BoardPiecesProps = {
|
|
|
14
14
|
renderPiece: (code: string, size: number) => React.ReactElement;
|
|
15
15
|
activeSquare: SharedValue<string | null>;
|
|
16
16
|
isDragging: SharedValue<boolean>;
|
|
17
|
+
/** Exiting animation for pieces. Passed through to each BoardPieceView. */
|
|
18
|
+
exitingAnimation?: BaseAnimationBuilder | typeof BaseAnimationBuilder;
|
|
17
19
|
};
|
|
18
20
|
|
|
19
21
|
/**
|
|
@@ -32,6 +34,7 @@ export const BoardPiecesLayer = React.memo(function BoardPiecesLayer({
|
|
|
32
34
|
renderPiece,
|
|
33
35
|
activeSquare,
|
|
34
36
|
isDragging,
|
|
37
|
+
exitingAnimation,
|
|
35
38
|
}: BoardPiecesProps) {
|
|
36
39
|
return (
|
|
37
40
|
<>
|
|
@@ -49,6 +52,7 @@ export const BoardPiecesLayer = React.memo(function BoardPiecesLayer({
|
|
|
49
52
|
activeSquare={activeSquare}
|
|
50
53
|
isDragging={isDragging}
|
|
51
54
|
square={piece.square}
|
|
55
|
+
exitingAnimation={exitingAnimation}
|
|
52
56
|
>
|
|
53
57
|
{renderPiece(piece.code, squareSize)}
|
|
54
58
|
</BoardPieceView>
|
package/src/board.tsx
CHANGED
|
@@ -13,6 +13,7 @@ import Animated, {
|
|
|
13
13
|
useSharedValue,
|
|
14
14
|
useAnimatedStyle,
|
|
15
15
|
withTiming,
|
|
16
|
+
FadeOut,
|
|
16
17
|
} from 'react-native-reanimated';
|
|
17
18
|
|
|
18
19
|
import type {
|
|
@@ -31,6 +32,7 @@ import {
|
|
|
31
32
|
DEFAULT_SELECTED_COLOR,
|
|
32
33
|
DEFAULT_PREMOVE_COLOR,
|
|
33
34
|
DEFAULT_DRAG_TARGET_COLOR,
|
|
35
|
+
CAPTURE_FADE_DURATION,
|
|
34
36
|
} from './constants';
|
|
35
37
|
import { DefaultPieceSet } from './pieces';
|
|
36
38
|
import { useBoardPieces } from './use-board-pieces';
|
|
@@ -153,6 +155,7 @@ export const Board = forwardRef<BoardRef, BoardProps>(function Board(
|
|
|
153
155
|
moveDuration = DEFAULT_MOVE_DURATION,
|
|
154
156
|
animationConfig,
|
|
155
157
|
animateFlip = true,
|
|
158
|
+
pieceExitAnimation = FadeOut.duration(CAPTURE_FADE_DURATION),
|
|
156
159
|
|
|
157
160
|
// Promotion
|
|
158
161
|
onPromotion,
|
|
@@ -461,6 +464,10 @@ export const Board = forwardRef<BoardRef, BoardProps>(function Board(
|
|
|
461
464
|
if (result.applied && result.fen) {
|
|
462
465
|
setInternalFen(result.fen);
|
|
463
466
|
}
|
|
467
|
+
// Resolve after the piece animation completes. The moveDuration prop
|
|
468
|
+
// drives BoardPieceView's withTiming, so this matches exactly.
|
|
469
|
+
const duration = moveDuration ?? DEFAULT_MOVE_DURATION;
|
|
470
|
+
return new Promise<void>((resolve) => setTimeout(resolve, duration));
|
|
464
471
|
},
|
|
465
472
|
|
|
466
473
|
highlight: (square, color) => {
|
|
@@ -576,6 +583,7 @@ export const Board = forwardRef<BoardRef, BoardProps>(function Board(
|
|
|
576
583
|
renderPiece={resolvedRenderer}
|
|
577
584
|
activeSquare={gestureState.activeSquare}
|
|
578
585
|
isDragging={gestureState.isDragging}
|
|
586
|
+
exitingAnimation={pieceExitAnimation}
|
|
579
587
|
/>
|
|
580
588
|
|
|
581
589
|
{/* Layer 7: Arrows + shapes (SVG overlay) */}
|
package/src/types.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { SharedValue } from 'react-native-reanimated';
|
|
1
|
+
import type { SharedValue, BaseAnimationBuilder } from 'react-native-reanimated';
|
|
2
2
|
|
|
3
3
|
// ---------------------------------------------------------------------------
|
|
4
4
|
// Core chess types
|
|
@@ -157,8 +157,11 @@ export type BoardTheme = {
|
|
|
157
157
|
// ---------------------------------------------------------------------------
|
|
158
158
|
|
|
159
159
|
export type BoardRef = {
|
|
160
|
-
/**
|
|
161
|
-
|
|
160
|
+
/**
|
|
161
|
+
* Programmatically apply a move. Animates the piece to the target square.
|
|
162
|
+
* Returns a Promise that resolves when the move animation completes.
|
|
163
|
+
*/
|
|
164
|
+
move: (move: { from: string; to: string; promotion?: string }) => Promise<void>;
|
|
162
165
|
/** Highlight a square with a color. Adds to existing imperative highlights. */
|
|
163
166
|
highlight: (square: string, color: string) => void;
|
|
164
167
|
/** Clear all imperative highlights */
|
|
@@ -250,6 +253,14 @@ export type BoardProps = {
|
|
|
250
253
|
animationConfig?: AnimationConfig;
|
|
251
254
|
/** Animate board rotation on orientation change. Default: true */
|
|
252
255
|
animateFlip?: boolean;
|
|
256
|
+
/**
|
|
257
|
+
* Custom exiting animation for pieces (played on unmount, e.g. captures).
|
|
258
|
+
* Pass `undefined` to disable all piece exit animations (useful when
|
|
259
|
+
* remounting the entire board via a React key change — prevents all
|
|
260
|
+
* pieces from fading out simultaneously).
|
|
261
|
+
* Default: FadeOut.duration(150)
|
|
262
|
+
*/
|
|
263
|
+
pieceExitAnimation?: BaseAnimationBuilder | typeof BaseAnimationBuilder;
|
|
253
264
|
|
|
254
265
|
// --- Promotion ---
|
|
255
266
|
|